跳到主要内容

【云变量物品】保存和读取云变量物品

创建的云变量物品只能在当局游戏生效,在绑定时这些物品会上传到云端数据库。在开启一局新游戏后,绑定过的物品需要从数据库同步到游戏中;在游戏过程中也需要修改这些云变量物品。接下来我们将在新一局游戏中实现保存和读取这些物品。

读取云变量物品

8

我们可以使用以上函数来还原云变量物品。

在执行这句话之后,我们可以看到在我们的背包里或者脚下,就会出现原本我们绑定过的物品。

9

保存云变量物品

如果我们移动了一些物品的位置,或者更改品质、词缀、属性、需求等字段,我们会发现下次还原物品时这些物品被修改的属性并没有生效。

这是因为我们没有调用这个函数对云变量物品进行保存:

10

如果这个函数执行成功了,我们就会发现我们对这些云变量物品做的所有操作都会被保存了。

云变量物品优化写法

云变量每分钟的提交次数是存在限制的,有的时候上述写法会快速挤占云变量提交次数而导致其他提交失败。这个时候我们就需要用到优化写法来避免我们出现逻辑错误的问题。

在此之前我们先大致介绍一下上述语句对提交次数的影响:

绑定云变量物品:占用1次提交。(调用1次这个函数,就会产生1次提交)

解绑云变量物品:占用1次提交。

保存云变量物品:占用1次提交。

读取云变量物品:不会占用提交。

还有后面提到这里还没有提到的语句:

更新云变量物品货币数量:不会占用提交。

消耗云变量货币物品:占用1次提交。

有时候,我们可能会想要一次性解绑大量物品,例如批量分解300个物品,或者奖励一次领取300个物品。

那么如果我们使用上述提到的语句,那么他会快速挤占300次提交次数而导致其他提交失败。

所以这里提供了两个批量语句:

18

19

这两个函数会使用物品数组来批量处理一组物品,不管数组里面有多少物品,这个函数调用一次也只会占用1次提交。

需要注意的一点是,这两个函数中未能通过内部合法性验证(例如:正在其他未完成的提交中、或者根本不是云变量物品等等)的物品会自动被跳过而不会导致整个提交失败。