hxp
2024-11-15 95ed566251586a404ed667336cc31dd318c773bd
ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
@@ -79,6 +79,7 @@
import PlayerFuncTeam
import PyDataManager
import GameWorldMineArea
import PlayerPackData
import PlayerRecData
import GameWorship
import GameXiangong
@@ -298,7 +299,7 @@
        CrossYaomoBoss.OnPlayerLogin(curPlayer)
        #玩家记录
        PlayerRecData.OnPlayerLogin(curPlayer)
        PlayerPackData.OnPlayerLogin(curPlayer)
        #在线状态变更,放最后
        __OnPlayerOnlineStateChange(curPlayer, True)
        
@@ -704,11 +705,15 @@
    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)
        
    # 下线
@@ -835,6 +840,7 @@
    packValue = playerStatePack.GetValue()
    packValueEx = playerStatePack.GetValueEx()
    packType = playerStatePack.GetType()
    #packValueTotal = packValue + packValueEx * ChConfig.Def_PerPointValue
    
    #---特殊逻辑处理---
    if packType == ShareDefine.CDBPlayerRefresh_ForbidenTalk:
@@ -844,7 +850,11 @@
    if packType == ShareDefine.CDBPlayerRefresh_ExAttr17:
        PlayerControl.SetPlayerAccState(curPlayer, packValue)
        return
    if packType == ShareDefine.CDBPlayerRefresh_ExAttr19:
        PlayerControl.SetLeaveFamilyTimeEx(curPlayer, packValue)
        return
    if packType == IPY_GameServer.CDBPlayerRefresh_State:
        # 脱机在线
        PlayerControl.SetIsTJG(curPlayer, packValue)