%% --------------------------------------------------------------------------- %% @doc team.hrl %% @author ming_up@foxmail.com %% @since 2016-11-02 %% @deprecated 组队模块记录 %% --------------------------------------------------------------------------- %%------------------------------组队ETS宏定义--------------------------------- -define(ETS_TEAM, ets_team). %% 队伍缓存 %%------------------------------组队ETS宏定义---------------------------------- -define(TEAM_NEED_LV, 0). %% 队伍等级开放条件 -define(TEAM_MEMBER_MAX, 3). %% 队伍最大人数 %% 成员类型 -define(TEAM_LEADER, 1). %% 队长 -define(TEAM_MEMBER, 2). %% 队员 -define(TEAM_FAKER, 3). %% 假人 -define(CREATE_TYPE_NORMAL, 1). %% 正常的创建 -define(CREATE_TYPE_TAKE_OVER, 2). %% 因为队伍发生节点迁移而创造一个队伍来接管原来的队伍 -define(FAKE_JOIN_IN_TIME, 30000). %% 假人进入时间 ms -define(FAKE_LEAVE_TIME, 600000). %% 假人离队时间 ms -define(MATCH_NO, 0). % 不可匹配 -define(MATCH_FAKE_YES, 1). % 可匹配假人 -define(MATCH_FAKE_NO, 2). % 不可匹配假人 -define(NOTIFY_MATCH_OUT_TIME, 60*10). %% 通知匹配队伍超时时间(s) -define(LOGIN_BACK_TEAM_TIME, 300). %% 允许登录归队的最大离线时长(s) -define(ZONE_PARTITION, []). % 队伍只能在所在分区内匹配的场景 -define(OPEN_DAY_LIMITS, []). %% 有开服天数限制的活动 %% 组队大类 -define(MATCH_STATE_DUNGEON, 2). %% 默认密码 -define(DEFAULT_PASS, "10000"). %% 队伍暂离成员列表 -record(ets_tmb_offline, { id = 0, %% 角色id team_pid = none, %% 组队进程pid offtime = 0, %% 离线时间 dungeon_scene = 0, %% 离开时副本的场景id dungeon_pid = none, %% 副本进程 dungeon_begin_sid = 0 %% 副本刚开始id }). -record (waiting_status, { time = 0, info = undefined, msg_list = [] }). %%队伍资料 -record(team, { id = 0, %% 队伍id pid = 0, %% 队伍进程pid cls_type = 0, %% 队伍所在节点(1游戏节点,2中心节点) leader_id = 0, %% 队长玩家id leader_name = <<>>, %% 队长玩家名字 leader_pid = none, %% 队长pid leader_node = undefined, %% 队长所在节点(本服为undefined) name = "", %% 队名 member = [], %% 队员列表 free_location = [], %% 空闲位置 join_type = 1, %% 1:不自动,2:自动 init_join_type = 1, %% 创队时加入类型 create_type = 0, %% 1:普通创建;2:副本创建 is_allow_mem_invite = 0, %% 队员邀请玩家加入队伍(0:不允许,1:允许) arbitrate = undefined, %% 队伍仲裁记录 include/team.hrl #team_arbitrate{} dungeon = undefined, %% 队伍副本相关参数 include/team.hrl #team_dungeon{} enlist = undefined, %% 队伍招募相关参数 include/team.hrl #team_enlist{} target_enlist = undefined, %% 队伍目标相关参数 include/team.hrl #team_enlist{} arbitrate_result_ref = 0, %% 投票系统定时器 fake_mb_ref, %% 假队员进队定时器 rela = [], %% 亲密度列表[{IdA, IdB, Rela}...] pre_num_full = 0, %% 藏宝图副本首次满4人之后不允许再新增人员 每次进藏宝图副本都是重新建队,暂时不用考虑重置 his_teammate = [], %% 藏宝图副本记录队伍历史人员,不允许再次邀请玩家进入队伍,服务端未做处理,由客户端限制 reqlist = [], %% 申请列表 lv_limit_min = 0, %% 最小等级限制 lv_limit_max = 0, %% 最大等级限制 is_matching = 0, %% 是否正在自动匹配 0否 1是 delay_update_ref = undefined, %% 延迟处理队员发生变化的计时器 max_num = ?TEAM_MEMBER_MAX, %% 最大组队人数 team_skill = [], %% 荆棘之心:队伍谁有这个技能[{Id, Skill}] waiting_status = [], %% 有些请求需要别的进程完成后,才能继续操作,因此在请求后,保存个状态 is_task = false, %% 任务队伍不参与真实玩家匹配 power_limit = 0, %% 战力限制 password = ?DEFAULT_PASS %% 是否需要密码 默认"10000"为不需要|四位整数字符串 }). %% 组队参数 -record(team_args, { id = 0 %% 组队Id ,create_type = 0 %% 创造类型 1:普通创建;2:副本创建 ,act_id = 0 %% 活动大类型 ,act_sub_id = 0 %% 活动子类型 ,scene_id = 0 %% 场景Id ,name = <<>> %% 组队名字 ,join_type = 1 %% 1:不自动,2:自动 ,password = <<>> %% 密码 ,power = 0 %% 战力限制 ,is_allow_mem_invite = 1 %% 是否允许队员邀请玩家加入队伍(0:不允许,1:允许) ,member = [] %% 队员列表 ,is_matching = 0 %% 是否正在自动匹配 0否 1是 ,lev_min = 0 %% 最小等级限制 ,lev_max = 0 %% 最大等级限制 ,is_task = false %% 任务队伍不参与真实玩家匹配 ,leader_scene_id = 0 %% 队长所在场景id ,leader_scene_pool_id = 0 %% 队长所在场景分线id ,leader_x = 0 %% 队长x坐标 ,leader_y = 0 %% 队长y坐标 ,key_value_list = [] %% 其他参数[{Key, Value}] }). %% 队伍仲裁 -record(team_arbitrate, { id = 0, %% id agree_num = 0, %% 同意玩家数量 refuse_num = 0, %% 拒绝玩家数量 vote_list = [], %% 投票 [{RoleId, 投票结果(0:不赞同1:赞同)}] end_time = 0 %% 结束时间 }). %% 投票信息 -record (vote_info, { role_id = 0, %% 玩家id res = 0 %% 投票结果 0拒绝 1接受 }). %% 队伍副本数据 -record(team_dungeon, { dun_id=0, %% 副本id dun_pid=0 %% 副本进程pid mod_dungeon }). %% 队伍招募面板数据 %% PS:队伍逻辑根据模块id和模块子模块进行处理 -record(team_enlist, { activity_id = 0, %% 活动大类id##作为排序 subtype_id = 0, %% 活动子类id module_id = 0, %% 模块id sub_module = 0, %% 模块子id dun_id = 0, %% 副本id scene_id = 0 %% 相关场景id }). %% 队伍招募面板数据配置 -record(team_enlist_cfg, { activity_id = 0, %% 活动大类id##作为排序 subtype_id = 0, %% 活动子类id module_id = 0, %% 模块id sub_module = 0, %% 模块子id dun_id = 0, %% 副本id dun_sub_id = 0, %% 副本子类型id(前端使用) scene_id = 0, %% 相关场景id activity_name = "", %% 目标名 subtype_name = "", %% 目标子名 auto_pos = [], %% 自动挂机点 default_lv_min = 0, %% 等级下限 default_lv_max = 0, %% 等级上限 can_set_lv_limit = 0, %% 能否设置等级限制 0否 1是 can_set_power_limit = 0, %% 能否设置战力限制 0否 1是 auto_pair = 1, %% 是否自动匹配 exp_scale_type = 1, %% 经验加成类型 0不加成 1同场景加成 2同队伍加成 num = ?TEAM_MEMBER_MAX, %% 人数要求 power_limit = 0, %% 战力限制 proficiency = [] %% 熟练度要求 0不限制|非0 有限制 }). %% ----------------------- 助战类型 ----------------------- %% 副本通用:助战是没有奖励的,没有篝火. -define(HELP_TYPE_NO, 0). %% 非助战 -define(HELP_TYPE_YES, 1). %% 助战 -define(HELP_TYPE_TRANS_ANY, 1). %% 任意都替换 -define(HELP_TYPE_TRANS_NOT_ENOUGH, 2). %% 不够次数才转换 %%队员数据 -record(mb, { id = 0, %% 队员id node = undefined, %% 队员所在节点 platform="", %% 平台 server_num=0, %% 服数 server_id = 0, %% 所在服真实id chat_zone = 0, %% 所在服所属跨服聊天分区编号 srv_open_time = 0, %% 开服时间 figure=undefined, %% 形象 pid = 0, %% 队员pid sid = 0, %% 玩家sid scene = 0, %% 队员场景 scene_pool_id = 0, %% 队员场景进程池id x = 0, %% 队员x坐标 y = 0, %% 队员y坐标 copy_id = 0, %% 队员房间id power = 0, %% 战力 location = 0, %% 队员位置 picture = <<>>, %% 玩家上传的头像 help_type = 0, %% 助战类型 online = 1, %% 是否真实在线 follow_id = 0, %% 跟战目标id follows = [], %% 跟战者ids join_time = undefined, %% 入伍时间 dungeon_id = 0, %% 现在在什么副本 drop_ratio = 0, %% 每个人自己的自身掉落加成 %% onhook_ref = undefined, %% 离线挂机邀请队友 skill = 0, %% 玩家特殊的被动技能 target_start_data = [] %% 开始参数 ,match_ok = 0 ,is_task = false %% 是否任务玩家 ,action_lock = free %% 入队时的状态,free玩家才能加入一个正在匹配的队伍 ,dungeon_count = [] %% 副本次数 ,welfare = [] %% 尊享卡数据[{Type, EndTime}] }). -record (slim_mb, { id = 0, % 玩家id scene = 0, % 当前场景 server = 0, % 玩家服务器id online = 1 % 是否在线 }). %% 队伍进程id缓存 -record(ets_team, { team_id = 0, pid = 0 }). %% 玩家缓存 -record(status_team, { team_id = 0, %% 队伍id leader_name = "", %% 队长名字 positon = 0, %% 队伍职位(?TEAM_LEADER | ?TEAM_MEMBER) reqlist = [], %% 请求进入的队伍列表 exp_scale = 0, %% 组队经验加成 千分数 team_skill = 0, %% 玩家队伍临时技能:11000012(荆棘之心) skill_num = 0, %% 拥有技能11000012的玩家数量 cls_create_time = 0, %% 跨服队伍组建时间 arbitrate_info = [], %% 正在进行的投票信息 match_info = [], %% 正在进行的投票信息 intimacy_lv = 0 %% 好友度等级 }).