|
|
- %%%-------------------------------------------------------------------
- %%% @author liushl
- %%% @doc
- %%% 跳一跳
- %%% @end
- %%%-------------------------------------------------------------------
- -author("liushl").
-
- -define(JUMP_ACT_TICKET, "666JKLSDFRTYABJK666").
- %% 事件类型
- -define(JUMP_ACT_EVENT_COMMON, 0). %%
- -define(JUMP_ACT_EVENT_MATCH, 1). %% 匹配
- -define(JUMP_ACT_EVENT_PLAY, 2). %% 跳一跳
- %% 玩法模式
- -define(JUMP_ACT_PATTERN_SINGLE, 1). %% 单人模式
- -define(JUMP_ACT_PATTERN_MULTIPLE, 2). %% 多人模式
-
- -define(JUMP_ACT_PRC_DATA, jump_info). %% 玩法数据
-
- -define(JUMP_ACT_SCENE, 20010). %% 活动场景
- -define(JUMP_ACT_MATCH_TIME_4, 5 ). %% 4人匹配开始时间
- -define(JUMP_ACT_WAIT_TIME, 20 ). %% 即使玩家没有进来,20秒后也强制开始
- -define(JUMP_ACT_READY_TIME, 3 ). %% 5秒倒计时开始
- -define(JUMP_ACT_END_TIME, 5 ). %% 5秒倒计时结束
-
- -define(JUMP_ACT_JUMP_TIME, custom_act_jump_act:data_cfg(jump_time, 15)). %% 15秒跳跃超时
- -define(JUMP_ACT_MAX_LIFE, custom_act_jump_act:data_cfg(jump_life, 3)). %% 每个人最大生命值
- -define(JUMP_ACT_MAX_MATCH, custom_act_jump_act:data_cfg(jump_day_max, 0)). %% 每个人最大匹配次数
- -define(JUMP_ACT_MAX_AWARD, custom_act_jump_act:data_cfg(jump_everyday_times, 0)). %% 每个人最大奖励次数
- -define(JUMP_ACT_MATCH_MIN_NUM, custom_act_jump_act:data_cfg(jump_min_num, 3)). %% 最少开始人数
- -define(JUMP_ACT_MATCH_MAX_NUM, custom_act_jump_act:data_cfg(jump_max_num, 4)). %% 最大开始人数
- -define(JUMP_ACT_MATCH_WAIT_TIME, custom_act_jump_act:data_cfg(jump_wait, 180)). %% 达到最少人数后多久开始
- -define(JUMP_ACT_SINGLE_LEFT, custom_act_jump_act:data_cfg(jump_single_life, 100)). %% 单人模式100条命
- -define(JUMP_ACT_SINGLE_PLAY, custom_act_jump_act:data_cfg(jump_single_everyday_times, 10)). %% 单人模式每日匹配次数
- %% 跳跃进度
- -define(JUMP_PROGRESS_NONE, 0). %% 未跳跃
- -define(JUMP_PROGRESS_PRE, 1). %% 准备跳跃
- -define(JUMP_PROGRESS_JUMP, 2). %% 跳跃中
- %% 跳跃结果
- -define(JUMP_ACT_JUMP_SUCCESS, 1). %% 成功
- -define(JUMP_ACT_JUMP_FAIL, 0). %% 失败
-
- %% 每日计数器
- -define(JUMP_ACT_COUNTER_DAILY_COUNT, 1).
- %% 终生计数器
- -define(JUMP_ACT_COUNTER_LIFE_COUNT, 1).
-
- %% 活动管理
- -record(jump_act_center, {
- room_id = 1 %% 房间编号-递增
- , act_data = #{} %% #{sub_type => #jump_act_act{}}
- }).
-
- -record(jump_act_act, {
- sub_type = 0 %% 定制活动子类型
- , ref_state %% 活动定时器
- , end_time = 0 %% 单场活动结束
-
- , match_list = [] %% 匹配列表:匹配成功后,房间数据存于进程字典
- , match_ref %% 匹配成功倒计时:满3人后180s倒计时,
- , match_time = 0 %% 匹配成功时间
-
- , temp_room = [] %% 临时数据,存放离线时在玩法中的玩家信息[{role_id,room_id}|_]
- , rooms = #{}
- }).
-
- %% 玩家管理
- -record(jump_act_state, {
- sub_type = 0 %% 定制活动子类型
- , ref_state %% 活动定时器
- , end_time = 0 %% 单场活动结束
-
- , match_list = [] %% 匹配列表:匹配成功后,房间数据存于进程字典
- , match_ref %% 匹配成功倒计时:满3人后180s倒计时,
- , match_time = 0 %% 匹配成功时间
- , room_id = 1 %% 房间编号-递增
- , temp_room = [] %% 临时数据,存放离线时在玩法中的玩家信息[{role_id,room_id}|_]
- }).
-
- %% 台子
- -record(jump_act_step, {
- x = 0 %% 台子坐标
- , y = 0
- , radius = 0 %% 台子半径
- , model = 0 %% 台子模型
- }).
-
- %% 房间数据 进程字典
- -record(jump_act_room, {
- id = 0 %% 房间编号
- , pattern = 0 %% 模式:1单人|2多人
- , begin_time= 0 %% 开始时间
- , scene_pool= 0 %% 房间分线id
- , roles = [] %% 参与玩家列表[#jump_act_role{}]
- , all_enter = [] %% 开始标识,为空的时候表明玩家全部进来
- , ref_act %% 玩法定时器
- %% 满4人后5s倒计时/15秒跳跃超时计时
- , round = 0 %% 轮次
- , step_coming %% 预告台子
- , step_foot %% 当前脚下台子
- %% 下一个台子
- , x = 0 %% 下一个台子坐标
- , y = 0
- , radius = 0 %% 下一个台子半径
- , model = 0 %% 下一个台子模型
- , step_end = 0 %% 是否该地图最后一个台子
-
- , map_id = 0 %% 地图id
- , jump_status = 0 %% 跳跃结果:1成功|0失败
- , jump_role = 0 %% 当前可跳跃玩家
- , jump_time = 0 %% 跳跃超时时间:15s超时
- , jump_progress = 0 %% 跳跃进度
- }).
-
- %% 玩家
- -record(jump_act_role, {
- role_id = 0 %% 玩家id
- , node = 0 %% 节点信息
- , server_num = 0 %% 服务器信息
- , figure %% 玩家信息
- , life = 0 %% 命
- , can_get_award = false %% 是否能获得奖励
- , award_info = [] %% 结算奖励
- , stop_round = 0 %% 止步轮次
- , rank = 0 %% 排名
- , is_out = 0 %% 是否已经离开活动场景:离开活动场景则结算
- , is_online = 0 %% 是否在线
- }).
-
|