Complete Example Scripts: Difference between revisions

Jump to navigation Jump to search
imported>Threedee
imported>Threedee
Line 641: Line 641:
Event OnUpdate()
Event OnUpdate()
     if !SpawnNode
     if !SpawnNode
        CurrentTarget = Game.FindClosestReferenceOfAnyTypeInListfromRef(TargetTypeList,Self,SeekRange)
; find something nearby to shoot at if we're not making our own target.
; find something nearby to shoot at if we're not making our own target.
if !TargetTypeList && GetDistance(Game.GetPlayer()) < SeekRange ; No list given, Default to the player.
if !TargetTypeList && GetDistance(Game.GetPlayer()) < SeekRange ; No list given, Default to the player.
CurrentTarget = Game.GetPlayer()
CurrentTarget = Game.GetPlayer()
endif
elseif TargetTypeList
                CurrentTarget = Game.FindClosestReferenceOfAnyTypeInListfromRef(TargetTypeList,Self,SeekRange)
        endif
     else
     else
         CurrentTarget.MoveTo(Self, XOffSet+(RandomFloat(0.0,RandomOffsetX)-RandomOffsetX/2 ), \
         float newXOffset = XOffSet + RandomFloat(0.0, RandomOffsetX / 2)
            YOffSet+(RandomFloat(0.0,RandomOffsetY)-RandomOffsetY/2), \
        float newYOffset = YOffSet + RandomFloat(0.0, RandomOffsetY / 2)
            ZOffSet+(RandomFloat(0.0,RandomOffsetZ)-RandomOffsetZ/2))
        float newZOffset = ZOffSet + RandomFloat(0.0, RandomOffsetZ / 2)
        CurrentTarget.MoveTo(Self, newXOffSet, newYOffSet, newZOffSet)
     endif
     endif
     Zap.Cast(Self,CurrentTarget)
     Zap.Cast(Self,CurrentTarget)
     RegisterForSingleUpdate(PulseRate+RandomFloat(0.0,RandomRate))
     RegisterForSingleUpdate(PulseRate + RandomFloat(0.0, RandomRate))
EndEvent
EndEvent
</Source>
</Source>
Line 665: Line 667:


*If you want it to look for targets nearby, set SpawnNode to false and put a formlist of the valid targets in the TargetTypeList. If no Formlist is given, it will default to trying to shoot the player.
*If you want it to look for targets nearby, set SpawnNode to false and put a formlist of the valid targets in the TargetTypeList. If no Formlist is given, it will default to trying to shoot the player.


= Script for a quest with time limit =
= Script for a quest with time limit =
Anonymous user

Navigation menu