Wie die meisten OBSE-Funktionen ist (wahrscheinlich) auch SetName für einen Gebrauch mit Referenz-, als auch mit Object-ID ausgelegt.
sollte genauso funktionieren, wie
Wenn beides bereitgestellt wird, also z.B.:
sollte das Base Object "gewinnen", es würde also so wirken als ob die Referenz gar nicht angegeben wurde.
Ergo: ObjectID:ref kannst du einfach weglassen.
Bei dir sollte das Problem allerdings darin liegen, dass du myself nicht als Variable definiert hast.
Dazu schreibst du irgentwo vor das SetName (ich würde den Anfang des Script nach dem scn und dem ersten Begin-Block empfehlen, jeweils mit Leerzeilen abgegrenzt) einmal ref myself.
Damit das ganze auch funktioniert muss noch irgentwo vor das SetName-Kommando hin: set myself to GetSelf ;(zumindest solange dass ein ObjectScript auf dem gewünschten Object ist).
Zeig mal dein ganzes Script, dann geht die Fehlersuche eigentlich um einiges leichter.
--
Ich kam, sah, und konnte meinen Augen nicht trauen
Danke für den Hinwies, ich hatte für die myself-Variable versehentlich den Datentyp short anstatt ref gewählt.
Mir ist jedoch gerade aufgefallen, dass die SetName-Funktion anscheinend einen schweren Fehler hat:
Ändere ich den Namen eines Objektes zB. von "Name1" auf "Name2" funktioniert dies problemlos, lade ich danach meinen Spielstand neu wird immer noch "Name2" angezeigt.
Lässt sich dieser Fehler irgendwie verhindern? So wäre die Funktion ansonsten nicht für mich zu gebrauchen.
Einen Spielstand, wo du den Dateinamen noch nicht geändert hast?
Falls ja, versuch mal Oblvion zu beenden und erst nach einem Neustart den Save zu laden, dann sollte der Name wieder der alte sein.
Sollte das aber wirklich der Fall sein würde ich dir empfehlen, das im OBSE-Thread zu melden damit der Bug behoben werden kann.
--
Ich kam, sah, und konnte meinen Augen nicht trauen