魔兽争霸3地图制作第五期:深入触发编辑器(1)-事件

风暴烈酒 2024-04-01 23:15:32

原创不易,严禁抄袭、剽窃等行为,喜欢的请多多点赞评论

上一期我们已经学习了如何简单介绍了一下触发编辑器,并用它实现了一个简单的“进能量圈选择英雄”功能。这期我来详细讲解下触发编辑器,然后介绍一下地图中常见功能的实现,各个选项的作用。

这里先做个科普,你在war3编辑器中做出的地图,最终都是要转化为JASS代码放到war3中运行的。对编程有点了解的同学会知道,JASS代码是地图的源代码,war3编辑器是提供了一个界面的实现,后面有时间我会做一个JASS的教程。我觉得JASS比war3触发编辑器的好处是容易编辑与协作,但缺点也很明显,不够直观,要理解熟记各个函数的作用,这个后面再说

一些JASS代码

下面先从触发器的事件说起,说说它的各种选项的作用。先说明一下,我使用的编辑器版本是YDWE.1.32,由作者加强过,比原版WE多了一些功能。而且触发编辑器的选项一般下面是有功能说明的,大多数看下就能理解,主要是多使用和参考别人

在触发编辑器我们新建一个事件看一下,里面包含了普通,单位,对话框,可破坏物等等大类,在大类下还有细的小类,这里就挑常用的说一下。(这里图片中的[事件]大类是YDWE编辑器新加的)

普通大类下有个地图初始化选项,即是在地图加载完后执行一次,一般在这里加载一下初始化设置

单位大类,用得很多的大类,有单位事件、进入区域事件、生命值变化等选项,在单位事件中,又有单位死亡、单位被创建、单位使用物品等等功能,可以捕捉大多数单位行为

对话框大类,常用于进入游戏时见到的选择难度

可破坏物大类,用于树木被砍伐,炸药桶被破坏等事件

时间大类,包括了单次运行、循环运行、计时器三个小类,单次运行、循环运行直接使用就是在地图载入后x秒单次/循环运行这个触发器,常搭配其他触发器使用,以实现某事件发生后x秒发生某动作。计时器可以理解为一个闹钟,可以有多个,常用于出兵、复活等实现

玩家大类,包括了输入文本,键盘事件,玩家属性等小类,像你想输入“win”,对方基地爆炸,就做一个事件-输入聊天信息,输入“win”,动作-玩家1取得胜利。键盘事件可以捕捉到你按下的按键,像某些图的按D键闪现、按方向键加属性等,不过YDWE编辑器只提供了捕捉方向键事件,要捕捉按D键H键等,1是修改JASS文件,2是找可以提供此功能的WE编辑器。玩家属性则可以捕捉拥有金钱、人口发生变化等

物品大类,捕捉到一个物品被毁坏事件,物品被拾取,被售出等在单位-单位事件-拾取物品、售出物品

游戏大类,包括了游戏内时间变化(非真实时间,游戏内有白天黑夜变化,会影响一些单位和技能的施放,如暗夜精灵族在黑夜会隐身),游戏读档、存档(这个一般在战役中使用,可以让数据在战役不同章节中传递)

总结一下,事件即包括了单位、游戏、时间等等,你要根据自己的需求合理地搭配,避免冲突。

这里用一个“英雄死亡后,x秒复活英雄”的小例子来介绍一下单位时间和计时器的作用。

前置:准备一个英雄单位。分析:事件-单位死亡,条件-它是英雄,动作-创建一个倒计时,倒计时结束后复活,为了真实起见,设置复活倒计时长短与英雄等级挂钩

这里要准备两个触发器,一个作用是单位死亡开启计时,并创建计时器窗口,第二个是计时器结束后复活英雄,并删除计时器窗口。这里也有个简单点的法子,用一个触发器,单位死亡后在动作中设置等待x秒,然后复活英雄

注意这里我还在动作中用到了设置xx=yy这个选项,这里我用到了变量,方便在不同触发器中传递数据。变量可以在触发编辑器使用Ctrl+B打开,这里我使用了3个变量,分别是单位、计时器、计时器窗口,分别用于记录死亡的角色、计时器、计时器窗口。如果你没用使用变量,只是用“触发单位”,“最后创建的计时器”这些的话,在不同的触发器中可能指代的东西会发生变化

这里开始详细说明一下第一个触发器。事件,条件,令死亡的单位是玩家1(你)的英雄单位,动作:设置变量=触发单位,即将死亡掉的单位记录下来。然后开始运行计时器,时间为单位等级*3,即1级3秒后复活,2级6秒后复活。创建计时器窗口,即在右上角显示一个倒计时,并用变量记录下来

然后介绍一下第二个触发器,事件-计时器数到0,动作-复活刚才用变量记录下来的英雄在一个点,然后删掉右上角的计时窗口

最后是视频演示,如果有不懂或疑惑请多多交流。注意一下,血法两次复活右上角的计时器时间有所不同

原创不易,请留下你宝贵的点赞与评论,欢迎评论区进行交流互动。

0 阅读:0

风暴烈酒

简介:老古董一名,专注于老游戏,如魔兽争霸3的分享创作