Da hier heute die Frage aufkam, wozu man denn bestimmte Scripts brauchen kann, wollte ich mal ein eher überschaubares Tutorial schreiben über Scripts: Welche gibt es, wozu werden sie gebraucht, wo finde ich sie, usw.
Scripts sind im DromEd-Editor im wesentlichen spezifische Botschafter, die Befehle, aber auch Eigenschaften übertragen.
Man kann Scripts unterteilen in
1. Auslöser (Trigger), die ein An/Aus-Signal senden
Ein Beispiel wäre "TrigWorldfrob": Man frobbt ein Objekt, das dann ein Signal sendet
2. Scripts, die einen Auslöser brauchen, um zu funktionieren
Beispiel: "TrapTeleporter". Zusammen mit Beispiel 1.: Man frobbt etwas und ein Gegenstand wird teleportiert
3. Scripts, die von sich aus etwas machen, also von Anfang an (sowas nennt man Sim-Start)
Beispiel: "Sword". Ein Schwert hat dieses Script, es 'benimmt' sich deshalb wie ein Schwert. Hätte das Schwert das Script "BlackJack" (ihr könnt es ja mal versuchen), benimmt es sich etwas anders.
Anm: Man schreibt ein Script übrigens in das Objekt oder Marker hinein (add-->S-->namedesscripts)
All diese 3 Beispiele sind aus der gen.osm Familie und da sind wir auch schon bei der Frage:
Welche Scripts gibts eigentlich?
Schaut man sich die Originalmissionen an, findet man im wesentlichen 3 verschiedene Klassen
Scripte aus den Originalmissionen (1):
1. Convict.osm. Hier ist das VictoryCheck-Script unendlich wichtig, das man unbedingt auf den Startmarker legen muß, sonst werden Ziele nicht funktionieren (jedenfalls, wenn man nicht einen komplizierten Umweg wählt)
2. gen.osm. Ohne gen.osm läuft in keiner FM irgendwas. Kein Auslöser wird funktionieren, man kann nichtmal was frobben.
Deshalb muß man in jedem Fall am Anfang einer jeder FM-Bauerei diese beiden Scripts einladen. Man lädt sie entweder über das Menü ein oder über script_load "namedesscripts"
3. Missionsspezifische Scripts. Diese Scripts sind anders als die beiden ersten Script-Familien nicht unbedingt notwendig, können aber in bestimmten Situationen manchen Umweg ersparen. Man muß sie einladen, wie andere osm(s) auch.
Andere populäre Scripte
Inwischen gibt es eine ganze Reihe sogenannter Custom-Scripts, die verschiedene Autoren bereitgestellt hatten.
1. Den Anfang machte Gaylesaver mit seinen Scripts, die von Telliamed als Public Scripts ausgebaut und ergänzt wurden. Man kann sie noch heute für alles mögliche verwenden.
Nur um ein Beispiel zu nennen: "Spy" (nicht zu verwechseln mit NVSpy) nehme ich sehr gerne her, um detaillierte Informationen über die Wirkungsweise meiner Trigger zu bekommen. "Trigsim" schreibe ich schnell hin, wenn etwas gleich am Start losgehen soll. Das gute daran: Ich hätte diese beiden Beispiele auch mit anderen Scripts machen können. Aber jeder hat seine Präferenzen.
2. Telliamed schrieb schon recht früh an seinen tnh-Scripts (auch hier die Dokumentation), die eine ganze Reihe teilweise sehr spezifischer Befehle enthalten, die zu bestimmten Vorhaben wie die Faust aufs Auge passen können. Wenn ich z. B. einen Zähler will, denke ich automatisch an TrapThreshold, wenn ich den Spieler einfrieren will an Trapfreezeplayer.
3. Nameless Voice mit den NV-Scripts. Die heute vermutlich populärste und vielerlei Hinsicht praktischste Scriptsammlung, wenn man weiß, wie sie funktioniert.
Diese drei angeführten Custom-Scripts kommen mit mehr oder weniger ausgefeilten Dokumentationen daher, die es unbedingt zu beachten gilt. Anders, als die Original-Scripts funktionieren sie oft nur, wie man sich das erhofft wenn man spezifische Befehle in die Design Note schreibt (Add-->Editor-->Design Note).
Man sollte von Anfang an versuchen zu verstehen, wie der Duktus dieser Design-Notes aussieht. (2)
Vor allem muß man diese Dokumentationen (auch die der Originalscripts) immer und immer wieder lesen; man entdeckt meist etwas, das man noch nicht kennt oder vergessen hat.
Dann gibt es noch einige Sonderscripts (keine Gewähr auf Vollständigkeit):
1. KDScripts. Eigentlich eine vielversprechnde Sammlung, die sehr nützlich sein könnte. Sie wird momentan aber nicht mehr weiter entwickelt. Sehr schade
2. TWScripts von The Watcher.
3. Squirrel-Scripts, das seit NewDark 1.25 vorhanden ist. Man kann damit eigene Scipts schreiben. Referenzen und Demo:
(Anleitung): https://www.ttlg.com/forums/search.php?searchid=102623
(Demo von Daraan): https://www.ttlg.com/forums/showthread.php?t=147713
Ich fasse zusammen:
convict.osm und gen.osm sind die wichtigsten Scripte in DromEd
Public-Scripts, tnh-Scripts und NVScripts können von fortgeschrittenen DromEdern auch genutzt werden, sie vereinfachen und ermöglichen oft vieles.
(1): In T1 sind alle notwenigen Scripts enthalten, wenn man die convict.osm lädt. Hier wird keine gen.osm benötigt.
(2) Hier will ich ein kleines Beispiel für den vielfältigen Einsatz einer NVRelayTrap aus den NVScripts geben:
Eigentlich ist eine NVRelayTrap zunächst nichts anderes als eine normale RelayTrap, also ein "Weiterleiter". Erst mit der Design Note wird sie zu einem Alleskönner.
Als Beispiel eine NVRelaytrap aus der FM "Die Farm". Das ist die Trap, die Garrett ins Jenseits befördert, wenn er am Anfang zu lange trödelt. So sieht die Design Note aus.
NVRelayTrapTDest="Player"; NVRelayTrapTOn="[100.00]FireStim"; NVRelayTrapOff="Null"
Was mag das bedeuten?
NVRelayTrapTDest="Player" heißt: Das Ziel dieser Botschaft ist der Spieler (Garrett)
NVRelayTrapTOn="[100.00]FireStim" heißt: Wenn Garrett diese Botschaft bekommt, erhält er zudem einen Feuerstoß mit der Intensität von 100 (und ist gleich mausetot)
NVRelayTrapOff="Null" heißt: Diese NVRelayTrap kann nicht ausgeschaltet werden
Für NVRelaytraps gibt es außer der Dokumentation ein nützliches Tutorial