Problem mit befehl

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
  • Moin



    Habe mal wieder ein kleines Problem mit meiner Abfrage,
    und zwar kann ich als '1337' Admin den Befehl ausführen aber wenn ich als '2000' Admin eingeloggt bin kann ich diesen Befehl nicht ausführen, warum ?




    Code:



    ocmd:eventmanager(playerid, params[])
    {
    if(!isPlayerAnAdmin(playerid,1337) || isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,GELB,"Nicht für dich!");
    {
    ShowPlayerDialog(playerid, DIALOG_EVENTMANAGER,DIALOG_STYLE_LIST, "EventManager","Event erstellen\nEvent löschen\nEvent Sperren","Ok","Abbrechen");
    }
    return 1;
    }



    MFG

  • Zitat

    if(!isPlayerAnAdmin(playerid,1337) || isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,GELB,"Nicht für dich!");


    Du musst das Ausrufezeichen grad andersrum setzten. Denn du fragst ja mit dieser Abfrage ab
    1. Wenn der Spieler NICHT 1337 ist bekommt der die Message und
    2. Wenn der Spieler das Adminlevel 2000 hat bekommt er die Message.


    Deswegen mach es andersrum


    if(isPlayerAnAdmin(playerid,1337) || !isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,GELB,"Nicht für dich!");


  • Du musst das Ausrufezeichen grad andersrum setzten. Denn du fragst ja mit dieser Abfrage ab
    1. Wenn der Spieler NICHT 1337 ist bekommt der die Message und
    2. Wenn der Spieler das Adminlevel 2000 hat bekommt er die Message.


    Deswegen mach es andersrum


    if(isPlayerAnAdmin(playerid,1337) || !isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,GELB,"Nicht für dich!");


    Sorry, das ist aber der größte mist den ich bisher gesehen habe...
    Warum bei dem einen das ! und bei dem anderen nicht?
    Es geht doch bei ihm wenn er 1337 ist nur nicht wenn er 2000 ist, so wie du das machst wäre das absolut sinnlos...

  • Sorry, das ist aber der größte mist den ich bisher gesehen habe...
    Warum bei dem einen das ! und bei dem anderen nicht?
    Es geht doch bei ihm wenn er 1337 ist nur nicht wenn er 2000 ist, so wie du das machst wäre das absolut sinnlos...


    wollte ich gerad auch schreiben, sorry aber dein kommentar ist etwas sinnlos .. ^^



    Ich will das es ja für beide Geht und nicht nur für den Rank 2000 ...


    und die Methode die mir der Xtreme gennant hat funktioniert natürlich ^^



    Grüße

  • Zitat

    Sorry, das ist aber der größte mist den ich bisher gesehen habe...
    Warum bei dem einen das ! und bei dem anderen nicht?


    Da ich seine Abfrage genutzt habe.
    Da vor 1337 ein Ausrufezeichen steht habe ich gedacht dass der Befehl nicht für 1337 Admins nutzbar sein soll.
    Wozu sollte denn sonst ein Ausrufezeichen dort stehen?

  • hm es funktioniert irgendwie immer noch nicht ..


    hab es nun so:



    ocmd:cevent(playerid, params[])
    {
      if(GetPVarInt(playerid,"Adminlevel") > 1337)return SendClientMessage(playerid,GELB,"Nicht für dich!");
    {
    ShowPlayerDialog(playerid, DIALOG_EVENTMANAGER,DIALOG_STYLE_LIST, "Event erstellung","Event erstellen\nEvent löschen\nEvent Sperren","Ok","Abbrechen");
    }
      return 1;
    }



    den Befehl kann jeder eingeben aber eigentlich sollten es nur welche können die den Rang 1337 oder höher haben..


  • tottaaaallll falsch


    Wenn du die if abfrage machst > dann return , return für ja und gleichzeitug klammern da hast du aber nicht nach degacht mach es so!


    if(Adminlevel <= 1337 oder >= so wie du es möchtest
    {
    showplayerdialog
    }
    else
    {
    SendClientMessage( dieid , color , "Du ghast nicht die rechte");
    }

  • Hab es schon lange raus, danke aber das du dir trotzdem die mühe gemacht hast ^^



    Grüße

  • So ich hoffe du hast es noch nicht gelöst ?



    So du hast hier folgenden Code :



    ocmd:eventmanager(playerid, params[])
    {
    if(!isPlayerAnAdmin(playerid,1337) || isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,GELB,"Nicht für dich!");
    {
    ShowPlayerDialog(playerid, DIALOG_EVENTMANAGER,DIALOG_STYLE_LIST, "EventManager","Event erstellen\nEvent löschen\nEvent Sperren","Ok","Abbrechen");
    }
    return 1;
    }


    Darin sehen wir das du Abfrägst wenn der Spieler KEIN 1337 Admin ist bekommt er die Nachricht, oder wenn er ABER 2000 IST bekommt er ebenfalls die Nachricht.


    Das heißt du musst einfach nur ein ! vor der oder Abfrage packen :



    ocmd:eventmanager(playerid, params[])
    {
    if(!isPlayerAnAdmin(playerid,1337) || !isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,GELB,"Nicht für dich!");
    {
    ShowPlayerDialog(playerid, DIALOG_EVENTMANAGER,DIALOG_STYLE_LIST, "EventManager","Event erstellen\nEvent löschen\nEvent Sperren","Ok","Abbrechen");
    }
    return 1;
    }

    MFG