魔兽地图编辑器简单教程

第四天,上帝说:"让天上有光体,以便区分白天和黑夜,确定季节、日期和年份。并让天上的光普照大地。"于是上帝造出一大一小的光体,大的管白天,小的管黑夜。然后,上帝又造了群星,并把光体和群星一起放在天空中普照大地。于是天空中有了太阳、月亮和星辰。
第四天 触发器的使用
触发器是事件编辑器的精髓所在,游戏中多样的任务、不同的事件、胜利/失败的条件、天气的变化等等这些全部都是触发器的功劳。
触发器由三个部分组成,事件、条件、动作。

事件:或称为触发事件,顾名思义,就是当某个事件发生的时候就运行触发器。

条件:判断是否达到指定的条件,如果没有达到条件将不执行动作。可以留空,表示直接执行动作。一般来说,条件越多越容易出错,所以尽量只使用一两个条件。

动作:条件通过后所要做的事情。

我用个简单例子来说明,比如一个英雄进入地区后游戏胜利,那么就要这样设置。

事件:一个单位进入地区
条件:判断单位是一个英雄为Turn
动作:游戏胜利。

在每个新建地图中都会有个叫做初始化的类,其中有个叫做对战初始化的触发器,它设定了每张地图默认的初始设置,其中包括:
Use melee time of day (for all players) - 启用默认的游戏中开始时间。
Limits Heros to 1 per Hero-type (for all players) - 限制玩家同一种英雄只能生产一名。
Hero trained Heroes a Scroll of Town Portal (for all players) - 给英雄一个传送卷轴。
Set starting resources (for all players) - 设置起始资源,给每个玩家分配一开始拥有的资源。
Remove creeps and critters from used start locations (for all players) - 移除开始点附近的野生单位、障碍物等。
Create starting units (for all players) - 在开始点上创建玩家开始对战游戏需要的主基地和工人
Run melee AI scripts - 让所有计算机玩家执行对战游戏人工智能。
Enforce victory/defeat conditions - 使用默认的胜利失败条件,所有建筑物被破坏即失败。

如果不需要,删除掉它们就可以了,事实上大部分RPG地图都不需要这些条件。

触发器的所有指令都是英文的,不过没关系,我专门为此制作了一个中英对照表,并在其中做了简要说明。请参阅附录:触发器中英对照表。

除此之外,触发器中还有很多函数,例如:"Last Created Unit",最后创建的单位。合理运用这些函数也是非常重要的,在触发器的使用中将会大量使用到这些函数。

触发器的使用是千变万化的,本章我介绍一些常见的例子,希望你能够举一反三,了解触发器的使用。

注意:类可以用中文命名,注释也可以用中文命名,但触发器不能用中文命名!




Events 事件指令中英对照
指 令 说 明
Map Initialization 地图初始化
Destructible Doodad - Destructible Doodad Dies 可破坏物体被摧毁
Destructible Doodad - Within Region Dies 在区域中被摧毁
Dialog - Dialog Button Click 按下对话按钮
Game - Time Of Day 游戏中时间
Game - Value Of Real Variable 实数变量Real数值
Game - Load 读取
Game - Save 保存
Game - Hero Abilities Button Clicked 按下英雄升级技能按钮
Game - Build Structure Button Clicked 按下建造按钮
Player - Chat Message 聊天信息
Player - Cinematic Skipped 跳过电影
Player - Selection Event 选择事件
Player - Keyboard Event 键盘事件
Player - Properties 资源
Player - Alliance Change(Any) 同盟改变 (任何)
Player - Alliance Change(Specific) 同盟改变 (指定)
Player - Victory 胜利
Player - Defeat 失败
Time - Time Elapsed 时间经过
Time - Periodic Event 周期性事件
Time - Timer Expires 计时器过期
Unit - Specific Unit Event 特定单位事件
Unit - Player-Owned Unit Event 拥有单位事件
Unit - Generic Unit Event 一般单位事件
Unit - Unit Enters Region 单位进入区域
Unit - Unit Leaves Region 单位离开区域
Unit - Unit Within Range 单位在范围中
Unit - Life 生命
Unit - Mana 法力

Conditions 环境指令中英对照
指 令 说 明
Boolean Comparison 布尔值Boolean判断
Ability Comparison 技能判断
Destructible Comparison 可破坏物体判断
Destructible-Type Comparison 可破坏物体类型判断
Dialog Button Comparison 对话按钮判断
Game Difficulty Comparison 游戏难度判断
Game Speed Comparison 游戏速度判断
Hero Skill Comparison 英雄技能判断
Integer Comparison 整数Integer判断
Item Comparison 物品判断
Item-Class Comparison 物品种类判断
Item-Type Comparison 物品类型判断
Melee AI Comparison 多人对战AI判断
Order Comparison 命令判断
Player Comparison 玩家判断
Player Color Comparison 玩家颜色判断
Player Controller Comparison 玩家控制判断
Player Slot Status Comparison 玩家在线状态判断
Race Comparison 种族判断
Real Comparison 实数Real判断
String Comparison 字符串String判断
Tech-Type Comparison 科技类型判断
Trigger Comparison 触发器判断
Unit Comparison 单位判断
Unit-Type Comparison 单位类型判断
And 与
Or 或
And, Multiple Conditions 与,多个条件
Or, Multiple Conditions 或,多个条件

Actions 动作中英对照
类 型 名 称 说 明
普通 一些基本的未分类指令
AI AI 设定计算机控制的单位的人工智能
Animation 动画 单位所能做出的动作
Camera 镜头 设定摄像机的位置及改变方式
Cinematic 电影 设定游戏中即时演算的过场动画
Countdown Timer 倒数计时器 又称定时器或计时器,用于倒数计时或定时发生事件
Destructible Doodad

