• Из-за обновления 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) последний раз были обновлены:

Вопрос Как реализовать открытие меню взаимодействия и появление кнопки "G" на теле игрока, когда тот находиться в поле зрения игрока?

Dapy

Новый участник
20 Июн 2022
5
0
6
Как реализовать открытие меню взаимодействия и появление кнопки "G" на теле игрока, когда тот находиться в поле зрения игрока либо когда он находить на какой то дистации?
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,590
2,749
219
Проходимся циклом по массиву - mp.players
Находим игроков в стриме, сравниваем позицию локального игрока и других с помощью - getDistanceBetweenCoords (если необходимо, не забываем сравнить виртуальный мир).
Ну и в самом конце рисуем на ближайшего игрока текст клавиши с помощью - mp.game.graphics.drawText
Тоже самое делаем в бинде на клавишу (проверяем мало ли игрок успел убежать или еще что нибудь случилось...) ну и выполняем нужные действия (открываем менюшку или что там у тебя на уме).
 
Реакции: test442321 и XDeveluxe

Dapy

Новый участник
20 Июн 2022
5
0
6
Проходимся циклом по массиву - mp.players
Находим игроков в стриме, сравниваем позицию локального игрока и других с помощью - getDistanceBetweenCoords (если необходимо, не забываем сравнить виртуальный мир).
Ну и в самом конце рисуем на ближайшего игрока текст клавиши с помощью - mp.game.graphics.drawText
Тоже самое делаем в бинде на клавишу (проверяем мало ли игрок успел убежать или еще что нибудь случилось...) ну и выполняем нужные действия (открываем менюшку или что там у тебя на уме).
Спасибо за ответ. Если есть то можно глянуть на пример кода.
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,771
1,586
211
28
Проходимся циклом по массиву - mp.players
Находим игроков в стриме, сравниваем позицию локального игрока и других с помощью - getDistanceBetweenCoords (если необходимо, не забываем сравнить виртуальный мир).
Ну и в самом конце рисуем на ближайшего игрока текст клавиши с помощью - mp.game.graphics.drawText
Тоже самое делаем в бинде на клавишу (проверяем мало ли игрок успел убежать или еще что нибудь случилось...) ну и выполняем нужные действия (открываем менюшку или что там у тебя на уме).
Я не думаю, что дважды проходиться по одному и тому же массиву в двух местах есть норма. Как идея - выписать отдельной переменной клиенту, которая и будет хранить сущность игрока, на котором G уже отрисовано (или null, если никого) и при взаимодействии с кнопкой уже работать с этой же сущностью. В таком случае не придётся лишний раз обрабатывать этот момент.
 
  • Wow
Реакции: Harland David Sanders

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,771
1,586
211
28
Спасибо за ответ. Если есть то можно глянуть на пример кода.
Фактически, в словах уже весь пример кода, тебе нужны минимальные знания, чтобы использовать то, что предложил Харланд.
 

Dapy

Новый участник
20 Июн 2022
5
0
6
Фактически, в словах уже весь пример кода, тебе нужны минимальные знания, чтобы использовать то, что предложил Харланд.
Вроде бы сделал. Но при этом у меня вешается текст и на моего персонажа
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,771
1,586
211
28
Вроде бы сделал. Но при этом у меня вешается текст и на моего персонажа
Используй localplayer.streamedPlayers массив, он, вроде как, не должен включать в себя локального персонажа, только других игроков.
Если всё же включает - просто внутри массива скипай локального персонажа проверкой.
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,590
2,749
219
Используй localplayer.streamedPlayers массив, он, вроде как, не должен включать в себя локального персонажа, только других игроков.
Если всё же включает - просто внутри массива скипай локального персонажа проверкой.
ну или можешь в рендере поставить условие на пропуск локального игрока..
 

emil3977

Новый участник
15 Июл 2021
3
0
38
А как получить игрока, на которого направлен взгляд?
 

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
708
319
161
30
Как реализовать открытие меню взаимодействия и появление кнопки "G" на теле игрока, когда тот находиться в поле зрения игрока либо когда он находить на какой то дистации?
Еще один способ определения игрока рядом это mp.raycasting.testPointToPoint. Пускать лучь из камеры в "центр"(По направлению камеры) и если камера смотрит на какого либо игрока, запоминать его выводить на нем G.
 
Последнее редактирование:
Реакции: trasher