Witam.
Staram się stworzyć klasę, która ładuje na nożu pancerz.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <codmod> #include <fakemeta> #include <cstrike> #include <engine> #include <dhudmessage> #define TIME 5.0 #define UNIKAT 2013 new const nazwa[] = "Szeregowiec"; new const opis[] = "Na nozu ladujesz 7 pociskow"; new const bronie = 1<<CSW_GALIL | 1<<CSW_FIVESEVEN | 1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG; new const zdrowie = 0; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; new bool:ma_klase[33], ultra_armor[33]; new msgBarTime; public plugin_init() { register_plugin(nazwa, "1.0", "1stADXionC"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_forward(FM_TraceLine,"fw_traceline"); msgBarTime = get_user_msgid("BarTime"); } public cod_class_enabled(id) { ma_klase[id] = true; ultra_armor[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; ultra_armor[id] = false; } public client_PreThink(id) { if(!is_user_alive(id) || !ma_klase[id]) return; if(task_exists(id+UNIKAT) && !get_entity_flags(id) & FL_ONGROUND || task_exists(id+UNIKAT) && get_user_weapon(id)!=CSW_KNIFE) { remove_task(id+UNIKAT) bartime(id,0) return; } if(!task_exists(id+UNIKAT) && get_entity_flags(id) & FL_ONGROUND && get_user_weapon(id)==CSW_KNIFE) { set_task(5.0,"fw_traceline",id+UNIKAT) bartime(id,5) return; } } public dodaj_przycisk(id) { set_dhudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2) ultra_armor[id]++ if(ultra_armor[id]>7) { ultra_armor[id]=7 show_dhudmessage(id, "[Barbarzynca] Maksymalna wartosc pancerza to 7",ultra_armor[id]) } else show_dhudmessage(id, "[Barbarzynca] Magiczny pancerz wytrzyma %i strzalow",ultra_armor[id]) } public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,trace) { if(!is_user_connected(id)) return FMRES_IGNORED; if(!is_user_alive(id)) return FMRES_IGNORED; new hit = get_tr2(trace, TR_pHit) if(!(pev(id,pev_button) & IN_ATTACK)) return FMRES_IGNORED; if(is_user_alive(hit)) { if( ultra_armor[hit]>0 ) { ultra_armor[hit]-- set_tr2(trace, TR_iHitgroup, 8) } return FMRES_IGNORED } return FMRES_IGNORED; } stock bartime(id, czas) { message_begin(MSG_ONE_UNRELIABLE, msgBarTime,_, id); write_short(czas); message_end(); }