/kick und Adminproblem

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 Brotfischer,


    ich habe mal dieses Kick Command ausgearbeitet. Mein Problem ist man kann trotzdem noch ohne Grund kicken, was ich nicht möchte ^^ Ich hoffe ihr könnt mir helfen:



    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!tmp[0])return SendClientMessage(playerid, COLOR_GREY, "Verwendung: /kick [SpielerID] [Grund]");
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    new giveplayer;
    giveplayer = strval(tmp);


    if(!IsPlayerConnected(giveplayer))
    {
    SendClientMessage(playerid,COLOR_GREY,"* Dieser Spieler ist Offline!");
    return 1;
    }
    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(!tmp[0])return SendClientMessage(playerid, COLOR_GREY, "Verwendung: /kick [SpielerID] [Grund]");
    format(string,256,"%s (ID:%d) wurde von %s gekickt. Grund: %s",pName[giveplayer],giveplayer,pName[playerid],(result));
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    Kick(giveplayer);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dir fehlt das benötigte Adminlevel!");
    }
    }
    return 1;
    }



    Dann möchte ich ein Command erstellen, welches für Admins bis Level 5 nur mit AdminDuty geht, und ab Level 6 ohne.
    Könnt ihr mir den Anfang posten?
    Variablen sind so definiert: pAdmin AdminDuty


    mfg
    surrender

  • einfach so
    edit


    so ist besser ;)



    if(PlayerInfo[playerid][pAdmin] <= 5 && AdminDuty[playerid] == 0) { }
    {
    SendClientMessage(playerid, COLOR_BLUE,"Sie müssen Duty sein.");
    return 1;
    }

    Lust auf russisch roulette ?
    Okay...
    ... Ich hol mal meine Automatik ;D

    Einmal editiert, zuletzt von Basti ()