游戏对战管理表mysql,MySQL-游戏工作任务数据表应该如何设计?

任务相关的元数据

mission

{

id

title 任务标题

desc 任务描述

next_mission_id 下一个任务的id,如果任务无级联关系的可以不要

level 任务开启的等级

type 任务的类型(日常任务,主线任务等等其他)

status 方便对任务的管理

}

玩家完成任务的进度表

mission_progress

{

player_id 玩家id

mission_id 任务id

max_count 任务要求的达到某个最大数量(比如杀20个怪才能完成任务)

curr_count 玩家当前已完成的数量

status 标记任务的状态(未领取,已领取,进行中,已完成)

}

如果一个任务还分很多个细项,比如一个完成一个任务需要杀20个怪,还需要获得某中100个宝石,这个就可以考虑再加个表,当然对应的misson_progress表也需要做相应的修改。

misssion_progress_item

{

player_id

missonn_progress_id 任务进度id

max_count

curr_count

status

}

另外关于任务的触发也需要分情况考虑,表的设计做相应的处理。

如果任务是通过脚本在客服端触发,处理就简单些,那就只需要提交数据给服务器端更新即可。

若是通过服务器端触发则设计就会变得复杂得多,比方说有的任务是打怪触发的,那就得在服务器端所有实际打怪的处理上做拦截,判断是否触发任务,是否完成任务。同样的如果是捡得宝石触发,那就需要拦截所有捡宝石的操作。如果任务类型很多的话,服务器端的处理就很头痛了。