Scriptname defaultOwnZombie extends Actor {Put this script on an actor, and point the properties to the actors you want him to own as zombies.} ObjectReference Property ZombieRef01 auto {Point this property to the actor you want this specific reference to own as a zombie} ObjectReference Property ZombieRef02 auto {Point this property to the actor you want this specific reference to own as a zombie} ObjectReference Property ZombieRef03 auto {Point this property to the actor you want this specific reference to own as a zombie} ObjectReference Property ZombieRef04 auto {Point this property to the actor you want this specific reference to own as a zombie} ObjectReference Property ZombieRef05 auto {Point this property to the actor you want this specific reference to own as a zombie} ObjectReference Property ZombieRef06 auto {Point this property to the actor you want this specific reference to own as a zombie} EffectShader Property ReanimateFXShader auto {Should autofill with effect of the same name} Faction Property AddZombiesToThisFaction auto {Put the faction in here that you want the zombies to be a part of (so they are friends with their owner)} Bool Property HasBeenLoaded = FALSE auto hidden ;USKP 2.0.3 - Convert to OnLoad since OnCellLoad doesn't work reliably for this. EVENT OnLoad() if (HasBeenLoaded == FALSE) ; Put the effects on the owned zombies. And whatever else happens when something becomes a zombie. MakeZombie(ZombieRef01) MakeZombie(ZombieRef02) MakeZombie(ZombieRef03) MakeZombie(ZombieRef04) MakeZombie(ZombieRef05) MakeZombie(ZombieRef06) HasBeenLoaded = TRUE else ; Do nothing, since I've already been loaded endif endEVENT EVENT OnDeath(Actor akKiller) ; I've died, try to kill the zombies I own ; ;debug.Trace("DARYL - " + self + " I DIED!!!") TryToKill(ZombieRef01) TryToKill(ZombieRef02) TryToKill(ZombieRef03) TryToKill(ZombieRef04) TryToKill(ZombieRef05) TryToKill(ZombieRef06) endEVENT Function MakeZombie(ObjectReference ActorToZombify) if (ActorToZombify) (ActorToZombify as Actor).StopCombatAlarm() ;USKP 2.0.3 (ActorToZombify as Actor).RemoveFromAllFactions() (ActorToZombify as Actor).AddToFaction(AddZombiesToThisFaction) ReanimateFXShader.Play(ActorToZombify) endif endFunction Function TryToKill(ObjectReference ActorToKill) if (ActorToKill) ; ;debug.Trace("DARYL - " + self + " Attempting to kill " + ActorToKill) if ((ActorToKill as Actor).IsDead()) ; We don't need to kill them, since they are dead. ; We do need to make sure they don't have the effect on them though. ; ;debug.Trace("DARYL - " + self + ActorToKill + " Is already dead, disable his shader") ReanimateFXShader.Stop(ActorToKill) else ; They aren't dead, so kill them and remove the zombie effect. ; ;debug.Trace("DARYL - " + self + ActorToKill + " isn't dead, kill him and disable his shader") (ActorToKill as Actor).Kill() ReanimateFXShader.Stop(ActorToKill) endif endif endFunction