%% ---------------------- %% desc :藏宝图 %% author :hh&tyl %% time :21/02/22 %% ---------------------- -define(NORMAL_TREASURE, 1). %% 普通藏宝图 -define(ADVANCE_TREASURE, 2). %% 高级藏宝图 -define(TREASURE_QUIZ, 1). %% 答题 -define(TREASURE_SHOP, 2). %% 限时商城 -define(TREASURE_BOSS, 3). %% 宝藏boss -define(TREASURE_MONOPOLY, 4). %% 开宝箱 -define(TREASURE_TURNTABLE, 5). %% 高级转盘 -define(TREASURE_MAP_DAILY_EVENT_COUNT, 1). %% 秘闻事件单日触发次数 -define(TREASURE_MAP_TYPE_MAX, 1). %% 每种藏宝图类型单日使用次数 -define(TREASURE_MAP_MON, data_treasure_map:get_kv(mon_id)). %% 藏宝图boss -define(IS_TREAURE_MAP_MON(MonId), MonId == ?TREASURE_MAP_MON). %% 事件结束定时 -define(QUIT_TIME, 35000). -define (USE_EXPIRE_TIME, 600). %% 珍宝事件道具过期定时 -define(SHOP_EXPIRE, 400). -record (role_treasure_map, { target = [], %% 目标场景数据 [{场景, X, Y}] time = 0, %% 开始时间 type = 0, %% 此次使用的宝图类型 last_scene_info = [], %% 上一次坐标缓存 map = #{} %% #{1 => 自定义普通藏宝图数据, 2 => 自定义高级藏宝图数据} }). -record(advanced_map, { reward_id = 0 %% 本次奖励Id ,rewards = [] %% 本次奖励列表 ,tv_type = 0 %% 传闻类型 ,times = 0 %% 月度抽取次数(p.s.:计算月度奖励) }). -record (normal_map, { event_id = 0, %% 事件id start_time = 0, %% 事件开始时间 force_ref = undefined, %% 强制关闭定时 tv_type = 0, %% 传闻类型 event_data = #{}, %% 事件其余数据 limit_shop_info = [] %% 珍宝限时可购买的商品列表 }). %% ---------------------------------- 配置 ---------------------------------------- %% 藏宝图奖励配置表 -record(base_treasure_map_rewards, { reward_id = 0 %% 奖励Id ,type = 0 %% 类型 1-普通 2-高级藏宝图 ,min_lv = 0 %% 最低等级 ,max_lv = 0 %% 最高等级 ,min_vip = 0 %% vip下限 ,get_weight = 0 %% 实际抽奖权重 ,show_weight = 0 %% 展示权重 ,notice = 0 %% 是否传闻 0-否 1-本服 2-跨服(高级藏宝图终极大奖) ,rewards = [] %% 奖励 }). %% 藏宝图坐标表 -record (base_treasure_map_pos, { pos_id = 0, %% 坐标id pos = [] %% }). %% 藏宝图秘闻奖励表 -record (base_treasure_event_rewards, { reward_id = 0, %% 奖励Id type = 0, %% 事件类型 min_lv = 0, max_lv = 0, min_vip = 0, weight = 0, rewards = [] }). %% 藏宝图限时商城表 -record (base_treasure_map_door, { reward_id = 0, min_lv = 0, max_lv = 0, weight = 0, rewards = [] %% [{{奖励1,数量},货币类型,价格,限购数量}] }). %% 藏宝图答题表 -record (base_treasure_map_quiz, { id = 0, question = "", option = [], answer = 0 }). -define (SQL_SELECT_TREASURE_SHOP_INFO, <<"SELECT time, limit_shops FROM role_treasure_map_shop_info WHERE role_id = ~p">>). -define (SQL_DELETE_TREASURE_SHOP_INFO, <<"DELETE FROM role_treasure_map_shop_info WHERE role_id = ~p AND time <= ~p">>). -define (SQL_REPLACE_TREASURE_SHOP_INFO, <<"REPLACE INTO role_treasure_map_shop_info SET role_id = ~p, time = ~p, limit_shops = ~ts">>).