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 ![]()


Dodatki SourceMod




Temat jest zamknięty









