Появился вопрос, как определить ближайшего игрока (допустим тоже взаимодействие между игроками) и поменять ему ник на стороне нашего клиента (Допустим был незнакомец, стал Его_Ник)
Т.е. у меня вот такой ивентСо стороны клиента, насколько я знаю, ты не можешь поменять его ник, ты можешь поменять отображение (3dtext над головой), а что туда писать - дело твоё.
По поводу ближайшего игрока - берёшь пул персонаже внутри зоны стрима и проверяешь какой из них ближе всего, сверяешь самый подходящий вариант с нужной тебе цифрой дистанции и понимаешь достаточно ли он близко к тебе.
mp.events.add('entityStreamIn', (entity) => {
const isInvincible = entity.getVariable('isInvincible');
entity.setInvincible(!!isInvincible);
});
Пул есть с любой стороны, не только на сервере.Т.е. у меня вот такой ивент
Но как с помощью него узнать какой именно игрок вошел в зону, если пул можно юзать только на стороне сервера.JavaScript:mp.events.add('entityStreamIn', (entity) => { const isInvincible = entity.getVariable('isInvincible'); entity.setInvincible(!!isInvincible); });
Нашел вот это:Пул есть с любой стороны, не только на сервере.
Конкретно этот ивент просто дает тебе информацию, что такая-то сущность (entity) появилось в зоне стрима локального игрока (клиента).
let getNicknamesText = () => {
let text = ``;
mp.players.forEachInStreamRange(
(player, id) => {
text = text == `` ? player.name : `${text} , ${player.name}`;
}
);
return text;
};
let blahBlah = getNicknamesText();
console.log(blahBlah != `` ? blahBlah : `There are no players in your streaming range.`);
Ну, здесь то, что тебе нужно - только mp.players.forEachInStreamRange, который и будет делать переборку всех в пуле только зоны стрима. Внутри него тебе нужно придумать свою логику. Та, что здесь - не рисует текст над головой.Нашел вот это:
JavaScript:let getNicknamesText = () => { let text = ``; mp.players.forEachInStreamRange( (player, id) => { text = text == `` ? player.name : `${text} , ${player.name}`; } ); return text; }; let blahBlah = getNicknamesText(); console.log(blahBlah != `` ? blahBlah : `There are no players in your streaming range.`);
Я так понимаю, это то что мне нужно? Но сразу еще вопрос, тут лучше использовать рендер или все же таймер на 5 милисекунд??