Problem, mit selbstgemachter Makeadmin Funktion...

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, ich habe mit dcmd und sscanf ne eigene Make Admin funktion gemacht, aber ich bekomme immer errors...
    hier mal die funktion :



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    ...
    dcmd(makeadmin,9,cmdtext)
    return1;
    }



    dcmd_makeadmin(playerid,params[])
    {
    new ziellevel;
    new pID;
    if(sscanf(params, "di",ziel,ziellevel))
    {
    return SendClientMessage(playerid,COLOR_GREY,"Bitte schreibe: /makeadmin [id] [adminlevel]");
    }
    if(!IsPlayerConnected(ziel)) {
    return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht Online");
    }
    new Zielspieler[MAX_PLAYER_NAME];
    new string[128];
    if(pInfo[playerid][alevel] ==6)
    {
    pInfo[pID][alevel] = ziellevel;
    }
    else if(pInfo[pID][alevel] >=ziellevel)
    {
    format(string,sizeof(string),"Das Adminlevel von %s ist bereits %s oder höher",Zielspieler,ziellevel);
    SendClientMessage(playerid,COLOR_GREY,string);
    return 1;
    }



    So... Hier jetzt die Errors:


    So solange ich die makeleader funktion weglasse, compiled mein compiler ganz normal, aber sobald ich die Makeleader Funktion hinzufüge, findet pawno sogar Fehler in Zeilen, die ich garnicht verändert habe.

  • So habe jetzt alle fehler behoben, aber ich bekomme diese Warning (wieso?):

    Code
    C:\Users\Tockra\Desktop\Samp Gamemode V1.6.3\Samp Server\gamemodes\realife06.pwn(468) : warning 217: loose indentation
    C:\Users\Tockra\Desktop\Samp Gamemode V1.6.3\Samp Server\gamemodes\realife06.pwn(477) : warning 217: loose indentation
    C:\Users\Tockra\Desktop\Samp Gamemode V1.6.3\Samp Server\gamemodes\realife06.pwn(487) : warning 217: loose indentation
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    3 Warnings.




    dcmd_makeadmin(playerid,params[])
    {
    new ziellevel;
    new pID;
    if(sscanf(params, "di",pID,ziellevel))
    {
    return SendClientMessage(playerid,COLOR_GREY,"Bitte schreibe: /makeadmin [id] [adminlevel]");
    }
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht Online");
    }
    new Zielspieler[MAX_PLAYER_NAME];
    new string[128];
    if(pInfo[playerid][alevel] ==6)
    {
    pInfo[pID][alevel] = ziellevel;
    }
    else if(pInfo[pID][alevel] >=ziellevel)
    {
    format(string,sizeof(string),"Das Adminlevel von %s ist bereits %s oder höher",Zielspieler,ziellevel);
    SendClientMessage(playerid,COLOR_GREY,string);
    return 1;
    }
    return 1;
    }


    Zeile 5 = 468
    Zeile 14 = 477
    Zeile 24 = 487

  • Lern einrücken.


    dcmd_makeadmin(playerid,params[])
    {
    new ziellevel;
    new pID;
    if(sscanf(params, "di",pID,ziellevel)) {
    return SendClientMessage(playerid,COLOR_GREY,"Bitte schreibe: /makeadmin [id] [adminlevel]");
    }
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht Online");
    }
    new Zielspieler[MAX_PLAYER_NAME];
    new string[128];
    if(pInfo[playerid][alevel] ==6) {
    pInfo[pID][alevel] = ziellevel;
    }
    else if(pInfo[pID][alevel] >=ziellevel) {
    format(string,sizeof(string),"Das Adminlevel von %s ist bereits %s oder höher",Zielspieler,ziellevel);
    SendClientMessage(playerid,COLOR_GREY,string);
    return 1;
    }
    return 1;
    }

  • Danke!!!
    Aber jetzt ohne witz, wie geht das und was ist das?

    3 Mal editiert, zuletzt von Tockra ()

  • Leider funktioniert der Befehl ingame nicht, er ist zwar admin only und wenn ich nur /makeadmin eingebe steht da auch das man /makeadmin [id] [alevel] machen soll und wenn der spieler online ist steht da auch das keiner online ist, aber wenn einer online ist, dann wird er nicht zum admin gemacht.
    Bei dem Text:
    format(string,sizeof(string),"Das Adminlevel von %s ist bereits %s oder höher",Zielspieler,ziellevel);

    steht als Ziellevel keine Zahlen (die man eingegeben hat) sondern z.B. sowas : +,,'