Приветствую.
Мне требуется чтоб при наведение на сущность на нем показывался лейбл, однако, я попробовал сделать это таким образом:
Но, ивент срабатывает лишь один раз. В рендер по сути своей запихивать и так не хорошая идея, но я решил пойти дальше и кинул туда еще и таймер. Тогда-то все заработало, но, одно большое но, во первых, я понимаю что есть более деликатные способы, во вторых фпс падает достаточно сильно. Какие есть варианты решения этой проблема?
Мне требуется чтоб при наведение на сущность на нем показывался лейбл, однако, я попробовал сделать это таким образом:
JavaScript:
mp.events.add('render', () =>{
var drawLine;
mp.events.add('entityStreamIn', (entity) => {
if ((entity && entity.doesExist()) === false) return
if (entity === mp.players.local.remoteId) return
const endPosition = entity.position;
const startPosition = mp.players.local.getBoneCoords(12844, 0.5, 0, 0);
const hitData = mp.raycasting.testPointToPoint(startPosition, endPosition);
if (!hitData) {
mp.gui.chat.push('Смотрит на сущность')
// Is in line of sight
} else {
mp.gui.chat.push('Вне поля видимости')
label = null;
mp.game.graphics.drawLine(startPosition.x, startPosition.y, startPosition.z, endPosition.x, endPosition.y, endPosition.z, 255, 0, 0, 255); // Is NOT in line of sight
}
});
})
Но, ивент срабатывает лишь один раз. В рендер по сути своей запихивать и так не хорошая идея, но я решил пойти дальше и кинул туда еще и таймер. Тогда-то все заработало, но, одно большое но, во первых, я понимаю что есть более деликатные способы, во вторых фпс падает достаточно сильно. Какие есть варианты решения этой проблема?