讨论一个技术实现的问题 #1743
Replies: 5 comments 15 replies
-
通常游戏都有用一些标志位作为一些新手引导和事件记录等等,保留一些ID的范围,然后通过一些标志位去对比系统那些功能需要补发奖励,独立一个服务即可了,然后接入邮件发送奖励。 |
Beta Was this translation helpful? Give feedback.
-
我觉得应该把(一次性)任务发放的道具和从其它途径发放的道具内部区分开。即使玩家来看道具是相同的。 比如新手任务发了一把铁剑,铁剑也可以打怪掉出来。但是内部是区分开两种铁剑的。 对于任务发放的铁剑,即使玩家销毁掉,也只是额外记录这个东西没了,到这个东西是挂在玩家的数据库中的(可以是能数据不加载)。这样,从数据库分析数据,玩家是否获得过任务奖励铁剑一目了然。 |
Beta Was this translation helpful? Give feedback.
-
开一个 patch 目录,里面只写一次性的代码,每段代码对应一个 bug 修复,每个老玩家执行一次,然后标记已执行。文件名可以是日期时间开头排序的。 |
Beta Was this translation helpful? Give feedback.
-
提供个思路,给需要的玩家发一封邮件,邮件会在用户登陆时自动触发一段修复逻辑并销毁邮件。也可以达到目的。 |
Beta Was this translation helpful? Give feedback.
-
首先,肯定要玩家登录游戏,我们才可以根据玩家的数据情况进行分析,得出结论,是否该补发道具,或者修复数据,这就要把代码写入到登录的协议里面去 这句话有问题,不需要玩家登录游戏一样可以修复玩家数据,做好 actor 锁就行。第二,是否补发道具,修复数据,简单的可以现场计算,复杂的可以离线计算之后作为配置文件热更上去使用 |
Beta Was this translation helpful? Give feedback.
-
游戏上线后,难免会因为一些bug造成玩家的数据出现错误,或者因为bug道具某些bug没有能获得,bug修复后,玩家的数据如何修改为正确的数据,漏掉的道具如何补发?首先,肯定要玩家登录游戏,我们才可以根据玩家的数据情况进行分析,得出结论,是否该补发道具,或者修复数据,这就要把代码写入到登录的协议里面去,如果有10个bug,就可能要写10个类似的方法去做这个事情,代码会很难看,而且也会丧失一定的效率。
有没有比较好的设计方式,skynet&lua的新手一枚,请教大佬 :)
Beta Was this translation helpful? Give feedback.
All reactions