when i say, "before a fix", i mean immediately preceding one of these - "->"
i freely admit my ignorance on how MW compiles its scripts, but i do find it quite odd, with my rudimentary knowledge of compiling and related tasks, that quotes around a reference take up room for pointers. yet, according to the results of my experience, this is the only conclusion that i can draw.
if you can find some other reason for this behavior, i'll gladly revise my work, it bugs me i had to write my MWSE scripts in a different "style" than my usual scripts.
i freely admit my ignorance on how MW compiles its scripts, but i do find it quite odd, with my rudimentary knowledge of compiling and related tasks, that quotes around a reference take up room for pointers. yet, according to the results of my experience, this is the only conclusion that i can draw.
if you can find some other reason for this behavior, i'll gladly revise my work, it bugs me i had to write my MWSE scripts in a different "style" than my usual scripts.
They shouldn't, which makes the whole thing highly unusual. I know for a fact that using "player"->Stuff works in regular and MWSE scripts. It's possible it was interacting with something else and breaking the VM or MWSE, but how... odd odd.
Slightly OT. But Pythons nonsense?
Not a fan of its syntax.
Remember, OnActivate is a function, not a variable. Unlike a variable you cannot set a functions value. Also the value of OnActivate is 1 for exactly one frame when the player actives the object.
If you want to use OnActivate more than once or store it for some odd reason, just do:
Set wasActivated To OnActiiveif ( wasActivated ) ...
That will store the value and let you work with it as you like (including resetting it part way through your script).
Edit: Oh, and there's also a bug with the default MWScript compiler (CS), where you can start a block with elseif (or possibly else) and it won't give any errors, but can break in the game. Be careful with that.