User talk:Tibixe
Dragoon Wraith TALK 22:27, 15 August 2006 (EDT): About your request for SetRefEssential for OBSE: Couldn't you use CreateFullActorCopy and SetEssential to create an essential version of an actor which is referenced repeatedly?
- Tibixe 04:49, 16 August 2006 (EDT)
My problem was to make an Actor Copy essential. But setessential acts like a return function when it is used with a reference variable. (That caused my mod to create a new actor every frame...) I also added an entry to SetEssential, but marked it as minor edit (I thought a line is a minor edited, now I know it isn't).
- Dragoon Wraith TALK 10:17, 16 August 2006 (EDT): Twas a good edit, don't worry. Anyway, it being a return statement isn't a problem, you know. I'd do something like this:
if ( GetDisabled == 0 ) set copy to CreateFullActorCopy copy.SetEssential Disable ;disable the original endif
- If you'd like, you could post your code and I'll see what's up with it.
- For now, though, I'm going to take SetRefEssential off the Wish List.
- Tibixe 10:29, 16 August 2006 (EDT)
Not that it also act like a return statement, it acts exactly like it and does nothing else than stops the script for the current frame.
- Reference.SetEssential really works? I must try it... I am going to make a scroll with your code, test it on an NPC, and see what happens... I bet it will duplicate forever (if it compiles)
- Tibixe 10:46, 16 August 2006 (EDT): I displays an error message:
Line 8,(the setessential is here) Missing parameter ActorBase.
- Just as I expected. I think we need that SetRefEssential :)
I've got an image of the script and the error message, if you think I made a mistake...
- Dragoon Wraith TALK 12:16, 16 August 2006 (EDT): Ah, you are correct, I screwed up that script (silly of me). And the idea isn't that SetEssential works on references - it's that CreateFullActorCopy creates a new object, not a new reference.
- Try this script, instead (make it a spell, easier testing):
scn EssentializationScript short state ref copy Begin ScriptEffectUpdate ;same as GameMode if ( state == 0 ) set copy to CreateFullActorCopy set state to 1 elseif ( state == 1 ) set state to 2 copy.SetEssential elseif ( state == 2 ) Disable endif End
- If SetEssential is a return, it won't matter here, since no code needs to run after SetEssential runs (the disable will run on the next frame). I hope that clears things up?