Bangrund und ausführender Admin werden nicht (mehr) gespeichert

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
  • Hallo,


    Ich hab ein Problem mit dem Speichern des Grundes und der Name des Admins der den Ban ausgeführt hat
    Wer mein Thread "Timebanzeit läuft einfach weiter" gesehen hat merkt , dass der Grund und Der Name (Zensiert) angezeigt werden.
    Das bedeutet im Dialog stehen Grund und Adminname leer.


    Mögliche Codes die dieses Problem auslösen:


    ocmd:tban(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
    {
    new pID;
    new zeit;
    new grund[64];
    new string[128];
    new tmptime;
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Der Spieler ist nicht verbunden.");
    if(sscanf(params,"uis",pID,zeit,grund))return SendClientMessage(playerid,Gelb,"/tban [Spieler/ID] [Zeit] [Grund]");
    {
    format(string,sizeof(string),"%s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),zeit,grund);
    SendClientMessageToAll(Superhellrot,string);
    tmptime = gettime()+(60*zeit);
    SetPVarInt(pID,"Timeban",tmptime);
    new Spieler[128];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(pID));
    {
    dini_Set(Spieler,"Timebangrund",grund);
    dini_Set(Spieler,"Timebanadmin",SpielerName(playerid));
    dini_IntSet(Spieler,"Timebanzeit",GetPVarInt(pID,"Timeban"));
    }
    Kick(pID);
    }
    }
    return 1;
    }


    ocmd:offban(playerid,params[])
    {
    new Spieler[64];
    new string[128];
    new offreason[64];
    new name[MAX_PLAYER_NAME];
    if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
    {
    if(sscanf(params,"ss",name,offreason))return SendClientMessage(playerid,Gelb,"/offban [Spielername] [Grund]");
    {
    format(string,sizeof(string),"%s wurde von %s offline gebannt. Grund: %s",name,SpielerName(playerid),offreason);
    SendClientMessageToAll(Rot,string);
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",name);
    if(fexist(Spieler))
    {
    dini_IntSet(Spieler,"Ban",1);
    dini_Set(Spieler,"Admin",SpielerName(playerid));
    dini_Set(Spieler,"Grund",offreason);
    }
    else
    {
    SendClientMessage(playerid,Rot,"Keine Spieler mit diesen Namen in der Datenbank gefunden.");
    }
    }
    }
    return 1;
    }


    ocmd:unban(playerid,params[])
    {
    new Spieler[64];
    new string[128];
    new name[MAX_PLAYER_NAME];
    if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
    {
    if(sscanf(params,"s",name))return SendClientMessage(playerid,Gelb,"/unban [Spieler]");
    format(string,sizeof(string),"*%s wurde von %s entbannt.",name,SpielerName(playerid));
    SendClientMessageToAll(Rot,string);
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",name);
    if(dini_Exists(Spieler))
    {
    dini_IntSet(Spieler,"Ban",0);
    dini_Unset(Spieler,"Reason");
    dini_Unset(Spieler,"Admin");
    }
    }
    return 1;
    }


    ocmd:ban(playerid,params[])
    {
    new pID;
    new reason[128];
    new string[256];
    if(!IstSpielerAdmin(playerid,3))return SendClientMessage(playerid,Grau,"[Fehler] Du hast nicht die benötigten Rechte für diesen Befehl.");
    {
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Der Spieler ist nicht verbunden.");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Gelb,"/ban [Spieler/ID] [Grund]");
    {
    format(string,sizeof(string),"*%s wurde von %s vom Server gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(Rot,string);
    SetPVarInt(pID,"Ban",1);
    new Spieler[128];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(pID));
    if(dini_Exists(Spieler))
    {
    dini_Set(Spieler,"Reason",reason);
    dini_Set(Spieler,"Admin",SpielerName(playerid));
    }
    Kick(pID);
    }
    }
    return 1;
    }


    new Spieler1[128];
    format(Spieler1,sizeof(Spieler1),"/Spieler/%s.txt",SpielerName(playerid));
    if(dini_Exists(Spieler1))
    {
    SetPVarInt(playerid,"Timeban",dini_Int(Spieler1,"Timebanzeit"));
    dini_Get(Spieler1,"Timebangrund");
    dini_Get(Spieler1,"Timebanadmin");
    }
    new time = gettime();
    if(time < GetPVarInt(playerid,"Timeban"))
    {
    new restzeit = (GetPVarInt(playerid,"Timeban") - time)/60;
    new string[384];
    format(string,sizeof(string),"Dein Account wurde wegen eines Regelverstoßes temporär gesperrt, mit ihm kann zurzeit nicht gespielt werden.\n\nWenn das nicht Dein Account ist, verwende einen anderen Nicknamen\nWenn Du zu Unrecht gesperrt wurdest, dann melde Dich bitte bei einem Admin\n\nGrund: %s\nDauer: %i Minute/n\nAdmin: %s",dini_Get(Spieler1,"Timebangrund"),restzeit,dini_Get(Spieler1,"Timebanadmin"));
    ShowPlayerDialog(playerid,BAN,DIALOG_STYLE_MSGBOX,"Script Server Unlimited - Temporärer Spielausschluss",string,"Okay","");
    return 0;
    }
    new bantext[384];
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(playerid));
    if(dini_Exists(Spieler))
    {
    dini_Get(Spieler,"Reason");
    dini_Get(Spieler,"Admin");
    SetPVarInt(playerid,"Ban",dini_Int(Spieler,"Ban"));
    }
    if(GetPVarInt(playerid,"Ban") !=0)
    {
    format(bantext,sizeof(bantext),"Dein Account wurde wegen eines Regelverstoßes gesperrt, mit ihm kann nicht mehr gespielt werden.\n\nWenn das nicht Dein Account ist, verwende einen anderen Nicknamen\nWenn Du zu Unrecht gesperrt wurdest, dann melde Dich bitte bei einem Admin\n\nGrund: %s\nDauer: permanent\nAusführender Admin: %s",dini_Get(Spieler,"Reason"),dini_Get(Spieler,"Admin"));
    ShowPlayerDialog(playerid,BAN,DIALOG_STYLE_MSGBOX,"Script Server Unlimited - Spielausschluss",bantext,"Okay","");
    return 0;
    }


    Ich bedanke mich schon im Vorraus


    Mit freundlichen Grüßen
    Domain_26


    EDIT: Ich bin wahrscheinlich der größte Vollidiot den es gibt :thumbup:. Hab beim Disconnect SpielerReset gemacht ...

    Einmal editiert, zuletzt von Domain_26 ()