Originally Posted by FrauBlake
Character scripts stop working when you're too far away from a character.

That is correct, but you can disable this for individual characters (and hence all behaviour scripts attached to them) via the CharacterForceUpdate() call in a behaviour script: CharacterForceUpdate(1) to keep it active at all times, and CharacterForceUpdate(0) to revert to the default behaviour.

There's a call from Osiris that does the same: CharacterForceSynch(). Note, however, that CharacterForceSynch(_Char,1) by itself does not make a character active. It only ensures that once it becomes active, it does not become inactive again. Therefore, if you use this call from Osiris, you should afterwards send an event that is caught by the target character so that it becomes active (events are always caught by all characters/items, even inactive ones).