Kommentar-Marken
Kommentar-Marken im Skript ermöglichen ein Ändern von Definitionen,
Variablen und Strings in einem skript-definierten WED-Panel ohne das Skript bearbeiten
zu müssen. Durch anpassungsfähige Template-Skripts lassen sich auf diese
Weise viele verschiedene Arten von Spielen erstellen und ganz ohne jedes Skripten
alle Arten von Effekten oder Recourcen hinzufügen. Die folgenden Skript-Kommentar-Marken
sind dazu da, die Felder für ein veränderbares Skript oder für das Entity Behavior
Fenster zu erstellen. !! Beachten Sie, dass die Kommentare unmittelbar vor der Variablen, der Definition oder Aktion, auf die sie sich beziehen, stehen müssen.
// uses: skillname, flagname...
Legt individuelle Skill- oder Flag-Namen für die folgende nicht leere Entity-Aktion
fest. Die Skill1..Skill20 und Flag1..Flag8-Namen
im Behavior-Panel werden dann durch die hier aufgelisteten Namen, die zuvor als
Skill-Namen definiert sein müssen, ersetzt.
Beispiel:
#define Health skill9
#define Armor skill10
...
//uses: Health, Armor
action warrior() { .... }
// skill1: name default
// flag1: name default
Alternative zur uses-Kommentarmarke für Skills und Flags, die noch
keinen Namen bekommen haben. Alle Skills und Flags im Behavior-Panel können
auf diese Art für eine bestimmte, nicht leere Entity-Aktion mit einem Namen versehen werden.
Ist die Aktion zum ersten Mal zugewiesen, bekommen Skills und Flags die im Kommentar
angegebenen default-Werte.
Beispiel:
// flag7: Remote 1
// Skill20: Health 123.45
action warrior() { .... }
// Defines the name 'Remote' for flag7, and sets it to 'on' by default.
// Also defines the name 'Health' for skill20 and initializes it at 123.45.
// desc: text
Der Text erscheint in WED's Action- oder Material-Panel,
wenn nach Anklicken des Help-Icons [?] die Action-
oder Material-Definition, die direkt auf den Kommentar folgt, angeklickt
wird. Der Kommentar kann sich über mehrere Zeilen erstrecken, nur die
erste benötigt die desc: Marke.
// title: text
Der Text erscheint als fettgedruckte Überschrift im Anpassungs-Panel.
//image: name.pcx
Das angegebene .pcx-Bild wird im Kopf des Anpassungs-Panels angezeigt.
Es muss im Template-Ordner existieren.
/* help: text */
// help: text
Dieser Text erscheint, wenn [?] auf dem Anpassungs-Panel
gedrückt, und mit dem Mauszeiger dann auf den Eintrag geklickt wird, der
diesem Help-Tag folgt.
// section: text
Definiert eine horizontale Linie im Anpassungs-Panel, die dazu benutzt
werden kann, einige Eintragsfelder zu gruppieren. Der angegebene Text erscheint
als Titel der Gruppe.
// text: text
Der Text erscheint im Anpassungs-Panel und kann für Beschreibungen verwendet
werden.
// needs: name1.wdl name2.wdl ...
Diese Marke in einem anpassungsfähigen Skript bestimmt, dass, sobald das
Skript eingefügt wird, auch das gegebene Template-Skript aufgenommen wird.
WED prüft, ob sie bereits eingebunden sind. Falls nicht, werden sie automatisch
vor dem gegenwärtig aktuellen Skript eingefügt.
Beispiel:
// needs: movement.c animation.c
Fügt movement.c und animation.c vor dem aktuelle Skript
ein, wenn diese noch nicht eingebunden sind!
// enable: text
Erzeugt ein Flag im Anpassungs-Panel, welches markiert oder neutralisiert werden
kann. Ist das Flag nicht markiert, wird die folgende Skriptzeile durch ein "//"
auskommentiert, andernfals ist es unkommentiert.
Beispiel:
//enable: Shadow Map
//help: Activate this for a shadow map on the blue channel
#define SHADOWMAP
// entry: text
Erzeugt Eingabefeld im Properties-Panel. Das Feld trägt den Namen des
angegeben Textes und erlaubt das Bearbeiten der nächsten Zahl, des nächsten
Strings (in "") oder des Dateinamens (in <>), der dem Kommentar folgt. "Entry"
kann auch einen Typ angehängt bekommen, wie "entry_entity" oder "entry_path" (siehe
unten). Damit können spezielle Entry-Typen deklariert werden.
Beispiele für Entry-Felder:
// entry: Fall Speed
var fallspeed = 17;
Die nächste Zahl ist 17, also wird ein Zahleneingabefeld mit dem Namen "Fall
Speed" im Panel erscheinen und den Standardwert 17 haben.
// entry: model description
STRING* my_desc = "This is a walking guard";
Ein 32 Zeichen langes Textfeld mit der Bezeichnung "model description"
erscheint.
// entry: background image (256x1024 max.)
type = "mountains.tga"
Ein Dateifenster mit dem dem Titel "background image (256x1024 max.)" erscheint,
und bietet die Standardbildypen als Auswahl (.tga, .bmp, .pcx)
// entry: step sound
SOUND* tap_snd = "tap.wav";
Ein Dateifenster mit dem Titel "step sound" für Soundfiles (*.wav) wird
eingeblendet.
// cntl: spin min max step
Zusatz zu einer entry-Kommentarmarke. definiert einen Wertebereich. Der
eingegebene Wert wird durch die min und max Werte begrenzt. Mit
den kleinen Pfeilen neben dem Eingabefeld kann der Wert um den step-Betrag
erhöht oder verringert werden.
Beispiel:
//entry: Light Value
//cntl: spin 0 255 5
//help: Set the light value between 0 and 255 in steps of 5
var light = 100;
// cntl: slider min max step
A6.6 Zusatz zu einer entry-Kommentarmarke.
definiert einen horizontalen Slider.
Der eingegebene Wert wird durch die min und max Werte
begrenzt.
Beispiel:
//entry: Light Value
//cntl: slider 1 50 1
//help: Set the value between 1 and 50 in steps of 1
var myValue = 30;
// cntl: drop_list option1 option2 option3..
Zusatz zu einer entry_drop Kommentar-Marke. Fügt eine Drop-Down-Box
mit einer Liste von Optionen hinzu.
Beispiel:
// entry_drop: Sky type
// help: Select render style of the sky
// cntl: drop_list dome cube cylinder
flags = dome;
// This will create a drop down box with the option to select: dome, cube, cylinder (with dome already selected).
Einige spezielle Entry-Typen:
// entry_drop: text
Eingabefeld, das eine Drop-Down-Box verwendet. Eine eine drop_list cntl-Marke
muss folgen.
// entry_entity: text
Der folgende String wird editiert. Dazu wird eine Scrollliste mit allen
Entity Namen des Levels eingeblendet.
// entry_path: text
Der folgende String kann bearbeitet werden. Dazu wird eine Scrollliste
mit allen Path- und Position-Namen des Levels eingeblendet.
// entry_text: x,y,text
Der folgende String kann bearbeitet werden. Dazu wird ein scrollbares
Tex-Eingabetfeld mit x Zeichen an Breite und y Zeichen an Höhe eingebeldnet.
Bei y = 0 hat das Feld nur eine Zeile ohne Scrollbalken.
► Aktuelle Version Online