Leute werden beim connecten sofort wegen Waffnehack gebannt

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Moin Leude,
    ich brauche eure Hilfe!
    Bei mir werden Leute sofort wegen Waffenhack gebannt wenn sie connecten, warum verstehe ich nicht...


    Hier mal der Code:




    Unter OnPlayerConnect:
    SetTimerEx("antikick",120000,false, "i", playerid);


    löst das Anti Cheat System aus:
    public antikick(playerid){
    SetTimerEx("Anticheat",5000,true, "i", playerid);
    return 1;}


    und die waffenhackabfrage:
    if(IsPlayerConnected(playerid)){
    if(aduty[playerid] != 1){
    if(GetPlayerWeapon(playerid) == 1 || GetPlayerWeapon(playerid) == 2 || GetPlayerWeapon(playerid) == 3 || GetPlayerWeapon(playerid) == 4 || GetPlayerWeapon(playerid) == 5 || GetPlayerWeapon(playerid) == 6 || GetPlayerWeapon(playerid) == 7|| GetPlayerWeapon(playerid) == 8){
    GetPlayerName(playerid,name1,sizeof(name1));
    format(string,sizeof(string),"System: %s wurde gebannt. Grund: Waffenhack",name1);
    SendClientMessageToAll(RED, string);
    new Hour,Minute,Sec,Year,Month,Day;
    gettime(Hour,Minute,Sec);
    getdate(Year, Month, Day);
    format(string, sizeof(string), "[%d:%d:%d][%d:%d:%d][%s]: System: %s wurde gebannt. Grund: Waffenhack",Year, Month, Day, Hour, Minute, Sec,name1, name1);
    ChatLogSpeicher(string);
    SendClientMessage(playerid, RED, "Melde dich bei einen Admin auf unserem Teamspeak 3, wenn du einen Einwand hast. (5.9.176.12:7778)");
    SpielerInfo[playerid][Banned] = 1;
    Kick(playerid);}


    Ich verstehe leider nicht warum man trotzdem gebannt wird -.-


    MfG Farid

  • Code
    if(GetPlayerWeapon(playerid) == 1 || GetPlayerWeapon(playerid) == 2 || GetPlayerWeapon(playerid) == 3 || GetPlayerWeapon(playerid) == 4 || GetPlayerWeapon(playerid) == 5 || GetPlayerWeapon(playerid) == 6 || GetPlayerWeapon(playerid) == 7|| GetPlayerWeapon(playerid) == 8){


    Mit dieser Abfrage fragst du ab ob der Spieler der Connected alle diese Waffen in der Hand hat.
    Verändere mal die Abfrage so:


    Code
    if(GetPlayerWeapon(playerid) == 1 && GetPlayerWeapon(playerid) == 2 && GetPlayerWeapon(playerid) == 3 && GetPlayerWeapon(playerid) == 4 && GetPlayerWeapon(playerid) == 5 && GetPlayerWeapon(playerid) == 6 && GetPlayerWeapon(playerid) == 7 && GetPlayerWeapon(playerid) == 8)


    Dürfte meiner Meinung nach das Problem lösen ;)


    Mit freundlichen Grüßen
    BlackxSoul

  • Führe Debugging durch. Lasse dir GetPlayerWeapon() und systemgenerierte Variablen ausgeben und vergleiche es mit dem Soll-Zustand.