ocmd:ahelp

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
  • Nun,
    ocmd wäre dafür nicht meine erste Wahl,
    aber gut.



    ocmd:ahelp (playerid,params[])
    {
    if(DEINE ADMIN FUNCTION){SendClientMessage(playerid, FARBE, "Befehle für Admin höchsten Rank");} // Abfrage für Admin mitm höchsten Rank
    if(DEINE ADMIN FUNCTION){SendClientMessage(playerid, FARBE, "Befehle für Admin mit den 2. höchsten Rank");} // Abfrsge fuer Admin mit den mindestens 2. höchsten Rank


    return 1;
    }


    So machst dus immer weiter und Probesupporter kommt dann zum Schluss.


    da ich nicht weiss,
    wie du einen Admin mit welchem Rank definierst,
    hab ich die Abfrage weggelassen,
    Einfach abfragen, ob er MINDESTENS den und den Rank hat.
    Hat er den Rank oder Höher,
    dann werden die jeweiligen Befehle angezeigt.
    Gruß,
    Dennis


    // Ein if zu viel

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn

  • Erros....
    Zeilen:
    ocmd:ahelp (playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))SendClientMessage(playerid,ROT,"*______Admin-Befehle______*
    if(!isPlayerAnAdmin(playerid,7))SendClientMessage(playerid,ROT,"");} // Abfrage für Admin mitm höchsten Rank
    if(!isPlayerAnAdmin(playerid,6))SendClientMessage(playerid, ROT, "/makeleader /setadmin /restart");
    if(!isPlayerAnAdmin(playerid,5))SendClientMessage(playerid, ROT, "Momentan keine");
    if(!isPlayerAnAdmin(playerid,4))SendClientMessage(playerid, ROT, "Momentan Keine");
    if(!isPlayerAnAdmin(playerid,3))SendClientMessage(playerid, ROT, "/gethere /goto /ban /bsn");
    if(!isPlayerAnAdmin(playerid,2))SendClientMessage(playerid, ROT, "/kick ");
    if(!isPlayerAnAdmin(playerid,1))SendClientMessage(playerid, ROT, "/a ");
    return 1;
    }
    Erros:
    C:\Dokumente und Einstellungen\User\Desktop\server\gamemodes\tutorial.pwn(131) : error 037: invalid string (possibly non-terminated string)
    C:\Dokumente und Einstellungen\User\Desktop\server\gamemodes\tutorial.pwn(131 -- 132) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\User\Desktop\server\gamemodes\tutorial.pwn(132) : error 001: expected token: ";", but found "-identifier-"
    C:\Dokumente und Einstellungen\User\Desktop\server\gamemodes\tutorial.pwn(132) : 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.

  • Du hast beim ersten SendClientMessage den abschließenden Teil vergessen,
    Anführungszeichen, Klammer zu und Simikolon.




    Dann muss das Ausrufezeichen bei den Adminabfragen weg,
    da sonst abgefragt wird, ob man KEIN Admin dieses Ranges ist.


    // Ach noch was,
    Ich habe die SendClientMessage alle in {} gedetzt, das hast du außer den abschließendem in Zeilde 4 nicht gemacht,
    daher wird er zu nem Fehler führen.

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn

  • Hier das sollte Funzen


    ocmd:ahelp(playerid,params[])
    {
    #pragma unused params
    if(!isPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,ROT,"Du bist kein Admin");
    else if(isPlayerAnAdmin(playerid,1)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 1 Befehle");
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,2)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 2 Befehle");
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,3)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 3 Befehle");
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,4)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 4 Befehle");
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,5)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 4 Befehle");
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,6)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 6 Befehle");
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,7)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 7 Befehle");
    return 1;
    }
    return 1;
    }



  • Das ist schwachsinn,
    er will doch,
    dass einem Admis Rank 6 AUCH die Befehle der Ränge darunter angezeigt werden.


    Bei dir siehts so aus,
    dass wenn ich Admin lvl. 2 Bin die Befehle für lvl. 1 angrzeigt bekomme, dass wars.
    Da man min. lvl. 1 braucht, dass iwelche Behehle angezeigt werden,
    du aber else if und return 1; verwendest,
    bekomme alle nur lvl. 1 angezeigt und dann ist da das return 1; was die ganze Geschichte beendet, also nach den anderen Rängen wird gar nicht abgefragt...


    Korrigiere einfach die von mir im vorherigem Post angesprochene Fehler und gut ist.
    Gruß,
    Dennis


    // absatz //2 sry, PC Bugt

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn

    2 Mal editiert, zuletzt von Dennis321 ()

  • Wieso Schwachsin ?
    Jeder mit Hirn weis wie man das mit allen Rängen machen kann


    Beispiel


    else if(isPlayerAnAdmin(playerid,7)
    {
    SendClientMessage(playerid,ROT,"Adminhilfe:");
    SendClientMessage(playerid, ROT,"Admin level 1 Befehle");
    SendClientMessage(playerid, ROT,"Admin level 2 Befehle");
    SendClientMessage(playerid, ROT,"Admin level 3 Befehle");
    SendClientMessage(playerid, ROT,"Admin level 4 Befehle");
    SendClientMessage(playerid, ROT,"Admin level 5 Befehle");
    SendClientMessage(playerid, ROT,"Admin level 6 Befehle");
    SendClientMessage(playerid, ROT,"Admin level 7 Befehle");
    return 1;
    }


    Und das dann einfach bei den anderen Rängen auch so machen ;)


    Das hat nichts mit Schwachsinn zu Tun,
    Denken bevor man Schreibt

  • Nun,
    wenn du das so machen willst,
    dann solltest du mit dem höchsten Rank beginnen un dann immer niedriger gehen ;)
    Grund:
    Da hier nach Rang 1 Abfrage für alle Ränge schluss ist, da jeder Rang darüber >= 1 ist.
    Und dann ist deine Geschichte auch etwas umständlicher/ größer ^^ (nebenbei)


    Und du hast bei allen Adminabfragen die Abschließende Klammer vergessen.
    else if(isPlayerAnAdmin(playerid,1))


    Also ich habe schon nachgedacht :rolleyes:


    Hab dir auch nochmal ne pn geschrieben^^


    xsL33p.[137],
    hab dir deins korrigiert,
    hoffe ich habe da nicht auch ein Klammerfehler odetr so übersehen ^^
    So müsste es funktionieren ;)



    ocmd:ahelp (playerid,params[])
    {
    if(isPlayerAnAdmin(playerid,1)){SendClientMessage(playerid,ROT,"*______Admin-Befehle______*");}
    if(isPlayerAnAdmin(playerid,7)){SendClientMessage(playerid,ROT,"");}
    if(isPlayerAnAdmin(playerid,6)){SendClientMessage(playerid,ROT, "/makeleader /setadmin /restart");}
    if(isPlayerAnAdmin(playerid,5)){SendClientMessage(playerid,ROT, "Momentan keine");}
    if(isPlayerAnAdmin(playerid,4)){SendClientMessage(playerid,ROT, "Momentan Keine");}
    if(isPlayerAnAdmin(playerid,3)){SendClientMessage(playerid,ROT, "/gethere /goto /ban /bsn");}
    if(isPlayerAnAdmin(playerid,2)){SendClientMessage(playerid,ROT, "/kick ");}
    if(isPlayerAnAdmin(playerid,1)){SendClientMessage(playerid,ROT, "/a ");}
    return 1;
    }



    @Turk,
    sry, dass ich das etwas hart gesagt habe mit dem Schwachsinn :S

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn