Kein Admin obwohl admin?

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Ich kann mir momentan nur vorstellen das deine Variable Admin im Enum anders definiert wurde...
    if(SpielerInfo[playerid][pAdminlevel] >= 1) return SendClientMessage(playerid,GRAU,"Hallo");


    Eigendlich sollte das so richtig sein !


    //TutNichts das ist blödsinn ;)

  • Du musst abfragen, ob das Adminlevel kleiner als 1, bzw == 0ist.

    Ebenfalls falsch.
    Wenn er abfragt ob das Adminlevel == 0 ist und dann ein return macht bekommt der Administrator der Adminrang 0 nichts geschrieben --> Adminrang 0 kann den Befehl nutzen
    Adminrang größer als 0 kann den Befehl nicht nutzen..

  • Ich bezweifel das das so hinhaut, du müsstest es glaube so machen !=1 aber da würde jede andere zahl als 1 stehen, logischer währe das über nen stock zu machen.

    stock IsPlayerAnAdmin(playerid,level)
    {
    if(sInfo[playerid][pAdmin] >= level) return 1;
    return 0;
    }


    so kannst du es dann anwenden:

    if(!IsPlayerAnAdmin(playerid,1) return SendClient...

    also jedes adminlevel von 1 +

  • Da liefert TutNichts schon die richtige Antwort und sie wird gekonnt ignoriert oder als falsch abgestempelt.


    Zitat

    if(sInfo[playerid][pAdmin]>=1)return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");


    Alle Werte die gleich oder größer als 1 sind ( z.B. 2, 5 , 1053 , 2385 ) erfüllen die Bedingung. Ist die Bedingung erfüllt,wird ausgegeben,dass das Level zu niedrig ist. Die Ausgabe der Nachricht entspricht nicht der Logik hinter der Abfrage.
    Die Ganze Bedingung negieren würde gehe, oder abfragen ob kleiner als 1 etc.


    //Edit:
    Die Lösung von Rocky mit ! klappt auch nicht richtig,da nicht die ganze Bedingung negiert wurde.Lediglich der Wert hinter pAdmin wird negiert,dass bringt nicht viel.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ebenfalls falsch.
    Wenn er abfragt ob das Adminlevel == 0 ist und dann ein return macht bekommt der Administrator der Adminrang 0 nichts geschrieben --> Adminrang 0 kann den Befehl nutzen
    Adminrang größer als 0 kann den Befehl nicht nutzen..


    Natürlich kann er das. Wenn dein Adminlevel 0 ist gibt er dir eine Nachricht aus. Sollte die Bedingung nicht erfüllt werden, überspringt er das return und es kommt die nächte Abfrage/der eigentliche Befehl.


    e:/ Ich glaub ich habs verstanden. Es geht nicht darum, ob er kein Adminrank hat, sondern das sein Adminrank zu klein ist. In diesem Fall hast du natürlich recht und == 0 kann nicht genutzt werden.