组队相关模块有mod_team.erl和lib_team.erl
通过24000协议请求,调用mod_team:start(Uid,Pid,Nick,TeamName)开启组队进程,创建队伍
组队state为
%%队伍资料
-record(team,
{
leaderid = 0, %% 队长id
leaderpid= none, %% 队长pid
teamname = [], %% 队名
member = [], %% 队员列表
dungeon_pid=none %% 副本进程id
}
).
%%队员数据
-record(mb,
{
id = 0, %%队员id
pid = none, %%队员pid
nickname = [] %%队员名字
}
).
队伍进程初始化代码:
init([Uid, Pid, Nick, TeamName]) ->
{ok, #team{leaderid = Uid, leaderpid = Pid, teamname = TeamName, member = [#mb{id = Uid, pid = Pid, nickname = Nick}]}}.
队伍创建后有几种操作:
1.玩家申请加入队伍 - 队长处理玩家申请
2.玩家主动退出队伍 - 队长将玩家踢出队伍
3.队长邀请玩家加入队伍 - 玩家回应邀请
4.获取队伍信息
5.队长解散队伍
6.队伍成员聊天
1.玩家申请加入队伍: