当前位置:文档之家› 魔兽地图制作教程

魔兽地图制作教程

魔兽地图制作教程.txt用快乐去奔跑,用心去倾听,用思维去发展,用努力去奋斗,用目标去衡量,用爱去生活。钱多钱少,常有就好!人老人少,健康就好!家贫家富,和睦就好。魔兽地图制作教程-新手指南


魔兽地图制作教程——指南

魔兽地图制作教程——基础刷兵

基础刷兵方式解说

因为涉及到触发.所以大家也需要对触发有一点了解.可以看死蚊子关于触发的说明.这次要说的是如何刷兵.虽然在置顶帖上有了.但是因为是用英文版的.而对讲解的比较含糊(个人认为).新人不容易学习.所以我自己也写了一份.触发以事件.环境.动作三大部分组成.而事件就是一件事的起点.如果事件没有设定好.下面的内容就不会执行.既然以刷兵为目的.常用的像守护类地图.以时间来刷兵.而有些RPG地图.以进入区域刷兵.这个按需要来定.而我这次解说的.是以单位死亡为事件来进行刷兵.就好像这个单位死亡了.然后再刷同类型的单位来.也是刷兵方式的一种.既然确定了事件.所以我们的事件就可以这样写:

事件:
单位 - A unit death

然后是环境部分.环境就是条件.我们需要确定什么样的条件呢.打个比方.如果有红蓝两个阵营.而你希望红色的阵营单位死亡后消失.而蓝色的单位死亡后会复活(刷兵).也就是说可以判断单位是否是蓝色玩家的.于是环境这样写(当然环境也可以不写):

环境:
(Color of (Owner of (Triggering unit))) 等于 蓝色


然后就是动作了.如果发生了事件.一个单位死亡了.然后确定这个单位是蓝色的.于是我们就可以执行我们的刷兵动作了.那么这个动作你需要写什么呢.如果说需要蓝色死亡的单位类型的话.那么可以写成:

动作:
单位 - Create 1 (Trained unit-type) for 玩家 2 (蓝色) at (Center of (Playable map area)) facing 默认的建筑朝向 degrees

这个触发会创造一个类型和你死亡的单位一样的单位给蓝色的玩家(也就是我们需要刷兵的玩家)在指定的区域.这个区域是可以更改的.默认的是可玩的区域的中心.一般是地图中心.也可以是地区.这个就需在你地图上指定一个地区.比方我画了一个区域.命名为TX.然后你就可以写成:

动作:
单位 - Create 1 (Trained unit-type) for 玩家 2 (蓝色) at (Center of TX <情报>) facing 默认的建筑朝向 degrees

如果想把创造的单位直接在单位死亡的位置复活.那么只要把 (Center of (Playable map area)) 部分改成 (Position of (Triggering unit)) .这样子创造的单位就可以直接在单位死亡的位置复活.同样可以应用到物品掉落的情况.

再接着就是单位的朝向度.默认的应该是270度吧.这个可以由你自己定.就是创造的单位面对的方向.做好这些步骤一个基础刷兵的触发就

做好了.而刷兵其实涉及到不少的东西也有很多种方式.像前面说的.创造1个.这个1就是刷出来的单位的数量.可以由你来调整.而后面的触发单位.其实就是刷出的单位的类型.可以直接选择或使用变量(比较深一点了).而为了玩家2 (蓝色).就是这个刷出来的单位的归属问题.可以刷给玩家.也可以刷给中立敌对 (玩家13) 之类的电脑控制玩家.而区域不但可以在指定的地区还可以指定在”触发单位的位置”等.这个看需要而定.后面的 中心 .是可以更改的.可以在这个区域的某一个偏移位置或者随机点.角度这个情况并不严重.影响也不大.随自己高兴而更改.



魔兽地图制作教程——触发教程

触发教程


首先解释TRIGGER的概念,在详细解释前先看这么一个例子:“有一个花园,里面有一只狗,除了这只狗的主人以外,任何其他人进入花园就会被狗咬。”
不难看出这个例子一共由2大部分组成,1个是参与者,1个是事件。
先看看参与者是哪些,也就是如果要让例子里面的事件发生,必须有哪些东西。首先,事件发生的场地是花园,其次事件的主角是人,最后配角是狗,当然主角配角什么的各位也不必搞那么清楚,只要知道这个事件的参与者是花园,人,狗就可以了。
接着是看看发生了什么事件,分几个步骤,首先如果没有人进入花园就什么也不会发生,那么整个事件的开端就是一个人进入花园。接下来即使有人进入了花园,但是如果那个人是狗的主人,那么狗也什么都不会做,所以发生“狗咬人”事件的必要条件就是进入的人不是狗的主人。最后,如果以上2点都满足了,那么进入的人就会被狗咬啊那个被狗咬(狗:嘿嘿,没错,被咬~),所以这个事件的结果就是狗咬进入的人。
通过以上的例子,大家应该看出来,一个事件是由参与者来执行的,而事件本身是由开端,必要条件,结果3部分组成的。
好了,回到上面的例子,在WE(World Editor-世界编辑器)里面,一个事件通常被成为一个trigger(触发),而参与事件的东西称做object"对象“而事件的开端被称为event“开端”,必要条件称为condition“条件”,事件结果被称为action“动作”。那么现在上面那个例子就可以写成这个样子了:
events
一个人进入花园

conditions
进入的人不是狗的主人

actions
狗咬进入的人

现在根据上面这个改造版的事件来说明一个trigger各部分的具体含义,首先在events中出现了“人”和“花园”2个object,在WE中,类似“人”这种object,被称做unit“单位”,在魔兽中,步兵啊,生命之树啊,恶魔猎人啊,统统属于unit这个类别。而说到花园这个东西,首先要明白

