想弄一个全局排行榜,能同步游戏所有房间,怎么弄

[复制链接]
308 |5
城北雪已至 发表于 2024-3-28 11:34:39 | 显示全部楼层 |阅读模式
DataStorage.asyncSetData('powerTop', Top20).then((result) => {
        if (result == DataStorageResultCode.Success) {
                console.log(`============ 保存力量Top成功 ============`)
        }
})

DataStorage.asyncGetData('powerTop').then((result) => {
        if (result.code == DataStorageResultCode.Success) {
                console.log(`============ 读取力量Top成功 ============ : ${typeof result.data}`)
                if (result.data) {
                        console.log(`${result.data.length}`) // 这里有问题,我在编辑器开4个客户端就能读取4个数据,关闭一个就少读取到一个,这个不是全局数据吗,应该不是和玩家挂钩的吧,存的是一个数组
                        return result.data
                }
        }
})

应该怎么写,有大佬来描述一下吗?
还有,这个是只能获取到本房间的数据吧,怎么获取所有房间的数据呢?

回复

使用道具 举报

窜稀大仙 发表于 2024-3-28 15:50:26 | 显示全部楼层
本帖最后由 窜稀大仙 于 2024-3-28 16:00 编辑

建议一下,给pod加个临时存储(内存层面),每个ds都能访问和修改,就能处理所有房间的实时数据了,不但可以做排行榜,还能做跨房间交易和匹配. 我感觉目前应该有这个,只是还没暴露给作者
回复

使用道具 举报

复读机读复读机 发表于 2024-3-29 10:21:01 | 显示全部楼层
DataStorage.asyncGetData 获取的其实本质上就是全服数据,只不过没彻底支持全服排行榜,因为多ds操作可能会被覆盖,导致偶尔读写失败。但其实做全服排行榜还是可以的,因为玩家的数据上榜也不是只会读写一次,丢一次其实影响不大
回复

使用道具 举报

城北雪已至楼主 发表于 2024-3-29 16:45:52 | 显示全部楼层
复读机读复读机 发表于 2024-3-29 10:21
DataStorage.asyncGetData 获取的其实本质上就是全服数据,只不过没彻底支持全服排行榜,因为多ds操作可能 ...

好的,还是用的这个
回复

使用道具 举报

汽水 发表于 2024-4-2 10:25:44 | 显示全部楼层
窜稀大仙 发表于 2024-3-28 15:50
建议一下,给pod加个临时存储(内存层面),每个ds都能访问和修改,就能处理所有房间的实时数据了,不但可以做排 ...

内存数据库目前还没做
回复

使用道具 举报

窜稀大仙 发表于 2024-4-2 19:01:55 | 显示全部楼层
本帖最后由 窜稀大仙 于 2024-4-2 19:09 编辑
汽水 发表于 2024-4-2 10:25
内存数据库目前还没做

看来挺复杂,
(我还以为ds间可以共享内存)
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表