/admins Problem

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
  • Hey Leute immer 1 Warning..
    ocmd:admins(playerid,params[])
    {
    for (new i=0; i< MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IstSpielerEinAdmin(i))
    {
    new Rang;
    new rangname[64];
    switch (Rang)
    {
    case 1: format(rangname, 64, "Supporter");
    case 2: format(rangname, 64, "Moderator");
    case 3: format(rangname, 64, "Administrator");
    case 4: format(rangname, 64, "Super Administrator");
    case 5: format(rangname, 64, "Projektleiter");
    }
    }
    }
    }
    return 1;
    }


    Error: C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(753) : warning 202: number of arguments does not match definition


    Zeile: if(IstSpielerEinAdmin(i))

  • mal als info das funzt auch nicht die rang deklairung ist müll löschen dann bei switch da einfach deine adminabfrage rein 0 = keiner dann das andere weiter
    und nach der schleife auch die Message senden


    und das so machen
    case 5: rangname= "Projektleiter";

    All in all it's just another brick in the wall

  • Meinen Sie das so?
    Wie soll ich das denn machen? O.o
    if(GetPVarInt(playerid,"Adminlevel")==1)"Supporter");
    if(GetPVarInt(playerid,"Adminlevel")==2)"Moderator");
    if(GetPVarInt(playerid,"Adminlevel")==3)"Administrator");
    if(GetPVarInt(playerid,"Adminlevel")==4)"Super Administrator");
    if(GetPVarInt(playerid,"Adminlevel")==5)"Projektleiter");

  • Arbeitest du mit Array oder PVar?
    Hier mal mein Command, falls du mit PVar arbeitest.


    ocmd:admins(playerid,params[])
    {
    #pragma unused params
    SendClientMessage(playerid,COLOR_GREY,"Admin Online:");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Admin")) // undzwar, wird hier abgefragt ob der spieler ein admin ist
    {
    new string[128],adminlevel[64]; // neuer string, für später und ein neuer Adminname
    switch(GetPVarInt(i,"admin")) // hier switchen wir nun die Variable Admin
    {
    case 1:{adminlevel="Supporter";} // wenn 1 adminlevel = Supporter usw.
    case 2:{adminlevel="Moderator";}
    case 3:{adminlevel="Admin";}
    case 4:{adminlevel="Head-Admin";}
    case 5:{adminlevel="Head-Admin";}
    }
    format(string, 256, "%s: %s",adminlevel,PlayerName(i));
    SendClientMessage(playerid,COLOR_GREY,string);
    }
    }
    }
    return 1;
    }

  • Die Deklaration von Rang muss auch der entsprechen,
    den der Spieler als Rang hat. Denn woher soll das Script
    wissen, dass Rang, des Spielers Rang ist?

    new Rang;
    Ersetz meinen Hinweis mal, durch Deinen richtigen Rang:

    new Rang = Spieler[playerid][adminRang];
    Falls die Variable adminRang ein Integer Wert sein sollte,
    kannst Du sie auch direkt im Switch verwenden und musst
    sie nicht nochmal neu deklarieren.


    switch(Spieler[playerid][adminRang])
    {
    ...
    }