Witam, mam problem z działaniem pluginu który kiedyś pomógł napisać mi speedkill.
Chodzi o odgrywanie dźwięku przy podwójnym headshot z awp/scout, aktualnie działa tak że przy 2x headshot jednym strzałem odgrywa dźwięk pojedynczego headshota i równocześnie podwójnego
Poza tym chciał bym osobno mieć dźwięk podwójnego HS i osobno dźwięk double kill'a ale nie koniecznie HS czyli normalnie, dotyczy to tylko awp/scout tak jak w poniższym kodzie. Po prostu jeden strzał = 2 kille = gramy dźwięk X, drugi przypadek to jeden strzał = 2 kille headshot'em = gramy dźwięk Z.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #define PLUGIN "Headshot Sound Hud" #define VERSION "1.0" #define AUTHOR "speedkill" new ikonka new Float:D_time[33], bool:double[33] new const muza[] = "misc/headshot2.wav" new const muza2[] = "misc/perfect3.wav" new const muza3[] = "misc/excelent3.wav" new const muza5[] = "misc/brutality2.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(muza2); precache_sound(muza3); precache_sound(muza5); } public client_authorized(id) { D_time[id] = 0.0; double[id] = false; } public client_disconnect(id) { D_time[id] = 0.0; double[id] = false; } public death() { new Killer = read_data(1) new Victim = read_data(2) new Hs = read_data(3) new weapon = get_user_weapon(Killer) if(D_time[Killer] == 0) { D_time[Killer] = get_gametime(); double[Killer] = false; } else { new Float:temp = get_gametime() - D_time[Killer]; if(temp <= 1) { double[Killer] = true D_time[Killer] = 0.0 } else { double[Killer] = false D_time[Killer] = 0.0 } } if(Killer != Victim && get_user_team(Killer) != get_user_team(Victim) && Hs) { switch(weapon) { case CSW_AWP: { if(double[Killer]) { client_cmd(Victim, "spk %s",muza5) client_cmd(Killer, "spk %s",muza5) set_user_health(Killer, get_user_health(Killer) + 10) set_hudmessage (000, 255, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Killer, "BRUTALITY!") set_hudmessage (255, 000, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Victim, "BRUTALITY!") Display_Icon(Victim, 2, "d_awp", 255, 255, 255) Display_Icon(Killer, 1, "number_2", 255, 10, 0) Display_Icon(Killer, 2, "plus", 255, 255, 255) Display_Icon(Killer, 1, "d_awp", 255, 10, 0) set_task(6.0,"wyłącz",Killer) set_task(6.0,"wyłącz",Victim) Display_Fade(Victim,3,6,2,255,0,0,255) Display_Fade(Killer,1,1,2,0,255,0,200) } else { client_cmd(Victim, "spk %s",muza2) client_cmd(Killer, "spk %s",muza2) set_user_health(Killer, get_user_health(Killer) + 5) 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(Killer, 1, "number_1", 255, 10, 0) Display_Icon(Killer, 2, "plus", 255, 255, 255) Display_Icon(Victim, 2, "d_awp", 255, 255, 255) Display_Icon(Killer, 1, "d_awp", 255, 10, 0) set_task(6.0,"wyłącz",Killer) set_task(6.0,"wyłącz",Victim) Display_Fade(Victim,3,6,2,255,0,0,255) Display_Fade(Killer,1,1,2,0,255,0,200) } } case CSW_SCOUT: { if(double[Killer]) { client_cmd(Victim, "spk %s",muza5) client_cmd(Killer, "spk %s",muza5) set_user_health(Killer, get_user_health(Killer) + 10) set_hudmessage (000, 255, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Killer, "BRUTALITY!") set_hudmessage (255, 000, 000, -1.0, 0.2, 2, 0.02, 6.0, 0.01, 0.1, -1) show_hudmessage(Victim, "BRUTALITY!") Display_Icon(Killer, 1, "number_2", 255, 10, 0) Display_Icon(Killer, 2, "plus", 255, 255, 255) Display_Icon(Victim, 2, "d_scout", 255, 255, 255) Display_Icon(Killer, 1, "d_scout", 255, 10, 0) set_task(6.0,"wyłącz",Killer) set_task(6.0,"wyłącz",Victim) Display_Fade(Victim,3,6,2,255,0,0,255) Display_Fade(Killer,1,1,2,0,255,0,200) } else { client_cmd(Victim, "spk %s",muza3) client_cmd(Killer, "spk %s",muza3) set_user_health(Killer, get_user_health(Killer) + 5) 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(Killer, 1, "number_1", 255, 10, 0) Display_Icon(Killer, 2, "plus", 255, 255, 255) Display_Icon(Victim, 2, "d_scout", 255, 255, 255) Display_Icon(Killer, 1, "d_scout", 255, 10, 0) set_task(6.0,"wyłącz",Killer) set_task(6.0,"wyłącz",Victim) Display_Fade(Victim,3,6,2,255,0,0,255) Display_Fade(Killer,1,1,2,0,255,0,200) } } default: { client_cmd(Victim, "spk %s",muza) client_cmd(Killer, "spk %s",muza) set_user_health(Killer, get_user_health(Killer) + 5) 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!") Display_Icon(Killer, 1, "number_1", 255, 10, 0) Display_Icon(Killer, 2, "plus", 255, 255, 255) Display_Fade(Victim,3,6,2,255,0,0,255) Display_Fade(Killer,1,1,2,0,255,0,200) } } } } public wyłącz(id) { Display_Icon(id, 0, "d_knife", 255, 10, 0) Display_Icon(id, 0, "number_1", 255, 10, 0) Display_Icon(id, 0, "number_2", 255, 10, 0) Display_Icon(id, 0, "plus", 255, 255, 255) Display_Icon(id, 0, "d_awp", 255, 10, 0) Display_Icon(id, 0, "d_scout", 255, 10, 0) Display_Icon(id, 0, "d_deagle", 255, 10, 0) Display_Icon(id, 0, "d_aug", 255, 10, 0) Display_Icon(id, 0, "d_mp5navy", 255, 10, 0) Display_Icon(id, 0, "d_sg552", 255, 10, 0) Display_Icon(id, 0, "d_ak47", 255, 10, 0) Display_Icon(id, 0, "d_m4a1", 255, 10, 0) Display_Icon(id, 0, "d_famas", 255, 10, 0) Display_Icon(id, 0, "d_fiveseven", 255, 10, 0) Display_Icon(id, 0, "d_g3sg1", 255, 10, 0) Display_Icon(id, 0, "d_galil", 255, 10, 0) Display_Icon(id, 0, "d_glock18", 255, 10, 0) Display_Icon(id, 0, "d_m249", 255, 10, 0) Display_Icon(id, 0, "d_m3", 255, 10, 0) Display_Icon(id, 0, "d_", 255, 10, 0) Display_Icon(id, 0, "d_p228", 255, 10, 0) Display_Icon(id, 0, "d_p90", 255, 10, 0) Display_Icon(id, 0, "d_sg550", 255, 10, 0) Display_Icon(id, 0, "d_ump45", 255, 10, 0) Display_Icon(id, 0, "d_usp", 255, 10, 0) Display_Icon(id, 0, "d_tmp", 255, 10, 0) Display_Icon(id, 0, "d_xm1014", 255, 10, 0) Display_Icon(id, 0, "d_mac10", 255, 10, 0) Display_Icon(id, 0, "d_elite", 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(); } } stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha) { static msgScreenFade; if( !msgScreenFade ) msgScreenFade = get_user_msgid("ScreenFade") message_begin( !id ? MSG_ALL : MSG_ONE, msgScreenFade,{0,0,0},id ); write_short( (1<<10) * duration ); // Duration of fadeout write_short( (1<<10) * holdtime ); // Hold time of color write_short( fadetype ); // Fade type write_byte ( red ); // Red write_byte ( green ); // Green write_byte ( blue ); // Blue write_byte ( alpha ); // Alpha message_end(); }
Z góry dzięki za pomoc