魔兽地图制作教程.txt用快乐去奔跑,用心去倾听,用思维去发展,用努力去奋斗,用目标去衡量,用爱去生活。钱多钱少,常有就好!人老人少,健康就好!家贫家富,和睦就好。魔兽地图制作教程-新手指南
魔兽地图制作教程——指南
魔兽地图制作教程——基础刷兵
基础刷兵方式解说
因为涉及到触发.所以大家也需要对触发有一点了解.可以看死蚊子关于触发的说明.这次要说的是如何刷兵.虽然在置顶帖上有了.但是因为是用英文版的.而对讲解的比较含糊(个人认为).新人不容易学习.所以我自己也写了一份.触发以事件.环境.动作三大部分组成.而事件就是一件事的起点.如果事件没有设定好.下面的内容就不会执行.既然以刷兵为目的.常用的像守护类地图.以时间来刷兵.而有些RPG地图.以进入区域刷兵.这个按需要来定.小学生国旗下演讲稿而我这次解说的.是以单位死亡为事件来进行刷兵.就好像这个单位死亡了.然后再刷同类型的单位来.也是刷兵方式的一种.既然确定了事件.所以我们的事件就可以这样写
事件:
单位 - A unit death
然后是环境部分.环境就是条件.我们需要确定什么样的条件呢.打个比方.如果有红蓝两个阵营.而你希望红的阵营单位死亡后消失.而蓝的单位死亡后会复活(刷兵).也就是说可以判断单位是否是蓝玩家的.于是环境这样写(当然环境也可以不写):
环境:
(Color of (Owner of (Triggering unit))) 等于
然后就是动作了.如果发生了事件.一个单位死亡了.然后确定这个单位是蓝的.于是我们就可以执行我们的刷兵动作了.那么这个动作你需要写什么呢.如果说需要蓝死亡的单位类型的话.那么可以写成:
动作:
单位 - Create 1 (Trained unit-type) for 玩家 2 () at (Center of (Playable map area)) fa
cing 默认的建筑朝向 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部分组成的。
好了,回到上面的例子,在WEWorld Editor-世界编辑器)里面,一个事件通常被成为一个trigger(触发),而参与事件的东西称做object"对象“而事件的开端被称为event“开端”,必要条件称为condition“条件”,事件结果被称为action“动作”。那么现在上面那个例子就可以写成这个样子了:
events
一个人进入花园
conditions
进入的人不是狗的主人
actions
狗咬进入的人
现在根据上面这个改造版的事件来说明一个trigger各部分的具体含义,首先在events中出现了“人”和“花园”2object,在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 dayfor all player)这个actions以外的所有其他actions全部删除,那些actions是为melee设计的,在目前我们要做的地图里面没用。接着左上方点白方块图标来创建一个新的trigger
新建好的trigger会自动命名为untitled trigger 001,游泳烟你可以通过点击—F2的方法修改名字。点击上中的红旗(不要告诉我你不到.很好的),创造一个新的事件,然后选择unit-unit ent
er regions,这时候会出现一个对话框。
我们要选择一个区域,这个区域相当于“花园”,点击红的region,接着在跳出的面板中点击select a region,接着会跳回地形编辑界面,按一下空格键使区域面板左上的那个方形按钮处于按下的状态,按住鼠标左键并且拖动鼠标在地图上拉出一个方形的框,然后放开鼠标左键,还可以点击四个角拖动进行放大缩小。
这个时候一个区域就创建好了(直接打开区域面板的方法是在地形编辑界面中按R),按下空格使区域面板左上的那个方形按钮处于弹起状态,点一下刚才创建的区域区域,这样就在event中选定创建的区域了,接下来连点2OK,这样这个triggerenevt就创建好了。然后在地形面板中按R,双击刚才选定的区域,将之改名为“HuaYuan”(注意,region的名字不能输入中文)
这时候所创建的event应该是:
events
Unit - A unit enters HuaYuan<gen>
这里的<gen>只是一个识别符号,没有特殊意义,可以不去管它。
接着是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<gen>