dcmd entban

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
  • Guten Tag


    ich wollte User InGame entbannen.
    Ich benutze Dini.


    dcmd_entban(playerid,params[])
    {
    new name[MAX_PLAYER_NAME], Grund[256];
    if(sscanf(params, "ss", name, Grund))
    {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /entban [vollständiger Name] [Grund]");
    }
    if(Spieler[playerid][Admin]<2)
    {
    return 0;
    }
    else
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Spielerdatei[256];
    GetPlayerName(i,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    Spieler[i][ban] = 0;
    Update(i);
    for(new j = 0; j < MAX_PLAYERS; j++)
    {
    if(Spieler[j][Admin] >= 1)
    {
    new str[256],name2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name2,sizeof(name2));
    format(str,sizeof(str),"%s wurde von %s entbannt, Grund: %s", name, name2, Grund);
    SendClientMessage(i,COLOR_BLUE,str);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Spieler nicht gefunden!");
    }
    }
    }
    return 1;
    }


    EIgentlich sollte er die spielerdatei von dem eingegbenen Namen öffnen und ban=1 auf =0 setzen. doch egal welchen namen ich angebe es kommt immer die Meldung:


    Dieter wurde von Dieter entbannt, Grund: Grund.


    er zeigt immer den Namen von denjenigen an, der /entban eingiebt. ob es die Spielerdatei von dem eingegebenen Namen giebt oder nicht ist auch egal.


    wäre sehr nett wenn mir da einer helfen könnte


    Lg
    Simon

  • ´mach mal die for schleife rauß und das GetPlayer(i... brauchte auch nicht , da du den Namen von dem Spieler ja schon im CMD eigetippt hast..


    Und die Strings mach die mal allerhöchstens auf 128 In SA-MP ist die maximale Zeichenanzahl im Chat auf 128 somit ist es sinnlos einen String von 256 zu machen

  • dcmd_entban(playerid,params[])
    {
    new name[20], Grund[64];
    if(sscanf(params, "ss", name, Grund)) return SendClientMessage(playerid,COLOR_RED,"Benutzung: /entban [vollständiger Name] [Grund]");
    if(Spieler[playerid][Admin] < 2) return 0;
    else
    {
    new Spielerdatei[64];
    format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    dini_IntSet(Spielerdatei, "Gebannt", 0); // Entbannt den Spieler
    format(Spielerdatei, sizeof(Spielerdatei), "Du hast %s entbannt!", name);
    SendClientMessage(playerid, COLOR_RED, str);
    }
    else return SendClientMessage(playerid,COLOR_RED,"Spieler nicht gefunden!");
    }
    return 1;
    }
    Wohl eher so?:D

    Einmal editiert, zuletzt von ]hp[ ()

  • wird wohl eher so sein.. ich werde es mal so testen ^^


    //edit: habs getestet, es war noch net ganz richtig aber hab alles verbessert.
    es klappt nun wunderbar, danke


    dcmd_entban(playerid,params[])
    {
    new name[MAX_PLAYER_NAME], Grund[256];
    if(sscanf(params, "ss", name, Grund))
    {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /entban [vollständiger Name] [Grund]");
    }
    if(Spieler[playerid][Admin] < 2)
    {
    return 0;
    }
    else
    {
    new Spielerdatei[128];
    format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",name);
    if(dini_Exists(Spielerdatei))
    {
    if(strcmp(dini_Get(Spielerdatei,"ban"), "1", true) == 0)
    {
    dini_IntSet(Spielerdatei,"ban",0); // Entbannt den Spieler
    dini_Set(Spielerdatei,"bangrund","0");
    new name2[MAX_PLAYER_NAME],str[120];
    GetPlayerName(playerid,name2,sizeof(name2));
    format(str, sizeof(str), "[Entban] %s wurde von %s entbannt, Grund: %s!", name, name2, Grund);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Spieler[i][Admin] >= 1)
    {
    SendClientMessage(i, COLOR_BLUE, str);
    }
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_RED,"Spieler ist nicht gebannt!");
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_RED,"Spieler nicht gefunden!");
    }
    }
    return 1;
    }

    Einmal editiert, zuletzt von Simon ()