Hallo.
Leider ist mir kein besserer Beitragstitel eingefallen, daher allgemein gehalten.
Ich habe mich an einem kleinen Script versucht (nur 1KB groß und nicht riesiges) was einen Effekt auf den Spieler legen soll sobald dieser sich in den Schleichmodus begeben tut. Die erste gute Nachricht ist (und das hat mich schon vom sprichwörtlichen Hocker gehauen): Im Spiel funktioniert es. Ich ziehe die Rüstung an (auf welcher das Script liegt) und sobald ich mit dieser Rüstung in den Schleichmodus wechsle bekommt mein Char diesen Spell und wenn ich wieder aufstehe wird der Spell wieder entfernt.
Nun wollte ich sehen ob das Spiel da irgendetwas zu meckern hat und habe in der INI Datei das logging angeschaltet. Ich war nur ganz kurz im Spiel um das Script zu testen und als ich wieder aus dem Spiel draußen war hatte ich eine 82KB große Log-Datei (und Panik im Gesicht). Nun sieht das echt furchtbar aus was da so alles an Fehlermeldungen drinnen steht, wobei das meiste nichts mit meinem Script zu tun hat sondern oft mit dem DLC und etlichen anderen Scripts (was die Sache irgendwie nicht besser macht und ich mich frage ob das so sein sollte bzw. darf?).
Konkret aber zu meiner Fehlermeldung die da lautet:
[12/19/2021 - 04:50:56PM] error: Cannot add a None spell to the actor
stack:
[ (00000014)].Actor.AddSpell() - "<native>" Line ?
[Item 145 in container (00000014)].Eigengrau:Eigengrau_ProjektLedaScript.OnEquipped() - "<unknown file>" Line ?
[12/19/2021 - 04:50:57PM] error: Cannot add a None spell to the actor
stack:
[ (00000014)].Actor.AddSpell() - "<native>" Line ?
[Item 117 in container (00000014)].Eigengrau:Eigengrau_ProjektLedaScript.OnEquipped() - "<unknown file>" Line ?
[12/19/2021 - 04:52:14PM] VM is freezing...
[12/19/2021 - 04:52:14PM] VM is frozen
[12/19/2021 - 04:52:15PM] Log closed
Kann damit jemand etwas anfangen? Also was ist damit gemeint dass die Datei nicht gefunden wird? Stört das Spiel sich da vielleicht an dem Doppelpunkt? Ich selbst habe eine Weile gebraucht um zu verstehen dass Bethesda mit so einem Doppelpunkt einen Ordner-Unterordner meint, also statt "/" hier ein ":" (konkret lautet der Pfad "Scripts/Eigengrau/Eigengrau_ProjektLedaScript.pex"). Und was meint das Spiel damit dass es den Spell nicht auferlegen kann!? Im Spiel ist dieser vorhanden. Und warum steht dort dass der VM eingefroren ist?
Ich finde diese Papyrus.log Datei echt erschreckend schlimm da diese voll mit Fehlermeldungen ist. Die obigen Dinge lese ich zum Teil auch bei vielen anderen vanilla Scripts in der Log. Eigentlich sollte ein Spiel doch so gemacht sein dass nicht schon von Haus aus etliche Fehlermeldungen erscheinen.
Nun ja, ich hoffe hier kann mich jemand etwas beruhigen ohne dass ich wieder zu viel Baldrian schlucken muß.
Und dann gleich eine Frage hinterher (Edit: Ich denke damit hat es etwas zu tun!?):
Ich habe ein Rüstungs-Sets aus Rüstung + dem Helm und dafür nutze ich nur ein (1) Script (das oben genannte) um einen Effekt für die Rüstung und einen für den Helm zu zuweisen (diese 2 Befehle stehen also in dem einen Script). Kann man das beides in einem Script stehen haben oder sollte man besser für jeden Befehl ein eigenes Script erstellen? Wird das Script eher nacheinander abgearbeitet oder sucht sich das Spiel nur die Befehle/die Stellen raus die es benötigt und ignoriert die anderen die gerade nicht angefordert sind (ich frage da es ansonsten ständig zu Fehlermeldungen kommen müsste wenn der Char jetzt gerade nur die Rüstung trägt nicht aber den Helm und dann das Script aktiviert wird wo ja die Befehle für beide Rüstungsteile drinne stehen)?
Lieben Gruß und Danke für's lesen!
Edit:
Falls es jemandem hilft hier ist das ganze Script auf was sich die obige Fehlermeldung bezieht:
ScriptName Eigengrau:Eigengrau_ProjektLedaScript extends ObjectReference Const
;-- Properties --------------------------------------
Spell Property SpellRuestung_Stealth Auto Const mandatory
Spell Property SpellHelm_Detect Auto Const mandatory
;-- Variables ---------------------------------------
;-- Functions ---------------------------------------
Event OnEquipped(Actor akActor)
akActor.AddSpell(SpellRuestung_Stealth, True)
akActor.AddSpell(SpellHelm_Detect, True)
EndEvent
Event OnUnequipped(Actor akActor)
akActor.RemoveSpell(SpellRuestung_Stealth)
akActor.RemoveSpell(SpellHelm_Detect)
EndEvent
Leider ist mir kein besserer Beitragstitel eingefallen, daher allgemein gehalten.
Ich habe mich an einem kleinen Script versucht (nur 1KB groß und nicht riesiges) was einen Effekt auf den Spieler legen soll sobald dieser sich in den Schleichmodus begeben tut. Die erste gute Nachricht ist (und das hat mich schon vom sprichwörtlichen Hocker gehauen): Im Spiel funktioniert es. Ich ziehe die Rüstung an (auf welcher das Script liegt) und sobald ich mit dieser Rüstung in den Schleichmodus wechsle bekommt mein Char diesen Spell und wenn ich wieder aufstehe wird der Spell wieder entfernt.
Nun wollte ich sehen ob das Spiel da irgendetwas zu meckern hat und habe in der INI Datei das logging angeschaltet. Ich war nur ganz kurz im Spiel um das Script zu testen und als ich wieder aus dem Spiel draußen war hatte ich eine 82KB große Log-Datei (und Panik im Gesicht). Nun sieht das echt furchtbar aus was da so alles an Fehlermeldungen drinnen steht, wobei das meiste nichts mit meinem Script zu tun hat sondern oft mit dem DLC und etlichen anderen Scripts (was die Sache irgendwie nicht besser macht und ich mich frage ob das so sein sollte bzw. darf?).
Konkret aber zu meiner Fehlermeldung die da lautet:
[12/19/2021 - 04:50:56PM] error: Cannot add a None spell to the actor
stack:
[ (00000014)].Actor.AddSpell() - "<native>" Line ?
[Item 145 in container (00000014)].Eigengrau:Eigengrau_ProjektLedaScript.OnEquipped() - "<unknown file>" Line ?
[12/19/2021 - 04:50:57PM] error: Cannot add a None spell to the actor
stack:
[ (00000014)].Actor.AddSpell() - "<native>" Line ?
[Item 117 in container (00000014)].Eigengrau:Eigengrau_ProjektLedaScript.OnEquipped() - "<unknown file>" Line ?
[12/19/2021 - 04:52:14PM] VM is freezing...
[12/19/2021 - 04:52:14PM] VM is frozen
[12/19/2021 - 04:52:15PM] Log closed
Kann damit jemand etwas anfangen? Also was ist damit gemeint dass die Datei nicht gefunden wird? Stört das Spiel sich da vielleicht an dem Doppelpunkt? Ich selbst habe eine Weile gebraucht um zu verstehen dass Bethesda mit so einem Doppelpunkt einen Ordner-Unterordner meint, also statt "/" hier ein ":" (konkret lautet der Pfad "Scripts/Eigengrau/Eigengrau_ProjektLedaScript.pex"). Und was meint das Spiel damit dass es den Spell nicht auferlegen kann!? Im Spiel ist dieser vorhanden. Und warum steht dort dass der VM eingefroren ist?
Ich finde diese Papyrus.log Datei echt erschreckend schlimm da diese voll mit Fehlermeldungen ist. Die obigen Dinge lese ich zum Teil auch bei vielen anderen vanilla Scripts in der Log. Eigentlich sollte ein Spiel doch so gemacht sein dass nicht schon von Haus aus etliche Fehlermeldungen erscheinen.
Nun ja, ich hoffe hier kann mich jemand etwas beruhigen ohne dass ich wieder zu viel Baldrian schlucken muß.
Und dann gleich eine Frage hinterher (Edit: Ich denke damit hat es etwas zu tun!?):
Ich habe ein Rüstungs-Sets aus Rüstung + dem Helm und dafür nutze ich nur ein (1) Script (das oben genannte) um einen Effekt für die Rüstung und einen für den Helm zu zuweisen (diese 2 Befehle stehen also in dem einen Script). Kann man das beides in einem Script stehen haben oder sollte man besser für jeden Befehl ein eigenes Script erstellen? Wird das Script eher nacheinander abgearbeitet oder sucht sich das Spiel nur die Befehle/die Stellen raus die es benötigt und ignoriert die anderen die gerade nicht angefordert sind (ich frage da es ansonsten ständig zu Fehlermeldungen kommen müsste wenn der Char jetzt gerade nur die Rüstung trägt nicht aber den Helm und dann das Script aktiviert wird wo ja die Befehle für beide Rüstungsteile drinne stehen)?
Lieben Gruß und Danke für's lesen!
Edit:
Falls es jemandem hilft hier ist das ganze Script auf was sich die obige Fehlermeldung bezieht:
ScriptName Eigengrau:Eigengrau_ProjektLedaScript extends ObjectReference Const
;-- Properties --------------------------------------
Spell Property SpellRuestung_Stealth Auto Const mandatory
Spell Property SpellHelm_Detect Auto Const mandatory
;-- Variables ---------------------------------------
;-- Functions ---------------------------------------
Event OnEquipped(Actor akActor)
akActor.AddSpell(SpellRuestung_Stealth, True)
akActor.AddSpell(SpellHelm_Detect, True)
EndEvent
Event OnUnequipped(Actor akActor)
akActor.RemoveSpell(SpellRuestung_Stealth)
akActor.RemoveSpell(SpellHelm_Detect)
EndEvent
Zuletzt bearbeitet: