/unban befehle Bug

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 Liebes breadfish ich habe ein unban befehle drin aber wenn ich jemand unbannt habe kommt er auf mein server aber er hatte keine sachen mehr kein geld garnix ´


    dcmd_unban(playerid, params[])
    {
    if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht eingeloggt.");
    if(PlayerInfo[playerid][pAdmin] <= 1999) return SendClientMessage(playerid, COLOR_WHITE, "Du bist kein Server-Owner/High-Admin.");
    new accname[MAX_PLAYER_NAME];
    if(sscanf(params, "s", accname)) return SendClientMessage(playerid, COLOR_WHITE, "Befehl: /unban [EXAKTER Accountname]");
    new acc[MAX_PLAYER_NAME+20];
    format(acc,sizeof(acc),"Accounts/%s.ini",accname);
    if(!fexist(acc)) {
    format(stringx,sizeof(stringx)," Der Account %s existiert nicht!",accname);
    SendClientMessage(playerid,COLOR_GRAD2,stringx);
    return 1;
    }
    new File:banaccount = fopen(acc,io_write);
    fwrite(banaccount,"Gesperrt=0\n");
    fclose(banaccount);
    format(stringx, sizeof(stringx), "AdmCmd: Admin %s hat %s entbannt!", MeinName(playerid), accname); ABroadCast(COLOR_LIGHTRED, stringx, 1);
    return 1;
    }

  • hier
     if(strcmp(cmd, "/sban", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /ban [playerid] [grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 4)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /ban [playerid] [grund]");
    return 1;
    }
    if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht bannen, da er ein höheres Adminlevel hat als du!");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "SBAN: %s wurde von %s gebannt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    BanLog(string);
    format(string, sizeof(string), "%s wurde vom Server gebannt, Grund: %s", giveplayer, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    //PlayerInfo[giveplayerid][pAdmin] = PlayerInfo[giveplayerid][pLevel];
    PlayerInfo[giveplayerid][pGesperrt] = 1;
    //Ban(giveplayerid);
    return 1;
    }
    }//not connected
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

  • Schritt 1:
    Stats des Spielers auslesen und in variablen speichern


    Schritt 2:
    alte Datei löschen


    Schritt 3:
    Neue Datei mit neuen Stats schreiben


    Für weitere Fragen, suche bitte erst ein paar Tutorials!
    Aber eigentlich müsstest du alles bei LoadPlayer und SavePlayer (was weiß ich wie das in deinem Script heißt) finden...
    Das Auslesen musst du halt nur auf diesen bestimmten Spieler ausrichten -> FERTIG

  • Sieht mir ganz nach nen Multiaccount aus,


    - Gleiches Problem
    - Gleicher dcmd unban befehl


    -Gleicher wohnort


    Alles gleich





    weil hier hat jemand genau das selbe geschrieben LINK = GNE /unban befehle geht nicht? ( Das ist genau der selbe Code, das ist doch irgendwie komisch, findest du nicht ?


    Hier der Codex von hier =


    dcmd_unban(playerid, params[]) { if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht eingeloggt."); if(PlayerInfo[playerid][pAdmin] <= 1999) return SendClientMessage(playerid, COLOR_WHITE, "Du bist kein Server-Owner/High-Admin."); new accname[MAX_PLAYER_NAME]; if(sscanf(params, "s", accname)) return SendClientMessage(playerid, COLOR_WHITE, "Befehl: /unban [EXAKTER Accountname]"); new acc[MAX_PLAYER_NAME+20]; format(acc,sizeof(acc),"Accounts/%s.ini",accname); if(!fexist(acc)) { format(stringx,sizeof(stringx)," Der Account %s existiert nicht!",accname); SendClientMessage(playerid,COLOR_GRAD2,stringx); return 1; } new File:banaccount = fopen(acc,io_write); fwrite(banaccount,"Gesperrt=0\n"); fclose(banaccount); format(stringx, sizeof(stringx), "AdmCmd: Admin %s hat %s entbannt!", MeinName(playerid), accname); ABroadCast(COLOR_LIGHTRED, stringx, 1); return 1; }





    Da drüber den Codex von Mezzomix


    dcmd_unban(playerid, params[]) { if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht eingeloggt."); if(PlayerInfo[playerid][pAdmin] <= 1999) return SendClientMessage(playerid, COLOR_WHITE, "Du bist kein Server-Owner/High-Admin."); new accname[MAX_PLAYER_NAME]; if(sscanf(params, "s", accname)) return SendClientMessage(playerid, COLOR_WHITE, "Befehl: /unban [EXAKTER Accountname]"); new acc[MAX_PLAYER_NAME+20]; format(acc,sizeof(acc),"/scriptfiles/Accounts/%s.ini",accname); if(!fexist(acc)) { format(stringx,sizeof(stringx)," Der Account %s existiert nicht!",accname); SendClientMessage(playerid,COLOR_GRAD2,stringx); return 1; } new File:banaccount = fopen(acc,io_write); fwrite(banaccount,"Gesperrt=0\n"); fclose(banaccount); format(stringx, sizeof(stringx), "AdmCmd: Admin %s hat %s entbannt!", MeinName(playerid), accname); ABroadCast(COLOR_LIGHTRED, stringx, 1); return 1; }





    Du weisst nicht wie man Varis speichert, komisch der andere auch nicht.


    ................................................................................................................




    Schritt 1 = Die Statistiken der Spieler auslesen.




    Schritt 2 = Alte dateien löschen




    Schritt 3= Neue datei Scripten mit den Stats schreiben




    Schritt 4= Varis laden lassen.

    Einmal editiert, zuletzt von King_Evil ()