“人”进入的是1个区域,而这个区域在以上例子里面就是这个花园,所以花园,峡谷,房间或者什么都没有就一片空地等类似的让unit可以enter“进入”的玩意,被叫做region“区域”。
所以上面的event现在可以写成:
a unit enters REGION_花园(一个单位进入“花园”)
其次来看看condition:“进入的人不是狗的主人”,这在WE里面是一个单位的判断,也就是说看看entering unit“进入的单位”到底是不是狗的主人这个特定的单位,那么这个condition就可以写成这样了:
entering unit not equal to UNIT_狗的主人(进入的单位不是“狗的主人”)
最后来看看action部分——“狗咬进入的人”,那么这句话的具体含义就是给狗下达了一个命令,这个命令的目标是“进入的单位”,命令的内容是“攻击”。所以这个action应该写成这样:
order UNIT_狗 to attack entering unit(命令狗攻击进入的单位)
最后把以上3部分综合起来,就成了这样的:
events
a unit enters REGION_花园

conditions
entering unit not equal to UNIT_狗的主人

actions
order UNIT_狗 to attack entering unit

那么让我们在WE里面实现上面这个trigger吧~~
在WE里按F4打开trigger编辑面板,把Initialization-Melee Initialization这个trigger里面除了的Melee game-Use melee time of day(for all player)这个actions以外的所有其他actions全部删除,那些actions是为melee设计的,在目前我们要做的地图里面没用。接着左上方点白色方块图标来创建一个新的trigger。


新建好的trigger会自动命名为untitled trigger 001,你可以通过点击—F2的方法修改名字。点击上中的红旗(不要告诉我你找不到.很好找的),创造一个新的事件,然后选择unit-unit enter regions,这时候会出现一个对话框。


我们要选择一个区域,这个区域相当于“花园”,点击红色的region,接着在跳出的面板中点击select a region,接着会跳回地形编辑界面,按一下空格键使区域面板左上的那个方形按钮处于按下的状态,按住鼠标左键并且拖动鼠标在地图上拉出一个方形的框,然后放开鼠标左键,还可以点击四个角拖动进行放大缩小。


这个时候一个区域就创建好了(直接打开区域面板的方法是在地形编辑界面中按R),按下空格使区域面板左上的那个方形按钮处于弹起状态,点一下刚才创建的区域区域,这样就在event中选定创建的区域了,接下来连点2次OK,这样这个trigger的enevt就创建好了。然后在地形面板中按R,双击刚才选定的区域,将之改名为“HuaYuan”(注意,region的名字不能输入中文)


这时候所创建的event应该是:
events
Unit - A unit enters HuaYuan
这里的只是一个识别符号,没有

特殊意义,可以不去管它。
接着是condition,在trigger面板中按鼠标右键,选择new coditions,然后选择unit comparison,接着点击triggering unit,在下拉菜单中将之改为entering unit。
点击equal to将之改为not equal to
点击value,再点select a unit,在出现的单位面板中选择山丘之王,在地图上点一下创建一个山丘之王(注意,按ctrl+R打开查看region的功能,确保山丘之王没有被放在刚才创建的region-"HuaYuan"里面),然后按下空格关闭创建单位,再点一下创建好的的山丘之王,这样就在condition里面选中山丘之王了。

连续点OK2次,这时候的condition应该是这样的:
conditions
(Entering unit) Not equal to 山丘之王0000
山丘之王后面的数字是单位的编号,不用去管它。这时候conditions也创建完毕~~呼呼,好累,打字手打肿了………………
最后只有actions啦,有了以上的经验,我就不那么详细介绍了,过程是这样的:new action - unit - issua order targeting a unit - order “幽灵狼”(和山丘之王创建方法相同,只不过创建在“HuaYuan”内而已) to Attack Entering unit。这样创建好的action应该是这样:
actions
Unit - Order 幽灵之狼 (等级1) 001 to Attack (Entering unit)

最后,在unit editor里面把山丘之王的名字改成“主人”,幽灵狼的名字改成“狗”,再把“HuaYuan”这个区域铺上草,在区域外面放些unit就ok啦(打开unit面板的快截键是U),按ctrl+F9测试一下吧~~,怎么样除了“主人”以外的所有unit进入“花园”都要被“狗”K吧。遇到什么问题参照给出的演示自己修改吧~

不知道大家能否看得懂



魔兽地图制作教程——触发技能

面向初级的Trigger技能教程

此教程适合对WE有一些了解的人,所以不会对所有的命令全部加以解释,自学为主!
先介绍一下TRIGGER

TRIGGER在这里的中文意思就是触发器,每个TRIGGER包括3个部分:EVENT、CONDITION、ACTION,也就是常用的ECA机制:事件、条件、动作。

EVENT:事件,说明该TRIGGER在什么情况下会被触发,例如Unit - A unit Dies(单位死亡), Unit - A unit Acquires an item(单位获得道具),等等,都是触发事件

CONDITION:条件,也可以说是环境,用来判断TRIGGER在触发后是否满足一定的情况,例如 (Triggering unit) Equal to Hero(触发单位等于Hero,这里的Hero是Unit类的变量,当触发单位等于Hero时,将返回True,触发器将被触发,反之则不被触发),条件可以是复数的,用And或Or来决定条件之间的关系

ACTION:动作,就是在触发器触发后该执行的动作,例如 Unit - Move (Triggering unit) instantly to (Center of (Playable map area)) (将触发单位移动到地图中央),Unit - Add Bl

oodlust to (Triggering unit) (将嗜血技能添加给触发单位)等等,这个是触发器中可变性最强的地方,所有你想到的东西都将能在这里实现 .

相关主题
文本预览
相关文档 最新文档