事件随机支线任务计时系统
导言
庄园系统弄好了,当然少不了支线任务系统。通过NPC触发的支线任务想必大部分人都做过了,是否想到过一些隔段时间就会发生的事件,并且此事件会受到庄园属性的影响呢?来,咱来给你开♂开♂脑♂洞。
范例预设:
获得升级庄园必需品的收集支线×1
驱赶庄园捣乱者支线×1
随机位置出现敌人的支线×1
该系统是我第一次做,此版本在优化方面或许还有进步空间,若有高人有更好的算法点子欢迎进一步拓展该系统。
| 项目 | 描述 |
|---|---|
| 系统完善度 | ★★★☆ |
| 学习难度 | ★★ |
| 学习时间 | 15分钟-30分钟 |
| 范例工程 | 逐梦 v1.4 开源版 |

要点
此系统多变,若需要不同的支线,作者必须有应变修改的能力。
开始
先打开数据库-公共事件,列表往下翻,在“地盘管理”往下的部分就是支线任务的控制。
范例的支线存在三种类型,咱一个个讲起。
第一种:定点定时刷新道具
游戏中有几个地方会定期地刷新鱼干,控制核心在名为“鱼干刷新”的公共事件里。

注释:
①条件分歧:只要这个刷新点还没有刷新出道具,就进行下一步。
②变量与分歧:变量式计时器,前面提到过,目的是实现与下面多个刷新点同时分别计时。
③开关操作:如果计时器已经达到要求,则该刷新点刷新出道具。
剩下的刷新点都是这种设置方法,注意开关要对应。另外千万记得在时间末尾加上“等待1帧”,不然两千多的变量唰一下就能加上去。
至于道具的设置如下:

注释:
①出现条件:设置为对应开关,只有计时器完成计时才会出现。
②公共事件:这个是对收集数量是否达到上限而做判断的,具体命令在对应的公共事件内。写法也很简单,不过是些数学计算而已,你们应该能看懂吧?
③变量操作:拾取了道具之后记得将计时器清零。
④开关操作:若不关掉的话,这个刷新点一旦刷新将会无限刷物品哟~
第二种:与庄园系统关联较大的支线
范例中的野猫会来偷玩家的道具,并且玩家收集的道具越多,来的敌人就越强力。通过庄园升级可以提高敌人来偷袭的间隔和成功偷走道具时的数量。具体设置方法请看公共事件内的“野猫偷袭”。

注释: ①条件分歧:判断这条支线是否已经开启,此判断可以用来做到“剧情进行到一定程度才开启此功能”的效果。
②条件分歧:判断是否处于战斗中。
③条件分歧:判断其他支线是否已经开启,多个支线可以多加几个判断。
④条件分歧:判断这条支线是否已经开启。
⑤判断:这里判断玩家持有相关道具的数量来划分敌人等级。
除此之外,【条件分歧-开关0121野猫出现==off】这条指令有“除此之外的场合”,处在下方。

此事件用来判断若玩家在1分钟之内没有理会偷袭的敌人,敌人就会将玩家的部分道具偷走。
这里要特别几点注意:
首先是计时器。计时器和上面是共用的,但这不会发生冲突。因为在此支线开启之前不需要给敌人的停留时间计时,开启之后也不需要对支线间隔计时,所以一个变量可以共用。
其次是下面的“隐蔽等级”判断。这是升级庄园生效的部分了,你会看到相关等级越高,被偷走的物品就越少。
第三种:出现随机位置的NPC
范例中有两个支NPC出现的位置是随机的。以“偷食老鼠”为例,找到“偷食老鼠”公共事件。

最直接的是通过随机数随机打开开关,并且在地图的4个位置放上对应开关的NPC。
但这只是其中一种方法,另外一种方法请看到“弃宠搜捕者”公共事件。你会发现里面并没有关于位置信息的设定。其实随机位置跑到NPC身上了。

在“城郊”地图内找到相关的事件。当打开后你就会发现,位置判断跑到这来了。

虽然写法不同,但是效果是基本一样的,按需求设置吧。
结束
以上是三种基本的随机机制,当然除了这些以外还可以有很多种,(~ ̄▽ ̄)ノ当然最重要的还得看你自己啊~