Wie mache ich das damit?

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 Leute,
    ich habe eine Frage undzwar wie kann ich mit dem Code:



    enum SpielerDaten
    {
    pRegDate[30],
    pRegistriert,
    pLevel,
    pGeld,
    pSkin,
    pAdminlevel
    };


    new SpielerInfo[MAX_PLAYERS][SpielerDaten];


    einen stock isAdmin machen? also eine Adminabfrage
    danke im vorraus

  • if(SpielerInfo[playerid][pAdminlevel] > 1)
    So vielleicht?


    einen "stock" brauchst du nicht wenn doch, geh in den Wald :pinch:
    Eine Funktion brauchst du dafür ganz sicher nicht - siehe oben 8o

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • if(SpielerInfo[playerid][pAdminlevel] > 1)
    So vielleicht?


    einen "stock" brauchst du nicht wenn doch, geh in den Wald :pinch:
    Eine Funktion brauchst du dafür ganz sicher nicht - siehe oben 8o

    Also muss man damit Adminrank 1 besitzen und man kann den Befehl dann ausführen und alles über Adminrang 1? Also 2,3 usw.?

  • Du meinst >= 1 oder? :D


    Nein meine ich nicht.
    Es war ja nur eine Beispielabfrage.


    Ich weiß auch nicht warum man überhaupt eine Funtkion dafür erstellt, wenn man verschiedene Adminlevel hat.
    Da kann man auch gleich ein bool setzen, wenn man eine Funktion mit dem Namen "isAdmin" setzen.
    Das ist Quatsch und Verschwendung

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ocmd:restartserver(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdminlevel] > 4) return SendClientMessage(playerid,Rot,"Möglich ab: "COLG" Adminrank 4");
    SendClientMessageToAll(Grün,"Der Server wird neugestartet!Es werden alle Accounts gespeichert!");
    SavePlayer(playerid);
    SendRconCommand("gmx");
    return 1;
    }


    Der Befehl funktioniert nicht dann kommt andauernd "Der Befehl restartserver exestiert nicht"
    Warum?

  • Befehl ist ausserhalb eines callbacks bzw einer anderen Funktion ? Ausserdem kannste auch noch mal den code block wo du die message ausgeben lässt zeigen. Zumal du speicherst nicht alle Spieler sondern nur denjenigen der den Befehl ausführt. Musste mit ne Schleife durch alle Spieler gehen und dann Speichern lassen.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Befehl ist ausserhalb eines callbacks bzw einer anderen Funktion ? Ausserdem kannste auch noch mal den code block wo du die message ausgeben lässt zeigen. Zumal du speicherst nicht alle Spieler sondern nur denjenigen der den Befehl ausführt. Musste mit ne Schleife durch alle Spieler gehen und dann Speichern lassen.


    public OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
    new string[128];
    format(string, sizeof string, "Der Befehl "COLO"%s"COLW" existiert nicht!", cmdtext);
    if(!success)return SendClientMessage(playerid, Weiß, string);
    return 1;
    }


    Und wie meinst du das mit der schleife? Bis jetzt habe ich noch keine schleife erstellt,könntest du dies vllt. in diesem Befehl einbauen?

  • Mache es so :
    stock isAdmin(playerid, adminlevel) { if(SpielerInfo[playerid][pAdminlevel] >= adminlevel) return 1;
    return 0; }
    Ich weiß nicht wieso aber irgendwie klappt der Zeilenumbruch nicht so wirklich, aber das kannst du ja ändern :)

  • Bräuchte dazu immernoch Hilfe :)

  • Mache es mal so:
    ocmd:restartserver(playerid,params[]){
    if(!SpielerInfo[playerid][pAdminlevel] >= 4) return SendClientMessage(playerid,Rot,"Möglich ab: 'COLG' Adminrank 4");
    SendClientMessageToAll(Grün,"Der Server wird neugestartet!Es werden alle Accounts gespeichert!");
    SavePlayer(playerid);
    SendRconCommand("gmx");
    return 1;
    }


  • ocmd:restartserver(playerid,params[]){
    if(!SpielerInfo[playerid][pAdminlevel] >= 4) return SendClientMessage(playerid,Rot,"Möglich ab: 'COLG' Adminrank 4");
    SendClientMessageToAll(Grün,"Der Server wird neugestartet!Es werden alle Accounts gespeichert!");
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))SavePlayer(i);
    }
    SendRconCommand("gmx");
    return 1;
    }



    das is ne schleife :D
    PS: jeder verbundene Spieler wird gespeichert.

    Schau doch mal auf Inf-Reallife vorbei ! - Wir entwickeln einen großartigen GTA:Network Server

  • Es funktioniert immernoch nicht es wird immernoch angezeigt das der Befehl nicht exestiert..

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen