Message falls der admin nicht den rang hat.

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 will das , wenn ein admin /restart macht und er nicht den rang dafür hat einen Message kriegt. Wie mach ich das ?


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • bittöö


    dcmd_gmx(playerid,params[])
    {
    #pragma unused params
    if(SpielerInfo[playerid][pAdmin]>=1)
    {
    SendClientMessageToAll(cYellow,"Bitte gedulde dich einen Moment");
    SendClientMessageToAll(cYellow,"Wir sind gleich wieder da");
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"loggedin")==1)
    {
    SpielerSpeichern(i);
    }
    }
    SendRconCommand("gmx");
    printf("%s hat den Server restartet",SpielerName(playerid));
    return 1;
    }
    else
    {
    SendClientMessage(playerid,cRed,"Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Rang: {00FF5A}Supporter");
    }
    return 1;
    }

  • was bedeutet dieses else?
    }
    if(strcmp(cmdtext,"/restart",false)==0)
    {
    if(isPlayerAnAdmin(playerid,6))
    {
    SendClientMessage(playerid,GELB,"Der Server wird neu gestartet...");
    SendClientMessage(playerid,GELB,"Bitte warte ...");
    SendRconCommand("gmx");
    return 1;


    }
    SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    return 1;
    }


    wo soll ich noch was hintuhen . Will aber auch das er normalen user anzeigt du bist kein admin !


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,FARBE,"BLA BLA");

  • }
    if(strcmp(cmdtext,"/restart",false)==0)
    {
    if(isPlayerAnAdmin(playerid,6))
    SendClientMessage(playerid,ROT,"bllalalalalalalalallalala"); <------------------- würds so gehen
    {
    SendClientMessage(playerid,GELB,"Der Server wird neu gestartet...");
    SendClientMessage(playerid,GELB,"Bitte warte ...");
    SendRconCommand("gmx");
    return 1;


    }
    SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    return 1;
    }


    würds sogehen?


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • nein X(


    so:


    if(strcmp(cmdtext, "/restart", true) == 0)
    {
    if(!isPlayerAnAdmin(playerid,6)) return SendClientMessage(playerid, ROT, "Du bist kein Admin !");
    SendClientMessage(playerid,GELB,"Der Server wird neu gestartet...");
    SendClientMessage(playerid,GELB,"Bitte warte ...");
    SendRconCommand("gmx");
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • man kann auch mit else arbeiten




    if(strcmp(cmdtext,"/restart",false)==0)
    {
    if(isPlayerAnAdmin(playerid,6))
    {
    SendClientMessage(playerid,GELB,"Der Server wird neu gestartet...");
    SendClientMessage(playerid,GELB,"Bitte warte ...");
    SendRconCommand("gmx");
    return 1;


    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    }
    return 1;
    }

  • okey aber ich will das User die meldung "Du bist kein admin" kriegen und Admins die nicht den rang haben "Du hast nicht den benötigten rang !"


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • Es gibt viele möglichkeiten, du musst es halt nur an dein Script anpassen.


    In meinem Fall hab ich halt mit pAdmin die Abfrage gemacht


    Beispiel von Kaliber


    if(strcmp(cmd, "/gmx", true) == 0) {
    if(SpielerInfo[playerid][pAdmin] >= 6) return SendClientMessage(playerid,ROT, "Du bist kein Admin !");
    SendClientMessage(playerid,GELB,"Der Server wird neu gestartet...");
    SendClientMessage(playerid,GELB,"Bitte warte ...");
    SendRconCommand("gmx"); return 1; }


    P.S: Habs grad gelesen dass du es so willst, dass die User eine Meldung bekommen "Kein Admin" und die Admins "Höherer Rang benötigt" oder so.
    Ehrlich gesagt kA wie das geht. xP

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich persönlich arbeite immer mit else-Zweigen, da es einfach übersichtlicher ist.
    Der Code soll ja auch leicht wartbar sein, vor allem wenn man nicht alleine an einem Script sitzt.


    Zitat von xbluehazzex

    was bedeutet dieses else?


    Das Else bedeutet quasi ''Andernfalls'', oder besser ''wenn nicht''.
    if (a == 1){ Mach das hier; }
    else {mach das da; }


    Bedeutet:


    wenn (Variable a == 1) {führe das in diesen Klammern aus}
    wenn nicht {führe das in diesen Klammern aus }


    Um den Code kurz zu halten nimmt man, wie Kaliber schreibt, ein Ausrufezeichen. Das bedeutet sowas wie ''Nicht''
    z.B. if(!a == 1){return blubb}
    { das hier }


    Wenn a nicht gleich 1 ist, wird ''blubb'' ausgeführt. (return bricht in diesem Fall den if-Zweig mit dem Befehl direkt dahinter ab, desshalb wird ein ''else'' nicht benötigt.)
    Und wenn a gleich 1 ist, wird ''das hier'' ausgeführt.


    War das verständlich erklärt, xbluehazzex ?