%%------------------------------------------------------------------------------
|
|
%% @Module : tsmaps
|
|
%% @Author : xiaoxiang
|
|
%% @Created : 2017/04/24
|
|
%% @Description: 藏宝图
|
|
%%------------------------------------------------------------------------------
|
|
% err421_1_have_not_goods 不存在该藏宝图
|
|
% err421_2_not_xy 未到达藏宝地点
|
|
% err421_3_collec_wrong 采集失败
|
|
% err421_4_team_num_err 队伍人数不够2人
|
|
% err421_5_clue_not_enough 线索不够
|
|
% err421_6_not_team 队伍状态才能参与
|
|
% err421_7_not_num 队伍人数不够
|
|
% err421_8_lv_not 等级不够
|
|
% err421_9_not_scene 线索不在当前地图
|
|
% err421_10_not_same_time 不在同一支队伍中
|
|
%err421_11_not_same_guild 不在同一个帮会中
|
|
% err421_12_already_get 该线索已被发掘,请寻找其他线索
|
|
% err421_13_not_guild 请加入一个公会
|
|
% err421_14_not_clue 线索位置不正常,请继续寻找
|
|
% err421_15_already_get_tsmap 宝藏已被挖走
|
|
% err421_16_max_help 您今天的神秘宝图帮助奖励已到上限
|
|
% err421_17_not_same_guild 您与宝藏发布者不在同一个公会
|
|
% err421_18_collecting {1}正在挖宝,眼睛变成卢币形状
|
|
% err421_19_not_xy_extra {1}不在附近,无法挖宝
|
|
% err421_20_lv_not_extra {1}等级不足
|
|
% err421_26_dun_level 当前副本阶段禁止进入
|
|
%% -----------------------------------------------------------------------------
|
|
-define(EVENT_TSMAPS_REWARD, 1). %% 1奖励
|
|
-define(EVENT_TSMAPS_HOLE, 2). %% 2洞穴
|
|
-define(EVENT_TSMAPS_MON, 3). %% 3怪物
|
|
|
|
-define(TSMAPS_STATE_WAIT, 0). %% 藏宝图活动进行状态 0未进行
|
|
-define(TSMAPS_STATE_NORMAL, 1). %% 藏宝图活动进行状态 0未进行 普通进行中
|
|
-define(TSMAPS_STATE_FINE, 2). %% 藏宝图活动进行状态 0未进行 精致进行中
|
|
-define(TSMAPS_STATE_MYSTICAL, 3). %% 藏宝图活动进行状态 0未进行 神秘进行中
|
|
|
|
-define(TSMAP_COLLECT_NONE, 0). %% 无操作
|
|
-define(TSMAP_COLLECT_START, 1). %% 开始挖取宝藏
|
|
-define(TSMAP_COLLECT_END, 2). %% 挖取宝藏结束
|
|
|
|
-define(TSMAP_MIN_LV, 30). %% 最低等级
|
|
-define(TSMAP_INVITE_MAX, 10). %% 最大邀请人数
|
|
|
|
-define(TIME_OUT_KILL_MON, (30*60)).
|
|
|
|
-define(MYSTICAL_CLUE_MAX, 3). %% 神秘宝藏线索
|
|
|
|
-define(MAX_MYSTICAL_HELP, 5). %% 神秘宝藏最大帮助次数
|
|
|
|
-define(TSMAP_CONFIG_XY, 4). %% 采集范围400像素
|
|
-define(TSMAP_CONFIG_LV_LIMIT, 5). %% 邀请玩家进入神秘洞穴等级
|
|
-define(TSMAP_CONFIG_COLLECT_NUM,6). %% [{采集id,数量}...],可采集数量上限
|
|
|
|
%% 神秘宝藏地图表
|
|
-record(base_tsmaps, {
|
|
id = 0,
|
|
lv = [],
|
|
maps = []
|
|
}).
|
|
|
|
%% 藏宝图触发事件配置表
|
|
-record(base_tsmaps_event, {
|
|
id = 0,
|
|
map_type = 0, %% 藏宝图类型 1普通,2精致,3神秘
|
|
event = [], %% 触发事件 1奖励,2洞穴,3怪物;[{编号,权重}]
|
|
holder_lv = 0, %% 持有者等级
|
|
holder_reward = [], %% 持有者奖励 [{奖励品级,权重,奖励列表},{}...]
|
|
help_reward = [], %% 帮助者奖励 [{奖励品级,奖励列表},{}...]
|
|
hole = [], %% 神秘洞穴 [{权重,[副本1,副本2]},{权重,[副本1]}]
|
|
mon = [], %% 怪物 [{权重,怪物id,数量},{}...]
|
|
holder_mon_reward = [], %% 持有者杀怪奖励
|
|
help_mon_reward = [] %% 帮助者杀怪奖励
|
|
}).
|
|
|
|
-record(tsmap,{
|
|
subtype = 0, %% 藏宝图类型
|
|
scene = 0,
|
|
pos = [], %% 藏宝图坐标 [{id,x,y,role_id, name}]
|
|
produce_time = 0,
|
|
time = 0 %% 开始挖取的时间戳
|
|
}).
|
|
|
|
-record(status_tsmaps, {
|
|
tsmap_maps = maps:new(),
|
|
hole=[],
|
|
goods_num = maps:new()
|
|
}).
|
|
|
|
|
|
-define(sql_get_tsmap_select, <<"select goods_id, produce_time, subtype, scene, pos from tsmap_pos where role_id=~p">>).
|
|
-define(sql_tsmap_replace, <<"replace into tsmap_pos (role_id, goods_id, produce_time, subtype, scene, pos) values (~p, ~p, ~p, ~p, ~p, '~s')">>).
|
|
-define(sql_delete_tsmap, <<"delete from tsmap_pos where goods_id=~p">>).
|