Всем привет! Трачу уже 5-й час на попытку сделать фикс для ботов jk_botti на сервере Half-Life (reHLDS)
Суть бага состоит в том что когда у ботов кончаются патроны они не отжимают стрельбу и не начинается перезарядка.
Всё чего удалось добиться кодом ниже, так это когда есть в запасе патроны то идёт перезарядка (без анимации), после перезарядки продолжение стрельбы.
Но вот RPG залипает.
Так же когда в запасе нет патронов то никак не смог добиться чтобы выключало зажим стрельбы и(или) переключало на другое оружие.
Подскажите, как правильно сделать фикс?
Суть бага состоит в том что когда у ботов кончаются патроны они не отжимают стрельбу и не начинается перезарядка.
Всё чего удалось добиться кодом ниже, так это когда есть в запасе патроны то идёт перезарядка (без анимации), после перезарядки продолжение стрельбы.
Но вот RPG залипает.
Так же когда в запасе нет патронов то никак не смог добиться чтобы выключало зажим стрельбы и(или) переключало на другое оружие.
Подскажите, как правильно сделать фикс?
Код:
#include < amxmodx >
#include <hl>
#include <hamsandwich>
#include <engine>
//#pragma semicolon 1
#define PLUGIN "test"
#define VERSION "0.0.1"
//#define cm(%0) ( sizeof(%0) - 1 )
//new const NO_AMMO_WEAPONS = 1<<HLW_CROWBAR | 1<<HLW_HORNETGUN | 1<<HLW_HANDGRENADE | 1<<HLW_TRIPMINE | 1<<HLW_SATCHEL | 1<<HLW_SNARK
public plugin_init()
{
register_plugin( PLUGIN, VERSION, "tester" )
register_event("CurWeapon", "Event_CurWeapon", "be", "3=0")
}
public Event_CurWeapon( id )
{
// client_print(0,print_chat,"[DEBUG TEST 1] Event_CurWeapon 3=0")
// if( is_user_alive(id) && is_user_bot(id) )
if( is_user_alive(id) )
{
new iId = read_data(2);
if(!hl_get_user_bpammo(id, iId))
{
// entity_set_int(id,EV_INT_button,entity_get_int(id,EV_INT_button) & ~IN_ATTACK)
// entity_set_int(id,EV_INT_button,entity_get_int(id,EV_INT_button) & ~IN_ATTACK2)
if ((pev(id, pev_button) & IN_ATTACK) != 0
&& (pev(id, pev_oldbuttons) & IN_ATTACK) != 0) {
const m_bCanShoot = 876/4;
set_pdata_int(id, m_bCanShoot, false);
}
// ExecuteHamB(Ham_Weapon_RetireWeapon, iId);
client_print(0,print_chat,"[DEBUG TEST hl_get_user_bpammo] bpammo 0")
}
else
{
entity_set_int(id,EV_INT_button,IN_RELOAD)
client_print(0,print_chat,"[DEBUG TEST hl_get_user_bpammo] IN_RELOAD")
}
}
}