Secrets und LUA Funktionen
Um Aktionen, die mit Secrets zu tun haben im Lua Funktionen auszulösen, haben wir folgende Möglichkeiten:
1 GetSecretCount()
Mit dieser Funktion können wir festlegen, dass etwas passieren soll, wenn eine bestimmte Anzahl an Secrets eingesammelt wurde bzw. im Inventar ist.
1.1 Node Editor
Die Funktion können wir in einem Volume Trigger im Node Editor auswählen.
Wenn die Anzahl der Secrets 5 beträgt, endet das Level.
Anmerkung:
Wichtig ist hier dass wir bei CallCount eine "0" setzen, bei "1" würde z.B. nur einmal überprüft, ob die Bedingung wahr ist und dann nie wieder.
1.2 Lua Funktion
Wir können uns allerdings auch selber eine Lua Funktion in unserer Level Lua Datei schreiben, die wir dann z.B. in .OnControlPhase setzen, damit ständig geprüft wird, ob eine bestimmte Anzahl an Secrets eingesammelt wurde.
LevelFuncs.OnControlPhase = function()
GetSecrets ()
end
function GetSecrets ()
if GetSecretCount() == 5 then
EndLevel(99)
end
end
Display More
2 SetSecretCount()
Mit dieser Funktion können wir die momentane Anzahl der Secrets festlegen. Vorherige Secret Zählungen werden damit überschrieben.
2.1 Node Editor
Die Funktion können wir in einem Volume Trigger im Node Editor auswählen.
Hier wird die Anzahl der Secrets auf 4 gesetzt.
2.2 Lua Funktion
Wir können uns allerdings auch selber eine Lua Funktion in unserer Level Lua Datei schreiben, die wir dann mit einem Volume Trigger auslösen können.
2.3 .OnStart
Wir können diese Funktion natürlich auch in .ONStart setzen, dann hat der Spieler gleich zu Beginn eine gewisse Anzahl an Secrets in der Statistik.
3 AddSecret(index)
Mit dieser Funktion können wir z.B. die Anzahl in der Statistik erhöhen, wenn der Spieler ein Secret findet bzw. es aufhebt.
index
Hier geben wir die Nummer des Secrets an. Im Moment gehen wohl nur bis zu 8 Secrets. Index geht von 0 - 7.
Sprich soll der Spieler das 4 Secret im Spiel finden geben wir hier "4" an.
3.1 Node Editor
Die Funktion können wir in einem Volume Trigger im Node Editor auswählen, am besten mit einer Bedingung.
Wenn sich Puzzle_Item1 im Inventar befindet, wird Secret 1 zur Statistik hinzugefügt und Secret Sound 005 abgespielt.
3.2 Lua Funktion
Wir können uns allerdings auch selber eine Lua Funktion in unserer Level Lua Datei schreiben, die wir dann mit einem Volume Trigger auslösen können.
LevelFuncs.AddSecret1 = function()
local puzzle1 = GetItemCount(ObjID.PUZZLE_ITEM1)
if puzzle1 == 1 then
AddSecret(1)
PlayAudioTrack("005")
end
end
Anmerkung:
In Version 1.0.2 wird noch nicht automatisch der Secret Sound "005.wav" abgespielt, deswegen setzt man diesen einfach als Funktion dazu.