script Фикс смены оружия при опустошении магазина

Drogo

Junior Developer
Скриптер
Весь представленный код вставляется в client_packages

это в Index.js

JavaScript:
mp.game.weapon.unequipEmptyWeapons = false;


Для JS
JavaScript:
сonst SET_CURRENT_PED_WEAPON = '0xADF692B254977C0C';
mp.events.add("playerWeaponShot" async (targetPosition, targetEntity) => {
        if (mp.players.local.getAmmoInClip(mp.players.local.weapon) == 0) {
            let weapon = mp.players.local.weapon
            mp.game.invoke(SET_CURRENT_PED_WEAPON, mp.players.local.handle, mp.game.joaat('weapon_unarmed') >> 0, true)
            await mp.game.waitAsync(0);
            mp.game.invoke(SET_CURRENT_PED_WEAPON, mp.players.local.handle, weapon >> 0, true)
        })
Для C#
C#:
            Events.OnPlayerWeaponShot += async (Vector3 targetPos, RAGE.Elements.Player target, Events.CancelEventArgs cancel) => // фикс "застревания" оружия на последнем выстреле
            {
                var weapon = SDK.Utils.GetCurrentWeapon(SDK.References.LocalPlayer);
                if (SDK.References.LocalPlayer.GetAmmoInWeapon((uint)weapon) == 0)
                {
                    SDK.References.LocalPlayer.SetCurrentWeapon((uint)WeaponHash.Unarmed, true);
                    await RAGE.Game.Invoker.WaitAsync(0);
                    SDK.References.LocalPlayer.SetCurrentWeapon((uint)weapon, true);
                }
            };
 
Последнее редактирование:

Lev Angel

Developer
Команда форума
Скриптер
Респект(y)


mp.game.invoke('0xADF692B254977C0C', mp.players.local.handle, mp.game.joaat('weapon_unarmed') >> 0, true)
Когда юзаешь нативку советую как-то указывать ее название.

Например, так
JavaScript:
mp.game.invoke('0xADF692B254977C0C', mp.players.local.handle, mp.game.joaat('weapon_unarmed') >> 0, true); //SET_CURRENT_PED_WEAPON

или так
JavaScript:
const SET_CURRENT_PED_WEAPON = '0xADF692B254977C0C';
mp.game.invoke(SET_CURRENT_PED_WEAPON, mp.players.local.handle, mp.game.joaat('weapon_unarmed') >> 0, true);

Потом будет проще читать код. А то вспомнить сходу что такое 0xADF692B254977C0C будет сложновато ;)
 

Drogo

Junior Developer
Скриптер
Респект(y)



Когда юзаешь нативку советую как-то указывать ее название.

Например, так
JavaScript:
mp.game.invoke('0xADF692B254977C0C', mp.players.local.handle, mp.game.joaat('weapon_unarmed') >> 0, true); //SET_CURRENT_PED_WEAPON

или так
JavaScript:
const SET_CURRENT_PED_WEAPON = '0xADF692B254977C0C';
mp.game.invoke(SET_CURRENT_PED_WEAPON, mp.players.local.handle, mp.game.joaat('weapon_unarmed') >> 0, true);

Потом будет проще читать код. А то вспомнить сходу что такое 0xADF692B254977C0C будет сложновато ;)
Учту на будущее, спасибо за поправку :)
 
Яндекс.Метрика
Верх