游戏客户端逻辑应用基础

以前写的,一点点从新浪里搬过来

客户端登录验证(GameServer服务器的线程 ProcessLogin处理)

用户的验证是由GameServer服务器的线程 ProcessLogin处理。然后在准备登陆的玩家队列中ReadyUserInfoList2列表中搜索,判断用户是否已经登录,一旦登录就调用LoadPlayer:

先加载地图的单元格(玩家列表加入该游戏玩家)

前面博客讲过游戏客户端和玩家客户端二种所描绘的不是一样事物。

选脚色,判断玩家游戏状态。登陆以外的通用Mode状态为USERMODE_PLAY

优先加载背包,个人设置等。

passUserInfo->mapxPlayerObject->Initialize();初始化用户信息,加载用户坐标,方向,地图。

<wbr></wbr>

以下为初始化成功的执行流程:

1)AddProcess <wbr><wbr>LOGON R <wbr>加入登录消息。</wbr></wbr></wbr>

2)所在场景区域的编号MApSrvmap->制定场景AddNewObject 地图中单元格(玩家列表)加入该游戏玩家。OS_MOVINGOBJECT玩家状态。

3)AddRefMsg(Round_TURN 向周围玩家群发 TURN消息。以玩家自己为中心,以 xx*xx 通常为单屏的区域里,向这个区域所属的块里的所有玩家列表发送消息)广播,位置AddProcess。

4)ReAbility 设置玩家的能力属性(攻击力(手,衣服),武器力量等)。

5)循环处理本游戏玩家的附属物品,把这些物品的力量加到(手,衣服等)的攻击力量里。

6)RM_atuschanged消息,通知玩家状态改变消息。

7)AddProcess <wbr>setlevel <wbr><wbr><wbr>等级</wbr></wbr></wbr></wbr>

AddProces <wbr><wbr><wbr>Msgchanged date/day <wbr><wbr>校正日期信息</wbr></wbr></wbr></wbr></wbr>

AddProcess <wbr>SEITEMS <wbr><wbr><wbr><wbr><wbr>装备</wbr></wbr></wbr></wbr></wbr></wbr>

AddProcess <wbr>SENDMYskil <wbr><wbr>技能</wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>AttactMsg() <wbr> 攻击力</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

并把用户数据从UserInfoList2列表中删除。

你可能感兴趣的:(客户端)