• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Объект по курсору

Nelox

Активный участник
5 Май 2021
136
33
90
Всем ку. Хочу для одной системки сделать спавн объектов по позиции курсора. Камера стоит вертикально(-90). Пробовал делать через mp.game.graphics.screen2dToWorld3d(mp.gui.cursor.position), но оно очень сильно(может на 5+ по разным осям и тд) меняет позицию. Щас попробовал отловить поведение мыши через
mp.game.controls.getDisabledControlNormal(0, 220). Оно то работает лучше но никак не могу подобрать значение/формулу для расчета. Так как движение мыши от -1 до 1 и просто изменять позицию объекта не выйдет, так как значение перемещение мыши != коордам в гта. Пробовал и делить на разные значения и умножать. Вроде смог найти хоть что то +- норм, но все равно далеко от идеала( При медленном передвижение еще более менее, при быстром нет). Заранее спасибо всем кто сможет помочь или хотя бы накидать возможные идеи
1678136583237.png
1678136837399.png
 

DaVilka

Старожил
BackEnd developer
16 Сен 2020
761
276
128
Не-разу не пробовал делать эту штуку, но предположу что x = -1 это 0, x = 0 это 1280/2, x = 1 это 1280 (x = (x + 1) * 1280 / 2) или (x / 1280) * 2 - 1) если наоборот, а Y то же самое, только 720 так как рабочее разрешение гта это 1280/720. Хотя странно что диапазон от -1 до 1, обычно нормализированные координаты от 0 - 1.
 
Последнее редактирование:

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
708
319
161
30
Какова задумка, для чего эта система будет нужна в планах?
PS Я пытался работать с mp.game.graphics.screen2dToWorld3d(mp.gui.cursor.position) как-то давно, но тщетно(хотел реализовать открытие дверей и пр. нажатием кнопки мыши)
 

Nelox

Активный участник
5 Май 2021
136
33
90
Какова задумка, для чего эта система будет нужна в планах?
PS Я пытался работать с mp.game.graphics.screen2dToWorld3d(mp.gui.cursor.position) как-то давно, но тщетно(хотел реализовать открытие дверей и пр. нажатием кнопки мыши)
На самом деле, можно использовать и другую реализацию, но мне просто захотелось попробовать именно так, с вертикальной камерой и мышкой. А из систем вариантов много: начиная от работ заканчивая мероприятиям по типу как есть что то на стене, оно пропадает и надо такое же собрать
 

datletik

Участник портала
26 Сен 2020
33
13
66
Всем ку. Хочу для одной системки сделать спавн объектов по позиции курсора. Камера стоит вертикально(-90). Пробовал делать через mp.game.graphics.screen2dToWorld3d(mp.gui.cursor.position), но оно очень сильно(может на 5+ по разным осям и тд) меняет позицию. Щас попробовал отловить поведение мыши через
mp.game.controls.getDisabledControlNormal(0, 220). Оно то работает лучше но никак не могу подобрать значение/формулу для расчета. Так как движение мыши от -1 до 1 и просто изменять позицию объекта не выйдет, так как значение перемещение мыши != коордам в гта. Пробовал и делить на разные значения и умножать. Вроде смог найти хоть что то +- норм, но все равно далеко от идеала( При медленном передвижение еще более менее, при быстром нет). Заранее спасибо всем кто сможет помочь или хотя бы накидать возможные идеи
я конечно не уверен на 100 % но можно попробывать вот так

JavaScript:
mp.events.add('mousedown', (mouse) => {
  // Получаем позицию курсора мыши
  const cursorPos = mp.gameplayCam.getRot(2);
  const camPos = mp.gameplayCam.getCoord();

  // Высчитываем позицию спавна объекта
  const spawnPos = {
    x: camPos.x + (10 * Math.cos(cursorPos.z)),
    y: camPos.y + (10 * Math.sin(cursorPos.z)),
    z: camPos.z
  };

  // Создаем объект и спавним его в рассчитанной позиции
  const obj = mp.objects.new(mp.joaat('название пропы'), spawnPos);
  obj.setRotation(0, 0, cursorPos.z - 90, 0, true);
});
 

Nelox

Активный участник
5 Май 2021
136
33
90
я конечно не уверен на 100 % но можно попробывать вот так

JavaScript:
mp.events.add('mousedown', (mouse) => {
  // Получаем позицию курсора мыши
  const cursorPos = mp.gameplayCam.getRot(2);
  const camPos = mp.gameplayCam.getCoord();

  // Высчитываем позицию спавна объекта
  const spawnPos = {
    x: camPos.x + (10 * Math.cos(cursorPos.z)),
    y: camPos.y + (10 * Math.sin(cursorPos.z)),
    z: camPos.z
  };

  // Создаем объект и спавним его в рассчитанной позиции
  const obj = mp.objects.new(mp.joaat('название пропы'), spawnPos);
  obj.setRotation(0, 0, cursorPos.z - 90, 0, true);
});
Буду пробовать, но могу предположить что в случае твоего кода мы двигаем камеру и центр камеры = курсору. В моей же ситуации камера не двигается. Но в любом случае спасибо, буду пробовать как смогу. Мб буду играться с синусами и косинусами