hilfe mit /unban [name]

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


    ich bräuchte ein bisschen hilfe bei einem cmd der /unban [name] lauten sollte.
    ich hab 2 verschiedenen arten von ban in meinm Adminscript. 1. nameban 2. "normaler" ban
    und mit /unban [name] sollte man eben den namen wieder entbannen können. wenn man den namen bannt, ändert sich in der playerfile "Banned=0" auf "Banned=1". hoffe mir kann jmd helfen ;)


    Flo


  • dcmd_unbann(playerid,params[])
    {
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,0xFFFF00AA,"Benutzung: /unbann [PlayerID]");
    }
    new
    pID=strval(params);
    if(!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,0xFFFF00AA,"Dieser Spieler ist nicht Online!");
    }
    PlayerInfo[pID][pBanned] = 0;
    SendClientMessage(playerid,0xFFFF00AA,"Der Spieler wurde erfolgreich entbannt!");
    return 1;
    }
    else return SendClientMessage(playerid,0xFFFF00AA,"Du kannst diesen Befehl nicht benutzen!");
    }

    Und unter OnPlayerCommandText
    dcmd(unbann,6,cmdtext);


    Musst es halt auf dein Script anpassen - bin net 100% sicher obs geht.

  • dcmd_unbann(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,FARBE,"/unban Name");
    new s[256];
    format(s,sizeof(s),"%s.ini",params);//hab jetzt einfach mal ".ini" als Dateityp genommen
    if(dini_Exists(s)) {
    dini_IntSet(s,"gebannt",0); }}//"gebannt" natürlich mit dem austauschen, was bei dir steht
    return 1;
    }
    Ich weiß jetzt nicht so genau, ob du dini verwendest... ich hoffs mal xD

  • new tmp[128],cmd[128],idx;
    cmd = strtok(cmdtext,idx);
    if(strcmp(cmd, "/unban", true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)){SendClientMessage(playerid,COLOR,"Info: /unban [name]");return 1;}
    new fm[128];
    format(fm,sizeof(fm),"%s.ini",tmp);
    if(dini_Exists(fm))
    {
    dini_IntSet(fm,"banned",0);
    SendClientMessage(playerid,COLOR,"Der Spieler wurde entbannt!");
    }else{SendClientMessage(playerid,COLOR,"Diesen Spieler Account gibts es nicht!");}
    return 1;
    }


    Meinst sowas in der Richtung ?

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Das kannst du so lassen:
    dcmd_unbann(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,FARBE,"/unban Name");
    new s[256];
    format(s,sizeof(s),"%s.ini",params);//hab jetzt einfach mal ".ini" als Dateityp genommen
    //---------------------------------------------------------------------------------------------------------------------
    //Jetzt wirds anders
    if(fexist(s)) {
    //diese Zeile kenn ich nicht^^ da musst du das "gebannt" aber wieder auf 0 setzen
    }
    else { SendClientMessage(playerid,FARBE,"Datei existiert nicht"); }}
    return 1;
    }

  • ich hab das jetzt so: dcmd_unban(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,COLOR_RED,"/unban Name");
    new s[256];
    format(s,sizeof(s),"%s.ini",params);//hab jetzt einfach mal ".ini" als Dateityp genommen
    //---------------------------------------------------------------------------------------------------------------------
    //Jetzt wirds anders
    if(fexist(s)) {
    dUserSetINT(PlayerName(playerid)).("Banned",0);
    //diese Zeile kenn ich nicht^^ da musst du das "gebannt" aber wieder auf 0 setzen
    }
    else { SendClientMessage(playerid,COLOR_RED,"Datei existiert nicht"); }}
    return 1;
    }


    kann ich das format(s,sizeof(s),"%s.ini",params); einfach in format(s,sizeof(s),"%s.dudb",params); um ändern?
    weil wenn ich es ändere, sagt er immer Datei existiert nicht. Wenn ich einen .ini datei erstellen und dann /unban name mache, passiert gar nix :/