https://github.com/ragemp-pro/redag...409c9e1c34/src_client/player/gangzones.js#L95 подсказОчкаПоиском пробовали пользоваться или может мод скачать, в котором это реализовано, чтобы посмотреть как это делается?
Для этого вот эта строка тут nativeInvoke ("SET_BLIP_ROTATION", blip.handle, 0);Да лучше для фракционых блипов использовать нативку, обычные блипы почемуто нельзя зафикисровать и они будут крутиться на карте при движении в игре
Да я просто челу сказалДля этого вот эта строка тут nativeInvoke ("SET_BLIP_ROTATION", blip.handle, 0);
Или не понял твой месаж![]()
redage_v3/src_client/player/gangzones.js at a9c99f4d9bbbdb0f191eaa43203e33409c9e1c34 · ragemp-pro/redage_v3
RedAge Role Play build 3.0 is gamemode for RAGE:MP (GTA 5). - ragemp-pro/redage_v3github.com
и подтвердил твой код, так как в его случае ему блипы из вики не помогутДля этого вот эта строка тут nativeInvoke ("SET_BLIP_ROTATION", blip.handle, 0);
Или не понял твой месаж![]()
redage_v3/src_client/player/gangzones.js at a9c99f4d9bbbdb0f191eaa43203e33409c9e1c34 · ragemp-pro/redage_v3
RedAge Role Play build 3.0 is gamemode for RAGE:MP (GTA 5). - ragemp-pro/redage_v3github.com
Всё правильно, нативка SET_BLIP_ROTATION, устанавливает ротацию блипа на 0 и рендерит её каждый кадр, что бы они не крутились.Посмотреть вложение 25238
да, темка старая, но все же...
в чем смысл создание blip в render пихать ? или это нужно, чтобы он не изменял rotation (не крутились) ?
Всё правильно, нативка SET_BLIP_ROTATION, устанавливает ротацию блипа на 0 и рендерит её каждый кадр, что бы они не крутились.
export const natives = {
SET_BLIP_SPRITE: '0xDF735600A4696DAF',
SET_BLIP_ALPHA: '0x45FF974EEE1C8734',
SET_BLIP_COLOUR: '0x03D7FB09E75D6B7E',
SET_BLIP_ROTATION: '0xF87683CDF73C3F6E'
}
const scriptID = mp.game.ui.addBlipForRadius(0, 0, 0, 50);
mp.game.invoke(natives.SET_BLIP_SPRITE, scriptID, 5);
mp.game.invoke(natives.SET_BLIP_ALPHA, scriptID, 150);
mp.game.invoke(natives.SET_BLIP_COLOUR, scriptID, 0);
mp.game.invoke(natives.SET_BLIP_ROTATION, scriptID, 90);
А так нельзя что ли? У меня всё в одном файле и в одном рендереАхахахаххах, сук)
А не пробовал единожды устанавливать ротейшн и все? В рендер они его пихают, боже) Вам дай волю - так вы весь клиент-сайд код в render захуярите
JavaScript:export const natives = { SET_BLIP_SPRITE: '0xDF735600A4696DAF', SET_BLIP_ALPHA: '0x45FF974EEE1C8734', SET_BLIP_COLOUR: '0x03D7FB09E75D6B7E', SET_BLIP_ROTATION: '0xF87683CDF73C3F6E' } const scriptID = mp.game.ui.addBlipForRadius(0, 0, 0, 50); mp.game.invoke(natives.SET_BLIP_SPRITE, scriptID, 5); mp.game.invoke(natives.SET_BLIP_ALPHA, scriptID, 150); mp.game.invoke(natives.SET_BLIP_COLOUR, scriptID, 0); mp.game.invoke(natives.SET_BLIP_ROTATION, scriptID, 90);
А так нельзя что ли? У меня всё в одном файле и в одном рендере
Всё по факту, но возможно когда-то он работал только через рендер, ну либо в редейдже просто кто-то когда-то на похуй влепил это туда, а оттуда уже подтянули другие люди.Ахахахаххах, сук)
А не пробовал единожды устанавливать ротейшн и все? В рендер они его пихают, боже) Вам дай волю - так вы весь клиент-сайд код в render захуярите
JavaScript:export const natives = { SET_BLIP_SPRITE: '0xDF735600A4696DAF', SET_BLIP_ALPHA: '0x45FF974EEE1C8734', SET_BLIP_COLOUR: '0x03D7FB09E75D6B7E', SET_BLIP_ROTATION: '0xF87683CDF73C3F6E' } const scriptID = mp.game.ui.addBlipForRadius(0, 0, 0, 50); mp.game.invoke(natives.SET_BLIP_SPRITE, scriptID, 5); mp.game.invoke(natives.SET_BLIP_ALPHA, scriptID, 150); mp.game.invoke(natives.SET_BLIP_COLOUR, scriptID, 0); mp.game.invoke(natives.SET_BLIP_ROTATION, scriptID, 90);
Всё по факту, но возможно когда-то он работал только через рендер, ну либо в редейдже просто кто-то когда-то на похуй влепил это туда, а оттуда уже подтянули другие люди.
В общем и целом - всё по факту, если функция работает после единого вызова, то не нужно её пихать в рендер вообще.
Но в рейдже остаётся довольно много вещей, которые нужно отрабатывать каждый кадр, чтобы был эффект.
На самом деле очень много вещей о которых мы не знаем работают в рендере, только обернуто это все дело в апи рейджа. Взять к примеру маркеры, которые в FiveM работают только в рендере. Очень сомневаюсь, что рейдж не использует те же нативки.Всё по факту, но возможно когда-то он работал только через рендер, ну либо в редейдже просто кто-то когда-то на похуй влепил это туда, а оттуда уже подтянули другие люди.
В общем и целом - всё по факту, если функция работает после единого вызова, то не нужно её пихать в рендер вообще.
Но в рейдже остаётся довольно много вещей, которые нужно отрабатывать каждый кадр, чтобы был эффект.
mp.game.ui.addBlipForRadius не удаляются после реконнекта. Их надо чистить, чтобы не накладывались.Вот вам и минус)Не забудьте только то, что блипы созданные черезmp.game.ui.addBlipForRadiusне удаляются после реконнекта. Их надо чистить, чтобы не накладывались.
Вот вам и минус)
mp.events.add('playerQuit', (player) => {
if (player !== mp.players.local) return;
const scriptIDs = [1, 2, 3]; // Тут или где то еще хэндлы твоих ебучих блипов
scriptIDs.forEach((handle) => {
if (!handle) return;
if (!mp.game.ui.doesBlipExist(handle)) return;
mp.game.ui.removeBlip(handle);
});
});
да это ж рейдж почти уверен что хуй ты так их удалишьДа ты заебал) Держи готовый код, чтобы в будущем хуйни не нёс)
Как бы нормальной практикой считается убирать за собой. Это и в жизни классно, а в коде (и на работе) - вообще великолепно.
JavaScript:mp.events.add('playerQuit', (player) => { if (player !== mp.players.local) return; const scriptIDs = [1, 2, 3]; // Тут или где то еще хэндлы твоих ебучих блипов scriptIDs.forEach((handle) => { if (!handle) return; if (!mp.game.ui.doesBlipExist(handle)) return; mp.game.ui.removeBlip(handle); }); });
да это ж рейдж почти уверен что хуй ты так их удалишь
там будет прокать неизвестный хендл через раз и сидёшь сосёшь бибуришвилли
пс
а ну я невнимательный еблан
не, если статические то удалишь конечно
я тут просто динамические удалял на днях
говна жоска поел
а потом удалил