Construction Set Wiederbelebung- nach Reise + Rasten ist der NPC bewegungslos

Henry

Abenteurer
Mein Kopf raucht!
Ich habe in meinem Mod Albenheim einen Begleiter, der über einen eigenen Quest mittels Topic folgt oder wartet:

Scripteintrag im Topic Warten: Wait 1HLuciusfollowplayer

Scripteintrag im Topic Folgen: StopWaiting 1HLuciusfollowplayer

Funktioniert problemlos. Nun habe ich einen Zauberstab mit enchscript geschaffen, der den NPC wiederbelebt.

Test:- NPC wiederbeleben; sofort; ohne Zellenwechsel : o.k.
-NPC wiederbeleben; mit 24 Stunden Rast; ohne Zellenwechsel : o.k.
-NPC wiederbeleben; mit 24 Stunden Rast; ein oder 2 Zellenwechsel
(die nächstgelegenen) : o.k.
- danach habe ich zu Testzwecken 8 Zellen durchquert und habe
probehalber 14 Stunden gerastet.
Danach den gleichen Weg zurück. Der NPC konnte ohne weiteres
wiederbelebt werden. Auf den Befehl: Folgen kam die richtige
Sprachausgabe, also stimmt auch der entsprechende
Stage mit dem Topic dazu.
Auch das richtige AI-Package wird angesprochen.
Also, Der NPC wird ordnungsgemäß mit allen Verhaltensweisen wiederbelebt, nur dann nicht, wenn ich eine größere Reise unternehme und dazu raste. Wiederbelebe ich ihn gleich ist alles in bester Ordnung.
Aber: Der NPC wollte mir nicht mehr nachlaufen. Beim Zellenwechsel teleportierte er zwar mit, blieb dann aber auf dem Türmarker stehen. Topics, Sprachausgabe, alles noch normal. Erst wenn ich autosave oder einen anderen Spielstand, auch den mit der Arbeitsverweigerung lade,in dem ich den Befehl: Folgen gab, sich das Spiel also neu einliest, ist alles wieder o.k..
Also, da ist mein Hirn zur Zeit überlastet. Kennt jemand dieses Problem? Muß man noch etwas in den Script reinschreiben? Es gibt ja diesen Mod x70BestMates, in dem ist alles genial gelöst, aber in reiner Scriptform. Vielleicht kann man die Wiederbelebung nicht mit den Questbefehlen koppeln?
Ich denke, das Spiel leert seinen Speicher. Deswegen passiert bei 2 Zellen noch nichts, aber bei 8. Und diese flüchtige Information, welche mir das Spiel beim Speicherupdate rausschmeißt, fehlt dann beim resurrect. Nur, um welche Info handelt es sich? Denn diese, muß ich wohl im Script eintragen, damit ich nicht neu einlesen muß.
Was meint Ihr? Ich sage schon mal danke und Ciao, Henry.

--------------------------------------------------------------------------
Script vom NPC:

ScriptName 1HLuciusScript

begin OnDeath Player
if ( Getstage 1HLuc == 30 )
Messagebox "Furchtbar! Der treue Lucius ist tot! Ob ich ihn wiederbelebe?"
endif

End

Begin OnLoad

setignorefriendlyhits 1

End

----------------------------------------------------------------------

Script vom Zauberstab (Wiederbelebung):

Scriptname 1HEnchScript

Ref MyRef

Begin ScriptEffectStart
Set MyRef To GetSelf
If MyRef == H1HLuciusRef
MyRef.Resurrect 1
SetUnconscious 0
SetActorValue Energy 70
EvaluatePackage
EndIf


End
 
Zuletzt bearbeitet:
Hi,

also wenn ich das richtig verstanden habe, soll eine Messagebox kommen, wenn er stribt. Bei dir ist es so, dass nur eine Messagebox kommt, wenn du Lucius tötest. Auch kommt mir der zweite Script etwas spanisch vor (nichts gegen Spanisch ;)). Da wird ja,wenn man den Script "ausführt", die MyRef auf den Zauberstab gesetzt. Und kurz danach wird abgefragt, ob MyRef (der Zauberstab) == H1HLuciusRef (ich nehme mal an, der Lucius) ist. Außerdem fehlt auch noch ScriptEffectUpdate und ScriptEffectFinish. Ich denke, die Scripts sollten eher so aussehen:

--------------------------------------------------------------------------
Script vom NPC:

scn 1HLuciusScript

begin OnDeath
if ( Getstage 1HLuc == 30 )
Messagebox "Furchtbar! Der treue Lucius ist tot! Ob ich ihn wiederbelebe?"
endif

End

Begin OnLoad

setignorefriendlyhits 1 ;wozu denn das?

End

----------------------------------------------------------------------

Script vom Zauberstab (Wiederbelebung):

Scn 1HEnchScript

Begin ScriptEffectStart

H1HLuciusRef.Resurrect 1
SetUnconscious 0
H1HLuciusRef.evp ;Abkürzung für EvaluatePackage

End

Begin ScriptEffectUpdate
End

Begin ScriptEffectFinish
End
;ich nehme einfach mal an, dass es ein Zauber ist...
----------------------------------------------------------------------
So vielleicht :?
 
  • Like
Reaktionen: Henry
Laufen nach Speicherbereinigung

Hi, Gildur!

Leider nein. Das war wohl ein wenig mißverständlich, aber trotzdem vielen Dank.
Das Script ist soweit in Ordnung. Ich habe ja kein Update, also habe ich es weggelassen. Wenn man nur einen Eintrag ohne Entwicklung hat, passt das schon. Auch der Befehl resurrect ganz alleine ohne Zusatz haut sogar hin, verrückt, oder? Den Zusatz ref habe ich nur eingegeben, damit der Wiederbelebungszauber nur auf die eine Reference angewendet werden darf.
Ohne ref könnte man jede Kreatur wiederbeleben, wollte ich hier aber nicht, wäre vielleicht aber mal eine Idee. Die Scripte haben Dich bestimmt irritiert, aber die habe ich nur beigefügt, damit man mögliche Ursachen ausschließen kann.
Mein Problem taucht ja nur auf, wenn der Speicher richtig freigeschaufelt und mit neuen Daten gefüllt wird, also nach mehrfachem Zellenwechsel vor der Wiederbelebung. Deswegen dachte ich, daß eine bestimmte Info noch in das Script rein müßte. Vielleicht zur Sicherheit noch mal das entsprechende AI-Package ansprechen?
Das Kürzel evp kannte ich so noch nicht. Werde ich mir merken. Ist bestimmt für die direkten Questbefehle so wie das setav, oder? Ich habe nämlich festgestellt, daß ein paar Befehle im Quest anders ausgedrückt werden müssen, als im Script.
Ciao und hab Dank Gildur. Henry.