|
|
- %%% ----------------------------------------------------
- %%% @Module: 3v3
- %%% @Author: zhl
- %%% @Description: 跨服3v3头文件
- %%% @Created: 2017/07/04
- %%% ----------------------------------------------------
- -define(ETS_RANK_DATA, kf_rank_data). %% 排行数据
- -define(ETS_TEAM_DATA, kf_team_data). %% 队伍数据
- -define(ETS_ROLE_DATA, kf_role_data). %% 玩家数据
- -define(ETS_PK_DATA, kf_pk_data). %% 战斗数据
-
- -define(PK_3V3_SCENE_ID, 6000). %% 3v3战斗场景id
- -define(PK_3V3_SCENE, [?PK_3V3_SCENE_ID]). %% 跨服3v3战斗场景列表
- -define(PK_3V3_SCENE_POOL_ID_LIST, [1,2,3,4,5]). %% 进程池Id列表
-
- -define(PK_3V3_ONLINE, 1).
- -define(PK_3V3_OFFLINE, 2).
- -define(PK_3V3_MAX_SCORE, 300).
-
- -define(KF_3V3_LV_LIMIT, 270). %% 开放等级限制
- -define(KF_3V3_ROOM_LIMIT, 45). %% 房间数量限制 - 一个场景限制人数270以内
- -define(KF_3V3_MATCH_TIME, 30). %% 最大匹配时间
- -define(KF_3V3_PK_TIME, 180). %% 战斗时间3min
- -define(KF_3V3_CREATE_BUFF_TIME, 30). %% buff刷出时间2min
- -define(KF_3V3_RANK_LIMIT, 100). %% 排行榜上限
- -define(KF_3V3_MEMBER_LIMIT, 3). %% 队伍人员限制##只是初始化的默认值,修改人数需要同步mod_3v3_center和mod_3v3_local进程中的member_limit字段
- -define(KF_3V3_REVIVE_TIME, 0). %% 3v3复活时间
- -define(SERVER_OPEN_DAY, 4). %% 开服天数
- -define(SEASON_REWARD_PK_COUNT, 20). %% 赛季奖励领取场次条件
-
- -define(KF_3V3_STATE_YET, 1). %% 活动状态 - 还未开始
- -define(KF_3V3_STATE_START, 2). %% 活动状态 - 开始
- -define(KF_3V3_STATE_END, 3). %% 活动状态 - 结束
-
- -define(KF_3V3_PK_READY, 1). %% 战斗状态 - 准备中
- -define(KF_3V3_PK_START, 2). %% 战斗状态 - 开始
- -define(KF_3V3_PK_END, 3). %% 战斗状态 - 结束
-
- -define(KF_3V3_IS_AUTO, 1). %% 满员自动开始
- -define(KF_3V3_UNREADY, 0). %% 还未准备好
- -define(KF_3V3_IS_READY, 1). %% 已准备好了
-
- -define(KF_3V3_START_ROLE, 1). %% 开始匹配 - 组队
- -define(KF_3V3_STOP_ROLE, 2). %% 取消匹配 - 组队
-
- -define(KF_3V3_GROUP_BLUE, 1). %% 蓝色
- -define(KF_3V3_GROUP_RED, 2). %% 红色
-
- -define(KF_3V3_RESULT_DRAW, 0). %% 打平
- -define(KF_3V3_RESULT_BLUE, 1). %% 蓝方胜利
- -define(KF_3V3_RESULT_RED, 2). %% 红方胜利
-
- -define(SQL_SELECT_3V3_RANK, "select server_name, server_num, server_id, role_id, nickname, career,
- sex, lv, vip_lv, power, tier, star, score, time, season_pk from kf_3v3_rank order by (rank_id) asc").
- -define(SQL_REPLACE_3V3_RANK_ONE, "replace into kf_3v3_rank (rank_id, server_name, server_num, server_id, role_id, nickname,
- career, sex, lv, vip_lv, power, tier, star, score, time, season_pk) values ~ts").
- -define(SQL_REPLACE_3V3_RANK_VALUES, "(~w, '~s', ~w, ~w, ~w, '~ts', ~w, ~w, ~w, ~w, ~w, ~w, ~w, ~w, ~w, ~w)").
-
- -define(SQL_DELETE_3V3_RANK_ONE, "delete from kf_3v3_rank where ~ts").
- -define(SQL_DELETE_3V3_RANK_VALUES, "(role_id = ~w)").
-
- -define(SQL_SELECT_3V3_ROLE, "select old_tier, old_star, tier, star, continued_win, daily_win,
- daily_pk, daily_honor, pack_reward, pack_time, daily_time, season_pk from role_3v3 where role_id = ~w").
- -define(SQL_REPLACE_3V3_ROLE, "replace into role_3v3 (role_id, old_tier, old_star, tier, star,
- continued_win, daily_win, daily_pk, daily_honor, pack_reward, pack_time, daily_time, season_pk) values (~w, ~w, ~w, ~w, ~w,
- ~w, ~w, ~w, ~w, '~ts', ~w, ~w, ~w)").
-
- %% ========================= 跨服中心数据 ===============================
-
-
- %% 跨服3v3数据
- -record(center_state, {
- state_3v3 = 0, %% 活动状态
- ed_time = 0, %% 结束时间
- % scenelist = [], %% 剩余场景列表
- auto_id = 1, %% 队伍ID - 自增ID
- candinates = [], %% 候选队伍 - 匹配中
- pk_timer = [], %% 战斗匹配倒计时
- match_role = [], %% 候选玩家 - 匹配中
- team_timer = [], %% 队伍匹配倒计时
- act_timer = [], %% 活动倒计时
- member_limit = ?KF_3V3_MEMBER_LIMIT %% 人数限制
- }).
-
- %% 跨服3v3排行数据
- -record(kf_3v3_rank_data, {
- server_name = "", %% 平台
- server_num = 0, %% 服号
- server_id = 0, %% 角色所在的服务器id
- role_id = 0, %% 玩家ID
- nickname = "", %% 玩家昵称
- career = 0, %% 职业
- sex = 0, %% 性别
- lv = 0, %% 等级
- vip_lv = 0, %% VIP等级
- power = 0, %% 战力
- tier = 0, %% 段位
- star = 0, %% 星数
- time = 0, %% 上榜时间
- season_pk = 0, %% 赛季参与次数
- score = 0 %% 每赛季所得积分 - 每赛季都需要重置
- }).
-
- %% 跨服3v3战斗数据
- -record(kf_3v3_pk_data, {
- pk_pid = 0, %% 战斗进程PID
- scene_id = 0, %% 场景ID
- scene_pool_id = 0, %% 场景PoolId
- room_id = 0, %% 房间号
- state = 0, %% PK状态
-
- %% ===================== 成员退出战斗不清除战斗数据中的队友数据 =================
- team_data_a = [], %% A 队伍数据 - #kf_3v3_team_data{}
- team_data_b = [] %% B 队伍数据 - #kf_3v3_team_data{}
- }).
-
- %% 跨服3v3队伍数据
- -record(kf_3v3_team_data, {
- team_id = 0, %% 队伍ID
- captain_name = "", %% 队长名
- server_name = "", %% 平台
- server_num = 0, %% 服号
- server_id = 0, %% 服id
- captain_id = 0, %% 队长ID
- password = 0, %% 密码
- lv_limit = 0, %% 等级要求
- power_limit = 0, %% 战力要求
- is_auto = 0, %% 是否自动开始
- member_num = 0, %% 队伍人数
- map_power = 0, %% 映射战力,用于战斗匹配
- average_power = 0, %% 平均战力
- match_count = 0, %% 匹配次数
- is_pk = 0, %% 是否在pk
- member_data = [] %% 成员数据 [#kf_3v3_role_data{}]
- }).
-
- %% 跨服3v3玩家数据
- -record(kf_3v3_role_data, {
- node = 0, %% 节点
- server_name = "", %% 平台
- server_num = 0, %% 服号
- server_id = 0, %% 角色所在的服务器id
- role_id = 0, %% 玩家ID
- sid = 0, %% 玩家消息进程
- figure = undefined, %% #figure{}
- power = 0, %% 战力
- power_view = 0, %% 战力:用于显示
- is_ready = 0, %% 是否准备好了
- pk_time = 0, %% 上一次PK时间
- tier = 0, %% 段位
- star = 0, %% 星数
- continued_win = 0, %% 连续胜利场次
- old_scene_info=undefined, %% 进入时的坐标 {OldScene, OldScenePooldId, OldCopyId, OldX, OldY}
- season_pk = 0, %% 赛季参与次数
-
- %% =============== 每次进入新的队伍都要重置 =================
- match_count = 0, %% 匹配队伍次数
- team_id = 0, %% 队伍ID
- group = 0, %% 组别
- pk_pid = 0 %% 3v3 pk进程
- }).
-
- %% ========================== pk进程数据 ===============================
-
- %% 个人积分
- -record(role_score, {
- team_id = 0,
- group = 0,
- server_name = "", %% 平台
- server_num = 0, %% 服号
- server_id = 0, %% 服务器独立唯一标识
- role_id = 0, %% 玩家ID
- figure = undefined, %% #figure{}
- power = 0, %% 战力
- power_view = 0, %% 战力:用于显示
- sid = 0, %% 消息进程
- tier = 0, %% 段位
- star = 0, %% 星数
- continued_win = 0, %% 连胜场次
- honor = 0, %% 奖励
- season_pk = 0, %% 赛季参与次数
- collect = 0, %% 采集神塔次数
- kill = 0, %% 击杀次数
- killed = 0, %% 被击杀次数
- assist = 0, %% 助攻次数
- continued_kill = 0, %% 连杀次数
- old_scene_info = undefined, %% 进来前的场景信息 {OldScene, OldScenePooldId, OldCopyId, OldX, OldY}
- online = 0 %% 是否在线标志
- }).
-
- %% 队伍积分
- -record(team_score, {
- team_id = 0,
- group = 0,
- map_power =0,
- score = 0, %% 队伍总积分
- occupy_time = 0, %% 占据神塔时间
- kill = 0, %% 总击杀次数
- killed = 0, %% 总被击杀次数
- assist = 0 %% 总助攻次数
- }).
-
- %% 神塔数据
- -record(tower_data, {
- mon_id = 0, %% 神塔ID
- time = 0, %% 占据时间
- group = 0 %% 占据组别
- }).
-
- -record(center_pk_state, {
- scene_id = 0, %% 场景id
- scene_pool_id = 0, %% 场景PoolId
- room_id = 0, %% 房间id
- pk_state = 0, %% 战斗状态
- ed_time = 0, %% 结束时间戳 - 不是进程结束时间戳
- team_score = [], %% 队伍积分
- role_score = [], %% 玩家积分
- tower_data = [], %% 神塔数据
- timer = [] %% 积分倒计时
- }).
-
- %% ============================ 本服数据 ===============================
-
- %% 3v3数据
- -record(local_state, {
- state_3v3 = 0, %% 活动状态
- ed_time = 0, %% 结束时间
- score_rank = undefined, %% [{Platform, ServerNum, Nickname, Star} | List]
- attention_list = [], %% 关注列表
- match_role = [], %% 候选玩家 - 匹配中
- team_timer = [], %% 队伍匹配倒计时
- act_timer = [],
- member_limit = ?KF_3V3_MEMBER_LIMIT %% 人数限制
- }).
-
- %% 关注列表
- -record(attention_list, {
- role_id = 0, %% 玩家ID
- sid = 0 %% 消息进程
- }).
-
-
- -define(DEFAULT_TIER, 1). %% 默认段位
- -define(DEFAULT_STAR, 3). %% 默认星数
-
- %% 玩家3v3数据
- -record(role_3v3, {
- tier = ?DEFAULT_TIER, %% 段位
- star = ?DEFAULT_STAR, %% 星数
- old_tier = ?DEFAULT_TIER, %% 段位(默认青铜Ⅲ)
- old_star = ?DEFAULT_STAR, %% 星数
- continued_win = 0, %% 连续胜利场次
- daily_win = 0, %% 每日胜利场次
- daily_pk = 0, %% 每日战斗场次
- daily_honor = 0, %% 每日可得荣誉值 - 与昨天的段位星数
- pack_time = 0, %% 今日领取荣誉时间
- pack_reward = [{0, 0}, {1, 0}, {2, 0}, {3, 0}], %% 今日领取的活跃奖励 [{id, time}]
- pk_time = 0, %% 上一次PK时间
- daily_time = 0, %% 上次日常刷新时间
- season_pk = 0 %% 本赛季战斗场次
- }).
-
- %% 玩家基本数据
- -record(role_data, {
- node = 0, %% 节点
- server_name = "", %% 平台
- server_num = 0, %% 服号
- server_id = 0, %% 角色所在的服务器id
- role_id = 0, %% 玩家ID
- sid = 0, %% 玩家消息进程
- figure = undefined, %% #figure{}
- power = 0, %% 战力:历史最高战力,用于匹配
- power_view = 0, %% 战力:用于显示
- tier = 0, %% 段位
- star = 0, %% 星数
- continued_win = 0, %% 连续胜利场次
- old_scene_info=undefined, %% 进入时的坐标 {OldScene, OldScenePooldId, OldCopyId, OldX, OldY}
- season_pk = 0, %% 赛季场次数量
-
- %% ================= 以下字段用于创建队伍所用 ===================
- password = 0, %% 密码
- lv_limit = 0, %% 等级要求
- power_limit = 0, %% 战力要求
- is_auto = 0, %% 是否自动开始
-
- %% ================= 以下字段用于匹配组队所用 ===================
- match_count = 0 %% 匹配队伍次数
- }).
-
- %% 活动时间配置
- -record(act_info, {
- id = 0, %% 活动ID
- week = [], %% 开启周
- time = [] %% 开启时间
- }).
-
- %% 段位配置
- -record(tier_info, {
- tier = 0, %% 段位
- stage = 0, %% 客户端用的段位
- tier_name = "", %% 段位名称
- star = 0, %% 升级星数
- daily_reward = 0, %% 每日段位奖励
- win_star = 0, %% 单场胜利星数
- lose_star = 0, %% 单场失败星数
- win_reward = 0, %% 单场胜利黑暗值
- lose_reward = 0 %% 单场失败黑暗值
- }).
-
|