|  |  | 
 |  |  | import PlayerCrossRealmPK
 | 
 |  |  | import FunctionNPCCommon
 | 
 |  |  | import CrossRealmPlayer
 | 
 |  |  | import CrossPlayerData
 | 
 |  |  | import ChNetSendPack
 | 
 |  |  | import PlayerCoat
 | 
 |  |  | import PlayerState
 | 
 |  |  | 
 |  |  |     PyGameData.g_needRefreshMapServerState = True # 有玩家离开地图设置需要刷新
 | 
 |  |  |     
 | 
 |  |  |     PlayerSuccess.FinishDelayAddSuccessProgress(curPlayer, tick)
 | 
 |  |  |      | 
 |  |  |     if not isDisconnect:
 | 
 |  |  |         CrossPlayerData.ClearCrossSyncDataCache(curPlayer)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | ##更新保存玩家在线时间
 | 
 |  |  | 
 |  |  |         PlayerBillboard.UpdatePlayerFPTotalBillboard(curPlayer)
 | 
 |  |  |         # 记录开服活动数据
 | 
 |  |  |         OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_FightPower, totalFightPower)
 | 
 |  |  |         CrossPlayerData.OnPlayerFightPowerChange(curPlayer)
 | 
 |  |  |         return
 | 
 |  |  |     
 | 
 |  |  |     def __RefreshMoveSpeed(self, allAttrListBuffs):
 | 
 |  |  | 
 |  |  | def GetCrossMapID(curPlayer): return curPlayer.GetExAttr5()
 | 
 |  |  | def SetCrossMapID(curPlayer, value):
 | 
 |  |  |     curPlayer.SetExAttr5(value, False, True)
 | 
 |  |  |     if not value:
 | 
 |  |  |         CrossPlayerData.ClearCrossSyncDataCache(curPlayer)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | ## 铜钱点, 支持铜钱超20亿
 | 
 |  |  | 
 |  |  | #-------------------------------------------------------------------------------
 | 
 |  |  | ## 设置玩家字典值, 存库
 | 
 |  |  | def NomalDictSetProperty(curPlayer, key, value, dType=0):
 | 
 |  |  |     if CrossPlayerData.IsNeedProcessCrossPlayer(curPlayer) and key not in \
 | 
 |  |  |         [ChConfig.Def_PDict_FightPower_Total, ChConfig.Def_PlayerKey_CrossRegisterMap]:
 | 
 |  |  |         playerID = curPlayer.GetPlayerID()
 | 
 |  |  |         changeDict = PyGameData.g_crossPlayerDictChangeInfo.get(playerID, {})
 | 
 |  |  |         changeDict[(key, dType)] = value
 | 
 |  |  |         PyGameData.g_crossPlayerDictChangeInfo[playerID] = changeDict
 | 
 |  |  |          | 
 |  |  |     if value == 0:
 | 
 |  |  |         curPlayer.NomalDictDelProperty(key, dType)
 | 
 |  |  |         return
 |