守望先锋地图工坊零基础入门教程 守望先锋地图工坊新手教程( 二 )


“玩家”就是这个动作的目标 , 即给谁治疗 。我们怎么让游戏知道 , 治疗的目标是受伤的玩家呢?我们可以使用“事件玩家” 。顾名思义 , “事件玩家”指的是触发事件的玩家 。我们在上面使用了“玩家受到伤害”事件 , 那么 , 在这里“事件玩家”指的就是受到伤害的那个玩家 。类似的 , 如果我们使用“玩家阵亡”作为事件 , 那么就可以用“事件玩家”来代指阵亡的那个玩家 。
在本例中 , 治疗者是谁并不重要 , 所以我们选择“无”就行了 。
最后 , 我们设定的治疗量是10点 , 所以我们选择“数字” , 然后输入10 。

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


变量
没接触过编程的朋友可能会觉得这个东西有一些难以理解 。但它并没有想象中那么难 。我们可以用数学来理解它 。
例如我们有一个等式:y=x+1 。在数学上 , 我们把x叫做自变量:当我们放入不同的x时 , y就不一样 。我们的“方程”只是定义了一个从x到y的过程 。
在我们上面的例子中 , 我们有一条动作:给事件玩家治疗10点生命值 。这里面 , “事件玩家”是一个变量——因为触发事件的玩家可以有很多个 。过程是给玩家治疗 。而10我们一般把它叫做“常量”——因为它不会变 , 无论是哪个玩家受伤了 , 治疗量都是10 。
当然了 , 这只是变量最基本的概念 。其实变量就像一个“盒子” , 我们可以把东西放进去 , 也可以把里面的东西拿出来 。
在OW中 , 变量和常量统称叫“值” 。
实现“冰冻弹”
现在我们来写一点更复杂的规则 。我们希望让麦克雷的子弹变成“冰冻弹”——被麦克雷打中的玩家 , 就会被冰冻住1秒 。
同样的 , 我们先想一想过程:玩家被麦克雷打中→把玩家冻住 。
我们发现“事件”并没有“被麦克雷打中”的事件 。怎么办?这时候就该让“条件”出马了 。被麦克雷打是受到伤害的一种 , 所以“事件”我们可以继续用“玩家受到伤害” 。但是我们有一个附加条件:伤害的来源应该是一名麦克雷玩家 。
我们翻阅文档 , 找到“攻击方”可以代指伤害来源 。但我们应该直接拿它来做比较吗?仔细想想 , “玩家使用的是麦克雷”比较的应该是英雄 , 而不是玩家 。因此 , 我们继续找找怎么知道玩家用的什么英雄 。最后 , 我们找到了“英雄”这个选项 。条件便是:英雄(攻击方) == 英雄(麦克雷)
注意:等号的左右两边一定要是相同类型的 , 即类似事件玩家 == 英雄(麦克雷)是不正确的 , 因为左边是玩家 , 右边是英雄 。正确的写法是英雄(事件玩家) == 英雄(麦克雷)
动作应该是什么?“冰冻”是官方提供的状态之一 , 我们可以直接使用“设置状态”:玩家 , 助攻者 , 状态 , 持续时间 。
“玩家”和上面一样 , 使用“事件玩家”即可 。助攻者即为“攻击方” 。状态是“冻结” 。“持续时间”输入“1” 。
守望先锋地图工坊零基础入门教程 守望先锋地图工坊新手教程

推荐阅读