Спасибо за ответ. Если есть то можно глянуть на пример кода.Проходимся циклом по массиву - mp.players
Находим игроков в стриме, сравниваем позицию локального игрока и других с помощью - getDistanceBetweenCoords (если необходимо, не забываем сравнить виртуальный мир).
Ну и в самом конце рисуем на ближайшего игрока текст клавиши с помощью - mp.game.graphics.drawText
Тоже самое делаем в бинде на клавишу (проверяем мало ли игрок успел убежать или еще что нибудь случилось...) ну и выполняем нужные действия (открываем менюшку или что там у тебя на уме).
Я не думаю, что дважды проходиться по одному и тому же массиву в двух местах есть норма. Как идея - выписать отдельной переменной клиенту, которая и будет хранить сущность игрока, на котором G уже отрисовано (или null, если никого) и при взаимодействии с кнопкой уже работать с этой же сущностью. В таком случае не придётся лишний раз обрабатывать этот момент.Проходимся циклом по массиву - mp.players
Находим игроков в стриме, сравниваем позицию локального игрока и других с помощью - getDistanceBetweenCoords (если необходимо, не забываем сравнить виртуальный мир).
Ну и в самом конце рисуем на ближайшего игрока текст клавиши с помощью - mp.game.graphics.drawText
Тоже самое делаем в бинде на клавишу (проверяем мало ли игрок успел убежать или еще что нибудь случилось...) ну и выполняем нужные действия (открываем менюшку или что там у тебя на уме).
Фактически, в словах уже весь пример кода, тебе нужны минимальные знания, чтобы использовать то, что предложил Харланд.Спасибо за ответ. Если есть то можно глянуть на пример кода.
Вроде бы сделал. Но при этом у меня вешается текст и на моего персонажаФактически, в словах уже весь пример кода, тебе нужны минимальные знания, чтобы использовать то, что предложил Харланд.
Используй localplayer.streamedPlayers массив, он, вроде как, не должен включать в себя локального персонажа, только других игроков.Вроде бы сделал. Но при этом у меня вешается текст и на моего персонажа
ну или можешь в рендере поставить условие на пропуск локального игрока..Используй localplayer.streamedPlayers массив, он, вроде как, не должен включать в себя локального персонажа, только других игроков.
Если всё же включает - просто внутри массива скипай локального персонажа проверкой.
Еще один способ определения игрока рядом это mp.raycasting.testPointToPoint. Пускать лучь из камеры в "центр"(По направлению камеры) и если камера смотрит на какого либо игрока, запоминать его выводить на нем G.Как реализовать открытие меню взаимодействия и появление кнопки "G" на теле игрока, когда тот находиться в поле зрения игрока либо когда он находить на какой то дистации?