/unban

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 neues Ban system für mein GF gemacht und zwar nicht mehr mit Ban(playerid) sondern mit PlayerInfo[playerid][pBan] = 1;


    nun brauche ich hilfe wie greife ich auf die Accounts zu um /unban playerid zu machen damit das wieder so geht:



    PlayerInfo[playerid][pBan] = 0;


    und er wieder spielen kann...


    Wie geht das?


    LG


    moritz

  • dcmd_unban(playerid,params[])
    {


    new string[265];
    GetPlayerName(playerid, name, sizeof(name));
    if(sscanf(params,"u",pID))
    return SendClientMessage(playerid,COLOR_RED,"Verwendung: /unban [playerid]");
    format(string, sizeof(string), "/Accounts/%s.ini", name);
    format(string2,sizeof(string2,"Spieler %s wurde entbannt!", name);
    ABroadCast(COLOR_RED,string2,1);
    PlayerInfo[pID][pBan] = 0;

    }

  • dcmd_unban(playerid,params[])
    {


    new string[265];
    GetPlayerName(playerid, name, sizeof(name));
    if(sscanf(params,"u",pID))
    return SendClientMessage(playerid,COLOR_RED,"Verwendung: /unban [playerid]");
    format(string, sizeof(string), "/Accounts/%s.ini", name);
    new File: hFile = fopen(string, io_write);
    if (hFile)
    {
    PlayerInfo[pID][pBan] = 0;
    }
    format(string2,sizeof(string2,"Spieler %s wurde entbannt!", name);
    ABroadCast(COLOR_RED,string2,1);
    }


    //e o


    oder so?


    new File: UserFile = fopen(string2, io_read);
    if ( UserFile )

  • Du darfst in der sscanf Abfrage kein u setzen, da der Spieler den du unabnne willst ja nicht online ist.


    MFG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • if(!hfile) return sendclient...

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Der Spieler muss eingeben: "/unban PeterLustig"


    dann öffnest du die Datei "PeterLustig.txt" und schreibst die Variable um.


    Mit sscanf geht das übrigens glaube ich, wenn du so abfragst:


    new string[265];
    if(sscanf(params,"s",string))

  • dcmd_unban(playerid,params[])
    {


    new string[265];
    new name[64];
    GetPlayerName(playerid, name, sizeof(name));
    if(sscanf(params,"s",sName))
    return SendClientMessage(playerid,COLOR_RED,"Verwendung: /unban [spielername]");
    format(string, sizeof(string), "/Accounts/%s.txt", name);
    new File: hFile = fopen(string, io_write);
    if (hFile)
    {
    PlayerInfo[sName][pBan] = 0;
    }
    format(string2,sizeof(string2,"Spieler %s wurde entbannt!", name);
    ABroadCast(COLOR_RED,string2,1);
    }

  • Na die spielerdatei habs nun so:


    dcmd_unban(playerid,params[])
    {


    new string[265];
    new sname[64];
    GetPlayerName(playerid, name, sizeof(name));
    if(sscanf(params,"s",sName))
    return SendClientMessage(playerid,COLOR_RED,"Verwendung: /unban [spielername]");
    format(string, sizeof(string), "/Accounts/%s.txt", name);
    new File: hFile = fopen(string, io_write);
    if (hFile)
    {
    PlayerInfo[sName][pBan] = 0;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Dieser Spieler finden wir nicht im Ordner!");
    }
    format(string2,sizeof(string2,"Spieler %s wurde entbannt!", name);
    ABroadCast(COLOR_RED,string2,1);
    return 1;
    }

  • Hier mit zcmd.


    CMD:unban(playerid,params[])
    {
    //hier setzen wir die lokalen variablen
    new PlayerToUnban[24],Msg[128],Name[24];
    new file[100], File:PFile, LineForFile[100];
    //checken ob der Spieler online ist
    if(APlayerData[playerid][LoggedIn] == true)
    {
    //hier checken wir dann das Adminlevel was du setzen willst (ich nehme mein adminsystem!!!)
    if(APlayerData[playerid][PlayerLevel] >= 4)
    {
    //sollte der command falsch genutzt wurde sein
    {
    if(sscanf(params,"s[128]",PlayerToUnban));
    SendClientMessage(playerid,FARBE,"CMD Nutzung: /unban [PlayerName]");
    else
    {
    //den namen vom admin herausbekommen
    GetPlayerName(playerid,Name,sizeof(Name));
    //nun erstellen wir einen kompletten filenamen für den Spieler
    format(file,sizeof(file),PlayerFile, PlayerToUnban);
    //checken ob die datei existiert
    if(fexist(file))
    {
    PFile = fopen(file, io_appened); //die spielerdatei öfnnen
    format(LineForFile,100,"Banned 0\r\n"); //Spieler auf unbanned stellen = 0
    fwrite(PFile,LineForFile); //es in die datei schreiben
    fclose(PFile); //die datei schliessen damit es abgespeichert wird
    //eine nachricht formatieren mit den infos: Adminamen und dem unbanned Spieler
    format(Msg, 128, "%s hat %s unbanned.",Name,PlayerToUnban);
    //die nachricht an alle die online sind senden
    SendClientMessageToAll(Farbe,Msg);
    }
    else
    //sollte eine solche datei nicht existieren
    SendClientMessage(playerid,Farbe,"Dieser Spieler existiert nicht in unserer Datenbank oder ist ipbanned!");
    }
    }
    else return 0;
    }
    else return 0;
    return 1;
    }


    Du musst natürlich diesen Cmd auf dein Script umschreiben, da es aus meinem aka PPC Script ist.

  • Beispiel:


    Der Spieler, den du entbannen möchtest, heißt "PeterLustig".
    Der Befehl heißt: "/unban [spielername]".
    Also gibst du in den Chat ein: "/unban PeterLustig".


    Jetzt musst du das "PeterLustig" in einen string speichern, ihn formatieren,
    sodass der string den richtigen Pfad angibt, diese Datei öffnen und sie bearbeiten.


    //edit: xXxCrashxXx, das ist falsch.
    Es wird nur "Banned 0" in die Datei geschrieben!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen