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();
}
}


Dodatki SourceMod



Temat jest zamknięty



headshot_impress.amxx








