
Postanowiłem rozbudować plugin który napisał speedkill, lecz zanim go całkiem zepsuje, chciałem się dowiedzieć czy idę w dobrym kierunku


Sprawa wygląda następująco, chcę dodać warunek dla nowych broni, powiedzmy że na początek scout i awp, więc dodałem dwa warunki if weapon, pytanie brzmi czy to jest poprawne? Zauważyłem że np. przy headshot z noża, odgrywa dźwięk dla heada z noża jak również dla "zwykłego" heda, czyli już coś pomieszałem. Gdyby ktoś mógł mi to wytłumaczyć jak dalej schematycznie postępować aby dodać kolejne warunki z nowymi broniami.
Aktualnie kod wygląda tak:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Headshot Sound Hud" #define VERSION "1.0" #define AUTHOR "speedkill" new ikonka new const muza[] = "misc/headshot2.wav" new const muza1[] = "misc/impressive2.wav" new const muza2[] = "misc/perfect3.wav" new const muza3[] = "misc/excelent3.wav" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg", "death", "a", "1>0") ikonka = get_user_msgid("StatusIcon") } public plugin_precache() { precache_sound(muza); precache_sound(muza1); precache_sound(muza2); precache_sound(muza3); } public death() { new Killer = read_data(1) new Victim = read_data(2) new Hs = read_data(3) new weapon = get_user_weapon(Killer) if(Killer != Victim && get_user_team(Killer) != get_user_team(Victim) && Hs) { if(weapon == CSW_KNIFE) { client_cmd(Victim, "spk %s",muza1) client_cmd(Killer, "spk %s",muza1) set_hudmessage (000, 255, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Killer, "IMPRESSIVE!") set_hudmessage (255, 000, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Victim, "IMPRESSIVE!") Display_Icon(Victim, 2, "d_knife", 255, 10, 0) Display_Icon(Killer, 2, "d_knife", 255, 10, 0) set_task(6.0,"wyłącz",Killer) set_task(6.0,"wyłącz",Victim) } if(weapon == CSW_AWP) { client_cmd(Victim, "spk %s",muza2) client_cmd(Killer, "spk %s",muza2) set_hudmessage (000, 255, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Killer, "PERFECT!") set_hudmessage (255, 000, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Victim, "PERFECT!") Display_Icon(Victim, 2, "d_awp", 255, 10, 0) Display_Icon(Killer, 2, "d_awp", 255, 10, 0) set_task(6.0,"wylacz2",Killer) set_task(6.0,"wylacz2",Victim) } if(weapon == CSW_SCOUT) { client_cmd(Victim, "spk %s",muza3) client_cmd(Killer, "spk %s",muza3) set_hudmessage (000, 255, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Killer, "EXCELENT!") set_hudmessage (255, 000, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Victim, "EXCELENT!") Display_Icon(Victim, 2, "d_scout", 255, 10, 0) Display_Icon(Killer, 2, "d_scout", 255, 10, 0) set_task(6.0,"wylacz3",Killer) set_task(6.0,"wylacz3",Victim) } else { client_cmd(Victim, "spk %s",muza) client_cmd(Killer, "spk %s",muza) set_hudmessage (000, 255, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Killer, "HEADSHOT!") set_hudmessage (255, 000, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Victim, "HEADSHOT!") } } } public wyłącz(id) { Display_Icon(id, 0, "d_knife", 255, 10, 0) } public wylacz2(id) { Display_Icon(id, 0, "d_awp", 255, 10, 0) } public wylacz3(id) { Display_Icon(id, 0, "d_scout", 255, 10, 0) } stock Display_Icon(id, enable, name[], red, green, blue) { if(is_user_connected(id)) { message_begin(MSG_ONE, ikonka, {0,0,0}, id); write_byte(enable); write_string(name); write_byte(red); write_byte(green); write_byte(blue); message_end(); } }