Lösungen
- Statte ein Objekt mit einem Script aus, dass es nach dem Aktivieren verschwinden lässt.
Ein sehr kurzes Script. Man muss nur die Aktivierung des Objekts überprüfen und den Gegenstand im Falle der Aktivierung diablen. Da ein disableder Gegensatdn nicht mehr aktiviert werden kann, hat sich das Problem damit von selbst gelöst.
Code:begin kf_sk_vanish1_script if ( OnActivate == 1 ) Disable endif end
- Bastele einen Activator, der anfangs disabled ist und erst nach einem bestimmten Tagebucheintrag erscheint. (Hinweis: Ihr könnt einen Gegenstand nicht im CS als disabled einstellen. Der Gegenstand ist eigentlich enabled, wenn ihr das Spiel ladet. Ihr müsst ein Script verwenden um ihn zu deaktivieren.)
In diesem Script muss man den Gegenstand zunächst disablen. Dazu sorgt man dafür, dass dies beim ersten Scriptdurchlauf automatisch geschieht. Da die state-Variable mit 0 initialisiert wird, ist die erste if-Abfrage auf jeden Fall erfüllt. Dadurch wird der Gegenstand direkt im ersten Frame nach dem Laden der Zelle disabled. Danach wird dieser Teil des Scripts nie mehr aufgesucht, da state nun 1 ist. In diesem Zustand kann bequem auf den richtigen Tagebucheintrag gewartet werden.
Code:begin kf_sk_vanish2_script short state if ( state == 0 ) Disable set state to 1 elseif ( state == 1 ) if ( GetJournalIndex, "kf_test_journal" == 100 ) Enable set state to 2 endif endif end
- Erschaffe einen Geist, der nur nachts erscheint.
Dieses Script ist ein wenig schwieriger. Da wir nicht wissen, wann der Spieler die Zelle mit dem Geist betritt, müssen wir jede mögliche Uhrzeit abdecken. wenn das Script zum ersten Mal läuft, ist der Geist auf jeden Fall enabled. Also prüfen wir zunächst auf einer Bedingung, wann er verschwinden soll. Das ist jede Uhrzeit zwischen 6 und 20 Uhr. Sobald dies eredigt ist, springt das Script in den zweiten Teil und wartet auf eine der Bedingungen, wann der Geist wieder erscheinen soll. Dies ist der Fall wenn entweder die Uhrzeit größer als 20 Uhr oder kleiner als 6 Uhr ist.
Code:begin kf_sk_vanish1_script if ( GetDisabled == 0 ) if ( GameHour > 6 ) if ( GameHour < 20 ) Disable endif endif else if ( GameHour < 6 ) Enable elseif ( GemHour > 20 ) Enable endif endif end