Ban Überprüfung Problem

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
  • Guten Tag,


    ich benutzte die MySQL Version R34 und habe ein Problem mit meinem Bansystem.


    OnPlayerConnect:
    format(query2,sizeof(query2),"SELECT * FROM Bans WHERE IP='%s' OR Name='%s'",SpielerIP(playerid),SpielerName(playerid));
    mysql_function_query(MySQLConnection,query2,true,"SpielerUeberpruefung","i",playerid);


    printf("SpielerUeberpruefung 1");//Für Test, ob es überhaupt abgerufen wird
    new query[4000],query2[128],string[128],string2[256],pZeit,pAdmin[24],pGrund[64],result[64],rows,fields;
    cache_get_data(rows,fields);
    if(rows)
    {
    pZeit = strval(result);
    if(pZeit == -1)
    {
    SendClientMessage(playerid,Rot,"Du bist gebannt!");
    KickPlayer(playerid);
    printf("SpielerUeberpruefung 2");//Für Test, ob es überhaupt abgerufen wird
    return 1;
    }
    else
    {
    if(gettime() < pZeit)
    {
    printf("SpielerUeberpruefung 3");//Für Test, ob es überhaupt abgerufen wird
    cache_get_field_content(0,"Grund",pGrund);
    cache_get_field_content(0,"Admin",pAdmin);
    cache_get_field_content(0,"Zeit",result);
    new timebanned = pZeit-gettime();
    if(floatround(timebanned/86400) > 0)
    {
    format(string,sizeof(string),"Du bist noch für %i Tage gebannt.",timebanned/86400);
    format(string2,sizeof(string2),"Admin: %s | Grund: %s",pAdmin,pGrund);
    }
    else if(floatround(timebanned/3600) > 0)
    {
    format(string,sizeof(string),"Du bist noch für %i Stunden gebannt.",timebanned/86400);
    format(string2,sizeof(string2),"Admin: %s | Grund: %s",pAdmin,pGrund);
    }
    else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)
    {
    format(string,sizeof(string),"Du bist noch für %i:%02d Minuten gebannt.",timebanned/60,timebanned%60);
    format(string2,sizeof(string2),"Admin: %s | Grund: %s",pAdmin,pGrund);
    }
    SendClientMessage(playerid,Rot,string);
    SendClientMessage(playerid,Rot,string2);
    Kick(playerid);
    }
    else
    {
    printf("SpielerUeberpruefung 4");//Für Test, ob es überhaupt abgerufen wird
    format(query,sizeof(query),"DELETE FROM Bans WHERE IP ='%s' OR Name = '%s'",SpielerIP(playerid),SpielerName(playerid));
    mysql_function_query(MySQLConnection,query,false,"","");
    mysql_free_result();
    }
    return 1;
    }
    }
    else
    {
    printf("SpielerUeberpruefung 5");//Für Test, ob es überhaupt abgerufen wird
    format(query2,sizeof(query2),"SELECT ID FROM Spieler WHERE Name='%s'",SpielerName(playerid));
    mysql_function_query(MySQLConnection,query2,true,"OnUserCheck","i",playerid);
    }
    return 1;
    }


    Sobald ich connecte bekomm ich in der Log die Meldung "SpielerUeberpruefung 1" was auch kommen sollte, danach kommt allerdings nichts, egal ob ein Ban in der Tabelle ist oder nicht.

  • Ups hätt ich vielleicht dazu sagen bzw. schreiben sollen. Beim compilen ist alles in Ordnung (keine Fehler/Warnungen), wie man auch sehen kann.


    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 7548 bytes
    Code size: 194332 bytes
    Data size: 1816656 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 2034920 bytes

  • #pragma dynamic 1000000


    Füge das mal unter den Includes ein. Falls die Meldung nicht weg geht, erhöhe die Zahl etwas.





    EDIT: (Post unten)
    @Goldfire: Da dein Problem behoben ist, wäre es super, wenn du den Thread als erledigt markierst. Danke! :)

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()