ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
@@ -352,5 +352,36 @@
    curPlayer.MapServer_QueryPlayerResult(0, 0, "CrossGiveMoney", msgInfo, len(msgInfo))
    return
def SetCrossPlayerAttrValue(msgInfo, tick):
    ## 设置跨服玩家属性值
    playerID, setType, setDict, isDelay = msgInfo
    if not PyGameData.g_crossSetPlayerAttr:
        GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_CrossSetPlayerAttrTick, tick)
    playerSetInfoList = PyGameData.g_crossSetPlayerAttr.get(playerID, [])
    playerSetInfoList.append([setType, setDict])
    PyGameData.g_crossSetPlayerAttr[playerID] = playerSetInfoList
    if not isDelay:
        __SendCrossServerSetPlayerAttr(0)
    return
def OnCrossProcess(tick):
    __SendCrossServerSetPlayerAttr(tick)
    return
def __SendCrossServerSetPlayerAttr(tick):
    if not PyGameData.g_crossSetPlayerAttr:
        return
    if tick:
        # 延迟10秒一次性同步,主要是比如OnDay的时候当多个玩家同时跨服时,减少同步次数,延迟统一发送
        if tick - GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_CrossSetPlayerAttrTick) < 10 * 1000:
            return
        GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_CrossSetPlayerAttrTick, tick)
    CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_SetPlayerAttrValue, PyGameData.g_crossSetPlayerAttr)
    PyGameData.g_crossSetPlayerAttr = {}
    return