hxp
2019-04-12 b7df31c585b6d3be25aa618c682996427ce7a40b
ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
@@ -28,8 +28,6 @@
import NetPackCommon
import IpyGameDataPY
import PyGameData
import cPickle
import json
# 获取玩家跨服服务器上的名字
#===============================================================================
# def GetCrossPlayerName(curPlayer):
@@ -62,6 +60,22 @@
    crossZoneName = GameWorld.GetCrossZoneName()
    ipyData = IpyGameDataPY.GetIpyGameDataNotLog("CrossZoneComm", crossZoneName, zoneID)
    return ipyData
def GetCrossZoneIpyDataByServerGroupID(mapID, serverGroupID):
    ## 获取跨服分区
    zoneTypeName = ChConfig.Def_CrossZoneTypeName.get(mapID, "CrossZoneComm")
    crossZoneName = GameWorld.GetCrossZoneName()
    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition(zoneTypeName, {"CrossZoneName":crossZoneName}, True)
    if not ipyDataList:
        return
    for ipyData in ipyDataList:
        serverGroupIDList = ipyData.GetServerGroupIDList()
        for serverGroupIDInfo in serverGroupIDList:
            if (isinstance(serverGroupIDInfo, tuple) and serverGroupIDInfo[0] <= serverGroupID <= serverGroupIDInfo[1]) \
                or (isinstance(serverGroupIDInfo, int) and serverGroupIDInfo == serverGroupID):
                return ipyData
    GameWorld.ErrLog("没有找到跨服玩法对应分区! mapID=%s, serverGroupID=%s, zoneTypeName=%s" % (mapID, serverGroupID, zoneTypeName))
    return
def GetCrossCommZoneIpyDataByServerGroupID(serverGroupID):
    ## 获取跨服常规分区
@@ -286,11 +300,11 @@
        GameWorld.DebugLog("查看跨服玩家,是本服玩家,直接回复!tagPlayerID=%s" % (tagPlayerID), playerID)
        sendPack = ChPyNetSendPack.tagSCQueryPlayerCacheResult()
        sendPack.PlayerID = tagPlayerID
        sendPack.PropData = json.dumps(cPickle.loads(curCache.GetPropData()), ensure_ascii=False)
        sendPack.PropData = curCache.GetPropData()
        sendPack.PropDataSize = len(sendPack.PropData)
        sendPack.ItemData = json.dumps(cPickle.loads(PlayerViewCache.GetItemData(curCache)), ensure_ascii=False)
        sendPack.ItemData = PlayerViewCache.GetItemData(curCache)
        sendPack.ItemDataSize = len(sendPack.ItemData)
        sendPack.PlusData = json.dumps(cPickle.loads(PlayerViewCache.GetPlusData(curCache)), ensure_ascii=False)
        sendPack.PlusData = PlayerViewCache.GetPlusData(curCache)
        sendPack.PlusDataSize = len(sendPack.PlusData)
        NetPackCommon.SendFakePack(curPlayer, sendPack)
        return
@@ -347,11 +361,11 @@
    PropData, ItemData, PlusData = cacheInfo
    sendPack = ChPyNetSendPack.tagSCQueryPlayerCacheResult()
    sendPack.PlayerID = tagPlayerID
    sendPack.PropData = json.dumps(cPickle.loads(PropData), ensure_ascii=False)
    sendPack.PropData = PropData
    sendPack.PropDataSize = len(sendPack.PropData)
    sendPack.ItemData = json.dumps(cPickle.loads(ItemData), ensure_ascii=False)
    sendPack.ItemData = ItemData
    sendPack.ItemDataSize = len(sendPack.ItemData)
    sendPack.PlusData = json.dumps(cPickle.loads(PlusData), ensure_ascii=False)
    sendPack.PlusData = PlusData
    sendPack.PlusDataSize = len(sendPack.PlusData)
    NetPackCommon.SendFakePack(curPlayer, sendPack)
    return