[技术文章] 传奇龙族引擎LUA模块内装备随机属性脚本修改

[复制链接]
查看3306 | 回复0 | 2021-12-21 00:27:17 | 显示全部楼层 |阅读模式
龙族引擎升级压缩包内的LUA模块内有一个自定义装备随机属性的脚本,详细介绍看——自定义装备随机属性配置文档。配置文件ItemsBase.ini内 官方的随机模式配置介绍如下:
[技能免疫装备]
[附加属性装备]
木剑=1,2,3,10,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,..................................
[技能威力装备]

第一行:附加属性装备=配置装备属性
第三行:木剑=装备名
第三行-第一个数字1=代表随机,第五个参数之后数值将无效(0代表不随机,选0则第2-第4参数无效)
第三行-第二个数字2=属性数量下限(属性在所有属性中随机)
第三行-第三个数字3=属性属性上限
第三行-第四个数字10=属性值下限
第三行-第五个数字20=属性值上限

以上随机属性模式有三个严重的缺点导致不好用
1.随机选择的属性是在所有的属性内选择,不能在指定的属性内选择
2.所有属性值都固定在第四个数和第五个数两个值的限制范围内
3.随机的属性数量和随机的属性值都是平局概率分布,不能修改

在此我修了一下脚本,修复以上三个缺点的,配置修改为如下:
[技能免疫装备]
[附加属性装备]
木剑=1,2,3,4,5,10,20,0,0,10,20,0,0,0,0,0,0,0,0,0,..................................
[技能威力装备]

第一行:附加属性装备=配置装备属性
第三行:木剑=装备名
第三行-第一个数字1=代表随机(0代表不随机),第2-第4个参数和第五个参数之后数值将都有效
第三行-第二,三两个数字2,3=属性数量下限和上限
第三行-第四个数字4=属性数量的概率系数(0代表平局分布),数值越大则随到最大值的概率越高(但此概率不会超过平局分布的概率)
第三行-第五个数字5=属性值的概率系数 (0代表平局分布),数值越大则随到最大值的概率越高(但此概率不会超过平局分布的概率)
第三行-第六,七两个数字10,20 代表第一个属性值的下限和上限(下限值小于上限值,上限值不为0时则表示会随机到该属性)
第三行-第八,九两个数字0,0 代表第二个属性值的下限和上限(都为0表示不会随机到该属性)

后面第三,第四个属性值以此类推
概率系数值的计算公式如下:
属性数量的概率系数用X表示(4),属性数量上限减去下限再加1的值用Y表示(3-2+1)
随机到属性数量最大值的概率为: (9*1+X) / ((9+9*Y)*Y/2+X*Y)
        第二大值的概率为: (9*2+X) / ((9+9*Y)*Y/2+X*Y)
        第三大值的概率为: (9*3+X) / ((9+9*Y)*Y/2+X*Y)
        以此类推

属性值的概率系数用X表示(5),属性值上限减去下限再加1的值用Y表示(20-10+1)
随机到属性值最大值的概率为: (9*1+X) / ((9+9*Y)*Y/2+X*Y)
      第二大值的概率为: (9*2+X) / ((9+9*Y)*Y/2+X*Y)
      第三大值的概率为: (9*3+X) / ((9+9*Y)*Y/2+X*Y)
      以此类推

最后附上修改后的LUA脚本文件,下载附件直接替换掉 \Envir\luaEnvir\ItemServer\ 内的 ItemServer.lua 文件即可

回复

使用道具 举报

本版积分规则