|
|
- %%%------------------------------------
- %%% @Module : race_act
- %%% @Author : zengzy
- %%% @Created : 2019-04-27
- %%% @Description: 竞榜的活动
- %%%------------------------------------
-
- %% ---------------------------------------------------------------------------
- %% 类型定义
- %% ---------------------------------------------------------------------------
- -define(RACE_ACT_MOUNT, 1). %% 活动1:坐骑竞榜
- -define(RACE_ACT_LIGHT_WEAPON, 2). %% 活动2:光武竞榜
- -define(RACE_ACT_WING, 3). %% 活动3:翅膀竞榜
-
-
- %%活动开启类型
- -define(TYPE_OPEN_DAY, 1). %% 开服天数控制
- -define(TYPE_BJ_TIME, 2). %% 北京时间控制
-
- -define(NSHOW_TIPS_LIST, []). %% 需要转动,不推送频道消息类型
-
- -define(GOLD_ACT, 1). %%钻石奖池
- -define(SCORE_ACT, 2). %%积分奖池
-
- -define(OPEN_LV, 120). %% 开启等级
- -define(ACT_DAYS, 2). %% 活动开启天数
- -define(SHOW_HOURS, 2). %% 展示时间(小时)
-
- %%奖励状态
- -define(CAN_GET, 1). %% 可以领取
- -define(HAS_GET, 2). %% 已经领取
- -define(CAN_NOT_GET, 3). %% 未满足条件不能领取
-
- -define(ETS_RACE_ACT, ets_race_act). %% ets表
- %% ---------------------------------------------------------------------------
- %% 其他定义
- %% ---------------------------------------------------------------------------
- -define(OPEN, 1). %% 开启
- -define(CLOSE, 0). %% 关闭
- -define(ONE_TREASURE, 1). %% 单抽
- -define(TEN_TREASURE, 10). %% 10抽
- -define(ZERO_CLEAR, 1). %% 凌晨清
- -define(ACT_CLEAR, 2). %% 活动清
-
- %% ets结构(记录已开启的活动)
- -record(ets_race_act, {
- type = 0,
- subtype = 0
- }).
-
- %% ps身上竞榜活动的结构
- -record(race_act, {
- data_list = [] %% 活动需要统计保存的数据[#race_act_data{}]
- }).
-
- %% 数据记录
- -record(race_act_data,{
- id = {0, 0}, %% {主类型,次类型}
- type = 0, %% 主类型
- subtype = 0, %% 次类型
- score = 0, %% 积分
- today_score = 0, %% 今日积分
- times = 0, %% 累积次数
- reward_list = [], %% 已获奖励:奖励id
- score_reward = [], %% 已领取积分奖励id
- other = [], %% 其他数据:根据各活动()
- last_time = 0 %% 最后抽奖时间
- }).
-
- -record(race_act_mgr, {
- opening_act = [], %% 开启中的活动 [#base_race_act_info{}] 存放的活动开启类型为TYPE_BJ_TIME, TYPE_OPEN_DAY走功能内
- show_act = [], %% 展示中的活动 [#base_race_act_info{}] 存放的活动开启类型为TYPE_BJ_TIME, TYPE_OPEN_DAY走功能内
- calc_timer = 0, %% 结算定时器
- check_timer = 0 %% 零点定时器
- }).
-
- %% 进程记录
- -record(race_act_status, {
- zone_id = 0, %% 区id
- bj_rank_list = [], %% 北京时间活动类型榜单,格式[#rank_bj_type{}]
- od_rank_list = [] %% 开服天数活动类型榜单,格式[#rank_od_type{}]
- }).
-
- %% 开服天数活动类型榜单
- -record(rank_od_type,{
- id = {0,0}, %% 主键,格式{type,subtype}
- type = 0, %% 主类型
- subtype = 0, %% 次类型
- data_list = [] %% 格式 [#rank_data{}]
- }).
-
- %% 对应天数排行
- -record(rank_od_data, {
- day = 0, %% 开始天数 (1:第一天,2:第二天)
- rank_list = [], %% 格式 #rank_role{}
- score_limit = 0 %% 最后一名分数
- }).
-
- %% 北京时间活动类型榜单
- -record(rank_bj_type,{
- id = {0,0}, %% 主键,格式{type,subtype}
- type = 0, %% 主类型
- subtype = 0, %% 次类型
- rank_list = [], %% 格式 #rank_role{}
- score_limit = 0 %% 最后一名分数
- }).
-
- -record(rank_role,{
- id = 0 %%玩家id
- ,server_id = 0 %%服务器id
- ,server_num = 0 %%
- ,node = none %%所在节点
- ,score = 0 %%分数
- ,rank = 0 %%排名
- ,figure = undefined
- ,act_st = 0 %%游戏服活动开始时间
- ,day = 0 %%游戏服开始时间换算的天数(不存db)
- ,last_time = 0
- }).
- %% ---------------------------------------------------------------------------
- %% sql定义
- %% ---------------------------------------------------------------------------
- -define(sql_race_act_role_select, <<
- "select
- `role_id`,`type`,`subtype`,`score`,`today_score`,`times`,`reward_list`,`score_reward`,`other`,`last_time` from race_act_role
- where role_id=~p ">>).
- -define(sql_race_act_role_replace, <<
- "replace into race_act_role (`role_id`,`type`,`subtype`,`score`,`today_score`,`times`,`reward_list`,`score_reward`,`other`,`last_time`) values(~p,~p,~p,~p,~p,~p,'~s','~s','~s',~p)">>).
- -define(sql_race_act_rank_select, <<"
- SELECT
- `role_id`,`type`, `subtype`,`server_id`,`server_num`,`name`, `score`, `act_time`, `time`
- FROM race_act_rank order by score desc">>).
- -define(sql_race_act_rank_replace,<<"
- replace into `race_act_rank`(
- `role_id`,`type`, `subtype`,`server_id`, `server_num`,`name`, `score`,`act_time`, `time`)
- values(~p, ~p, ~p, ~p, ~p, '~s', ~p, ~p, ~p)">>).
- -define(sql_race_act_open_selete, <<"select `type`,`subtype` from race_act">>).
- -define(sql_race_act_open_replace, <<"replace into `race_act`(type,subtype) values (~p,~p) ">>).
-
- %% ---------------------------------------------------------------------------
- %% 配置定义
- %% ---------------------------------------------------------------------------
-
- %%活动配置
- -record(base_race_act_info, {
- type = 0, %%主类型
- sub_type = 0, %%次类型
- act_type = 0, %%活动开启类型
- name = "", %%名字
- open_day = 0, %%开服天数
- open_over = 0, %%开服结束
- start_time = 0, %%活动开始时间
- end_time = 0, %%活动结束时间
- clear_type = 0, %%1为零点清;2为活动清
- treasure = [], %%抽检方式 [{次数,金额}]
- others = [] %%其他
- }).
-
- %%排名奖励
- -record(base_race_act_rank_reward,{
- type = 0, %%主类型
- sub_type = 0, %%次类型
- reward_id = 0, %%奖励id
- rank_min = 0, %%排名下限
- rank_max = 0, %%排名上限
- limit_val = 0, %%最低上榜值
- reward = [] %%奖励
- }).
-
- %%阶段奖励
- -record(base_race_act_stage_reward,{
- type = 0, %%主类型
- sub_type = 0, %%次类型
- reward_id = 0, %%奖励id
- need_val = 0, %%所需值
- reward = [] %%奖励
- }).
-
- %%奖池配置
- -record(base_race_act_reward,{
- type = 0, %%主类型
- sub_type = 0, %%次类型
- cost_type = 0, %%奖池类型
- reward_id = 0, %%奖励id
- ratio = 0, %%显示权重
- reward = [], %%内容
- condition = [] %%条件 [加权下限,加权上限,权重,临时权重,必中次数]
- }).
-
|