ftd2025 发表于 2021-10-20 10:19:14

996m2(lua)引擎-建议扩展“个人/全局全自定义变量”,内详

本帖最后由 ftd2025 于 2021-10-20 14:13 编辑

在提建议之前,让我们先看下个人或全局自定义变量的“相同点”,从使用说明可以看出,个人和全局,在最后面都会有个参数,决定是否需要保存。

给自定义变量赋值[玩家自定义变量]
格式:setplayvar(对像,变量范围(HUMAN/GUILD), 变量名, 变量值, 是否保存(0/1))
在给自定义变量赋值时,如果定义了第五个参数为1,则会同时保存该变量及当前变量值到数据库。如果不写,则默认为0,表示不保存本次设置的值到数据库
给自定义变量赋值[全局自定义变量]
格式:setsysvarex(变量名, 变量值, 是否保存(0/1))
在给自定义变量赋值时,如果定义了第3个参数为1,则会同时保存该变量及当前变量值到数据库。如果不写,则默认为0,表示不保存本次设置的值到数据库
最后参数:0=不保存(默认),1=保存。
而设置为保存的参数,在合区的时候,因为我们还没有正式开区,无法进行测试,所以只能猜测合区时,应该是以2个区的数据用合并的方式进行处理。
建议:扩展最后面的保存参数,如
0=不保存,即合区将被清除(默认)
1=保存主区,即合区时,保留【主区】数据
2=替换主区,即合区时,保留【被合区】数据
3=取最大值,即合区时,判断【主区】和【被合区】数据大小,保留最“大”值(作用于类型)
4=取最小值,即合区时,判断【主区】和【被合区】数据大小,保留最“小”值(作用于类型)
5=数值相加,即合区时,【主区】与【被合区】数据相加,保留最小值(作用于类型)
6=字符相连,即合区时,将【主区】与【被合区】2组字符串进行相连,主区在前,被合区在后(作用于类型)
示例(主区="ABC",被合区="123",合区后="ABC123")
*注:特殊情况说明(当变量未定义或没有设置参数时,合区数据默认:integer=0,string="")
当【主区】或【被合区】某个自定义变量没有设置数据、或者不存在时(即一个区有数据,另一个区没有数据),按以下流程处理,如果【主区】和【被合区】2个区都没有数据时,则合区不作任何操作:
1、参数=1时[保存主区],如果【主区】没有定义或设置变量数据,合区时该项数据将【被清空】
2、参数=2时[替换主区],如果【被合区】没有定义或设置变量数据,合区时该项数据将【保留主区】
3、参数=3或4时[取最(大|小)值],如果没有定义或设置变量数据的区,将被视为进行合区处理
4、参数=5时[数值相加],如果【主区】或【被合区】,没有数据的区,将被视为进行合区处理
5、参数=6时[字符相连],如果【主区】或【被合区】,没有数据的区,将被视为[""]进行合区处理
PS:如果需要我们配合测试,请在代理技术总群内联系“星辰传奇”:lol

ftd2025 发表于 2021-10-20 14:17:14

自顶

kobz3i 发表于 2021-11-4 10:39:43

666666666666666

13564473659 发表于 3 天前

这是lua版咯
页: [1]
查看完整版本: 996m2(lua)引擎-建议扩展“个人/全局全自定义变量”,内详