Funktionen (Functions) in Volume Trigger setzen
Volume Trigger sind neue spezielle Trigger in der Tomb Engine, in die man LUA Funktionen setzt, um so ähnliche Trigger zu erstellen wie die TRNG Flipeffect, Action und Condition Trigger. Wie man diese in den Tomb Editor setzt, kann man hier nachlesen.
In diesem Tutorial geht es darum, wie wir nun Funktionen, die wir zuvor in die von uns erstellte LUA Level Datei geschrieben haben, in Volume Trigger setzen und so im Level aktivieren bzw. auslösen.
Anmerkung:
Erinnern wir uns. Die Level Lua Datei haben wir beim Anlegen eines neuen Levels erstellt und den Namen bei "Level1.scriptfile=" eingetragen.
Basis Wissen über Funktionen in LUA können wir hier nachlesen.
1 Funktionen für Volume Trigger
Damit ein Volume Trigger eine Funktion erkennt, muss sie mit einem "LevelFuncs." beginnen:
name
Hier vergeben wir einen Namen, der nachher auch in der Auswahl der Volume Trigger erscheinen wird. Sinnvoll sind hier Bezeichnungen, die andeuten, was die Funktion auslöst, wie z.B. "opendoor", "killenemy" usw.
In diese leere Funktion können wir nun wie gewohnt, unseren Code setzen.
LevelFuncs.opendoor= function ()
local door = GetMoveableByName("first_door")
door:Enable()
end
Hier in unserem Beispiel haben wir eine Funktion erstellt, mit der wir eine Door mit dem Namen "first_door" öffnen können.
In unserer Lua Level Datei sieht das nun folgendermaßen aus:
Um die Funktionen, die sich in unserer Lua Level Datei (hier als Beispiel first_ten_level.lua) befinden einem Volume Trigger zuordnen haben wir 2 Möglichkeiten.
1) Wir öffnen das Menü des Volume Triggers, legen ein neues "event set" mit dem "+" Zeichen oben links an und klicken in die Mitte bei "Click here to load level script file".
Dann wählen wir unsere Lua Level Datei aus, in der sich die Funktionen befinden, hier im Beispiel "first_ten_level.lua".
2) Wir geben unter "Level Settings" > "Game" den Pfad zu unser Lua Level Datei an.
Anmerkung:
Hier können wir jederzeit auf eine neue Level Lua Datei verweisen, im Menü des Volume Triggers kann man dies leider nicht mehr tun, nachdem man einmal eine Datei darin geladen hat (siehe 1. Möglichkeit)
Haben wir dies getan, erscheinen rechts in der Mitte unter "Level script functions" unsere in der Lua Level Datei geschriebenen Funktionen für die Volume Trigger.
2 Erklärung des Volume Trigger Menüs
Event sets:
Hier können wir neue" event sets" anlegen, diese kopieren, oder auch wieder löschen. Klicken wir auf den Namen ist das Set dem Volume Trigger zugewiesen (zu erkennen an einer grauen Umrandung). Mit dem Lupensymbol können wir nach "event sets" suchen, mit dem Kreuz die Zuweisung zum Volume Trigger wieder aufheben.
Event set name:
Hier können wir einen individuellen Namen für unser Set vergeben, um nachher unterschiedliche Sets besser unterscheiden zu können.
When entering:
Hier wird der Volume Trigger ausgelöst, wenn Lara oder ein Moveable diesen betritt.
When inside:
Hier wird der Volume Trigger nach Frames (30 FPS) ausgelöst, wenn Lara oder ein Moveable sich darin befindet.
When leaving:
Hier wird der Volume Trigger ausgelöst, wenn Lara oder ein Moveable diesen wieder verlässt.
Node Editor
Seit TE Verison 1.6 gibt es in der TEN Version 1.0.2 die Möglichkeit, durch Knoten Bedingungen und Aktionen zu verknüpfen. Dadurch muss man einfache Sachen nicht mehr selber schreiben. Unter "Level script functions2 besteht natürlich weiterhin die Möglichkeit, seinen eigenen Code zu schreiben.
Level script functions
Darunter finden wir eine Auflistung der Funktionen, die wir vorher in unserer Lua Level Datei geschrieben haben.
Anmerkung:
Wichtig ist hier die Schreibweise mit "LevelFuncs.", damit die Funktion hier auch erscheint.
Anmerkung:
Mit dem Kreuz können wir die Zuweisung zum "event set" wieder aufheben und mit dem Lupensymbol können wir nach Funktionen suchen.
Argument:
Hier kann man einer Funktion einen Parameter zuweisen, wie z.B. ein Text der nachher auf dem Bildschirm erscheint.
Call count:
Hier legt man fest, wie oft die Funktion ausgelöst werden soll. "0" steht für unendlich.
Activators:
Hier legt man fest, durch wenn die Funktion ausgelöst werden soll.
Lara
NPC (Non playable characters)
Gegner, Guide usw.
Other objects
Rollingballs, Vehicles usw.
Statics
Flyby Cameras
Klicken wir nun noch auf die Funktion, erhält sie ebenfalls eine Umrandung und ist dem Volume Trigger zugewiesen. Nun klicken wir unten noch auf O.K.
Nun haben wir eine Funktion, die wir in der LUA Level Datei vorher geschrieben haben einem Volume Trigger hinzugefügt.
Anmerkung:
Alle Funktionen, die wir mit "LevelFuncs." in die LUA Level Datei schreiben, können wir nachher im Volume Trigger Menü auswählen.