|
|

楼主 |
发表于 2020-7-16 11:15:45
|
显示全部楼层
脚本没有发完全,以下:
import weather
import utility
import game
;======================================================================================;
; PROPERTIES /
;=============/
Float Property CastHeight = 256.0 auto
Float Property fBaseRandom = 512.0 auto
Float Property fBaseTime = 1.0 auto
Float Property SpellRadius = 2000.0 auto
activator property PlacedActivator auto
Spell property SpellRef auto
;======================================================================================;
; VARIABLES /
;=============/
objectReference ActivatorRef3
bool KeepUpdating = true
Actor CasterActor
Actor TargetActor
Float PosX
Float PosY
Float PosZ
Float TPosX
Float TPosY
Float TPosZ
Actor player
;======================================================================================;
; EVENTS /
;=============/
Event OnEffectStart(Actor Target, Actor Caster)
CasterActor = Caster
TargetActor = Target
ActivatorRef3 = TargetActor.placeAtMe(PlacedActivator)
PosX = TargetActor.GetPositionX()
PosY = TargetActor.GetPositionY()
PosZ = TargetActor.GetPositionZ()
ActivatorRef3.SetPosition(PosX,PosY,PosZ)
Game.GetCombatTarget
PosZ = (PosZ + CastHeight)
ActivatorRef3.SetPosition(PosX,PosY,PosZ)
ActivatorRef3.SetAngle(0,0,0)
RegisterForSingleUpdate(0.5)
EndEvent
Event OnUpdate()
Actor Enemy = Game.FindRandomActorFromRef(CasterActor, SpellRadius)
If Enemy == none
elseIf Enemy != CasterActor && Enemy.Ishostiletoactor(CasterActor) && Enemy.Isdead() != 1 && ActivatorRef3.isdisabled() != 1
SpellRef.remotecast(ActivatorRef3, CasterActor, Enemy)
endif
RegisterForSingleUpdate(fBaseTime)
endEvent
Event OnEffectFinish(Actor Target, Actor Caster)
if ActivatorRef3 != none
ActivatorRef3.disable()
ActivatorRef3.delete()
endif
EndEvent |
|