29.03.2005, 13:11
MenuMode verzögert/falsch angezeigt?
- wird das Dialog-Menu geöffnet dauert das Einblenden der Dialoge etwa 3 bis 4 Frames - das Menu erscheint zwar offen aber doch ist MenuMode solange noch != 1 bis alle möglichen Dialoge durchgearbeitet sind. Die zum Dialog gehörenden Results werden erst im nächsten Frame ausgegeben
- Messageboxen ohne Buttons haben manchmal die \"Unart\" Menumode auf einen (mir unbekannten) Wert != 0 zu setzen was nicht heisst das damit MenuMode == 1 ist! (_1 hab ich probiert- isses nich) Leider hab ich kein System dahinter entdecken können. Es tritt vermehrt auf wenn sich mehrere Messageboxen am unteren Bildrand befinden wie beispielsweise bei der schnellen mehrmaligen Verbesserung von Fertigkeiten bei einem Ausbilder, dem öfteren Versagen beim Knacken einer Falle/eines Schlosses oder wenn Untertitel an sind mehrere Angreifer gleichzeitig \"Stirb!\" oder ähnliches rufen.
------------------------------------------------------------------------------------------------------
Cellchange nicht registrierbar:
-falls Türen ein Script tragen das auf OnActivate mit Activate reagiert wird damit das Cellchanged-Ereignis abgefangen und kann nicht mehr registriert werden. Also Vorsicht- dies möglichst nicht einsetzen oder mit \"Schleusen\" arbeiten - derartig bescriptete Türen so verwenden das sie in keine anderen Zellen führen.
- falls für NPC\'s oder Kreaturen eine lokale short StayOutside == 1 gesetzt ist \"erleben\" deren Scripts das Zellwechsel-Ereignis nicht wenn dieser Zellwechsel zu einer Trennung von Player und dem Follower führt.
------------------------------------------------------------------------------------------------------
Position/PositionCell -Anweisungen
am Player
- bei einer Player-> position(Cell) x y z angle \"cellname\" -Anweisung in Scripts beachten:
Die Ausführung des Scriptes wird dabei unterbrochen, eventuell offene If-Sätze/While-Schleifen werden verlassen und die nächste if/else/while-Anweisung wird egal ob sie ihre Bedingung erfüllt oder nicht ausgeführt!
Player-> Position-Anweisungen daher so im Script platzieren das danach nichts mehr ausgeführt wird. Stopscript-Anweisungen bereits vor der Position(Cell) -Anweisung geben.
an NPC\'s/Kreaturen
- bei einer Position-Anweisung gibt es verschiedene Wege.
Start: Exterior - Ziel: Exterior
\"ID\"-> Position x y z angle [\"Exterior-Cellname\"]
Start: Interior - Ziel: Exterior
funktioniert nur mit Namensangabe!
geht also nur wenn das Ziel einen eigenen Ortsnamen hat (z.B. Ahemmusa-Lager, Balmora, Bal Isra )
\"ID\"-> Position x y z angle \"Exterior-Cellname\"
Start: egal - Ziel: Interior
\"ID\"-> PositionCell x y z angle \"Interior-Cellname\"
------------------------------------------------------------------------------------------------------
HitOnMe \"weaponID\"
sollte anzeigen ob der Scriptträger mit \"WeaponID\" getroffen wurde
funktioniert nicht an NPC\'s - nur an Kreaturen
------------------------------------------------------------------------------------------------------
Editor-gesetzte Objekte in Containern
nimmt der Spieler ein Objekt aus einem Container dann wird das Objekt nicht wirklich aus dem Inventar des Containers entfernt sondern der Container bekommt einen Vermerk welche Objekte entnommen wurden. Wenn ein Objekt in einem Container allerdings ein Script trägt wird das Script IMMER gestartet, egal ob das Objekt aus dem Container genommen wurde -daher eigentlich nicht vorhanden sein sollte- oder nicht.
Ob sich das auch mit vom Spieler in ein Behältnis gepacktes und wieder entferntes Objekt so verhält kann ich nicht sagen. Definitiv ist es aber mt allen Objekten so die per Editor eingesetzt wurden.
Ich hab dazu einige Testspielereien gemacht, mehr dazu könnt Ihr
hier nachlesen
------------------------------------------------------------------------------------------------------
short OnPCEquip
Reagiert nur auf On-PC-Equip, d.h. der Spieler muss das Objekt zum Anlegen im Inventar auf seine Figur ziehen bzw. dessen Verzauberung im Magiemenu auswählen, das Ablegen wird per Hand und beim Verkauf registiert. Wird ein Gegenstand auf andere Weise an/abgelegt zeigt OnPCEquip nichts brauchbares an.
An Büchern wird OnPCEquip nur gesetzt wenn dieses Buch als Schriftrolle deklariert wäre und eine Verzauberung hätte und zwar dann wenn der Spieler sich den Zauber \"zurechtlegt\" - nicht wenn er das Buch liest!
short PCSkipEquip
Verhindert nur das der Spieler das Objekt anlegt. Hat er es einmal angelegt wird es dadurch nicht wieder abgelegt. Mit einer Equip-Anweisung kann das Objekt trotz PCSkipEquip == 1 angelegt werden.
Fortsetzung folgt
- wird das Dialog-Menu geöffnet dauert das Einblenden der Dialoge etwa 3 bis 4 Frames - das Menu erscheint zwar offen aber doch ist MenuMode solange noch != 1 bis alle möglichen Dialoge durchgearbeitet sind. Die zum Dialog gehörenden Results werden erst im nächsten Frame ausgegeben
- Messageboxen ohne Buttons haben manchmal die \"Unart\" Menumode auf einen (mir unbekannten) Wert != 0 zu setzen was nicht heisst das damit MenuMode == 1 ist! (_1 hab ich probiert- isses nich) Leider hab ich kein System dahinter entdecken können. Es tritt vermehrt auf wenn sich mehrere Messageboxen am unteren Bildrand befinden wie beispielsweise bei der schnellen mehrmaligen Verbesserung von Fertigkeiten bei einem Ausbilder, dem öfteren Versagen beim Knacken einer Falle/eines Schlosses oder wenn Untertitel an sind mehrere Angreifer gleichzeitig \"Stirb!\" oder ähnliches rufen.
------------------------------------------------------------------------------------------------------
Cellchange nicht registrierbar:
-falls Türen ein Script tragen das auf OnActivate mit Activate reagiert wird damit das Cellchanged-Ereignis abgefangen und kann nicht mehr registriert werden. Also Vorsicht- dies möglichst nicht einsetzen oder mit \"Schleusen\" arbeiten - derartig bescriptete Türen so verwenden das sie in keine anderen Zellen führen.
- falls für NPC\'s oder Kreaturen eine lokale short StayOutside == 1 gesetzt ist \"erleben\" deren Scripts das Zellwechsel-Ereignis nicht wenn dieser Zellwechsel zu einer Trennung von Player und dem Follower führt.
------------------------------------------------------------------------------------------------------
Position/PositionCell -Anweisungen
am Player
- bei einer Player-> position(Cell) x y z angle \"cellname\" -Anweisung in Scripts beachten:
Die Ausführung des Scriptes wird dabei unterbrochen, eventuell offene If-Sätze/While-Schleifen werden verlassen und die nächste if/else/while-Anweisung wird egal ob sie ihre Bedingung erfüllt oder nicht ausgeführt!
Player-> Position-Anweisungen daher so im Script platzieren das danach nichts mehr ausgeführt wird. Stopscript-Anweisungen bereits vor der Position(Cell) -Anweisung geben.
an NPC\'s/Kreaturen
- bei einer Position-Anweisung gibt es verschiedene Wege.
Start: Exterior - Ziel: Exterior
\"ID\"-> Position x y z angle [\"Exterior-Cellname\"]
Start: Interior - Ziel: Exterior
funktioniert nur mit Namensangabe!
geht also nur wenn das Ziel einen eigenen Ortsnamen hat (z.B. Ahemmusa-Lager, Balmora, Bal Isra )
\"ID\"-> Position x y z angle \"Exterior-Cellname\"
Start: egal - Ziel: Interior
\"ID\"-> PositionCell x y z angle \"Interior-Cellname\"
------------------------------------------------------------------------------------------------------
HitOnMe \"weaponID\"
sollte anzeigen ob der Scriptträger mit \"WeaponID\" getroffen wurde
funktioniert nicht an NPC\'s - nur an Kreaturen
------------------------------------------------------------------------------------------------------
Editor-gesetzte Objekte in Containern
nimmt der Spieler ein Objekt aus einem Container dann wird das Objekt nicht wirklich aus dem Inventar des Containers entfernt sondern der Container bekommt einen Vermerk welche Objekte entnommen wurden. Wenn ein Objekt in einem Container allerdings ein Script trägt wird das Script IMMER gestartet, egal ob das Objekt aus dem Container genommen wurde -daher eigentlich nicht vorhanden sein sollte- oder nicht.
Ob sich das auch mit vom Spieler in ein Behältnis gepacktes und wieder entferntes Objekt so verhält kann ich nicht sagen. Definitiv ist es aber mt allen Objekten so die per Editor eingesetzt wurden.
Ich hab dazu einige Testspielereien gemacht, mehr dazu könnt Ihr
hier nachlesen
------------------------------------------------------------------------------------------------------
short OnPCEquip
Reagiert nur auf On-PC-Equip, d.h. der Spieler muss das Objekt zum Anlegen im Inventar auf seine Figur ziehen bzw. dessen Verzauberung im Magiemenu auswählen, das Ablegen wird per Hand und beim Verkauf registiert. Wird ein Gegenstand auf andere Weise an/abgelegt zeigt OnPCEquip nichts brauchbares an.
An Büchern wird OnPCEquip nur gesetzt wenn dieses Buch als Schriftrolle deklariert wäre und eine Verzauberung hätte und zwar dann wenn der Spieler sich den Zauber \"zurechtlegt\" - nicht wenn er das Buch liest!
short PCSkipEquip
Verhindert nur das der Spieler das Objekt anlegt. Hat er es einmal angelegt wird es dadurch nicht wieder abgelegt. Mit einer Equip-Anweisung kann das Objekt trotz PCSkipEquip == 1 angelegt werden.
Fortsetzung folgt