Pawn Tutorial Stufe 3 - Kommentare & Konsolenausgabe

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

  • Willkommen beim Pawn Tutorial Stufe 3.
    In diesem Tutorial werden dir Kommentare und Konsolenausgaben nähergebracht.
    Es gibt jedoch nur 2 Arten von Kommentaren und vieles von der Konsolenausgabe gibt es auch nicht.
    Jede Konsolenausgabe wird ins Log geschrieben, welches im Serverordner liegt.
    In der Ausgabe kann man verschiedene Dinge angeben, ...
    ... Anzahl der Autos aufm Server.
    ... was ein Spieler eintippt.
    ... wie viele Spieler momentan Online sind.
    ... dass ein Spieler ein Befehl benutzt.
    ... dass ein Spieler ein Fahrzeug betretet oder verlässt.
    ... dass sich ein Spieler mit dem Server verbindet oder ihn verlässt.
    ... und viele andere Dinge.


    Kommentare dienen dem Scripter zur Orientierung im Script, jedoch sollten diese im Maße gehalten werden.
    Kommentare sollten ebenso wichtige Dinge beinhalten, aber keine unnötige Anzahl von Autos aufm Server.
    Kommentare sind Gedächtnisstützen für den Programmierer, welcher sie geschrieben hat, wie oben bereits
    erwähnt sich im Script besser auszukennen.


    Es gibt den einzeiligen Kommentar:
    // Das ist ein Beispielkommentar im Pawn Editor
    // Er wird nicht vom Script beachtet


    Und es gibt den mehrzeiligen Kommentar:
    /* Du kannst diesen
    über mehrere
    Zeilen hinausschreiben ;)
    */
    Es ist wichtig das ihr keine weiteren "/*" oder "*/" in einem Kommentar benutzt, da sonst der Compiler euch einen Fehler
    ausspuckt. Dies gilt nicht beim Einzeiligen Kommentar:


    /////////////// Der Kommentar ist immernoch gültig. //////////////// /* */ /*********** /** */////////////
    _________________________________________________________________________________


    Wir kommen nun zur Konsolenausgabe welche in der Anwendung leicht verfällt.
    Es werden oft Standartinformationen beim Start des Scripts ausgeben:


    public OnGameModeInit()
    {
    printf("Es wurden 24 Autos geladen.");
    return 1;
    }


    In der Konsole sieht es dann so aus:

    Wie ihr seht, kann man damit verschiedene Informationen ausgeben.
    Aber man möchte gerne auch bestimmte Werte einer Variable ausgeben, bloß wie?


    Da hilft nur das Formatieren, welches stets leicht verfällt.
    printf("Text mit Platzhaltern wie %d für einen Integer.", 12 /*nun Folgen die Variablen, welche den gewünschten Wert beinhalten */);
    Diesen Befehl könnt ihr unter OnGameModeInit reinschreiben und der Compiler gibt euch keinen Fehler.


    Info: Die Mehrzeiligen Kommentare kann man in einen bestimmten Bereich nutzen, aber bei dem einzeiligen Kommentar wird alles hinter dem "//" auskommentiert !


    Hier ist die Formatierungstabelle:
    [table="2"]
    [*]Platzhalter
    [*]Bedeutung


    [*]%d
    [*]Integer, Bsp: 12


    [*]%b
    [*]Eine Nummer in Binary Radix, Bsp: 001111 (= 15)


    [*]%c
    [*]Ein einzelner Buchstabe, Bsp: C


    [*]%f
    [*]Eine Dezimalzahl, Bsp: 3.14159265385


    [*]%i
    [*]Eine ältere Form von Integer, Bsp: 12


    [*]%s
    [*]Ein Text (Array mit Buchstaben), Bsp: Hello World


    [*]%x
    [*]Eine Zahl in Hexdezimaler Form, Bsp: F (= 15)


    [*]%%
    [*]Fügt ein "%" ein, braucht keine Parameter
    [/table]


    Hier ist noch ein kurzes Beispiel dafür:
    new array[] = "Hallo Pawn Welt!";
    printf("Mein selbstgemachter Array: %s", array);
    oder
    printf(array);


    Ihr solltet beide ansehen und welche Unterschiede es bei der Ausgabe gibt.
    Hier ist ebenso ein Beispiel:
    new wonder = 12;
    new pepsi[] = "Feel the Beat";
    new buchst[1] = 'C'; <- Beim einzelnen Buchstaben muss man -> ' <- benutzen


    printf("Beim Musik hören sage ich %s und denke an die Zahl %d und den Buchstaben %c", pepsi, wonder, buchst);
    Es ist wirklich keine Kunst und es hilft, wenn man wichtige Informationen Ausgeben will.


    Es gibt dann noch zuletzt die Escape Sequenzen, welche helfen, den Text geordnet, usw. darstellen zu können.
    [table="2"]
    [*]Form
    [*]Bedeutung


    [*]\n
    [*]Es wird hiermit eine neue Zeile begonnen


    [*]\"
    [*]Es wird ein -> " <- eingefügt


    [*]\'
    [*]Es wird ein -> ' <- eingefügt


    [*]\\
    [*]Es wird ein -> \ <- eingefügt
    [/table]


    Wenn ihr ohne die Esqape Sequenzen ein -> " <- im Text setzt, dann wird euch der Compiler ein Fehler ausgeben.
    (Meist, dass es in der Funktion eine ungültige Anzahl von Parametern gibt)


    Nun das war die Erklärung dazu und ich hoffe dass es bei euch im Kopf bleibt.


    Mit freundlichen Grüßen
    Seibay

  • Deine Tutorials sind echt spitze, helfen mir sehr, vielen Dank =)
    Pawn hat irgendwie Ähnlichkeiten mit C kann das sein? ^^

    - jetzt registrieren - Es werden zudem noch Mapper gesucht .
    Unbestreitbar führt das Internet auch zu positiven Veränderungen. Das Negative besteht meiner Meinung nach darin, dass das Internet zu Oberflächlichkeit verleitet, zu spontanen Reaktionen, hinter denen kein langes Nachdenken steckt: Ich habe etwas gelesen, und sofort twittere ich dagegen oder dafür, und dann womöglich auch noch in falscher Grammatik. Die elektronischen Medien führen unter anderem dazu, dass die Qualität der Mitteilung abnimmt. - Helmut Schmidt, ZEIT Magazin Nr. 17, 2012

  • das Pawn Sprachdesign basiert auf dem von C sprich lässt sich ebenso gut schreiben,kleine Unterschiede sind
    das Pawn auch sehr alten & langsamen System noch sehr gut läuft , jetzt als Sprache ( Schnelle Kommando wiedergaben ).
    Ab geguckt hat es sich der Hersteller wohl von Java was auch auf vielen Plattformen sehr gut läuft.


    Für Anfänger sicherlich Hilfreich, Super aufgebaut & Strukturiert Bullet

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • das ist gut auch wenn ich mir das nicht angucke aber nutzlich :D

  • Gutes Tutorial 10/10


    Bfx muss immer iwelche mängel finden oder? :D

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)