From 51ebe08557412b702cc897409bbbf20eaf16903f Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 06 十一月 2024 16:44:44 +0800 Subject: [PATCH] 10261 【越南】【砍树】【英文】【tqxbqy】头像框,头像(补充通知:C001、C005、B207; 0320宗门扫荡结算助战玩家头像信息; A003王者仙盟徽章;) --- ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py | 36 ++++++++++++++++++++++++++++++++---- 1 files changed, 32 insertions(+), 4 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py index ec8d8a6..3ede928 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py @@ -79,8 +79,10 @@ import PlayerFuncTeam import PyDataManager import GameWorldMineArea +import PlayerPackData import PlayerRecData import GameWorship +import GameXiangong #--------------------------------------------------------------------- #--------------------------------------------------------------------- @@ -297,7 +299,7 @@ CrossYaomoBoss.OnPlayerLogin(curPlayer) #玩家记录 PlayerRecData.OnPlayerLogin(curPlayer) - + PlayerPackData.OnPlayerLogin(curPlayer) #在线状态变更,放最后 __OnPlayerOnlineStateChange(curPlayer, True) @@ -666,6 +668,7 @@ if not PlayerControl.GetIsTJG(curPlayer): playerID = curPlayer.GetPlayerID() PyGameData.g_unTJLogoffTime[playerID] = int(time.time()) + PyGameData.g_xiangongCanLikeTimeDict.pop(playerID, None) #在线状态变更,放最后 __OnPlayerOnlineStateChange(curPlayer, False) @@ -702,7 +705,20 @@ cacheBase = msgData["cacheBase"] isLogout = not isOnline + olMgr = GetOnlinePlayerMgr() + olMgr.SetOnlineState(playerID, isOnline, cacheBase.get("ServerGroupID", 0)) + PlayerViewCache.UpdCrossCacheBase(playerID, cacheBase, isLogout) + serverID = GameWorld.GetAccIDServerID(cacheBase["AccID"]) + + # 上线 + if isOnline: + PlayerPackData.OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID) + GameXiangong.OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID) + + # 下线 + else: + pass SyncCrossPlayerOnlineStateToRelatedPlayer(playerID) return @@ -824,6 +840,7 @@ packValue = playerStatePack.GetValue() packValueEx = playerStatePack.GetValueEx() packType = playerStatePack.GetType() + packValueTotal = packValue + packValueEx * ChConfig.Def_PerPointValue #---特殊逻辑处理--- if packType == ShareDefine.CDBPlayerRefresh_ForbidenTalk: @@ -833,7 +850,11 @@ if packType == ShareDefine.CDBPlayerRefresh_ExAttr17: PlayerControl.SetPlayerAccState(curPlayer, packValue) return - + + if packType == ShareDefine.CDBPlayerRefresh_ExAttr19: + PlayerControl.SetLeaveFamilyTimeEx(curPlayer, packValueTotal) + return + if packType == IPY_GameServer.CDBPlayerRefresh_State: # 脱机在线 PlayerControl.SetIsTJG(curPlayer, packValue) @@ -869,7 +890,6 @@ elif packType == IPY_GameServer.CDBPlayerRefresh_LV: curPlayer.SetLV(packValue) - PlayerSocial.UpdateSocialInfo(curPlayer.GetID(), packType, packValue) #玩家等级记录 playerID = curPlayer.GetID() if playerID in PyGameData.g_todayPlayerLVDict: @@ -919,10 +939,18 @@ elif packType == IPY_GameServer.CDBPlayerRefresh_OfficialRank: curPlayer.SetOfficialRank(packValue) - PlayerSocial.UpdateSocialInfo(curPlayer.GetID(), packType, packValue) #更新排行榜的境界 PlayerBillboard.UpdateBillboardRealm(curPlayer) + elif packType == IPY_GameServer.CDBPlayerRefresh_Face: + curPlayer.SetFace(packValue) + PlayerBillboard.UpdateBillboardFace(curPlayer) + elif packType == IPY_GameServer.CDBPlayerRefresh_HairColor: + #c++头像外框 用头发颜色通知 - 遗漏问题 + curPlayer.SetFacePic(packValue) + PlayerBillboard.UpdateBillboardFacePic(curPlayer) + #社交信息 + PlayerSocial.UpdateSocialInfo(curPlayer.GetID(), packType, packValue) #组队成员刷新 PlayerTeam.PlayerTeamMemberRefresh(curPlayer, packType, packValue, tick) #家族刷新 -- Gitblit v1.8.0