[新手教学]最傻瓜化的刷兵和攻击演示

[SC2论坛] [已跟帖]2013-9-24 10:29:02 作者: 来源:GA

    SC2的AI控制函数比War3强大多了。所以很多刷兵和攻击只需要两三条刷兵操作就能由AI代劳。

    用war3触发器做过刷兵和进攻的同学可能都遇到过这样一个问题。由于命令用的是攻击-移动。结果半路上部队被人晕了什么的,直接就会导致单位呆在原地不继续前进什么的。需要每隔一段时间重复发布攻击命令才行。而采用AI的强智能化的AI的话就没有这样的问题。

    我这里就以“大贤良师”同学提的刷兵问题为基础做一个最傻瓜化的刷兵及攻击的演示。

    “大贤良师”希望做出这样的效果。开始游戏10秒后电脑刷100只小狗,然后进攻你的基地。当小狗数量小于X以后,那么就刷下一波100只。无限这样下去只到你的指挥中心被推掉。

    以下是步骤,总共只需要三道触发器:

    在地图初始化时,先为电脑玩家开启AI。注意要是不开启AI的话以下的命令全部都是没用的。这里是开启战役AI。

    [trigger]

    对战初始化

    Events

    Game - Map initialization

    Local Variables

    Conditions

    Actions

    AI - Start the campaign AI for player 2

    [/trigger]

    为了照顾简体中文版的玩家。我也贴下简体中文版本:

    注意这个触发器和上面那个触发器是同一个触发器。只是一个是英文版,一个是中文版。下同。

    [trigger]

    对战初始化

    事件

    游戏 -地图初始化

    局部变量

    条件

    动作

    AI -为玩家2启用战役AI

    [/trigger]

    然后我们做个简单的游戏失败设定:

    也就是当指挥中心死亡时,游戏就告失败。具体的失败条件大家可以随便填。

    [trigger]

    游戏失败

    Events

    Unit - Logistics Headquarters [72.50, 97.50] dies

    Local Variables

    Conditions

    Actions

    Game - End game in Defeat for player 1 (Show dialogs, Show score screen)

    [/trigger]

    [trigger]

    游戏失败

    事件

    单位 -后勤总部 [72.50, 97.50]死亡

    局部变量

    条件

    动作

    游戏 -为玩家1以战败结束游戏(显示对话,显示得分画面)

    [/trigger]

    然后,最主要的是第三个触发器:

    我会对这个触发器的每一条动作作逐一讲解。

    [trigger]

    Spawn & Attack

    Events

    Timer - Elapsed time is 10.0 Game Time seconds

    Unit - Any Unit dies

    Local Variables

    Conditions

    (Number of Living units in AttackingGroup) <= X

    Actions

    Debug - Display "新的一波跳虫来袭!" as debug output using Type 1, and Do display it in the game window

    Unit - Create 100 Zergling (Burrowed) for player 2 at 跳虫刷新点 facing 270.0 degrees (No Options)

    Variable - Set AttackingGroup = (Any units in (Entire map) owned by player 2 matching Excluded: Missile, Dead, Hidden, with at most Any Amount)

    AI - Add AttackingGroup to the next attack wave for player 2

    AI - Set the target for player 2 attack waves to Logistics Headquarters [72.50, 97.50]

    AI - Send the attack wave from player 2 to attack in 0 seconds and Don't Wait

    [/trigger]

    [trigger]

    跳虫攻击

    事件

    计时器 -已流逝时间为10.0游戏时间秒

    单位 -任意单位死亡

    局部变量

    条件

    (在跳虫数量内的活体单位数)<=X

    动作

    纠错 -显示"新的一波跳虫来袭!"为使用类型1的纠错输出,并执行在游戏窗口中将其显示

    单位 -为玩家2 在跳虫刷新点创建100个面向270.0度(无选项)的跳虫 (已潜地)

    变量 -设置跳虫数量 = (在(整张地图)内的属于玩家2的,并且匹配不包括: 发射物, 死亡的, 隐藏的的任意单位,最多有任意数量个)

    AI -为玩家2添加跳虫数量到下一个攻击波次中

    AI -将玩家2的攻击波次的目标设为后勤总部 [72.50, 97.50]

    AI -将取自玩家2的攻击波次发送到0秒后的攻击并不要等待

    [/trigger]

    其中,全局变量X为整数类型。我们可以随便指定它的值。比如说10。就代表当上一波死剩10个之后就开始刷下一波。

    而全局变量AttackingGroup为一个单位组。

上一页 [1] [2] 下一页
292
星际前锋

 5V5的团队星际热血足球比赛,只要你可以赢得比赛,你甚至可以使...

斗战英雄 - dota

 斗战英雄是一张英雄三路乱斗地图,也就是大家熟知的dota模式游戏...

不死突袭3 Undead Ass

 玩家所在的美军陆战队小队被空投到萨利姆镇,调查当地发现的小规...

异虫入侵地球-感染危

 女王大人准备入侵地球了!但地球联合理事会的部队非常强大,正面...

友情专区: DNF | 暗黑破坏神3 | 英雄联盟 | 艾尔之光 | 魔域 | cf | QQ飞车 | QQ炫舞 | nba2k | 星际争霸2 | CSGO |