%% --------------------------------------------------------------------------- %% @doc task.hrl %% @author ming_up@foxmail.com %% @since 2016-12-03 %% @deprecated 任务相关定义 %% --------------------------------------------------------------------------- -define(SQL_ROLE_DAILY_GET,<<"SELECT `dailys`,`time` FROM `task_daily` WHERE `rid`=~p">>). -define(SQL_ROLE_TASK_DAILY_INS, <<"REPLACE INTO `task_daily` (`rid`,`dailys`,`time`)VALUES (~p,'~ts',~p)">>). -define(SQL_ROLE_TASK_BAG_BATCH,"REPLACE INTO `task_bag`(`role_id`, `task_id`, `trigger_time`, `state`,`end_state`, `mark`, `type`, `lv`) VALUES ~ts"). %% 任务类型type -define(TASK_TYPE_MAIN, 1). %% 主线任务(不能重复接) -define(TASK_TYPE_SIDE, 2). %% 支线任务(不能重复接) -define(TASK_TYPE_TURN, 3). %% 转生任务(不能重复接) -define(TASK_TYPE_CHAPTER, 4). %% 章节任务(不能重复接) -define(TASK_TYPE_NUCLEON, 5). %% 灵能任务(不能重复接) -define(TASK_TYPE_GUILD, 6). %% 公会周任务 -define(TASK_TYPE_DAILY, 7). %% 日常支线任务(悬赏任务) -define(TASK_TYPE_FOUR, 8). %% 四点清理 每日循环 %% 任务种类kind -define(TASK_KIND_TALK, 0). %% 对话任务 -define(TASK_KIND_KILL, 1). %% 杀怪任务 -define(TASK_KIND_ITEM, 2). %% 收集任务 -define(TASK_KIND_COLLECT, 3). %% 采集任务 -define(TASK_KIND_ESCORT, 4). %% 护送任务 -define(TASK_KIND_ENTER_SCENE, 5). %% 探索任务 -define(TASK_KIND_DUN, 6). %% 副本任务 -define(TASK_KIND_ITEM_BACK, 7). %% 收集回收任务 -define(TASK_KIND_STREN, 8). %% 装备强化任务 -define(TASK_KIND_RUNE_DUN, 9). %% 符文副本任务 -define(TASK_KIND_EXP_DUN, 10). %% 发条密室任务 %% 任务内容类型定义,参考后台任务配置-任务内容配置 -define(TASK_CONTENT_KILL, 1). %% 杀怪 -define(TASK_CONTENT_KILL_BOSS, 2). %% 杀boss:具体到boss类型 -define(TASK_CONTENT_ITEM, 3). %% 收集物品:杀怪 -define(TASK_CONTENT_COLLECT, 4). %% 怪物采集 -define(TASK_CONTENT_TALK, 5). %% npc对话 -define(TASK_CONTENT_START_TALK, 6). %% 开始npc对话 -define(TASK_CONTENT_END_TALK, 7). %% 结束npc对话 -define(TASK_CONTENT_STREN, 8). %% 装备强化 -define(TASK_CONTENT_DUNGEON_TYPE, 9). %% 完成某类副本 -define(TASK_CONTENT_DUNGEON_EXP, 10). %% 发条密室经验 -define(TASK_CONTENT_DUNGEON, 11). %% 某个副本 -define(TASK_CONTENT_ENTER_SCENE, 12). %% 进入场景 -define(TASK_CONTENT_ADD_FRIEND, 13). %% 添加好友 -define(TASK_CONTENT_JOIN_GUILD, 14). %% 加入社团 -define(TASK_CONTENT_GUILD_EQ_RECYCLE, 15). %% 社团装备回收 -define(TASK_CONTENT_GUILD_ACTIVITY, 16). %% 社团活动 -define(TASK_CONTENT_GUILD_EQ_DONATE, 17). %% 社团装备捐献 -define(TASK_CONTENT_BUY_FROM_TRADING, 19). %% 从市场购买 -define(TASK_CONTENT_TRADING_PUTAWAY, 20). %% 物品上架市场 -define(TASK_CONTENT_DUNGEON_RUNE, 21). %% 符文之塔层数 -define(TASK_CONTENT_TIME_TASK, 22). %% 主线触发限时任务 -define(TASK_CONTENT_GOODS_COMPOSE, 23). %% 物品合成 -define(TASK_CONTENT_DAY_ACTIVITY, 24). %% 日常活跃达到xxx点(历史取最大值) -define(TASK_CONTENT_MATE, 25). %% 羁绊缔结 -define(TASK_CONTENT_DEVOUR, 26). %% 吞噬装备 -define(TASK_CONTENT_KILL_BOSS_ID, 27). %% 击杀boss:具体bossid -define(TASK_CONTENT_FISH, 28). %% 钓鱼 -define(TASK_CONTENT_DUNGEON_ID_ENTER, 29). %% 进入完成某个副本 -define(TASK_CONTENT_ARENA_TIMES, 31). %% 竞技场次数 -define(TASK_CONTENT_DUNGEON_TYPE_ENTER,34). %% 进入完成某类副本 -define(TASK_CONTENT_CHOOSE_TALK, 35). %% 选项对话 -define(TASK_CONTENT_EMPOWER, 36). %% 装备器灵 -define(TASK_CONTENT_DUN_WAVE, 37). %% 副本进度 -define(TASK_CONTENT_MAILER_RUN, 38). %% 送信任务 其实就是对话击鼓传花 -define(TASK_CONTENT_ERISE, 39). %% 装备进化 -define(TASK_CONTENT_SCORE_BUY, 40). %% 动态积分购买道具 -define(TASK_CONTENT_FRIEND_GIFT, 41). %% 好友送礼 -define(TASK_CONTENT_FRIEND_EXP, 42). %% 好友亲密度 -define(TASK_CONTENT_FOSTER_LV, 43). %% 进阶系统升级 -define(TASK_CONTENT_ROLL, 44). %% 器灵之路 -define(TASK_CONTENT_GOD_LV, 45). %% 唤神升级 -define(TASK_CONTENT_GALAXY_LV, 46). %% 星辰升级 -define(TASK_CONTENT_PET_LV, 47). %% 宠物升级 -define(TASK_CONTENT_SHOW_BABY, 48). %% 晒娃 -define(TASK_CONTENT_NUCLEON_EQUIP, 49). %% 装备灵能 -define(TASK_CONTENT_NUCLEON_SHOP, 50). %% 灵能寻宝 -define(TASK_CONTENT_NEWER, 51). %% 新手引导 -define(TASK_CONTENT_TURN, 52). %% 转生完成 -define(TASK_CONTENT_CAPSULE, 53). %% 龙神抽奖 -define(TASK_CONTENT_EQUIP_SUIT, 54). %% 装备套装 -define(TASK_CONTENT_WAR_SOUL_LV, 55). %% 战魂升级 -define(TASK_CONTENT_FOSTER_GRADE, 56). %% 进阶目标 -define(TASK_CONTENT_EXPECT_TASK, 57). %% 完成目标任务 -define(TASK_CONTENT_CHILD_HEART, 58). %% 宝宝同心值 -define(TASK_CONTENT_COMBAT, 59). %% 玩家战力值 -define(TASK_CONTENT_ACTIVE_SKILL_LV_TIMES, 60). %% 任意主动技能升级N次 -define(TASK_CONTENT_SOME_SHOP_BUY_BOOK, 61). %% 指定商定购买技能书 -define(TASK_CONTENT_ANY_SHOP_BUY_BOOK, 62). %% 任意商定购买技能书 -define(DOUBLE_TYPE, 1). %% 双倍奖励标志 -define(DAILY_SPECIAL_LV, [55]). %% 日常任务特殊处理等级 %% ================================= 配置记录 ================================= %% 任务数据 -record(task, { id = 0 %% 任务id ,role_id=0 ,name = "" %% 任务名称 % ,desc = "" %% 描述 ,class = 0 %% 任务分类,0普通任务,1运镖任务,2帮会任务 ,type = 0 %% 类型(1主线,2支线,3转生,4章节限时,6公会周,7日常...) ,kind = 0 %% 种类(0对话,1打怪,2采集,3收集,4护送,5探索,6副本,7采集回收(悬赏和公会任务动态采用),8装备强化任务,9符文副本任务,10发条密室任务) ,level = 1 %% 可接的最低等级 ,level_max = 0 %% 可接的最大等级 ,repeat = 0 %% 重复次数 ,realm = 0 %% 阵营限制 ,career = 0 %% 职业限制 ,turn = 0 %% 转生限制 ,prev = 0 %% 上一个必须完成的任务id ,next = 0 %% 下一个任务id ,dun_id = 0 %% 副本id|采集怪物id ,start_item = [] %% 开始获得物品{ItemId, Number} ,end_item = [] %% 结束回收物品 ,start_npc = 0 %% 开始npcid ,end_npc = 0 %% 结束npcid ,start_talk = 0 %% 开始对话 ,end_talk = 0 %% 结束对话 ,unfinished_talk = 0 %% 未完成对话 ,trigger_pathfind = 0 %% 是否需要寻路触发 ,finish_pathfind = 0 %% 是否需要寻路完成 ,condition = [] %% 条件内容 [{task, 任务id}, {item, 物品id, 物品数量}] ,content = [] %% 任务内容 [State, ContentType, Id, Num, SceneId, X, Y, PathFind] ,state = 0 %% 完成任务需要的状态值 state = length(content) ,award_list=[] %% 奖励列表 ,special_goods_list=[] %% 特殊职业性别物品[{Career, Sex, GoodsId, Num}]=[{职业,性别,物品id,数量}]:当职业不区分的时候=0;当性别不区分的时候=0; ,guild_exp = 0 ,next_cue = 0 ,npc_show = [] %% NPC 动态信息[{任务状态(0领取,1可完成,2完成),[{NpcId,Npc状态(0不显示,1显示),场景Id,X,Y}]}] ,chapter = 0 %% 主线章节 主线任务才会有值 ,double_cost = 0 %% 双倍奖励消耗, 默认为0:没有双倍奖励; >0:则是有双倍,为消耗的绑钻数 ,qcost = 0 %% 快速完成消耗 }). %% 任务条件数据 -record(task_condition, { id ,type = 0 ,kind = 0 ,level = 1 %% 可接的最低等级 ,level_max = 0 %% 可接的最大等级 ,repeat = 0 %% 可否重复 ,realm = 0 %% 阵营 ,career = 0 %% 职业限制 ,turn = 0 %% 转生限制 ,prev = 0 %% 上一个必须完成的任务id ,condition = [] %% 扩充条件 TODO 具体描述日后再加 }). %% 任务类型配置 -record(task_type, { type = 0, count = 0, module_id = 0, counter_id = 0, finish_cost = [] }). %% 等级动态任务id -record(task_lv_dynamic_id, { type = 0, %% 任务类型 cls_state = 1, %%是否跨服 slv = 0, %% 开始等级 elv = 0, %% 结束等级 task_ids = [] %% 任务id,纯随机[id1,id2, ...] }). %% 动态等级任务内容 -record(task_lv_dynamic_content, { task_id = 0, %% 任务id slv = 0, %% 开始等级 elv = 0, %% 结束等级 start_npc = 0, %% 开始npc end_npc = 0, %% 结束npc scene = 0, %% 场景id x = 0, %% X y = 0, %% Y content_type = 0, %% 任务内容类型 id = 0, %% id(MonId|DunId|GoodId), 怪物id|副本id|物品id num = 0, %% 完成次数|采集数|收集数 extra_reward = [] %% 额外奖励:[{环数,奖励内容}] }). %% ================================= 功能记录 ================================= %% 角色任务记录 -record(role_task, { role_id = 0, lv = 0, %% 接任务时候玩家的等级 task_id = 0, type = 0, kind = 0, write_db = 0, %% 是否需要写数据库 trigger_time = 0, state = 0, end_state = 0, mark = [] %% 任务记录器格式[State=int(),Finish=bool(), Type=atom((), ...] }). %% 角色任务历史记录 -record(role_task_log, { type = 0, count = 1 %% 完成的次数 }). -record(task_args, { id=0, %% 玩家id scene = 0, %% 场景id sid=undefined, %% 玩家广播进程 figure=undefined, %% 基本形象参数 npc_info=[], %% 玩家npc信息 gs_dict = undefined, %% 物品数据 guild_build_lv = 0, %% 公会建筑场等级 source = "" %% 玩家渠道来源 }). %%跑环任务领取情况 -record(task_daily, { dailys = [], %%领取进度 [{Type,Pro}] time = 0 %%上次操作时间 }). -record(base_task_daily, { type = 0, %%任务类 grade = 0, %%进度 counts = 0, %%要求完成环数 awards = [] }).