else / IsPlayerAdmin

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 Breadfish Community

    Willkommen zu meinem zweitem Tutorial.

    Da sehr viele wegen Admin CMDs fragen, habe ich ein kleines Tut gemacht ;)

    es kann sein, das es nicht ganz funktioniert, da ich gerade keinen compiler hier habe.

    Worum geht es heute:

    Heute geht es um das else

    Womit man auch ein IsPlayerAdmin erstellen kann.

    Dies lernen wir heute auch.

    Aber nur, wie man das else richtig einbindet, nicht,

    wie man Commandos wie /kick ect. erstellt.

    Was benötigen wir?
    SA:MP Server (zum testen)
    Pawno (Scripting)

    Schritt 1

    Erstellt wieder ein Command wie dieses hier:


    if(!strcmp(cmdtext,"/isplayeradmin"))
    {
    return 1;
    }

    Passend zum Thema nicht wahr?

    Schritt 2

    So, jetzt schreiben wir erst einmal in den klammern, was es bewirken soll,

    und das IsPlayerAdmin.

    Achtung:

    Nachdem du das IsPlayerAdmin eingefügt hast, muss noch ein { dahinter,

    damit Pawno weiß, das jetzt ein if da ist, also d.h.,

    damit Pawno weiß, ab hier gilt ‚wenn Spieler = RCON Admin ist, dann passiert blablabla

    Ich habe es nun so:


    if(!strcmp(cmdtext,"/isplayeradmin"))
    {
    if(IsPlayerAdmin(playerid)) {
    }
    SendClientMessageToAll(playerid, FARBE, "An Administrator says ''Hello world!''");
    }
    return 1;
    }

    Wichtig:

    Dannach, - wegen dem ersten { - muss man nach dem einsatz,

    (in diesem falle SendClientMessageToAll,) ein } einfügen.

    Dies habe ich auch getan. Seht nach damit ihr wisst, was ich meine. ;)

    Schritt 3

    So, soweit so gut, nun kommt aber das else.

    Macht nach dem } kurz Enter, damit ihr eine neue Zeile frei habt.

    Nun gebt ihr in der neuen Zeile ein else{ ein.

    So ungefähr kann dies aussehen:

    if(!strcmp(cmdtext,"/isplayeradmin"))
    {
    if(IsPlayerAdmin(playerid)) {
    }
    SendClientMessageToAll(playerid, FARBE, „An Administrator says ‘‘Hello world!’’”);
    }
    Else{
    return 1; }

    Schritt 4

    Ich erkläre kurz einmal was else ist. *klugscheißerei*

    Else ist english und heißt „wenn nicht“.

    d.h., wenn man eine aktion wie SendClientbablabla macht,

    kann man ein else hinzufügen,

    damit man eine wenn nicht funktion hat.

    Kommt sehr gut rüber, wenn man einen Server hat,

    welcher selbst gemachte Admin CMD’s hat.

    Schritt 5

    Tut mir leid, dass wir vom Thema abgekommen sind.

    In diesem else{ macht ihr nun ein beispielweißes

    SendClientMessage(playerid,FARBE,“message“);

    Wichtig:

    Dannach nicht vergessen das andere } zu setzen!

    Dies sieht bei mir so aus:

    if(!strcmp(cmdtext,"/isplayeradmin"))
    {
    if(IsPlayerAdmin(playerid)) {
    }
    SendClientMessageToAll(playerid, FARBE, "An Administrator says ''Hello world!''");
    }
    Else{
    SendClientMessage(playerid,FARBE, "message");
    }
    return 1;
    }

    Fertig

    Ihr habt es mal wieger geschafft!

    Euer erstes Else Commando.

    Diese Methode werdet ihr beim scripting

    Immer wieder gebrauchen.

    Ich hoffe es hat euch Spaß gemacht,

    und hat euch weiter geholfen. ;)

    Nun sollte jemand, der nicht ins RCON eingelogt ist,

    eine message mit der nachricht „message“ in der farbe FARBE erhalten ;)

    Copyright by Loadup[GER}
    bei fragen bezüglich diesem hier, bitte einen post schreiben.
    Bei gefundenen rechtschreibfehlern bitte melden.
    Bei ergänzungen bitte melden.

    Dies wurde von mir nicht getestet, da ich gerade keinen Compiler zur Hand habe.

    Falls Errors auftreten bitte in diesem Tread einfügen.

    Wenn man Errors postet, sollte man auch sein Command mit einfügen.

    //EDIT: sollte jetzt funktionieren, pwn codes sind nicht perfekt eingerückt, könnte warnings geben.
    Wenn dieser Fall ist, bitte ich euch

    #pragma tabsize 0



    oben in eurem script einzufügen, dann sollten die warnings weg sein ;)
    Danke an zombie.modder für den tipp.

    8 Mal editiert, zuletzt von Loadup[GER] ()

  • ich sagte ja, ich habe keinen compiler ich war mir sehr sicher, wie wäre es nochmal richtig? :pinch:

  • if(!strcmp(cmdtext,"/isplayeradmin")) // Überprüfen ob cmdtext mit "/isplayeradmin" übereinstimmt.
    {
    if(IsPlayerAdmin(playerid)) { // Abfrage ob der Player Rcon Admin ist
    SendClientMessageToAll(hex-color, "Someone's watchin' y'all"); // Message an alle.
    }
    else { // else-Regelung wenn die Abfrage nicht zutrifft.
    SendClientMessage(playerid, hex-color, "You are not the master here D:"); // Message an "playerid".
    }
    return 1;
    }


    Have fun.


    Zum Einrücken empfehle ich dieses Online-Tool: Tidy Pawn | DracoBlue.net

  • 1. ty , werd editieren hehe^^
    2. wieso wollen die pwn codes nicht eingerückt sein? ?(
    //EDIT: hat ja wenig mit mir zu tun, ich habe es ja richtig, aber irgendwie wollen die zeilen net^^ habs per hand noma berichtigt.
    //EDIT2: achja, müsste jetzt so gehen ;)zum einrücken dracoblues Tidy's pawn benutzen^^

    2 Mal editiert, zuletzt von Loadup[GER] ()

  • wenn du sie nicht einrückst dann kommt mein lieblingserror


    Loose Indentation :D


    Macht dann oben einfach

    #pragma tabsize 0

    hin


    zum tut


    Ja halt bissl schlecht erklärt sonst aber gut :D
    4/5

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • k danke^^ wie ganz oben hin? ins script? aber das bringt den post doch nix xD

  • ja, ich meinte abr das es im post nichts bringt, da es nur im post so ist

  • hehe, das problem war ja nur im post, also von daher ... ;)
    trotzdem danke :D