Complete Example Scripts: Difference between revisions

Jump to navigation Jump to search
imported>Threedee
imported>Threedee
Line 619: Line 619:
{The actual target we're shooting at}
{The actual target we're shooting at}


Bool Property SpawnNode  Auto   
Bool Property SpawnNode = false Auto   
{Do we spawn a target? If not, zap the nearest valid target.}
{Do we spawn a target? If not, zap the nearest valid target.}


Line 632: Line 632:


Event OnInit()
Event OnInit()
    float newXOffset = XOffSet + RandomFloat(0.0, RandomOffsetX / 2)
    float newYOffset = YOffSet + RandomFloat(0.0, RandomOffsetY / 2)
    float newZOffset = ZOffSet + RandomFloat(0.0, RandomOffsetZ / 2)
     if SpawnNode && !CurrentTarget
     if SpawnNode && !CurrentTarget
         CurrentTarget = PlaceAtme(TargetType,1)
         CurrentTarget = PlaceAtme(TargetType)
         CurrentTarget.MoveTo(Self,XOffSet,YOffSet,ZOffSet)
         CurrentTarget.MoveTo(Self, newXOffSet, newYOffSet, newZOffSet)
     endif
     endif
     RegisterForSingleUpdate(PulseRate)
     RegisterForSingleUpdate(PulseRate)
Line 640: Line 643:


Event OnUpdate()
Event OnUpdate()
     if !SpawnNode
     ; 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 !SpawnNode && !TargetTypeList && GetDistance(Game.GetPlayer()) < SeekRange ; No list given, Default to the player if he is in range.
if !TargetTypeList && GetDistance(Game.GetPlayer()) < SeekRange ; No list given, Default to the player.
CurrentTarget = Game.GetPlayer()
CurrentTarget = Game.GetPlayer()
    elseif TargetTypeList
elseif TargetTypeList
        CurrentTarget = Game.FindClosestReferenceOfAnyTypeInListfromRef(TargetTypeList,Self,SeekRange)
                CurrentTarget = Game.FindClosestReferenceOfAnyTypeInListfromRef(TargetTypeList,Self,SeekRange)
        endif
    else
        float newXOffset = XOffSet + RandomFloat(0.0, RandomOffsetX / 2)
        float newYOffset = YOffSet + RandomFloat(0.0, RandomOffsetY / 2)
        float newZOffset = ZOffSet + RandomFloat(0.0, RandomOffsetZ / 2)
        CurrentTarget.MoveTo(Self, newXOffSet, newYOffSet, newZOffSet)
     endif
     endif
     if CurrentTarget  
     if CurrentTarget ; it's possible that there is no target
         Zap.Cast(Self,CurrentTarget)
         Zap.Cast(Self,CurrentTarget)
     endif
     endif
Anonymous user

Navigation menu