守望先锋/地图工坊
另请编辑者注意:请不要在人物历程等相关内容中悬挂此模板。具体使用方法详见模板说明文档。
地图工坊是指《守望先锋》在2019年04月25日推出的自定比赛功能。
简介
在地图工坊中,你可以创建「脚本」,在《守望先锋》中现有的比赛模式中挑选你最喜欢的类型,添加新的「规则」和「条件」,产生独一无二的新玩法。「规则」可以实现许多事情,例如:更改英雄的移动和技能效果,修改玩家受到的伤害或治疗,甚至可以在特定情况下显示文本。
「点击开始 > 自定比赛 > 创建比赛 > 比赛设置> 分享」可以为自定义地图生成一个5位的字母+数字的代码。玩家只要输入这个代码就可以在自己机器上获取到这个自定义设置,也可以把自己的设置生成一个代码分享给其他玩家。
作品收集
名称 | 代码 |
---|---|
Flappy Bird | N7BEV |
双英雄模式 | 1Q4AH |
OW空战 | 38QBH |
绿洲城躲避车 | C9DJ6 |
洪水生存 | 4S23G |
秩序之光塔防 | FRK7D |
随机技能战斗 | N11W0 |
大锤碰碰车 | Q85S6 |
死亡你好 | DZDQ7 |
脚本
只要足够的空间,就能添加任意数量的规则、条件和行动。
添加规则
规则是组成脚本的部分,可进行高度的自定义。每个脚本都必须包含一个或多个规则。
每个规则都可以选择添加一个说明,并且包含:
- 事件:确定添加的规则在什么时候执行。更多信息请参考选择事件。
- 条件:可选事项的列表,只有条件为「真」时才能让规则生效。更多信息请参考添加条件。
- 行动:当事件和条件满足时会触发的事项列表。更多信息请参考添加行动。
选择事件
事件会确定添加的规则在什么时候执行。当比赛中发生事件时,就会创建一个规则副本。每个副本都会评估条件并独立地执行行动。
在编辑器中创建了规则以后,会自动添加事件。你必须指定想要的事件类型。
事件类型
事件类型 | 说明 |
---|---|
持续 - 全局 | 当比赛开始时,创建此规则的单一副本。此副本在整场比赛中保持激活状态。
|
持续 - 每名玩家 | 当玩家加入比赛时,为每位玩家创建此规则的副本。此副本会保持激活,直至玩家离开比赛或比赛结束。每个副本都会独立追踪并执行条件和行动。
|
玩家参与消灭 | 当玩家参与消灭时执行规则。每名玩家一次只能激活一个规则副本。
|
玩家造成最后一击 | 当玩家造成最后一击时执行规则。每名玩家一次只能激活一个规则副本。
|
玩家造成伤害 | 当玩家造成伤害时执行规则。每名玩家一次只能激活一个规则副本。
|
玩家受到伤害 | 当玩家受到伤害时执行规则。每名玩家一次只能激活一个规则副本。
|
玩家阵亡 | 当玩家阵亡时执行规则。每名玩家一次只能激活一个规则副本。
|
队伍选项
队伍选项 | 说明 |
---|---|
所有 | 事件对所有队伍有效,包括自由混战模式中的玩家 |
队伍1(或当前队伍名称) | 事件只对此队伍中的成员有效。 |
队伍2(或当前队伍名称) | 事件只对此队伍中的成员有效。 |
玩家选项
玩家选项 | 说明 |
---|---|
所有 | 事件对所有玩家有效 |
位置0到位置5 | 事件只对指定位置的玩家有效。在团队比赛中,两位玩家可以占据同一个位置(每队一个)。 |
位置6到位置11 | 事件只对指定位置的玩家有效。只对自由混战模式有效。 |
指定英雄 | 事件仅对在重生时选择该英雄的玩家生效。 |
添加条件
当添加规则和时间之后,你可以选择添加一个或多个条件。条件列表必须为「真」,之后规则才能执行行动列表。如果条件属于规则并且事件类型为「持续 - 全局」或「持续 - 每名玩家」中的类型,则会持续检查其是否为「真」。如果条件属于规则并且事件类型为其它,则在指定事件发生时进行检查。如果规则没有条件,则行动列表会在事件发生时立即尝试执行。每个条件均由两个值组成,值会使用操作符来对比和检查条件是否为「真」。更多信息请查看值。
添加条件:
1. 点击条件旁边的「添加」 2. 在「值」区域中填写值。
- 注意: 当值本身有输入项时(例如「英雄」值,它需要知道选择该英雄的玩家),那该值的输入项就会自动显示在它下面的缩进处。
3. 选择操作符。操作符为:
- ==等于
- !=不等于
- > 大于
- >=大于或等于
- <小于
- <=小于或等于
添加行动
行动可以对比赛实现修改。它们的执行顺序为自上而下。要开始执行行动列表:
- 必须发生与规则相关的事件
- 规则的所有条件必须为「真」(或者没有条件)
- 如果事件类型为「持续 - 全局」或「持续 - 每名玩家」中的类型,则当条件首次得到满足时便会立即执行行动列表。当未满足条件列表,但之后又满足时,则会尝试再次执行行动。
除了等待行动(查看等待行动详情),所有行动均会立即执行并完成。每个行动均可由零或更多输入值组成,用于描述对比赛的修改。每个输入项都会有一个值,值为一部分信息或者如何获得信息的指令。更多信息请查看值。
- 要添加行动
- 点击行动旁边的「添加」
- 选择一个行动,用于描述对比赛的修改。
- 在新出现的输入项的下拉菜单中为其选择相应的值。
- 注意: 部分行动会创建对象或进行中的行动。此类行动可能有一个名为「重新赋值」的输入值。此输入值决定此行动的其它输入值是否会被修改(保持对象或进行中的行动不变)或为动态(根据修改输入的值来更改对象或进行中的行动)。
循环行动
循环行动会使行动列表会从头开始执行。有四种循环行动:
- 循环:总是重新开始行动列表
- 根据条件循环:如果行动条件输入的值不为0或「假」,则重新开始行动列表。
- 如条件为「真」则循环:如果满足所有规则的条件,则重新开始行动列表
- 如条件为「假」则循环如果不满足任意规则的条件,则重新开始行动列表
开始行动列表之前必须要有等待行动,才会允许开始循环行动。
等待行动
等待行动是在执行一系列行动之前等待一段时间的行动。最小等待时间为0.25秒。
等待行动有三种行动选项:
- 忽略条件:选择之后,行动的执行不会被条件或其它事件打断。
- 如果事件类型为「持续 - 全局」或「持续 - 每名玩家」中的类型,是否满足条件的变化不会造成任何影响。
- 如果事件属于其它类型并且该类型的事件发生在同一位事件玩家身上,则该事件会被完全忽略。
- 如为「假」则中止:选择之后,如果不满足条件则中止行动列表的执行。
- 如为「真」则重新开始:选择之后,如果发生以下任意一种情况则会从第一个行动重新开始执行行动。
- 事件类型为「持续 - 全局」或「持续 - 每名玩家」中的类型,并且条件从不满足变为满足。
- 事件属于其它类型并且同一位事件玩家身上也发生了事件,则视为满足所有条件。
字符串
字符串为一系列显示在游戏中的字母、数字和符号。
字符串值会生成字符串。它拥有以下输入值:
- 字符串:要显示的文本。如果文本的花括号中包含数字,那数字将被相应输入项中的值替代。
- {0}:此值将被转换为文本,然后再替换字串符中的{0}。可为任何类型的值。
- {1}:此值将被转换为文本,然后再替换字串符中的{1}。可为任何类型的值。
- {2}:此值将被转换为文本,然后再替换字串符中的{2}。可为任何类型的值。
值
值是一部分信息,或如何获得信息的指令,可以作为条件、行动或其它的值的输入值。值可以进行互相组合。
值的类型非常繁多,再次我们无法一一定义。不过在地图工坊编辑器中有几种类型的值。以下为你可能遇到的值:
值 | 说明 |
---|---|
数字 | 提供输入值指定范围内的具体数字 |
矢量 | 提供输入值指定范围内的三维数值。用于表示位置和方向。 |
队伍 | 表示指定的队伍,例如队伍1、队伍2或所有队伍 |
英雄 | 表示指定的英雄 |
无 | 表示缺少玩家或实体 |
真 | 提供「真」的值 |
假 | 提供「假」的值 |
比较 | 根据描述的比较是否为「真」,提供「真」或「假」 |
事件玩家 | 提供正在执行规则副本的玩家,如果没有玩家则为「空」 |
攻击方 | 提供规则副本的攻击者,如果没有攻击者则为「空」 |
被攻击方 | 提供规则副本的被攻击者,如果没有被攻击者则为「空」 |
当前数组元素 | 任意为「真」、全部为「真」、已过滤的数组或排序的数组值中会使用的当前值 |
值可以存入数组,数组为多个值的组合。
- 多个行动和值可以创造或修改数组。
- 例如,「所有玩家」值会给你当前游戏中每位玩家的数组。
- 你还可以使用「修改全局变量」或「修改玩家变量」行动中的「添加至数列」操作来创建自己的数组。
- 如果输入值需要数组却收到了其它类型的值,则该值会被复制到单个元素的数组中,方便进行输入。类似地,如果输入需要其它类型的值却收到了数组,则会使用数组的第一个值(如果数组为空则为0)。
变量
变量是存入和之后获得值的位置。除了字串符,所有值都能存入变量。所有变量的开头均为数字值0。
脚本中有两种类型的变量:
- 全局变量:共有26种全局变量,分别以A到Z命名,每种变量都拥有独立的数值或数值数组。
- 玩家变量:每位玩家有26种全局变量,分别以A到Z命名,每种变量都拥有独立的数值或数值数组。
变量中可以实现三种操作:
- 设置:「设置全局变量」和「设置玩家变量」可以为变量设置新的值,代替之前的值。
- 修改:「修改全局变量」和「修改玩家变量」可以通过特殊的运算操作(例如加法、乘法等等)或数组操作(添加、移除)来修改变量中的值。
- 追踪:"持续追踪全局变量”、「持续追踪玩家变量」、「追踪全局变量频率」和「追踪玩家变量频率」会在一段时间内或按照指定的频率逐渐更改变量。
- 追踪的最终值可以是数字或者矢量(或结果是数字或矢量的值)。
- 如果最终值为数字,则追踪开始前的变量值必须为数字,这样追踪才能正确运行。
- 如果最终值为矢量,则追踪开始前的变量值必须为矢量,这样追踪才能正确运行。
- 如果最终值开启了重新赋值,则追踪也会做出相应的更改,从而继续追踪更改的最终值,即便之前已经达到最终值。更多关于重新赋值的信息,请参考添加行动。
- 你可以使用「停止追踪全局变量」和「停止追踪玩家变量」行动来取消追踪。
- 当追踪取消之后,变量会保持当前的值,它可能为开始追踪到最终值之间的某个值。
|