Server Info

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.