Enemy Territory: Quake Wars Scripting: Tutorial
Grundlagen
Wie im Vorwort bereits erwähnt können alle Befehle in der Konsole eingetragen werden, werden dann jedoch nur für die Laufzeit gespeichert. Für Scripte/Konfigurationen ist es also nötig eine Scriptdatei zu erstellen und dort die Funktion aufzurufen.
Solltest du das Vorwort noch nicht gelesen hast solltest du dies nun tun.
In der Datei muss man für jeden Funktionsaufruf eine neue Zeile verwenden.
Kommentare können mit "//" eingefügt werden. Jeglicher Text in einer Zeile nach // wird auskommentiert, also beim ausführen des Scriptes nicht gelesen.
echo - Ausgabe
Erstelle eine echo.cfg (txt Datei erstellen und umbenennen) in deinem base Verzeichnis. Öffne sie und kopiere folgendes hinein:
echo "^1erfolgreich geladen"
Nun speichere die Datei ab.
Starte nun das Spiel, geh auf einen Server oder erstelle einen. Wenn du im Spiel bist öffne die Konsole (^) und gib anschließend folgendes ein:
exec echo.cfg
Damit führst du die eben erstellte Scriptdatei aus.
Wenn du den Befehl bestätigst sollte im Chat-Fenster folgender Text erscheinen:
erfolgreich geladen
Du hast nun dein erstes Script erstellt und ausgeführt. ;)
addChatLine - Ausgabe
addChatLine funktioniert genau wie echo, nur dass der Text im Chatfenster angezeigt wird (und damit auch zusätzlich in der Konsole).
Diese Funktion ist unsere Wahl um bei unseren Scripten Feedback zu geben.
say - Chat
Funktioniert wie echo, sendet den Text aber an den öffentlichen Chat.
say - Chat
Funktioniert wie say, sendet den Text aber an den Team-Chat.
say - Chat
Funktioniert wie echo, sendet den Text aber an den FireTeam-Chat.
bind - Tastenbelegung
Mit
bind "Taste" "Befehl" "Zusatz-Taste" "Kontext Variable"
wird die Taste Taste mit dem Befehl Befehl belegt.
Als Zusatz-Taste lässt sich z.B. "ALT" oder "CTRL" belegen um z.B. mit ALT+c den Befehl auszuführen.
Als Umgebung kann man default eingeben oder bestimmte Fahrzeuge oder Fahrzeugtypen, dann gilt der Bind nur in diesem Fahrzeug.
Beispiel:
bind u "echo du hast U gedrueckt" "" "default"
Wird nun im Spiel die Taste U gedrückt wird der echo Befehl ausgeführt und der angegebene Text erscheint im Chatfenster/in der Konsole.
Kontext Erstellen
Um binds nur für bestimmte Fahrzeuge oder Klassen gelten zu lassen, kann man sich eigene Kontexte erstellen.
So kann man sich z.B. für jedes Team einen machen:
seta g_class_context_aggressor "strogg" seta g_class_context_technician "strogg" seta g_class_context_constructor "strogg" seta g_class_context_oppressor "strogg" seta g_class_context_infiltrator "strogg" seta g_class_context_solider "gdf" seta g_class_context_medic "gdf" seta g_class_context_engineer "gdf" seta g_class_context_fieldops "gdf" seta g_class_context_covertops "gdf"
wird die Taste Taste mit dem Befehl Befehl belegt.
Als Zusatz-Taste lässt sich z.B. "ALT" oder "CTRL" belegen um z.B. mit ALT+c den Befehl auszuführen.
Als Umgebung kann man default eingeben oder bestimmte Fahrzeuge oder Fahrzeugtypen, dann gilt der Bind nur in diesem Fahrzeug.
Variable | Erläuterung |
seta g_bind_context_anansi "vehicle" | GDF Kampf-Hubschrauber |
seta g_bind_context_badger "vehicle" | GDF Geländewagen |
seta g_bind_context_bumblebee "vehicle" | GDF Transport-Hubschrauber |
seta g_bind_context_desecrator "vehicle" | Strogg Schwebepanzer |
seta g_bind_context_goliath "vehicle" | Strogg Walker |
seta g_bind_context_hog "vehicle" | Strogg Truck |
seta g_bind_context_hornet "vehicle" | Strogg Gravitationsfluggerät. |
seta g_bind_context_husky "vehicle" | GDF Quad Bike |
seta g_bind_context_icarus "vehicle" | Strogg Icarus (Jetpack) |
seta g_bind_context_mcp "vehicle" | GDF Mobiler Commandpost |
seta g_bind_context_platypus "vehicle" | |
seta g_bind_context_titan "vehicle" | GDF Panzer |
seta g_bind_context_trojan "vehicle" | GDF Amphibienfahrzeug (APC) |
seta g_class_context_aggressor "aggressor" | Strogg Soldat |
seta g_class_context_technician "technician" | Strogg Medic |
seta g_class_context_constructor "constructor" | Strogg Engi |
seta g_class_context_oppressor "oppressor" | Strogg Soldat |
seta g_class_context_infiltrator "infiltrator" | Strogg CovOps |
seta g_class_context_solider "soldier" | GDF Soldat |
seta g_class_context_medic "medic" | GDF Medic |
seta g_class_context_engineer "engineer" | GDF Engi |
seta g_class_context_fieldops "fieldops" | GDF FieldOp |
seta g_class_context_covertops "covertops" | GDF CovOps |
Variablen
Vorhandene Variablen lassen sich einfach auslesen in dem man ihren Namen in der Konsole eingibt.
Man kann vorhandenen Variablen einen neuen Wert zuweisen indem man ihren namen und den neuen Wert eingibt, z.B. ui_name "^1neuer^2Nick
set - Variablenbelegung
Im Gegensatz zu voriger Deklarationsart kann man mit dem set Befehl eine Variable ändern bzw sie, sofern noch nicht vorhanden, erstellen.
seta - Variablenbelegung
Wie set, nur das seta die Variable in der Profil-Config speichert.
var - Variablenzugriff
Führt die in der Variablen gespeicherten Befehle aus.
set textschreiben "echo 'dieser Text wird nun angezeigt'; echo '^3Erfolgreich'"
gibt man nun vstr textschreiben in die Konsole ein, werden die beiden Texte geschrieben.
Dies kann man z.B. durch bind p vstr textschreiben auf eine Taste binden.
$ - Variablenzugriff
Im Gegensatz zu var wird eine Variable mit dem Dollarzeichen ($) nicht ausgeführt, sondern nur eingebunden.