register_forward(FM_CmdStart,"CmdStart");
public CmdStart(id, uc_handle, seed)
{
if(!is_user_connected(id) || !is_user_alive(id))
return PLUGIN_CONTINUE;
if(ma_zmienna[id])
set_uc(uc_handle, UC_Buttons, get_uc(uc_handle, UC_Buttons) & ~IN_ATTACK);
return PLUGIN_CONTINUE;
}
Nie żebym sie czepiał, ale nienawidzę jakis niedokładności/lekkich błędów:
- to forward z fakemety, używaj więc return FMRES_*
- sprawdz czy gracz jest zywy zamiast sprawdzac czy jest podlaczony i zywy (wsadź alive do warunku nr.2)
- czy po zmienieniu czegos nie powinnismy zwrocic FMRES_HANDLED?
#define FMRES_IGNORED 1 // Calls target function, returns normal value #define FMRES_HANDLED 2 // Tells metamod you did something, still calls target function and returns normal value #define FMRES_OVERRIDE 3 // Supposed to still call the target function but return your value instead // however this does not work properly with metamod; use supercede instead. #define FMRES_SUPERCEDE 4 // Block the target call, and use your return value (if applicable)
Ja bym użył kodu Asiap, zamiast hookować forward, który się wykonuje bardzo często...


Dodatki SourceMod




Moja zawartość
Mężczyzna



Napisane przez