传世基本架构-客户端(游戏逻辑处理源分析三)

这篇博客详细解析了游戏服务器如何处理客户端消息,包括玩家、怪物和商人的交互逻辑。服务器通过ProcessUserHuman、ProcessMonster和ProcessMerchants线程处理不同对象的操作,如移动、攻击和状态更新。客户端则接收并处理服务器发送的SM_TURN、SM_HIT等消息,更新UI界面。整个流程涉及到对象的创建、状态维护和UI渲染,确保游戏的顺畅运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6. 接收怪物,商人,其它玩家的消息:

ProcessUserHuman:( 其它玩家—服务器处理)

CPlayerObject->SearchViewRange();

CPlayerObject->Operate();

遍历 UserInfoList列表,依次调用每个UserInfo的Operate来处理命令队列中的所有操作; pUserInfo->Operate()调用m_pxPlayerObject->Operate()调用。根据分发消息(RM_TURN)向客户端发送SM_TURN消息。GameSrv广播新玩家上线(坐标)的消息。向该新玩家发送玩家信息(等级,装备,魔法,攻击力等)。

玩家,移动对象:

1. 遍历 m_xVisibleObjectList列表,所有(玩家,商人,怪物)发送调用AddProcess

 (RM_TURN向周围玩家发送消息 )。

地图:

2.遍历 m_xVisibleItemList,发送AddProcess(this, RM_ITEMSHOW消息更新地图。

3.遍历 m_xVisibleEventList,发送AddProcess(this, RM_SHOWEVENT

 

ProcessMonster 线程: (怪物—服务器处理)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大龙软件研发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值