Problem event śmierci (lub ham_killed) [Ta...
Droso
18.06.2012
Witam, użytkowników, tak to znowu ja ze swoimi problemami, z którymi nie mogę sobie poradzić.
W czym tkwi problem? Mam event DeathMsg pobrane vid, kid, weapon, nie ważne, w tej funkcji daję 50 xp za zabicie, + text
i tu jest problem, jak kogoś zabiję funkcja wywołuje się kilka razy, czasami raz, czasami kilka razy. Przez co dostajemy kilka razy XP,
oraz spam na chacie.
Nie wiem czy to w czymś pomoże, ale było 10 graczy (ze mną) i funkcja wykonała się 10 razy. (10 razy spam na chatcie), próbowałem także ham_killed to samo.
Testowane: na botach, i na 1 graczu (na 1 graczu też był spam)
Flaga eventu : "a"
W czym tkwi problem? Mam event DeathMsg pobrane vid, kid, weapon, nie ważne, w tej funkcji daję 50 xp za zabicie, + text
i tu jest problem, jak kogoś zabiję funkcja wywołuje się kilka razy, czasami raz, czasami kilka razy. Przez co dostajemy kilka razy XP,
oraz spam na chacie.
Nie wiem czy to w czymś pomoże, ale było 10 graczy (ze mną) i funkcja wykonała się 10 razy. (10 razy spam na chatcie), próbowałem także ham_killed to samo.
Testowane: na botach, i na 1 graczu (na 1 graczu też był spam)
Flaga eventu : "a"
register_event("DeathMsg", "Death", "a");
Droso
18.06.2012
public Death() { new attacker = read_data(1); new id = read_data(2); new bron = get_user_weapon(attacker) if(!is_user_alive(attacker) || !is_user_connected(attacker)) return PLUGIN_CONTINUE; if(killstreak_radar[attacker] >= 3){ killstreak_radar[attacker] = 0 } if(killstreak_przeciazenie[attacker] >= 5){ killstreak_przeciazenie[attacker] = 0 } if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker] && bron != CSW_KNIFE) { doswiadczenie_gracz[attacker] += nowe_doswiadczenie; doswiadczenie_graczam[attacker] += nowe_doswiadczenie; set_hudmessage(255, 255, 0, -1.0, 0.05, 0, 6.0, 3.0,_,_, 2) show_hudmessage(attacker, "+ %i za zabojstwo", nowe_doswiadczenie) killstreak_radar[attacker]++; killstreak_przeciazenie[attacker]++; if(transfer_energii[attacker]) energia[attacker] = 1000; if(uzupelnienie_pakietu[attacker]) ammo(attacker) } if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker] && bron == CSW_KNIFE){ set_hudmessage(255, 255, 0, -1.0, 0.05, 0, 6.0, 3.0,_,_, 2) show_hudmessage(attacker, "+ %i za zabojstwo ^n + %i za KNIFE KILL", nowe_doswiadczenie, nowe_doswiadczenie2) doswiadczenie_gracz[attacker] += nowe_doswiadczenie doswiadczenie_gracz[attacker] += nowe_doswiadczenie2 doswiadczenie_graczam[attacker] += nowe_doswiadczenie; doswiadczenie_graczam[attacker] += nowe_doswiadczenie2 killstreak_radar[attacker]++; killstreak_przeciazenie[attacker]++; if(transfer_energii[attacker]) energia[attacker] = 1000; } if(killstreak_radar[attacker] >= 3){ new name [32] get_user_name(attacker, name, 31) for(new i; i<=get_playersnum(); i++){ if(get_user_team(i) == get_user_team(attacker)){ remove_task(i+RADAR_WYL); set_task(2.0, "SKANOWANIE", i+RADAR_KS, _, _, "b"); set_task(60.0, "SKANOWANIE_WYL", i+RADAR_WYL); ColorChat(i, TEAM_COLOR, "[KillStreak] ^x01 %s zdobyl potrojnego killstreaka, masz dzięki temu max. radar na 60 sec", name); } } } if(killstreak_przeciazenie[attacker] >= 5){ fm_set_user_health(attacker, g_killstreak_p); new name [32] get_user_name(attacker, name, 31) ColorChat(0, GREEN, "[KillStreak] ^x01 %s zdobyl 5 killstreaka, otrzymal przeciazonego nanopancerza [%d hp]", name, g_killstreak_p); energia[attacker] = 1000; przeciazenie[attacker] = true; } killstreak_radar[id] = 0; // zerowanie killstreaku radaru killstreak_przeciazenie[id] = 0; // zerowanie killstreaku przeciazenie przeciazenie[id] = false maskowanie[id] = false; pancerz[id] = false; OnNVGToggle[id] = false; remove_task(id+RADAR_KS); SprawdzPoziom(attacker); return PLUGIN_CONTINUE; }Cały kod nie za bardzo, chyba, że PW moda i tak publikuję ;D
Gość_21977_* 19.06.2012
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL