首页 > 游戏 > 守望先锋地图工坊更新说明

守望先锋地图工坊更新说明


翻译:YSRSSS

WORKSHOP UPDATES

工坊更新:

New Workshop Features

全新工坊特性:

Custom Game Maps:

新的自定义地图

Workshop Chamber

工坊工作室??

Workshop Island

工坊之岛?

Workshop Expanse

工坊空旷区域??

Script Diagnostics Panel

脚本诊断面板

Subroutines

子程序

Developer Comment:

开发者评论:

We’ve added the ability for rules to call subroutines (which are rules with a Subroutine event type) using the new Call Subroutine action.

我们给规则增加了使用新的"调用子程序(Call Subroutine)"动作调用子程序的能力(也就是具有"子程序事件(Subroutine event)"的规则)

When a subroutine is called, execution is temporarily shifted to another rule while keeping contextual values such as Event Player, Attacker, and Victim the same.

调用子程序时,程序执行将临时转移到另一个规则,同时保持事件玩家、攻击者和受害者等上下文值不变。

When the subroutine rule finishes or aborts, the original rule picks up where it left off. Subroutines may call other subroutines or even themselves, though we enforce a maximum depth of 1024 calls.

当子程序规则完成或中止时,原始规则将从它停止的地方继续执行。子程序可以调用其他子程序,甚至可以调用自身,不过我们限制了最大调用深度为1024。

Waits are allowed in subroutines, and if such a Wait is ever interrupted (and the interruption isn’t being ignored by the Wait), the entire call stack is aborted, and the original rule is restarted or aborted.

在子程序中允许使用"等待(Wait)",如果这样的"等待(Wait)"被中断(并且中断不会因等待而忽略),则整个调用堆栈被中止,原始规则被重新启动或中止。

Subroutine rules may also be started in parallel using the Start Rule action.

子程序规则也可以使用"开始执行规则(Start Rule)"这个动作(Action)来并行启动。

Unlike with the Call Subroutine action, the original rule continues execution immediately, and the subroutine rule executes on its own some time later (either on the same frame if below the original rule or on the next frame if above).

与调用子程序操作不同,原始规则将继续执行,并且子程序规则将在一段时间后自行执行(如果低于原始规则,则在同一帧上执行,如果高于原始规则,则在下一帧上执行)。(说实话这一部分我看得有点迷糊)

As with Call Subroutine, contextual values such as Event Player, Attacker, and Victim are copied over to the subroutine rule.

与调用子程序一样,事件玩家、攻击者和受害者等上下文值将复制到子程序规则中。

Subroutine names can be added and modified using a new button at the top of the editor.

可以使用编辑器顶部的新按钮添加和修改子程序名称。

New Workshop Actions

新的工坊"动作(Actions)"

Start Healing Modification

开始治疗调整

Stop Healing Modification

停止治疗调整

Stop All Healing Modifications

停止所有治疗调整

Enable Inspector Recording

启用查看器记录

Disable Inspector Recording

禁用查看器记录

------------------

这一部分是个人就能看懂吧

If

Else If

Else

While

End

------------------

-------------------

看起来像是迭代变量

For Global Variable

For Player Variable

-------------------

Call Subroutine

调用子程序

Start Rule

开始执行规则

Developer Comments:

开发者评论

To make writing logic easier, we’ve added several new flow control actions (If, Else If, Else, While, End, For Global Variable, and For Player Variable).

为了简化逻辑的编写,我们添加了几个新的流程控制动作(If、Else If、Else、While、End、For Global Variable和For Player Variable)。

These actions are optimized to cause minimal server load.

这些经过优化的动作将使服务器负载最小化

When using them, the editor will indent to show where sections of logic start and stop.

使用它们时,编辑器将以缩进的方式显示逻辑部分的开始和停止位置。

To conclude such an indented section, use the End action.

要结束这样的缩进部分,请使用"结束(End)"动作。

When in doubt, each action has a detailed tool tip explaining how it is used.

当感到疑惑时,每个动作都有一个详细的提示来解释它是如何使用的。

These tool tips can be displayed by hovering over the action name or by pressing the appropriate controller button.

这些提示可以通过将鼠标悬停在动作名称上或按相应的控制器按钮来显示。

The Enable and Disable Inspector Recording actions offer two benefits: First, they allow selective debugging of only those sections of a script that you need to study.

"启用/禁用查看器记录"动作 有两个好处:第一,它们只允许对需要研究的脚本部分进行选择性调试。

Second, disabling recording can reduce server load, especially when setting or modifying arrays.

其次,禁用录制可以减少服务器负载,特别是在赋值或修改数组时。

New Workshop Values

新的工坊"值(Values)"

Event Was Health Pack

事件是否是血包?

Last Healing Modification ID

上一个治疗调整ID

Workshop Updates

工坊更新:

Action and Condition Comments

动作和条件可以添加注释了

Melee and Reload Button Options

近战和换弹按钮选项

Added Sort Order Reevaluation Options for Create HUD Text

增加了创建HUD时可以将排序重新赋值

The Skip and Skip If actions now accept 0 for the number of actions to skip (so they just go on to the next action)

"跳过(Skip)"和"根据条件跳过(Skip If)"动作现在可以跳过0个动作了(它们会直接执行下一个动作)

A Wait action is no longer required before a Loop

循环不再需要"等待(Wait)"动作

Straightened Beam Effects

直的光束效果

Set Status/Clear Status behavior merged with gameplay stuns (e.g. Clear Status can now clear a freeze that was caused by gameplay, not just a freeze set via Workshop itself)

设置状态 / 清除状态 的行为将与游戏(Gameplay)中的合并(例如,清除状态现在可以清除由游戏性引起的冻结,而不仅仅是通过工坊本身设置的冻结)

Custom Game settings now support Copy-Paste

自定义游戏设置现在支持复制粘贴

Workshop Optimizations

工坊优化

-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​

都是已有的动作,看起来是把它们优化了

Set Global Variable

Set Player Variable

Modify Global Variable

Modify Player Variable

Set Global Variable At Index

Set Player Variable At Index

Modify Global Variable At Index

Modify Player Variable At Index

Loop

Loop If

Abort

Abort If

Skip

Skip If

-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​

Developer Comment:

开发者评论:

Variable manipulation and flow control actions previously caused high server load, so we spent some time making them more lightweight.

变量操作和流程控制以前会导致高服务器负载,因此我们花了一些时间使它们更轻量级。

When combined with the new Disable Inspector Recording action, these changes may result in significant reduction in server load for Workshop modes that rely on heavy variable logic, particularly those that manipulate arrays.

当与新的 "禁用查看器记录(Disable Inspector Recording)"动作相结合时,这些更改可能会显著降低工坊模式的服务器负载,这些模式依赖于大量的变量逻辑,特别是那些操纵数组的模式。

In light of these changes, we’re removing the restriction that requires a Wait action before a Loop, though be advised that excessive looping in a single frame can still cause server load issues, especially when using actions other than those listed above.

根据这些变化,我们正在移除在循环之前需要一个 "等待(Wait)" 动作的限制,不过需要注意的是,单帧中过多的循环仍然会导致服务器负载问题,尤其是在使用上面列出的操作之外的操作时。

Note that setting or modifying multiple player variables with a single action (by providing an array of players) is not optimized, nor is setting or modifying a variable that is ever used by a Chase action.

请注意,使用一个动作来赋值或修改多个玩家的变量在(当你给该动作提供的是一个玩家数组)没有优化,也不会赋值或修改"追踪(Chase)"动作曾经使用过的变量。

Finally, keep in mind that some values (such as the Ray Cast values) can cause quite a bit of server load on their own, even if using the optimized actions above.

最后,请记住,即使使用上面优化的操作,某些"值(Values)"(如"射线系列(Ray Cast)"值)本身也可能导致相当大的服务器负载。


本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/yx/311324.html