Macie tu funkcje co ulatwia pisanie pluga :DD
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> new gmsgDeathMsg new gmsgScoreInfo public plugin_init() { gmsgDeathMsg = get_user_msgid("DeathMsg") gmsgScoreInfo = get_user_msgid("ScoreInfo") set_msg_block ( gmsgDeathMsg, BLOCK_SET ) } public UTIL_Kill(attacker,id,weapon[]) { if(get_user_team(attacker)!=get_user_team(id)) set_user_frags(attacker,get_user_frags(attacker) +1); if(get_user_team(attacker)==get_user_team(id)) set_user_frags(attacker,get_user_frags(attacker) -1); if (cs_get_user_money(attacker) + 150 <= 16000) cs_set_user_money(attacker,cs_get_user_money(attacker)+150) else cs_set_user_money(attacker,16000) user_kill(id,1) message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0) write_byte(attacker) write_byte(id) write_byte(0) write_string(weapon) message_end() message_begin(MSG_ALL,gmsgScoreInfo) write_byte(attacker) write_short(get_user_frags(attacker)) write_short(get_user_deaths(attacker)) write_short(0) write_short(get_user_team(attacker)) message_end() message_begin(MSG_ALL,gmsgScoreInfo) write_byte(id) write_short(get_user_frags(id)) write_short(get_user_deaths(id)) write_short(0) write_short(get_user_team(id)) message_end() } public DeathMsg() { new weaponname[20] new kid = read_data(1) new vid = read_data(2) new headshot = read_data(3) read_data(4,weaponname,31) show_deadmessage(kid,vid,headshot,weaponname) } public show_deadmessage(killer_id,victim_id,headshot,weaponname[]) { if (!(killer_id==victim_id && !headshot && equal(weaponname,"world"))) { message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0) write_byte(killer_id) write_byte(victim_id) write_byte(headshot) write_string(weaponname) message_end() } }
By zabic goscia uzywamy funkcji
UTIL_Kill(attacker,id,weapon[]) - attacker to id gracza ktory zabija, a id to gracz ktory ma zostac zabity, weapon[] - to nazwa broni (potrzebne do prawidlowego wyswietlenia komunikatu o zabiciu).
Reszta kodu odpowiada tylko by nie pojawial sie komunikat 2x i by tablica wynikow byla aktualna