《守望先锋》地图工坊零基础入门教程 地图工坊新手教程

2019-05-29 16:51:24

  变量

  没接触过编程的朋友可能会觉得这个东西有一些难以理解。但它并没有想象中那么难。我们可以用数学来理解它。

  例如我们有一个等式:y=x+1。在数学上,我们把x叫做自变量:当我们放入不同的x时,y就不一样。我们的“方程”只是定义了一个从x到y的过程。

  在我们上面的例子中,我们有一条动作:给事件玩家治疗10点生命值。这里面,“事件玩家”是一个变量——因为触发事件的玩家可以有很多个。过程是给玩家治疗。而10我们一般把它叫做“常量”——因为它不会变,无论是哪个玩家受伤了,治疗量都是10。

  当然了,这只是变量最基本的概念。其实变量就像一个“盒子”,我们可以把东西放进去,也可以把里面的东西拿出来。

  在OW中,变量和常量统称叫“值”。

  实现“冰冻弹”

  现在我们来写一点更复杂的规则。我们希望让麦克雷的子弹变成“冰冻弹”——被麦克雷打中的玩家,就会被冰冻住1秒。

  同样的,我们先想一想过程:玩家被麦克雷打中→把玩家冻住。

  我们发现“事件”并没有“被麦克雷打中”的事件。怎么办?这时候就该让“条件”出马了。被麦克雷打是受到伤害的一种,所以“事件”我们可以继续用“玩家受到伤害”。但是我们有一个附加条件:伤害的来源应该是一名麦克雷玩家。

  我们翻阅文档,找到“攻击方”可以代指伤害来源。但我们应该直接拿它来做比较吗?仔细想想,“玩家使用的是麦克雷”比较的应该是英雄,而不是玩家。因此,我们继续找找怎么知道玩家用的什么英雄。最后,我们找到了“英雄”这个选项。条件便是:英雄(攻击方) == 英雄(麦克雷)

  注意:等号的左右两边一定要是相同类型的,即类似事件玩家 == 英雄(麦克雷)是不正确的,因为左边是玩家,右边是英雄。正确的写法是英雄(事件玩家) == 英雄(麦克雷)

  动作应该是什么?“冰冻”是官方提供的状态之一,我们可以直接使用“设置状态”:玩家,助攻者,状态,持续时间。

  “玩家”和上面一样,使用“事件玩家”即可。助攻者即为“攻击方”。状态是“冻结”。“持续时间”输入“1”。

  两个“特殊”的事件

  通过上面的内容,我们已经知道了规则是什么,以及基本都规则编写。但你发现,“事件”只有非常少的几项。如果我们要做一些其他功能,例如,我们想让玩家重生后马上将他移到某个位置,无论是受到、造成伤害事件,还是阵亡事件,都不能满足要求。这时候,就需要用到持续事件+条件了。

  持续事件和其他的事件都不太一样。其他事件都是“当这件事发生时”,而持续事件则是“我会一直等着,直到条件满足”。

  例如,我们可以用“存活”来判断玩家阵亡与否。而结合我们上面所说的持续事件,我们可以写出这样的规则:

  事件:持续 - 每名玩家

  条件:存活(事件玩家) == 真

  这是什么意思呢?根据上面的介绍,我们把它“翻译”过来,就是:一直等,直到玩家活着的时候,就做下面的动作。

  官方文档中有这样的解释:“当首次检查就满足条件时,则会执行行动。当未满足条件列表,但之后又满足时,则会尝试再次执行行动”。

  因此,我们上面的规则,实际上就是:当玩家阵亡的时候,游戏就会等——等到玩家复活,然后做相应的动作。之后玩家又阵亡了,游戏又会继续等。不断重复上述的过程。

  类似的,我们现在要编写一个规则,能响应不在地板上的玩家按互动键(F),那么我们就可以这样写

  事件:持续 - 每名玩家

  条件:

  在地面上(事件玩家) == 假

  按钮被按下(事件玩家, 互动) == 真

  动手做一个模式。

  通过上面的文章,我们已经知道了如何编写规则。但相信你还不知道如何编写一个简单的玩法。不知道大家是否玩过有“守望传火”之称的“烫手山芋”模式?这里,我们就以此模式为例子。

  注意:因为本文是一篇教程文章,所以不会完整覆盖整个游戏模式。

目录 2/4 返回攻略专辑
守望先锋
守望先锋
平台:XONE | PS4 | PC
0%的玩家推荐
分享到:
热门标签
展开标签

APP精彩推荐

下载APP可查看更多精品攻略