/ban fehler

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
  • Hi bekomme einen Error:


    C:\Users\xxxx\Desktop\SA-MP Server\gamemodes\kor.pwn(595) : error 017: undefined symbol "baned"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Zeile : 595


    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',baned='%i',spawnchange='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][baned],sInfo[playerid][spawnchange],sInfo[playerid][db_id]);

  • Hast du im enum von sInfo auch "baned" drin stehen?
    Wenn nein, mach das dazu.


    Danke hat geklappt nun wenn ich Gebannt werde und wieder Joinen will bin ich nicht gebannt?
    hier der Code:


    ocmd:ban(playerid, params[])
    {
    if(!isAdmin(playerid,10))return SendClientMessage(playerid,COLOR_WHITE,"Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    new pID, reason[128],string[423];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,COLOR_WHITE,"Verwendung: /ban [spielerid] [grund]");
    format(string,sizeof(string),"AdmCmd:: %s wurde von %s gebannt. Grund: %s",getPlayerName(pID),getPlayerName(playerid),reason);
    SendClientMessageToAll(COLOR_RED,string);
    SetPVarInt(playerid,"baned",1);
    Kick(pID);
    return 1;
    }

  • Naja, du musst bei OnPlayerConnect (oder wo du eben prüfen willst, ob der Spieler gebannt ist (Login?)) prüfen, ob der Spieler gebannt ist.
    Zuvor musst du in der Datenbank/Spielerdatei den Wert abfragen.


    Versuche das mal selbst zu realisieren. Wenn du es nicht hinbekommst, poste den Code wie du ihn bis dahin hast.

  • Naja, du musst bei OnPlayerConnect (oder wo du eben prüfen willst, ob der Spieler gebannt ist (Login?)) prüfen, ob der Spieler gebannt ist.
    Zuvor musst du in der Datenbank/Spielerdatei den Wert abfragen.


    Versuche das mal selbst zu realisieren. Wenn du es nicht hinbekommst, poste den Code wie du ihn bis dahin hast.


    Ich habe bei savePlayer eine abfrage:


    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    //Speichern level,money
    new query[357];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',baned='%i',spawnchange='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][baned],sInfo[playerid][spawnchange],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    if(GetPVarInt(playerid,"baned")==1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wenn du da deine abfragst ob der Spieler gebannt ist, ja.

  • Ja, aber ob das so sinnvoll ist, ist die Sache für sich.


    //Beim UserCheck Callback
    if(cache_get_field_content_int(0, "baned",dbhandle))
    {
    SendClientMessage(playerid,-1,"Du bist gebannt.");
    Kick(playerid);
    }


    Falls die Nachricht nicht ankommt, würde ich mal an deiner Stelle BanFix benutzen.


    mfg :thumbup: