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