Beiträge von Dr.Dark

    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;
    }

    : 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

    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 ;(