源战役
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

129 řádky
5.6 KiB

před 4 týdny
  1. %%%-------------------------------------------------------------------
  2. %%% @author liushl
  3. %%% @doc
  4. %%% 跳一跳
  5. %%% @end
  6. %%%-------------------------------------------------------------------
  7. -author("liushl").
  8. -define(JUMP_ACT_TICKET, "666JKLSDFRTYABJK666").
  9. %% 事件类型
  10. -define(JUMP_ACT_EVENT_COMMON, 0). %%
  11. -define(JUMP_ACT_EVENT_MATCH, 1). %% 匹配
  12. -define(JUMP_ACT_EVENT_PLAY, 2). %% 跳一跳
  13. %% 玩法模式
  14. -define(JUMP_ACT_PATTERN_SINGLE, 1). %% 单人模式
  15. -define(JUMP_ACT_PATTERN_MULTIPLE, 2). %% 多人模式
  16. -define(JUMP_ACT_PRC_DATA, jump_info). %% 玩法数据
  17. -define(JUMP_ACT_SCENE, 20010). %% 活动场景
  18. -define(JUMP_ACT_MATCH_TIME_4, 5 ). %% 4人匹配开始时间
  19. -define(JUMP_ACT_WAIT_TIME, 20 ). %% 即使玩家没有进来,20秒后也强制开始
  20. -define(JUMP_ACT_READY_TIME, 3 ). %% 5秒倒计时开始
  21. -define(JUMP_ACT_END_TIME, 5 ). %% 5秒倒计时结束
  22. -define(JUMP_ACT_JUMP_TIME, custom_act_jump_act:data_cfg(jump_time, 15)). %% 15秒跳跃超时
  23. -define(JUMP_ACT_MAX_LIFE, custom_act_jump_act:data_cfg(jump_life, 3)). %% 每个人最大生命值
  24. -define(JUMP_ACT_MAX_MATCH, custom_act_jump_act:data_cfg(jump_day_max, 0)). %% 每个人最大匹配次数
  25. -define(JUMP_ACT_MAX_AWARD, custom_act_jump_act:data_cfg(jump_everyday_times, 0)). %% 每个人最大奖励次数
  26. -define(JUMP_ACT_MATCH_MIN_NUM, custom_act_jump_act:data_cfg(jump_min_num, 3)). %% 最少开始人数
  27. -define(JUMP_ACT_MATCH_MAX_NUM, custom_act_jump_act:data_cfg(jump_max_num, 4)). %% 最大开始人数
  28. -define(JUMP_ACT_MATCH_WAIT_TIME, custom_act_jump_act:data_cfg(jump_wait, 180)). %% 达到最少人数后多久开始
  29. -define(JUMP_ACT_SINGLE_LEFT, custom_act_jump_act:data_cfg(jump_single_life, 100)). %% 单人模式100条命
  30. -define(JUMP_ACT_SINGLE_PLAY, custom_act_jump_act:data_cfg(jump_single_everyday_times, 10)). %% 单人模式每日匹配次数
  31. %% 跳跃进度
  32. -define(JUMP_PROGRESS_NONE, 0). %% 未跳跃
  33. -define(JUMP_PROGRESS_PRE, 1). %% 准备跳跃
  34. -define(JUMP_PROGRESS_JUMP, 2). %% 跳跃中
  35. %% 跳跃结果
  36. -define(JUMP_ACT_JUMP_SUCCESS, 1). %% 成功
  37. -define(JUMP_ACT_JUMP_FAIL, 0). %% 失败
  38. %% 每日计数器
  39. -define(JUMP_ACT_COUNTER_DAILY_COUNT, 1).
  40. %% 终生计数器
  41. -define(JUMP_ACT_COUNTER_LIFE_COUNT, 1).
  42. %% 活动管理
  43. -record(jump_act_center, {
  44. room_id = 1 %% 房间编号-递增
  45. , act_data = #{} %% #{sub_type => #jump_act_act{}}
  46. }).
  47. -record(jump_act_act, {
  48. sub_type = 0 %% 定制活动子类型
  49. , ref_state %% 活动定时器
  50. , end_time = 0 %% 单场活动结束
  51. , match_list = [] %% 匹配列表:匹配成功后,房间数据存于进程字典
  52. , match_ref %% 匹配成功倒计时:满3人后180s倒计时,
  53. , match_time = 0 %% 匹配成功时间
  54. , temp_room = [] %% 临时数据,存放离线时在玩法中的玩家信息[{role_id,room_id}|_]
  55. , rooms = #{}
  56. }).
  57. %% 玩家管理
  58. -record(jump_act_state, {
  59. sub_type = 0 %% 定制活动子类型
  60. , ref_state %% 活动定时器
  61. , end_time = 0 %% 单场活动结束
  62. , match_list = [] %% 匹配列表:匹配成功后,房间数据存于进程字典
  63. , match_ref %% 匹配成功倒计时:满3人后180s倒计时,
  64. , match_time = 0 %% 匹配成功时间
  65. , room_id = 1 %% 房间编号-递增
  66. , temp_room = [] %% 临时数据,存放离线时在玩法中的玩家信息[{role_id,room_id}|_]
  67. }).
  68. %% 台子
  69. -record(jump_act_step, {
  70. x = 0 %% 台子坐标
  71. , y = 0
  72. , radius = 0 %% 台子半径
  73. , model = 0 %% 台子模型
  74. }).
  75. %% 房间数据 进程字典
  76. -record(jump_act_room, {
  77. id = 0 %% 房间编号
  78. , pattern = 0 %% 模式:1单人|2多人
  79. , begin_time= 0 %% 开始时间
  80. , scene_pool= 0 %% 房间分线id
  81. , roles = [] %% 参与玩家列表[#jump_act_role{}]
  82. , all_enter = [] %% 开始标识,为空的时候表明玩家全部进来
  83. , ref_act %% 玩法定时器
  84. %% 满4人后5s倒计时/15秒跳跃超时计时
  85. , round = 0 %% 轮次
  86. , step_coming %% 预告台子
  87. , step_foot %% 当前脚下台子
  88. %% 下一个台子
  89. , x = 0 %% 下一个台子坐标
  90. , y = 0
  91. , radius = 0 %% 下一个台子半径
  92. , model = 0 %% 下一个台子模型
  93. , step_end = 0 %% 是否该地图最后一个台子
  94. , map_id = 0 %% 地图id
  95. , jump_status = 0 %% 跳跃结果:1成功|0失败
  96. , jump_role = 0 %% 当前可跳跃玩家
  97. , jump_time = 0 %% 跳跃超时时间:15s超时
  98. , jump_progress = 0 %% 跳跃进度
  99. }).
  100. %% 玩家
  101. -record(jump_act_role, {
  102. role_id = 0 %% 玩家id
  103. , node = 0 %% 节点信息
  104. , server_num = 0 %% 服务器信息
  105. , figure %% 玩家信息
  106. , life = 0 %% 命
  107. , can_get_award = false %% 是否能获得奖励
  108. , award_info = [] %% 结算奖励
  109. , stop_round = 0 %% 止步轮次
  110. , rank = 0 %% 排名
  111. , is_out = 0 %% 是否已经离开活动场景:离开活动场景则结算
  112. , is_online = 0 %% 是否在线
  113. }).