8539人阅读
游戏设计(17)
开发杂谈(11)
&由于最近经常打魔兽3C,又对魔兽争霸3的编辑器发生了兴趣!发现其中的&触发器编辑&很有意思。给地图编辑上各种触发器就可以实现很多功能,想必魔兽中的RPG等等很多东西都是的用这东西做的。现在我开始考虑把这种模式应用到MMORPG中。找到了一个中文的编辑器说明书,转贴到下面。---------------------------------------------
触发器编辑器是地图编辑器中最高级和最强大的部分。在触发器控制器中,用户可以控制游戏中所有的效果。这是一种非常容易理解的简单语言。但是却足够强大到足够高级用户使用。它可以通过使用键盘上的&F4&或者在模块菜单中选择触发器编辑器打开。
一个触发器包括三个部分:事件、条件和动作。一个触发器的动作在触发了事件,并满足了条件之后执行。
事件是开始处理触发器的导火线。当一个触发器的事件发生的时候,如果满足条件,则就会产生动作。在一张地图中默认的触发器是&地图载入&。这个触发器的默认条件是&地图载入&也就是这个事件将发生在地图载入完毕的时候。如果没有条件需要满足,则就会产生相应的动作。如果你想加入条件,就可以加入条件&时间--时间经过&,然后设置10秒。则动作就会发生在&地图读入&的10秒之后。
条件是触发器执行动作必须满足的条件。只有在这个条件为真的时候才能产生动作。但是如果这样设置条件&False Equal to False&将不产生任何的效果,因为它永远是成立的。默认的触发器&地图载入&是没有条件的。让我们来添加一个。按下Ctrl+D,选择&游戏速度比较&,则会弹出一个有蓝色文本的对话框。&(Current game speed) Equal to Normal.&如果保持这个条件,则&地图载入&触发器将会正常工作。但是如果你将条件中的&Normal&改为&Fastest&。则这个触发器将无法在地图编辑器中触发,因为编辑器将地图的速度设定为普通,条件变成了&Normal speed equal to Fastest speed&,这个条件不为真。
一些触发器中,事件发生后条件不一定能够满足。这样的触发器可以设定为多个事件,只有某个事件发生的时候才能够触发。
触发器真正需要的是动作(事实上,这么说并不准确。也就是说没有动作,这个触发器将对游戏没有任何的影响)。也就是说一个触发器可以在没有事件和条件的情况下运行。这可以通过设定动作&Trigger - Run (Ignoring Conditions)&来实现。触发器将在没有条件和事件的情况下进行。
动作是触发器的结果。这可以是让移动镜头、播放电影或者是让一个单位攻击另一个。动作允许被设计成完全控制游戏中的一切。
首先点击&F4&或者选择模块菜单中的触发器编辑器项,打开触发器编辑器。
在创建触发器之前,必须选择触发器放置的类别。通过在菜单中选择创建类别来创建一个类别。然后你就可以在左边的列表中看到你刚刚创建的类别。类别拥有图标,你可以在创建的时候选择类别的名字,或者之后点击&F2&进行更改。
选择你刚刚创建的类别,然后在新的菜单中选择触发器,就可以创建一个触发器。选择你刚刚创建的触发器,你就会发现触发器的右边有两个复选框:
允许 - 如果这个复选框没有被选定,则这个触发器将不产生作用。原始打开 - 如果这个复选框没有被选定,则这个触发器开始是被关闭的。只有通过动作&Trigger - Turn On&才能够打开。
在触发器的右边还有几个选项。
注解 - 这个文本区域可以填写有关处发起的注释信息。这些信息将不会影响触发器的功能,只是用来提醒您触发器的功能等信息的。触发器函数 - 这里将显示你的触发器的内容。你可以看到触发器的事件、条件和动作。你也可以在这里添加触发器的事件、条件和动作。
你可以在触发器之间,甚至是地图之间对触发器的事件、条件和动作进行复制和粘贴。你可以通过双击已经设置的事件、条件和动作,对他们进行编辑。
还有一些关于触发器的常见内容是变量、函数和预先装置。
你可以通过按下Ctrl+B或者在触发器编辑器的菜单中选择变量打开变量部分。这里的变量和BASIC或者C语言中的变量有些类似。变量是编辑者用来存放数据的一些空间。但是这里的变量只能用来存放一种数据。你不能够将整数放入这种变量中。
让一个触发器引用你预先放置在地图上的单位。也就是你想让某个单位执行动作。首先开打你想执行的动作。点击动作文本中能够被改变的部分。也就是红色或者蓝色的带下化线的文本。然后点击选择单位按钮,选择你放置在地图上的单位。你所选单位名字将会显示在变量列表中。
尝试一下这样:打开一张空白地图,放置一个兽族的苦工。然后打开触发器编辑器。使用Ctrl+G创建一个新的类别,再使用Ctrl+T创建一个新的触发器和使用Ctrl+R新的动作。然后点击&U&键选定动作&Unit - Kill&。则触发器的语法文本将显示&Unit - Kill (Triggering unit)&。点击蓝色下画线文本&(Triggering Unit)&点击按钮选择一个单位(在编辑变量按钮的左边)。选择苦工。恭喜你!你已经为地图上的苦工设置了一个触发器。所有预先放置在地图上的单位都有一个名字。
如果你对变量还有疑问,我们推荐你阅读相关的计算机书籍(C++版)。
触发器编辑器包含有很多的函数,允许用户灵活进行更加灵活的控制。函数通常和变量一起使用。一个常用函数的例子是&Last Created Unit&。这个函数允许你访问通过&Unit - Create&最后创建的单位。它是两个能够引用最后创建单位的函数之一(另一个是:&Last Created Unit Group&)。这些函数可以用来代替放在单位变量中或者用来代替已经放置在地图上的单位。注意,虽然这些函数返回值,但是你不能够让函数等于变量。但是可以让变量等于函数。
例如:你通过一个事件检测到一个英雄升级了。&Event Response - Leveling Hero&函数将会引用到那个英雄。你不能让这个函数等于其他的英雄。如果你想让某个英雄升级。可以使用这个方法:使用其他的方法检测这个英雄(例如:事?Unit - Player-Owned Unit Event& 或者条件&Unit-Type Comparison&),然后对这个英雄设置动作,诸如:&Hero - Set Level.&
预先设置是编辑器内建的一种数据。你不需要知道,除了使用它门。而且无法改变它们。例如:&Player 1 (Red).&
还有一种你经常能够修改的区域是数值区域。这些区域允许你直接输入信息。例如这些区域会出现在动作&Game - Text Message (Auto-Timed)&中。如果你点击蓝色的下画线文本。你就可以打开一个字符窗口。窗口的最后一个选项是数值。如果你想输入一个简单的信息,直接输入即可。无需再新建一个变量或者函数。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:232326次
积分:3057
积分:3057
排名:第9470名
原创:68篇
评论:81条
(1)(1)(1)(1)(1)(3)(2)(2)(3)(16)(2)(4)(2)(6)(8)(3)(3)(1)(4)(5)我在触发器里创建了30个步兵(在区域1),然后命令(最后创建的单位)移动到区域2,为什么只能有一个到区域2啊?怎么才能让所有被创建的步兵同时到另一个区域啊???
还有,谁能给我一个制作守城地图的视频教程?
条件:
有记时器(倒计时,完成后在某某区域里创建几个步兵,然后又重新记时。)
排行榜(逃跑单位数量到达100时,失败。)
把那些剑圣(还有其他单位)变成建筑(即防御塔,可以攻击天上、地下等)。
每杀完一轮后,出现升级提示,并且说等级多少、难度多少、数量多少、每只带有金钱多少等。
这里,一百分的悬赏金送给最
我在触发器里创建了30个步兵(在区域1),然后命令(最后创建的单位)移动到区域2,为什么只能有一个到区域2啊?怎么才能让所有被创建的步兵同时到另一个区域啊???
还有,谁能给我一个制作守城地图的视频教程?
条件:
有记时器(倒计时,完成后在某某区域里创建几个步兵,然后又重新记时。)
排行榜(逃跑单位数量到达100时,失败。)
把那些剑圣(还有其他单位)变成建筑(即防御塔,可以攻击天上、地下等)。
每杀完一轮后,出现升级提示,并且说等级多少、难度多少、数量多少、每只带有金钱多少等。
这里,一百分的悬赏金送给最佳***~~~
用单位组命令
你用last Unit 只不过是命令最后那个单位移动 我瞒久没用过WE了
都忘差不多了
创建单位 然后
单位组- Pick every unit in (某区域)and do (Actions)
Loop - Order (Last created unit) to 移动到 某区域 那个视频我想给你做一个 但是我这没工具 没办法了
你可以去WOW8多看看教程 看完了 基本上你也会了
其他***(共2个回答)
,点击FrozenThrone,再进入Scenario可找到)
如果你玩单机的,最快的是输密码:whosyourdaddy
如果你不喜欢输,可以先"站在"旁边,看高手打!
一,地图版本不对,或者有的比赛地图是改过的,需要专门去下载
二,举个例子,你有lost temple这张地图,如果显示"找不到地图maps/download/...
应该也是中立的吧,但在兽王的那个兽人额外战役中熊猫有出现,但需要去发现哦,完成些支线任务就有了/
大家还关注
魔兽地图守护天使妹妹25 守护天使妹妹金...
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区