| | |
| | | #offlineValue = olMgr.GetOfflineValue(playerID, PlayerViewCache.FindViewCache(playerID))
|
| | | #SyncRelatedPlayerOnlineState(playerID, offlineValue, relatedPlayerIDList)
|
| | |
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_CrossRealmPK) \
|
| | | and not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_CrossBattlefield):
|
| | | GameWorld.DebugLog("跨服相关功能未开启,不同步在线状态到跨服服务器! LV=%s" % curPlayer.GetLV(), curPlayer.GetPlayerID())
|
| | | if curPlayer.GetLV() < 50:
|
| | | #GameWorld.DebugLog("跨服相关功能未开启,不同步在线状态到跨服服务器! LV=%s" % curPlayer.GetLV(), curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | cacheBase = PlayerViewCache.GetSyncCrossCacheBase(curPlayer)
|
| | |
| | |
|
| | | # 上线
|
| | | if isOnline:
|
| | | PlayerPackData.OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID)
|
| | | # 需要管理跨服在线状态时,默认需要同步缓存信息
|
| | | syncStateInfo = {"playerID":playerID, "ViewCacheCross":1}
|
| | | packDataMgr = PyDataManager.GetDBPlayerPackDataManager()
|
| | | if playerID in packDataMgr.playerPackDataDict:
|
| | | syncStateInfo["PackDataCross"] = 1
|
| | | CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_PlayerPackDataState, syncStateInfo, [serverGroupID])
|
| | | |
| | | GameXiangong.OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID)
|
| | |
|
| | | # 下线
|
| | |
| | | packValue = playerStatePack.GetValue()
|
| | | packValueEx = playerStatePack.GetValueEx()
|
| | | packType = playerStatePack.GetType()
|
| | | #packValueTotal = packValue + packValueEx * ChConfig.Def_PerPointValue
|
| | |
|
| | | #---特殊逻辑处理---
|
| | | if packType == ShareDefine.CDBPlayerRefresh_ForbidenTalk:
|