Construction Set Der Scriptthread

Meine Sounddatei heißt „TD_CryptaSoundBalmora.wav“
Mein Activator heißt „TheDaywalker_CryptBalm“
Meine Sound ID heißt „RazuulsCryptBalmora“


Denke nicht, dass sich da irgendwas gleicht!!!:roll:


TheDaywalker;)
 
Drehen

hi jungs,

ich hab hier ein script ...

begin My_Script
RotateWorld, Z, 90
end

... was muss ich machen damit sich das ding in die andere richtung dreht??
 
Ich weiß nicht, ob es auch bei MW so funktioniert, aber in allen 3D-Programmen verwendest Du bei Rotationen in die andere Richtung einfach einen negativen Wert, also in Deinem Falle -90 Grad.


TheDaywalker;)
 
  • Like
Reaktionen: Nemesis1990
SetAngle z, 90 ; -90

ist zum sofort drehen, bei den anderen (im und gegen der Uhrzeigersinn)

bei den andern 2 Achsen gibs aber irgendwie nach speichern/laden Probleme, wenn man um mehrere dreht
 
bei den andern 2 Achsen gibs aber irgendwie nach speichern/laden Probleme, wenn man um mehrere dreht
Korrekt, das hat irgendwas damit zu tun, wie die Rotation im CS gesetzt wird, SetAngle dreht das Objekt um die eigenen Achsen und das beißt sich zuweilen mit den Daten, wie das CS die Rotation interpretiert. Besonders häßlich, wenn man ein Objekt im CS um mehrere Achsen gedreht hat und es genau so ingame rotieren will. Rotate macht seinen Job... aber dann, nach Reload kommt die böse Überraschung. Das so zu coden, dass es immer perfekt steht, ist 'ne ziemliche Puzzelei.

Daher sollte man seinen Scripts immer ein entsprechendes Codestück mitgeben, damit das Objekt nach dem Drehen so hingedreht wird, wie es laut Status sein soll. Ich hab das bei meiner Hausmod anfangs nicht gemacht, aber jetzt bau ich diese Reload-Fixings überall rein. Hat sich bewährt, auch wenn es umständlich ist, gerade wenn man viele Rotierende oder sich bewegende Items hat.
 
  • Like
Reaktionen: IvanDaVile
Schön dass sich jemand über sowas gedanken macht, mir war das nach 10 versuchen, wobei ich bei jedem sicher war dass es jetzt stimmt genug und ich hab aufgegeben:cry:
Hast du mal ein Beispiel-Script wie man zuerst z.b. nen teller um 90 grad dreht und dann in blickrichtung um 15 grad nach hinten kippt so, dass das den ladevorgang übersteht?
 
Hängt davon ab... bei einem Obkekt mit variablem Standort (Teller) wird das verflucht schwer, weil du die relative Ausrichtung zur World feststellen müßtest, um das richtig zu machen.

Bei einem stationären Objekt (etwa einem Drehregler), machst du folgendes... du platzierst das Teil zunächst erstmal nur im CS, ohne es direkt dort zu rotieren. Einfach in die Zelle werfen, dort wo es in etwa hinsoll. Nun gehst du in ingame zu dem Teil hin und drehst es via Konsole mit SetAngle so hin, wie du es für die Ausgangsposition haben willst. ggf mußt du natürlich mit SetPos die Position etwas anpassen. Du hast nun bis zu drei Angles erhalten, die du irgendwie manuell setzen mußt.
Jetzt wird es lustig. Diese Angles setzt du nun nicht etwa in die Reference Box im CS... nene, du schreibst sie ins Script und läßt das Ding im CS einfach so wie es ist. Nur seine Position (GetPos) kannst du direkt in die Box reinsetzen. Richtig gelesen. Position in der Referenz, Angles im Script. Dann klappt es bei mir jedenfalls ganz gut. Das Script platziert dein Objekt nun ingame korrekt. Du steuerst die Drehung nun über einen Statuswert. Nehmen wir an, es ist ein Activator, der den Drehregler entlang einer seiner Achsen rotiert. Das geht ja dann ganz einfach mit:

Rotate [ACHSE] [GRADproSEC]

Laß den Activator nun eine einsekündige Drehung um soviel Grad durchführen, wie der Endzustand sein soll. Nun gehst du ingame wieder zu dem Ding und aktivierst ihn. Er dreht sich eine Sekunde und stopt - so wie es sein soll. JETZT machst du die Konsole auf und fragst alle drei Achsen mit GetAngle/Setangle ab. Diese Werte kommen nun auch in dein Script - als Position II, die mit SetAngle Befehlen fixiert wird, wenn der Status nicht 0 (ungedreht) sondern 1 (gedreht) ist...

Da der Status beim Speichern mitgespeichert wird, wird das Objekt nach dem Neuladen nun automatisch korrekt positioniert, auch wenn es ingame durch den Spieler gedreht wurde.

Alles etwas theoretisch, aber da du Scripting Erfahrung hast, solltest du es eigentlich hinbekommen.

Und jetzt der Knackpunkt an der Sache! Rotate bezieht sich immer auf die Achsen des Objekts selbst und wenn dessen "Mittelpunkt" nicht am Ursprung liegt, sondern irgendwo an einer Ecke, kann das Ergebnis unerbaulich werden ^^

Richtig Rotieren ist bei Morrowind etwas, dass einen echt selbst zum Rotieren bringen kann :D
 
  • Like
Reaktionen: IvanDaVile
Ganz großes Danke erst mal! Damit kann ich vorerst ein bisschen arbeiten, auch wenn mein Hauptaugenmerk auf den Tellern lag :)
Das Problem scheint ja irgendwie daran zu liegen, dass ein Objekt gedreht von der Welt unterschiedliche Achsen aufweist und beim neu laden mit diesen Achsen "weiterdreht" aber wenn man weiss wie man richtig dreht, kriegt man vllt auch mehr über das Problem an sich raus.
 
Abend!
Ich bräuchte mal wieder Hilfe bei einem Script. ;)
Um genau zu sein, sogar drei:
Ein Script soll bewirken, dass eine Messagebox kommt, wenn man eine Waffe das erste Mal aufhebt.

Ein anderes Script soll bewirken, dass mein Begleiter zu mir teleportiert wird, wenn er mich "verloren" hat.

Und ist es möglich, dass immer dann eine Messagebox aufploppt, wenn man einen MEnschen mit einer bestimmten Waffe tötet?

Hoffe ihr könnt mir in meiner Unwissenheit helfen. :oops:

mfG,
Drachenwächter
 
Hallo,

ich bräuchte einen Scripttip von euch für meinen Himmelsrand-Mod.

und zwar:

Wie kann ich es per Script erreichen, das wenn der Spieler ins Gefängnis geworfen wird, er sein KOMPLETTES Inventar verliert (den Inhalt des Inventars soll er im letzten Teil des 10-15 teiligen Startdungeons a la Arena oder Daggerfall zurückerhalten (in einer Kiste finden)).

Hab nur bisher leider nichts gefunden wie ich das erreichen kann.

Kann mir jemand weiterhelfen?

Gruß Lestat
 
der morrowind script extender lässt dich sowas machen, ein inventar-ins-fass script ist sogar im tutorial (das man versteht wenn man in morrowind und auch sonst programmieren kann), mit normalen scripts geht das absolut nicht.
 
  • Like
Reaktionen: Lestat DeLioncourt
Danke Ivan,

das hilft mir weiter.

Werd mir den Extender gleich suchen.

Wär doch sehr unrealistisch, wenn man in den Bau geht und alle Waffen und Rüstungen behalten darf, oder? :-D

Gruß Lestat