可破坏的 设定可破坏物体的状态
Dialog 对话 设定对话框的显示/隐藏、标题、按钮、内容及清除
Environment 环境 设定天气和环境
Floating Text 飘浮文字 可以飘浮在屏幕上任何位置的文字
Game 游戏 设定游戏相关属性
Game Cache 游戏缓存 将对象当前状态储存在文件中,可用于其他地图调用
Hero 英雄 设定英雄的所有状态
Item 物品 设定物品的使用及状态
Leader Board 排行榜 悬浮在右上角的文本框
Melee Game 对战游戏 设顶多人对战游戏的初始状态
Neutral Building 中立建筑 设定中立建筑的状态
Player 玩家 设定玩家拥有单位的属性及状态
Player Group 玩家组 设定玩家组中各个玩家的属性及状态
Quest 任务 设定任务提示窗口及主次任务
Region 地区 设定规划区域内触发的事件及环境
Selection 选择 设定选择选项
Sound 声音 设定游戏进行中声音的控制
Special Effect 特效 设定显示特效
Trigger 触发器 设定触发器的状态
Unit 单位 设定单位的属性及状态
Unit Group 单位组 设定单位组的属性及状态
Visibility 可见 设定区域可见模式

普通指令中英对照
指 令 名 称 说 明
Do Nothing 无所事事 不做任何动作
Comment 注释 仅用做分隔及说明
Custom Script 定制脚本 自定义脚本
Wait 等待 等待指定秒数后执行
Wait (Game-Time) 等待(游戏时间) 等待游戏中时间后执行
Wait For Condition 等待条件 等待条件满足后开始计时
Wait For Sound 等待音乐 等待音乐播放完毕后开始计时
Set Variable 设置变量 为变量赋值
Skip Remaining Actions 跳过余下动作 不再执行此动作以下的所有动作
If / Then / Else, Multiple Functions 如果/然后/否则,多函数 if条件成立then执行动作else执行另一动作,多个函数
If / Then / Else 如果/然后/否则 if条件成立then执行动作else执行另一动作
For Each Integer A, Do Multiple Action 判断Integer A,循环执行多个动作 以实数A循环执行多个动作,相当于For A=x to y do
For Each Integer B, Do Multiple Action 判断Integer B,循环执行多个动作 以实数B循环执行多个动作,相当于For B=x to y do
For Each Integer Variable, Do Multiple Action 判断Integer变量,循环执行多个动作 以实数变量循环执行多个动作,相当于For 变量=x to y do
For Each Integer A, Do Action 判断Integer A,循环执行动作 以实数A循环执行动作,相当于For A=x to y do
For Each Integer B, Do Action 判断Integer B,循环执行动作 以实数B循环执行动作,相当于For B=x to y do
For Each Integer Variable, Do Action 判断Integer变量,循环执行动作 以实数变量循环执行动作,相当于For 变量=x to y do

AI 人工智能指令中英对照
指 令 名 称 说 明
Start Melee AI Script 开始多人对战AI脚本

设定计算机玩家使用多人对战AI模式
Start Campaign AI Script 开始战役AI脚本 设定计算机玩家使用战役AI模式
Send AI Command 发送AI命令 对计算机玩家发出AI指令
Ignore Unit Guard Position 忽略单位警戒位置 忽略单位的警戒位置,不能用于英雄与工人
Ignore All Unit Guard Positions 忽略所有单位警戒位置 忽略所有单位的警戒位置,不能用于英雄与工人
Recycle Unit Guard Positions 重生单位警戒位置 重新产生单位的警戒位置
Lock Guard Positions 锁定警戒位置 锁定警戒位置

Animation 动画指令中英对照
指 令 名 称 说 明
Play Unit Animation 播放单位动画 使单位做出指定动作
Play Unit Animation (Specify Rarity) 播放单位动画 (出现几率) 设定单位做出指定动作的几率
Queue Unit Animation 系列单位动画 播放单位的系列动画
Reset Unit Animation 重设单位动画 使单位动作恢复默认值
Add/Remove Unit Animation Tag 增加/移除单位动画 增加/移除单位的动画
Lock Body-Part Facing 锁定头部/胸部面向 使单位头/胸部分面向指定位置或单位
Reset Body-Part Facing 重置头部/胸部面向 恢复单位为普通的面向
Change Unit Size 改变单位大小 按百分比改变单位的长度、宽度、高度
Change Unit Vertex Coloring 改变单位顶点着色 按百分比改变单位Red/Green/Blue通道与透明度
Change Unit Animation Speed 改变单位动画速度 按百分比改变单位的动画播放速度
Change Unit Turn Speed 改变单位移动速度 改变单位移动的速度,数值范围0.00-1.00
Change Unit Blend Time 改变单位转向速度 改变单位的转向速度
Change Unit Flying Height 改变单位飞行高度 改变单位的飞行高度与飞行速率
Change Unit Prop Window Angle 改变单位支持窗口角度 改变单位支持窗口的显示角度
Play Destructible Doodad Animation 播放可破坏物体动画 播放可破坏物体的指定动画
Queue Destructible Doodad Animation 系列可破坏物体动画 播放可破坏物体的系列动画
Play Animation For Doodads In Region 播放矩形区域内物体动画 播放在矩形区域内的同类可破坏物体的指定动画
Play Animation For Doodads In Circle 播放圆形区域内物体动画 播放在圆形区域内的同类可破坏物体的指定动画


相关文档
最新文档