Mam problem z tą funkcja od DeathMSG
Problem:
Gdy zabije kogoś osiągnięcie np. Silent Killer dodaje się wtedy gdy nie powinno, bo nie bylo zabicia z noza i headshota z niego.
A teraz budowa pluginu:
public plugin_init(){
register_event("DeathMsg", "event_Death", "a");
}
I funkcja event_Death:
public event_Death(){
new attacker = read_data(1);
new ofiara = read_data(2);
new headshot = read_data(3);
new mapname[20];
get_mapname(mapname, sizeof mapname - 1);
if(get_user_team(attacker) != get_user_team(ofiara))
totalkills[attacker]++;
if(ofiara != attacker && attacker != 0){
if(get_user_team(attacker) != get_user_team(ofiara)){
if(is_user_alive(attacker)){
new weapon = get_user_weapon(attacker);
if(!gszUserAchviement[attacker][9]){
if(headshot && weapon == CSW_KNIFE){
Silent_Killer[attacker]++;
checkAchv(attacker);
emit_sound(attacker, CHAN_STREAM, gszUnlockedSound, 1.0, ATTN_NORM, 0, PITCH_NORM);
}
}
if(headshot && weapon == CSW_AWP || weapon == CSW_SCOUT){
sniper_kill[attacker]++;
checkAchv(attacker);
}
else if(weapon == CSW_AWP || weapon == CSW_SCOUT){
sniper_hs[attacker]++;
checkAchv(attacker);
}
if(headshot && weapon == CSW_DEAGLE){
DeagleShot[attacker]++;
checkAchv(attacker);
if(gszUserAchviement[attacker][1] != 1){
set_hudmessage(255, 255, 255, 0.0, 0.87, 0, 1.5, 1.5, 0.5, 0.5, 4);
show_hudmessage(attacker, "Headshot isn't hard : 1 / 1");
emit_sound(attacker, CHAN_STREAM, gszUnlockedSound, 1.0, ATTN_NORM, 0, PITCH_NORM);
}
}
if(containi(mapname, "de_dust") != -1){
zabil[attacker]++;
checkAchv(attacker);
if(zabil[attacker] <= 100){
set_hudmessage(255, 255, 255, 0.0, 0.87, 0, 1.5, 1.5, 0.5, 0.5, 3);
show_hudmessage(attacker, "Sandman : %d / 100", zabil[attacker]);
}
}
if(!gszUserAchviement[attacker][7]){
if(weapon == CSW_KNIFE){
KillsStab[attacker]++;
checkAchv(attacker);
if(KillsStab[attacker] < 250){
set_hudmessage(255, 255, 255, 0.0, 0.87, 0, 1.5, 1.5, 0.5, 0.5, 3);
show_hudmessage(attacker, "Knife Stabbed : %d / 250", KillsStab[attacker]);
}
}
}
if(!gszUserAchviement[attacker][0]){
if(Kills[attacker] > 1 && Kills[attacker] <= 6){
Kills[attacker]++;
set_hudmessage(255, 255, 255, 0.0, 0.87, 0, 1.5, 1.5, 0.5, 0.5, 3);
show_hudmessage(attacker, "Damn Killer : %d / 6", Kills[attacker]);
checkAchv(attacker);
}
}
if(!is_user_alive(attacker)){
new weapon2 = get_user_weapon(attacker);
if(gszUserAchviement[attacker][5] == 0 && weapon2 == CSW_HEGRENADE){
new szName[32];
get_user_name(attacker, szName, 31);
gszUserAchviement[attacker][5] = 1;
getOsiagniecia[attacker]++;
ColorChat(0, GREEN, "[RankMod 1.0]^3 %s^1 odblokowal osiagniecie^3 Premature burial", szName);
emit_sound(attacker, CHAN_STREAM, gszUnlockedSound, 1.0, ATTN_NORM, 0, PITCH_NORM);
gPoints[attacker] += 45;
}
}
if(is_user_alive(attacker)){
new weapon3 = get_user_weapon(attacker);
if(gszUserAchviement[attacker][6] == 0 && weapon3 == CSW_HEGRENADE){
grenade[attacker]++;
checkGrenadeAchv(attacker);
}
}
checkAchv(attacker);
SprawdzPoziom(attacker);
Kills[ofiara] = 0;
Zapisz(attacker);
SaveData(attacker);
}
}
}
}
Za każde pomocne odpowiedzi będzie +
Odświeżam.