Admin Ränge

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 habe den Stock für die Admin abfrage so:
    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }


    Und jetzt würde ich halt gerne abfragen ob der Admin, Admin ist und ob er einen Rang 3 oder höher hat. Aber ich hab keine ahnung wie das gehen soll


    Danke im vorraus :D

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Ich habe es jetzt so:


    if (strcmp("/gotolspd", cmdtext, true, 10) == 0)
    {
    if(isPlayerAnAdmin(playerid,<=3))return SendClientMessage(playerid,WEIß,"Du bist kein Admin oder dein Rang ist zu niedrig.");
    {
    SetPlayerPos(playerid,1525.7850,-1648.8926,13.3828);
    SendClientMessage(playerid,WEIß,"Erfolgreich teleportiert!");
    return 1;


    Dann kriege ich aber Error:
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1076) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1076) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1076) : error 001: expected token: ";", but found ")"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1076) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1076) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Jetzt wird ja nur abgefragt ob er Rang 3 ist. Aber die Ränge die über 3 sind sollen das auch können


    eigentlich net, guck doch mal dein stock an.



    EDIT:
    if (strcmp("/gotolspd", cmdtext, true, 10) == 0){
    if(!isPlayerAnAdmin(playerid,3)) return SendClientMessage(playerid,WEIß,"Du bist kein Admin oder dein Rang ist zu niedrig.");
    SetPlayerPos(playerid,1525.7850,-1648.8926,13.3828);
    SendClientMessage(playerid,WEIß,"Erfolgreich teleportiert!");
    return 1;
    }
    So sollte es gehen.

  • Das kann doch niemals funktionieren.


    if(isPlayerAnAdmin(playerid,<=3))




    in dem Stock wird doch alles abgefragt.


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


    Du könntest einfach so machen. (ungetestet)

    stock getPlayerAdminRank(playerid)
    {
    return GetPVarInt(playerid,"Adminlevel");
    }


    und einfach if(getPlayerAdminRank(playerid) >= 3)

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

  • Nein so wird das schon richtig abgefragt, guck doch in deinen stock... oder kopier mein code oben und teste ihn.




    Cydia und was muss ich dann aus meinem Stock rauslöschen weil dann ist der Rang dort ja überflüssig.


    julian389 teste es selbst es funktioniert nicht

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A


  • if(!strcmp("/gotolspd", cmdtext, true, 9)){
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,WEIß,"Du bist kein Admin oder dein Rang ist zu niedrig.");
    SetPlayerPos(playerid,1525.7850,-1648.8926,13.3828);
    SendClientMessage(playerid,WEIß,"Erfolgreich teleportiert!");
    return 1;
    }

    Benutzt dein Script überhaupt PVars?



  • //EDIT MOMENT MAL ICH BIN DUMM

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Na hier sind ja Profis am Werk :rolleyes:


    Wenn du deine Funktion isPlayerAnAdmin() mit Rang 3 ausführst, wird der Rang innerhalb dieser Funktion sozusagen ersetzt.
    Beispiel für isPlayerAnAdmin(playerid, 3):
    stock isPlayerAnAdmin(playerid,3)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=3)return 1;
    return 0;
    }Die Variable rang wird durch eine 3 ersetzt.
    In der if-Abfrage steht ein >=3, also passt alles.
    Wenn es trotzdem nicht geht, hast du irgendwo einen Tipp- oder Denkfehler.

    Professioneller Webentwickler.

  • ES TUT MIR LEID


    Ihr habt es mir richtig erklärt nur ich war zu dumm um das ! vor vor dem IsPlayerAnAdmin zu machen :wacko:


    Ist ja logisch das es dann nicht geht


    Danke für eure Hilfe :love:

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A


  • Musst du grade sagen,
    stock isPlayerAnAdmin(playerid,3 <-)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=3 <-)return 1;
    return 0;
    }


    Für was gibst du ein Parameter an, wenn dieser nie benutzt wird.
    Sehr schlau ;)

  • Cydia:
    Ich habe ihm erklärt, wie Parameter funktionieren.
    Er soll doch nicht den Code einbauen, meine Güte ...
    Aber wenn man nicht checkt wie ein Funktionsaufruf funktioniert, muss man von ganz vorne anfangen.
    Ich will Noobs nicht einen Copy&Paste-Code auf den Tisch legen, sondern ihnen wenigstens erklären was sie da überhaupt machen.

    Professioneller Webentwickler.