Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Как получить оружие в руках? / How to get active weapon? [NIXWARE]

На ваш бан.
Эксперт
Эксперт
Статус
Оффлайн
Регистрация
7 Дек 2020
Сообщения
1,478
Реакции
435
Пробовал вот это:
Код:
Expand Collapse Copy
ffi.cdef[[

    struct WeaponInfo_t
    {
        char _0x0000[20];
        __int32 max_clip;  
        char _0x0018[12];
        __int32 max_reserved_ammo;
        char _0x0028[96];
        char* hud_name;          
        char* weapon_name;      
        char _0x0090[60];
        __int32 type;          
        __int32 price;          
        __int32 reward;          
        char _0x00D8[20];
        bool full_auto;      
        char _0x00ED[3];
        __int32 damage;          
        float armor_ratio;        
        __int32 bullets;  
        float penetration;  
        char _0x0100[8];
        float range;          
        float range_modifier;  
        char _0x0110[16];
        bool silencer;          
        char _0x0121[15];
        float max_speed;      
        float max_speed_alt;
        char _0x0138[76];
        __int32 recoil_seed;
        char _0x0188[32];
    };
]]

weapon_data_call = ffi.cast("int*(__thiscall*)(void*)", client.find_pattern("client.dll", "55 8B EC 81 EC ? ? ? ? 53 8B D9 56 57 8D 8B ? ? ? ? 85 C9 75 04"));

function weapon_data( weapon )
    return ffi.cast("struct WeaponInfo_t*", weapon_data_call(ffi.cast("void*", weapon:get_address())));
end

local function rage_main_func(cmd)

    local m_hActiveWeapon = se.get_netvar("DT_BasePlayer", "m_hActiveWeapon")
    local entities = entitylist.get_players(0)
    local weapon = entitylist.get_entity_from_handle(entitylist.get_local_player():get_prop_int(se.get_netvar("DT_BaseCombatCharacter", "m_hActiveWeapon")))
       
    client.notify(tostring(weapon_data(weapon)))

end

client.register_callback("create_move", rage_main_func)

Но тут адрес меняется каждый перезаход в игру, чё делать?

P.S: Я спросил на форуме никсвара, но либо там никто вообще ничего не знает, либо всем похуй
 
Но тут адрес меняется каждый перезаход в игру, чё делать?
а как по твоему должно быть
вместо
client.notify(tostring(weapon_data(weapon)))
лучше сделай ченить типо
client.notify(tostring(weapon_data(weapon).range))
если у тебя структура веапон инфо правильная то все должно работать
 
а как по твоему должно быть
вместо
client.notify(tostring(weapon_data(weapon)))
лучше сделай ченить типо
client.notify(tostring(weapon_data(weapon).range))
если у тебя структура веапон инфо правильная то все должно работать
Я пробовал weapon_data(weapon).weapon_name, и оно тоже менялось каждый перезаход в игру, попробую как ты сказал
 
лучше сделай ченить типо
client.notify(tostring(weapon_data(weapon).range))
если беру в руки скар или скаут выводит одно и то же значение, мне нужна такая проверка:
if weapon = "Scar-20" or weapon = "G3SG1" or weapon = "Deagle" then
необязательно именно так, но суть понятно, если в руках скар, г3сг1 или дигл то ...
Можно сделать так: Определение скара/г3сг1: if weapon_data(weapon).max_clip == 20 and weapon_data(weapon).max_reserved_ammo == 90 then
Определение дигла тем же способом. Но это же колхоз, не?
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
если беру в руки скар или скаут выводит одно и то же значение, мне нужна такая проверка:
if weapon = "Scar-20" or weapon = "G3SG1" or weapon = "Deagle" then
необязательно именно так, но суть понятно, если в руках скар, г3сг1 или дигл то ...
для кого веапон деф индекс сделали
 
для кого веапон деф индекс сделали
лучше покажи а не расскажи
для кого веапон деф индекс сделали
Ну кстати вот этот кринж тоже работает нормально
Определение скара/г3сг1: if weapon_data(weapon).max_clip == 20 and weapon_data(weapon).max_reserved_ammo == 90 then
я так сделал и всё воркает збс, наверное даже переделывать не буду ибо такие значения максимально обоймы и максимально патронов не пересекаются ни с одним оружием в игре
 
Назад
Сверху Снизу