采用多策略的随机词条物品
前置知识
注意:本章的学习压力较大与综合运用能力较强,请在确保学习甚至熟悉完前置知识的前提下再阅读本章节,否则一切“后果自负”。
示例
属性词条
首先,在本文正式讲解如何制作随机词条物品之前,请读者抛弃原有一切对于随机词条物品的观念,基于AzureFlow对数据把控的视角,重新理解随机词条物品的制作与生成。
我们规定,拥有如下格式的字典,即为一条属性词条数据:
{ name, value }其中,name即为该属性的名称,value即为该属性的值。
例如下述属性词条数据:
随机属性词条
基于上述规定以及定义好的属性词条数据(其实本质上就是一个字典{}),本文接下来将介绍如何制作随机的属性词条。
首先,将一堆属性词条数据放在一个列表[]中,方便后续进行随机,示例如下:
如上述配置所示,我们定义一个属性列表_attributes,里面包含了四个属性词条数据,并且属性值为1~100的随机整数值。
但是_attributes仅在define配置项中,真正的物品还没有属性词条数据,因此,我们将根据列表随机来随机出相关属性词条数据作为后续使用,如下例所示:
自定义添加条件随机
目前为止,我们已经实现了随机词条数据,但是这里肯定会有读者有疑问,“这里仅仅进行了最简单的数据随机,如果我想根据玩家的等级进行随机,抑或是根据物品的其他数据(例如武器品质等)来进行策略化的随机,这该怎么实现呢?”,诸位稍安勿躁,且听本文继续娓娓道来。
根据上文的配置,我们不难发现,最关键的地方在于_attributes.choice/sample,因此,我们只需要在进行数据随机时进行额外判断即可,本文以when为例,如下例所示:
展示词条数据
目前为止,我们已经实现了词条数据的定义、获取与随机,接下来我们将得到的随机词条数据展示到物品上去,这里笔者将提供一个函数,可以将属性词条数据转变为Lore,读者无需过分在意实现原理(其原理涉及到javascript代码,如果有能力可以自行修改),使用如下:
首先,在插件文件夹plugins/AzureFlow/global文件夹下,新建文件attribute.utils.js,并复制粘贴如下内容:
上述脚本提供了一个将属性词条数据根据一定规则转变为对应的Lore的功能,如果读者有能力,可自行修改部分代码以满足需求。
综上,我们现在已经添加了一个功能性函数,接下来只需要运用在物品配置中即可,如下例所示:
至此,已完成了随机属性词条物品的制作。
效果展示
待完工。。。
总结
本文实现了多策略下的随机词条物品,读者可自行发挥其他脚本与功能,实现功能更为强大,数据更为健壮的物品。
如果你有耐心与勇气看到这里,说明你对于AzureFlow的理解与认识进一步提升了,欢迎你继续使用AzureFlow为服务器增添更多精彩的内容!
Good Luck :)
最后更新于