Brauche Hilfe bei meinen /makeadmin befehl!!!

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
  • Bitte um hilfe mein /makeadmin befehl setzt kein adminlevel und sagt mir direct das der Spieler das Level schon hat


    Code:
    //Dcmd Befehle
    dcmd_makeadmin(playerid, params[])
    {
    new pid, level;
    if(sscanf(params,"ud", pid, level))
    {
    return SendClientMessage(playerid,GELB,"Verwendung : /makeadmin [id] [level]");
    }
    if(IstSpielerAdmin(playerid, 4))
    {
    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
    }
    if(IstSpielerAdmin(pid,level) == level)
    {
    return SendClientMessage(playerid,ROT,"Der Spieler hat Das Level schon!");
    }
    else
    {
    sSpieler[pid][Adminlevel] = level;
    SendClientMessage(pid,GRÜN,"Du bist nun Admin");
    SendClientMessage(playerid,GRÜN,"Du hast den Spieler zum Admin Befördert!");
    }
    }
    else
    {
    return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    }
    return 1;
    }


    Bitte um schnelle hilfe ;(

    Einmal editiert, zuletzt von Dr.Dark ()

  • was meinst du genau?


    Code:


    Das ist Das admin System mit istspieler admin


    //AdminSytsem
    stock IstSpielerAdmin(playerid,level)
    {
    if(sSpieler[playerid][Adminlevel] >= level) return 1;


    return 0;
    }

  • gespeichert wird das wenn du das meinst:


    Passwort=D666EDEE5D78F6997E14B8104DDA553E
    Adminlevel=5
    level=0
    Fraktion=0


    wenn ich halt /makeadmin 0 1 mache dann sagt der mir das der spieler schon das level hat hat er aber nicht

  • dcmd_setadmin(playerid,params[])
    {
    new pid, level;
    if(sscanf(params, "ud",pid,Level))return SendClientMessage(playerid,0xC8C8C8FF,"/setadmin [ID/Name] [Level]");
    if(Level < 0 || Level > 5) return SendClientMessage(playerid,0xC8C8C8FF, "Der Adminrank muss zwischen 0 [Uninvite] und 5 liegen!");
    if(sSpieler[playerid][Adminlevel] > 4)
    {
    new adminstring[128], adminstring2[128], playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(adminstring,sizeof(adminstring),"%s hat dir Adminrank %d zugewiesen!",playername, Level);
    GetPlayerName(pid,playername,sizeof(playername));
    format(adminstring2,sizeof(adminstring2),"Du hast %s Adminrank %d zugewiesen!",playername, Level);
    sSpieler[pid][Adminlevel] = level;
    SendClientMessage(pid,0xFF6347AA, adminstring);
    SendClientMessage(playerid,0xC8C8C8FF,adminstring2);
    }
    else return SendClientMessage(playerid, 0xC8C8C8FF, "Dein Adminrank reicht nicht aus!");
    return 1;
    }
    Probier das mal so


    // Edit schreibfehler

  • : warning 217: loose indentation
    : warning 225: unreachable code
    : warning 217: loose indentation
    : warning 217: loose indentation
    : warning 219: local variable "level" shadows a variable at a preceding level
    : warning 213: tag mismatch
    : warning 213: tag mismatch
    : warning 205: redundant code: constant expression is zero
    : warning 213: tag mismatch
    : warning 213: tag mismatch
    : warning 203: symbol is never used: "level"
    : warning 217: loose indentation
    : warning 217: loose indentation
    : warning 217: loose indentation
    : warning 219: local variable "level" shadows a variable at a preceding level
    : warning 213: tag mismatch
    : warning 203: symbol is never used: "level"



    meine warnings hat das was zu bewirken also macht es was kaputt




    Wenn ich jetzt /setadmin 0 2 oder so mache setzt er das level immer auf 1

    Einmal editiert, zuletzt von Dr.Dark ()

  • Hast du TV dann gib mir mal die Daten dann kriegen wir das sicher hin

  • Versuch es mal so:



    dcmd_setadmin(playerid, params[])
    {
    new pID, level, string[100], playername[MAX_PLAYER_NAME];
    if(sSpieler[playerid][Adminlevel] != 5) return SendClientMessage(playerid, 0xC8C8C8FF, "Dein Adminlevel reicht nicht aus, um diesen Befehl zu benutzen.");
    if(sscanf(params, "ud", pID, level)) return SendClientMessage(playerid, 0xC8C8C8FF, "Tippe: /setadmin [Spielername / ID] [Adminlevel 0-5]");
    if(strval(Level) < 0 || strval(Level) > 5) return SendClientMessage(playerid, 0xC8C8C8FF, "Das Adminlevel muss zwichen 0 [Uninvite] und 5 liegen.");
    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "* %s hat dir das Adminlevel %d zugewiesen.", playername, Level));
    SendClientMessage(pID, 0xC8C8C8FF, string);
    GetPlayerName(pID, playername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "* Du hast %s das Adminlevel %d zugewiesen.", playername, Level);
    SendClientMessage(playerid, 0xC8C8C8FF, string);
    sSpieler[pID][Adminlevel] = strval(Level);
    return 1;
    }


  • dcmd_setadmin(playerid, params[])
    {
    new pID, level, string[100], playername[MAX_PLAYER_NAME];
    if(sSpieler[playerid][Adminlevel] != 5) return SendClientMessage(playerid, 0xC8C8C8FF, "Dein Adminlevel reicht nicht aus, um diesen Befehl zu benutzen.");
    if(sscanf(params, "ud", pID, level)) return SendClientMessage(playerid, 0xC8C8C8FF, "Tippe: /setadmin [Spielername / ID] [Adminlevel 0-5]");
    if(strval(Level) < 0 || strval(Level) > 5) return SendClientMessage(playerid, 0xC8C8C8FF, "Das Adminlevel muss zwichen 0 [Uninvite] und 5 liegen.");
    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "* %s hat dir das Adminlevel %d zugewiesen.", playername, Level);
    SendClientMessage(pID, 0xC8C8C8FF, string);
    GetPlayerName(pID, playername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "* Du hast %s das Adminlevel %d zugewiesen.", playername, Level);
    SendClientMessage(playerid, 0xC8C8C8FF, string);
    sSpieler[pID][Adminlevel] = strval(Level);
    return 1;
    }

  • error 035: argument type mismatch (argument 1) 2x



    Code:
    //Dcmd Befehle
    dcmd_setadmin(playerid, params[])
    {
    new pID, level, string[100], playername[MAX_PLAYER_NAME];
    if(sSpieler[playerid][Adminlevel] != 5) return SendClientMessage(playerid, 0xC8C8C8FF, "Dein Adminlevel reicht nicht aus, um diesen Befehl zu benutzen.");
    if(sscanf(params, "ud", pID, level)) return SendClientMessage(playerid, 0xC8C8C8FF, "Tippe: /setadmin [Spielername / ID] [Adminlevel 0-5]");
    if(strval(level) < 0 || strval(level) > 5) return SendClientMessage(playerid, 0xC8C8C8FF, "Das Adminlevel muss zwichen 0 [Uninvite] und 5 liegen.");
    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "* %s hat dir das Adminlevel %d zugewiesen.", playername, level);
    SendClientMessage(pID, 0xC8C8C8FF, string);
    GetPlayerName(pID, playername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "* Du hast %s das Adminlevel %d zugewiesen.", playername, level);
    SendClientMessage(playerid, 0xC8C8C8FF, string);
    sSpieler[pID][Adminlevel] = strval(level);
    return 1;
    }

  • Beitrag von SLaYz ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen