关灯
开启左侧

魔兽单机技术之查询角色的任务信息

  [复制链接]
admin实名认证 发表于 2016-4-28 21:39:29 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
魔兽世界游戏里的任务是相当多的,

绝大部分都是连续性任务,

尤其是很多史诗级的任务,更是有几十步之多

我们有时接了任务做到一半,就会忘记自己之前已经做过什么任务

尤其是一不小心把任务删除,过段时间再想做的时候,更是记不得做到哪一步了

我们今天研究下数据库里对任务的记录方式

以方便我们查询任务进度以及删除任务


首先我们了解一下,角色的任务信息都记录在角色库里,

而根据任务类型的不同,分别记录在几个表中

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表里把自己角色对应的这个任务删除,这样就可以再做了

 

精彩评论1

倒序浏览
微信 发表于 2016-12-8 14:28:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地