地图事件系统

地图事件处理流程

事件表示(Expressing Events)
游戏中地图事件详情的声明遵循以下流程:在哪里(位置),何种情况(表现出来的情况), 被何种行动触发, 将会发生什么(事件执行内容)。

比如角色对话和有物品的箱子这种类型的事件,表现为指派到地图事件的图像,而地图事件声明了“将会发生什么”。另外,像出入建筑,场景切换之类的过程,可以用没有图像的事件来实现。

创建事件的时候,你首先需要在主窗口的地图上面决定“在哪里 和 发生什么”。然后,你就可以定义剩余的内容,比如“什么情况下发生”。
事件页面的“条件”(Event Pages with "Conditional" Contents)
地图事件中,你可以根据当前游戏状态来决定发生什么事情。

[Event Pages](事件页)就负责这一块。事件页[conditionally](条件)决定了发生的事件内容。你可以设定一个事件页多达20页的事件,同时指定不同的图像,触发条件,并为每一个事件页指定一个事件内容。 换句话说,你可以在一个地图事件中[根据条件]有20种不同选择。
用条件限制事件页
决定“何种情况” 使用哪个特定的事件页的参数是 [条件](Conditions)。“条件” 基于[开关](Switches)和[变量](Variables)或者"玩家是否拥有某个特定的物品"而设定。

游戏流程中地图事件的发生基于事件页中设定的条件是否被满足。当有许多事件页满足设定的[条件]时,地图中拥有最高数字的事件页将会被触发。反之,将不会发生任何事件。

计量游戏状态

使用开关来计量游戏状态
事件页中的[条件](Conditions)当中,[Switches](开关)和 [Variables](变量)是用来设定条件的主要手段。

开关能记录[ON]和[OFF]的值。这个用来计量一些二值化的游戏状态,例如“玩家是否已经接受了国王的任务”,“玩家是否打败了boss”。

游戏开始时,所有的开关都被设置为[OFF]。最重要的是,当触发了一个事件的时候,你可以将相应的[开关]值在事件页“内容”(事件产生的结果)里设置为[ON]。

通过在别的事件页的[条件]里读取之前设定的[开关]状态,你可以用一个开关值来控制其他所有地图事件的内容。整个游戏剧情发展都可以通过持续改变开关状态来控制事件触发来构建。
用变量来追踪数值
[变量]可以用来存储任意值(整数)。游戏开始时候数值被自动设为0, 你可以根据游戏状态来给变量赋值或者与其他值做加法(通过[Control Variables](控制变量)事件命令)。

通过使用变量,你可以精细控制地图事件的出现条件和结果,比如,根据玩家的剩余HP、金钱或其他数值来改变事件的内容。
管理开关变量
在一个游戏里,你最多可以使用共5000个开关/变量。开关或者变量的数量多少和如何使用都取决于你。使用合理的命名帮你理解这个开关/变量的用途以及两者的区别。你可以在他们各自的选择窗口设置他们的名字。
在自主事件中使用“独立开关”
地图事件还支持独立开关。独立开关只能在某事件的内部使用,每个事件最多四个(A到D)。

当一个事件的进程控制仅由它自己完成的时候,可以使用独立开关。例如:一个含有宝物的宝箱就可以使用独立开关来判断是否已被开启过。设置两个事件页(未被开启和已被开启),在第一个事件页(未被开启)页的最后打开独立开关,使之成为第二个事件页出现的条件,这样只有在宝箱未被开启(第一次触发)的时候才能得到宝物。