|
马上注册,下载996引擎,与更多游戏开发者交流。
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 ftd2025 于 2021-10-20 14:13 编辑
在提建议之前,让我们先看下个人或全局自定义变量的“相同点”,从使用说明可以看出,个人[setplayvar]和全局[setsysvarex],在最后面都会有个参数,决定是否需要保存。
- 给自定义变量赋值[玩家自定义变量]
- 格式:setplayvar(对像,变量范围(HUMAN/GUILD), 变量名, 变量值, 是否保存(0/1))
复制代码- 在给自定义变量赋值时,如果定义了第五个参数为1,则会同时保存该变量及当前变量值到数据库。如果不写,则默认为0,表示不保存本次设置的值到数据库
复制代码- 给自定义变量赋值[全局自定义变量]
- 格式:setsysvarex(变量名, 变量值, 是否保存(0/1))
复制代码- 在给自定义变量赋值时,如果定义了第3个参数为1,则会同时保存该变量及当前变量值到数据库。如果不写,则默认为0,表示不保存本次设置的值到数据库
复制代码
最后参数:0=不保存(默认),1=保存。
而设置为保存的参数,在合区的时候,因为我们还没有正式开区,无法进行测试,所以只能猜测合区时,应该是以2个区的数据用合并的方式进行处理。
建议:扩展最后面的保存参数,如
- 0=不保存,即合区将被清除(默认)
- 1=保存主区,即合区时,保留【主区】数据
- 2=替换主区,即合区时,保留【被合区】数据
- 3=取最大值,即合区时,判断【主区】和【被合区】数据大小,保留最“大”值(作用于[integer]类型)
- 4=取最小值,即合区时,判断【主区】和【被合区】数据大小,保留最“小”值(作用于[integer]类型)
- 5=数值相加,即合区时,【主区】与【被合区】数据相加,保留最小值(作用于[integer]类型)
- 6=字符相连,即合区时,将【主区】与【被合区】2组字符串进行相连,主区在前,被合区在后(作用于[string]类型)
- 示例(主区="ABC",被合区="123",合区后="ABC123")
复制代码
*注:特殊情况说明(当变量未定义或没有设置参数时,合区数据默认:integer=0,string="")
当【主区】或【被合区】某个自定义变量没有设置数据、或者不存在时(即一个区有数据,另一个区没有数据),按以下流程处理,如果【主区】和【被合区】2个区都没有数据时,则合区不作任何操作:
- 1、参数=1时[保存主区],如果【主区】没有定义或设置变量数据,合区时该项数据将【被清空】
- 2、参数=2时[替换主区],如果【被合区】没有定义或设置变量数据,合区时该项数据将【保留主区】
- 3、参数=3或4时[取最(大|小)值],如果没有定义或设置变量数据的区,将被视为[0]进行合区处理
- 4、参数=5时[数值相加],如果【主区】或【被合区】,没有数据的区,将被视为[0]进行合区处理
- 5、参数=6时[字符相连],如果【主区】或【被合区】,没有数据的区,将被视为[""]进行合区处理
复制代码
PS:如果需要我们配合测试,请在代理技术总群内联系“星辰传奇” |
评分
-
查看全部评分
最后回复时间:2022-02-25 14:13:01官方回复了此贴
|