Problem mit abfrage

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



    und zwar hab ich einen Befehl gemacht mit den man Events erstellt,
    so, aber ich möchte ja das es nur die Admins mit den Admin Rang "1337 und 2000" machen können
    nur es funktioniert einfach nicht richtig was mache ich falsch ?



    Code:


    ocmd:event(playerid, params[])
    {
    new str[128];
    if(isPlayerAnAdmin(playerid,1337) || isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,"Du hast keine Rechte dazu!");
    if(EventAktiv == 0)return SendClientMessage(playerid, DUNKELROT, "Es ist kein Event aktiv!");
    if(EventGesperrt == 0)
    {
    SetPlayerPos(playerid, EventX, EventY, EventZ);
    format(str, sizeof(str),"%s | ist dem Event beigetreten | '/event' um teilzunehmen", SpielerName(playerid));
    SendClientMessageToAll(HELLGRUN,str);
    }
    else
    {
    SendClientMessage(playerid, GRUN, "Das Event hat bereits begonnen!");
    }
    return 1;
    }



    Ich hoffe ihr könnt mir weiter helfen :S




    Grüße

  • Versuch es mal so.
    ocmd:event(playerid,params[])
    {
    new str[128];
    if(isPlayerAnAdmin(playerid,1337)||isPlayerAnAdmin(playerid,2000))
    {
    if(EventAktiv==0)return SendClientMessage(playerid, DUNKELROT, "Es ist kein Event aktiv!");
    if(EventGesperrt==0)
    {
    SetPlayerPos(playerid, EventX, EventY, EventZ);
    format(str, sizeof(str),"%s | ist dem Event beigetreten | '/event' um teilzunehmen", SpielerName(playerid));
    SendClientMessageToAll(HELLGRUN,str);
    }
    else if(EventGesperrt==1)
    {
    SendClientMessage(playerid, GRUN, "Das Event hat bereits begonnen!");
    }
    }
    else
    {
    SendClientMessage(playerid,"Du hast keine Rechte dazu!");
    }
    return 1;
    }

  • if(!isPlayerAnAdmin(playerid,1337) && !isPlayerAnAdmin(playerid,2000)) return SendClientMessage(playerid,"Du hast keine Rechte dazu!");


    Wenn nicht und wenn nicht, dann auch nicht. ;)

    so geht es auch nicht Jeffry,



    Code:



    ocmd:event(playerid, params[])
    {
    new str[128];
    if(!isPlayerAnAdmin(playerid,1337) && !isPlayerAnAdmin(playerid,2000)) return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    if(EventAktiv == 0)return SendClientMessage(playerid, DUNKELROT, "Es ist kein Event aktiv!");
    if(EventGesperrt == 0)
    {
    SetPlayerPos(playerid, EventX, EventY, EventZ);
    format(str, sizeof(str),"%s | ist dem Event beigetreten | '/event' um teilzunehmen", SpielerName(playerid));
    SendClientMessageToAll(HELLGRUN,str);
    }
    else
    {
    SendClientMessage(playerid, GRUN, "Das Event hat bereits begonnen!");
    }
    return 1;
    }

  • Nun.
    eigentlich sollten es nur Admin tuen können die den Rang "1337 oder 2000 "haben aber es will irgendwie halt nicht..



    Hier mal mein stock:


    stock isPlayerAnAdmin(playerid,level)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=level)return 1;
    return 0;
    }




    Grüße

  • So sieht das aus, alles klar.


    if(GetPVarInt(playerid,"Adminlevel") != 1337 && GetPVarInt(playerid,"Adminlevel") != 2000) return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    Müssen wir direkt abfragen, sonst tuts nicht.

  • Nope funktioniert immer noch nicht..



    Code:



    ocmd:cevent(playerid, params[])
    {
    if(GetPVarInt(playerid,"Adminlevel") != 1337 && GetPVarInt(playerid,"Adminlevel") != 2000) return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    {
    ShowPlayerDialog(playerid, DIALOG_EVENTMANAGER,DIALOG_STYLE_LIST, "Event erstellung","Event erstellen\nEvent löschen\nEvent Sperren","Ok","Abbrechen");
    }
    return 1;
    }

  • ocmd:cevent(playerid, params[])
    {
    if(GetPVarInt(playerid,"Adminlevel") != 1337 && GetPVarInt(playerid,"Adminlevel") != 2000) return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    return ShowPlayerDialog(playerid, DIALOG_EVENTMANAGER,DIALOG_STYLE_LIST, "Event erstellung","Event erstellen\nEvent löschen\nEvent Sperren","Ok","Abbrechen");
    }

  • ocmd:cevent(playerid, params[])
    {
    if(GetPVarInt(playerid,"Adminlevel") != 1337 && GetPVarInt(playerid,"Adminlevel") != 2000) return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    return ShowPlayerDialog(playerid, DIALOG_EVENTMANAGER,DIALOG_STYLE_LIST, "Event erstellung","Event erstellen\nEvent löschen\nEvent Sperren","Ok","Abbrechen");
    }

    Du Jeffry es funktioniert war nur etwas mit meinen Rängen InGame durcheinander ^^



    Danke für deine mühe mir zu helfen, und natürlich allen anderen hier ^^




    Grüße

  • Gelöst.
    Du darfst nur eine Abfrage nehmen.
    Weil im stock das steht.


    >=


    Das bedeutet höher oder gleich.


    Also bitte nur das nehmen.


    ocmd:event(playerid,params[])
    {
    new str[128];
    if(isPlayerAnAdmin(playerid,1337))
    {
    if(EventAktiv==0)return SendClientMessage(playerid, DUNKELROT, "Es ist kein Event aktiv!");
    if(EventGesperrt==0)
    {
    SetPlayerPos(playerid, EventX, EventY, EventZ);
    format(str, sizeof(str),"%s | ist dem Event beigetreten | '/event' um teilzunehmen", SpielerName(playerid));
    SendClientMessageToAll(HELLGRUN,str);
    }
    else if(EventGesperrt==1)
    {
    SendClientMessage(playerid, GRUN, "Das Event hat bereits begonnen!");
    }
    }
    else
    {
    SendClientMessage(playerid,"Du hast keine Rechte dazu!");
    }
    return 1;
    }



    Der fehler ist bei der Abfrage.
    Versuch mal meins zu nehmen.


    ps. Jeffry: Dein Bild schockt voll.