hxp
2019-05-29 be35331b8931d2829f014749a827a1c37c78feff
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -37,7 +37,6 @@
import PlayerBillboard
import PlayerExam
import PlayerControl
import PlayerRecall
import PlayerFamilyAction
import PlayerUniversalGameRec
import PlayerFamily
@@ -73,9 +72,12 @@
import ChPyNetSendPack
import NetPackCommon
import AuctionHouse
import PlayerFairyDomain
import GameWorldItem
import time
import datetime
import json
#---------------------------------------------------------------------
#全局变量
#---------------------------------------------------------------------
@@ -330,16 +332,25 @@
            SyncPlayerCrossMapNPCInfo(curPlayer, mapID, npcIDList, mapNPCInfoDict)
            return
        
    serverGroupID = GameWorld.GetServerGroupID()
    zoneIpyData = CrossRealmPlayer.GetCrossZoneIpyDataByServerGroupID(mapID, serverGroupID)
    if not zoneIpyData:
        return
    zoneID = zoneIpyData.GetZoneID()
    # 本服缓存超时,发送跨服服务器查询
    playerID = curPlayer.GetPlayerID()
    CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryNPCInfo, {"PlayerID":playerID, "MapID":mapID, "NPCIDList":npcIDList})
    dataMsg = {"PlayerID":playerID, "ZoneID":zoneID, "MapID":mapID, "NPCIDList":npcIDList}
    CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryNPCInfo, dataMsg)
    return
def ClientServerMsg_QueryNPCInfo(serverGroupID, msgData):
    ## 收到子服请求查看跨服地图NPC个数信息
    
    zoneID = msgData["ZoneID"]
    mapID = msgData["MapID"]
    zoneIpyData = CrossRealmPlayer.GetServerCrossZoneMapIpyData(mapID, serverGroupID)
    zoneIpyData = CrossRealmPlayer.GetServerCrossZoneMapIpyData(zoneID, mapID)
    if not zoneIpyData:
        return
    realMapID = zoneIpyData.GetMapID()
@@ -513,6 +524,14 @@
        PlayerControl.CrossNotify(serverGroupIDList, crossNotifyList)
        return
    
    if callName == "DynamicLineMapStateChange":
        PlayerFB.OnCrossDynamicLineStateChange(eval(resultName))
        return
    if callName == "DynamicLineMapInitOK":
        PlayerFB.OnCrossDynamicMapReset(eval(resultName))
        return
    if callName == "CommMapServerInitOK":
        dataMapID, lineID, realMapID, copyMapID = eval(resultName)
        PyGameData.g_commMapLineInfo[(dataMapID, lineID)] = (realMapID, copyMapID)
@@ -544,11 +563,6 @@
        msg, msgList = eval(resultName)
        
        PlayerControl.TeamNotify(teamID, msg, msgList)
        return
    if callName == 'ReveiveRecallAward':
        #召回奖励领取情况
        PlayerRecall.ReveiveRecallAwardResult(srcPlayerID, resultName)
        return
    
    if callName == "NotifyTruckDestroy":
@@ -701,6 +715,11 @@
        GameWorldProcess.UpdGlobalKillCount(eval(resultName))
        return
    
    # 缓存装备广播信息中的装备明细信息
    if callName == "NotifyEquipDetailInfo":
        GameWorldItem.OnCacheNotifyEquipDetailInfo(json.loads(resultName), tick)
        return
    #生成仙盟红包
    if callName == "MapServer_CreatRedPacket":
        PlayerFamilyRedPacket.MapServer_CreatRedPacket(eval(resultName))
@@ -828,6 +847,10 @@
    if callName =="HorsePetBossOver":
        PlayerHorsePetBoss.HorsePetBossKilled(int(resultName))
        return
    #缥缈仙域事件出现
    if callName =="AddFairyDomainEvent":
        PlayerFairyDomain.AddFairyDomainEvent(eval(resultName))
        return
    
#---return分割线-----------------------------------------------------------------
@@ -872,10 +895,6 @@
            return
        resultName = '%s' % ret
        
    if callName == 'SendInviteCode':
        #邀请码验证回复
        resultName = PlayerRecall.PlayerRecall_InviteCode(srcPlayerID, pack.GetQueryID())
    if callName == 'OpenServerCampaignAward':
        #可否领取开服活动奖励
        curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)