背景
几乎每个游戏都会有任务,比如主线任务,支线任务,师门任务,活动任务等等
在游戏设计中就需要一套任务框架去实现各种任务,让任务系统能够灵活的扩展
配置格式
任务id 任务类型 完成条件 目标值 完成值 领取前置条件 是否自动领取奖励
下一个任务id 是否读历史值 奖励 是否可重复领取
任务id:全局唯一的标识
任务类型:比如主线任务 支线任务
完成条件(最核心):这个任务完成的触发器标识 比如打死boss kill_boss
目标值:比如说打死id为1001的boss 这个值填1001
完成值:打死id为1001的boss3次 这个值填3
领取前置条件:领取该任务时需要什么条件 比如等级达到10级 level>=10
是否自动领取奖励:完成任务时是否自动提交领取奖励
下一个任务id:比如主线任务完成一个后会接着自动领取下一个任务 这里就填下一个任务的id
是否读历史值:在领取该任务之前 玩家应该做完了对应的操作 那么在领取该任务时是否算进度
奖励:就是发的奖励 一般时道具id加数量
是否可重复领取:任务完成后是否可以再领取
玩家任务结构
type quest struct {
id int32 //任务id
questType int32 //任务类型
condition string