魔兽单机技术之查询角色的任务信息
2013-06-12 23:53:41 作者:wowaii 来源:网络 浏览次数:0
魔兽世界游戏里的任务是相当多的,
绝大部分都是连续性任务,
尤其是很多史诗级的任务,更是有几十步之多
我们有时接了任务做到一半,就会忘记自己之前已经做过什么任务
尤其是一不小心把任务删除,过段时间再想做的时候,更是记不得做到哪一步了
我们今天研究下数据库里对任务的记录方式
以方便我们查询任务进度以及删除任务
首先我们了解一下,角色的任务信息都记录在角色库里,
而根据任务类型的不同,分别记录在几个表中
1、如果任务已经接到了,但还没有交,也就是说只要在游戏中我们可以看到在任务日志里有记录,
那么这些任务在角色库中的 character_queststatus里都会有记录,
guid就是角色guid,quest就是任务的ID,后面记录的是任务的完成情况,只要任务没交也没放弃,那么就会一直记录在这里
如果任务已经完成了,上面那个表里就查不到了,我们要查下面的几个表
2、如果任务类型属于每日任务,也就是俗称的日常任务,那么完成之后,我们可以在character_queststatus_daily表里找到记录,
这个表系统每天都会自动清理,只有清理之后我们才可以再重新完成
3、如果任务属于每周任务,也就是周常,那么完成之后,我们在character_queststatus_weekly表里找到记录,
同样的,这个表每周清理一次
4、如果任务属于一次性任务,也就是只能完成一次,做完之后就不能再做了,
那么完成之后,我们可以在character_queststatus_rewarded表里找到记录。
那么我们可以想象一下,如果某个任务链你做到一半不知道做到哪了,就可以先在quest_template表中查到任务的ID,
然后再回角色库到对应表格里查一下我们已经完成到哪一步了,一直查到没完成的那一步,自然就是我们应该做的下一步任务了
另外,如果某个一次性任务,你觉得很好玩,还想再做一次,那么也可以先找到任务ID,
然后到character_queststatus_rewarded表里把自己角色对应的这个任务删除,这样就可以再做了
相关报道: