|
[trigger]
Fire Missile
选项:动作
返回类型:(无)
参数
Location = 无点 <点>
Height = 0.0 <实数>
zVelocity = 0.0 <实数>
xVelocity = 0.0 <实数>
yVelocity = 0.0 <实数>
Missile Type = 无游戏链接 <游戏连接 - 单位>
Missile Effect = 无游戏链接 <游戏连接 - 效果>
语法文本: Fire Missile(Location,Height,zVelocity,xVelocity,yVelocity,Missile Type,Missile Effect)
提示文本: Pew pew pew pew
自定义脚本代码
局部变量
stillActive = true <布尔>
Bullet Unit = 无单位 <单位>
Temp Unit = 无单位 <单位>
Temp Point = 无点 <点>
Collision Radius = 0.5 <实数>
动作
单位 -为玩家1 在Location创建1个面向((点(xVelocity,0.0))到(点(0.0,yVelocity))之间的角度)度(忽略放置区)的Missile Type
单位 -使Bullet Unit面向(玩家 1 的当前镜头横摇值)保持0.0秒
变量 -设置Bullet Unit = (上一次创建的单位)
单位 -在0.0秒内,将Bullet Unit的高度改为(Height-(在Location的空中高度))
综合 -While (条件) are true, do (动作)
条件
(Bullet Unit为活体状态)==true
stillActive==true
动作
综合 -等待Refresh Rate游戏时间秒
变量 -设置Location = (Location偏移((xVelocity*Refresh Rate),(yVelocity*Refresh Rate)))
单位 -立即将Bullet Unit移动到 Location(混合)
变量 -设置zVelocity = (zVelocity+Gravity)
变量 -设置Height = (Height+(zVelocity*Refresh Rate))
单位 -在0.0秒内,将Bullet Unit的高度改为(Height-(在Location的空中高度))
区域 -移动Collision Region到Location
单位组 -为(在Collision Region内与玩家1拥有同盟敌人,并且匹配不包括: 发射物, 死亡的, 隐藏的的单位,最多有任意数量个)中的每一个单位Temp Unit执行(动作)
动作
变量 -设置Temp Point = (Temp Unit的位置点)
变量 -设置Collision Radius = ((Temp Unit的单位类型)半径)
综合 -If (条件) then do (动作) else do (动作)
If
(Temp Unit的单位类型)!=Missile Type
Temp Unit!=PlayerUnits[0]
(+(((-((Temp Point的X),(Location的X))) ^ 2.0),((-((Temp Point 的 Y),(Location 的 Y))) ^ 2.0),((-(Height,((在Temp Point的地面高度)+(Temp Unit的高度)))) ^ 2.0),0.0))<=Collision Radius
Then
变量 -设置stillActive = false
环境 -在Temp Unit身上创建由PlayerUnits[0]所施放的Missile Effect
Else
综合 -If (条件) then do (动作) else do (动作)
If
Or
条件
(Location的X)<=MinX
(Location 的 Y)<=MinY
(Location的X)>=MaxX
(Location 的 Y)>=MaxY
Height<=(+((在Location的地面高度)))
Then
变量 -设置stillActive = false
Else
单位 -杀死Bullet Unit
[/trigger] |
|