| | |
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import AuctionHouse
|
| | | import PlayerFairyDomain
|
| | | import GameWorldSkyTower
|
| | | import GameWorldItem
|
| | | import PlayerAssist
|
| | |
|
| | | import time
|
| | | import datetime
|
| | | import json
|
| | | #---------------------------------------------------------------------
|
| | | #全局变量
|
| | | #---------------------------------------------------------------------
|
| | |
| | | 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()
|
| | |
| | | if callName == 'CrossNotify':
|
| | | serverGroupIDList, crossNotifyList = eval(resultName)
|
| | | PlayerControl.CrossNotify(serverGroupIDList, crossNotifyList)
|
| | | return
|
| | | |
| | | if callName == "DynamicLineMapStateChange":
|
| | | PlayerFB.OnCrossDynamicLineStateChange(eval(resultName))
|
| | | return
|
| | | |
| | | if callName == "DynamicLineMapInitOK":
|
| | | PlayerFB.OnCrossDynamicMapReset(eval(resultName))
|
| | | return
|
| | |
|
| | | if callName == "CommMapServerInitOK":
|
| | |
| | | GameWorldProcess.UpdGlobalKillCount(eval(resultName))
|
| | | return
|
| | |
|
| | | # 缓存装备广播信息中的装备明细信息
|
| | | if callName == "NotifyEquipDetailInfo":
|
| | | GameWorldItem.OnCacheNotifyEquipDetailInfo(json.loads(resultName), tick)
|
| | | return
|
| | | |
| | | #生成仙盟红包
|
| | | if callName == "MapServer_CreatRedPacket":
|
| | | PlayerFamilyRedPacket.MapServer_CreatRedPacket(eval(resultName))
|
| | |
| | | AuctionHouse.MapServer_AuctionHouseLogic(curPlayer, eval(resultName), tick)
|
| | | return
|
| | |
|
| | | # 协助
|
| | | if callName == "PlayerAssist":
|
| | | curPlayer = None
|
| | | if srcPlayerID:
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID)
|
| | | if not curPlayer:
|
| | | return
|
| | | PlayerAssist.MapServer_PlayerAssistLogic(curPlayer, eval(resultName), tick)
|
| | | return
|
| | | |
| | | if callName == "TeamMemFuncData":
|
| | | PlayerTeam.MapServer_TeamMemFuncData(srcPlayerID, eval(resultName))
|
| | | return
|
| | |
|
| | | #封魔坛结束
|
| | | if callName == "SealDemonOver":
|
| | | playerID, lineID, rank = eval(resultName)
|
| | | PyDataManager.GetSealDemonRecordManager().UpdateSealDemonRecord(playerID,lineID,rank)
|
| | | return
|
| | | # #封魔坛结束
|
| | | # if callName == "SealDemonOver":
|
| | | # playerID, lineID, rank = eval(resultName)
|
| | | # PyDataManager.GetSealDemonRecordManager().UpdateSealDemonRecord(playerID,lineID,rank)
|
| | | # return
|
| | |
|
| | | #查询副本功能线路人数
|
| | | if callName == "FBLinePlayerCnt":
|
| | |
| | | #骑宠BOSS结束
|
| | | if callName =="HorsePetBossOver":
|
| | | PlayerHorsePetBoss.HorsePetBossKilled(int(resultName))
|
| | | return
|
| | | #缥缈仙域事件出现
|
| | | if callName =="AddFairyDomainEvent":
|
| | | PlayerFairyDomain.AddFairyDomainEvent(eval(resultName))
|
| | | return
|
| | |
|
| | | #---return分割线-----------------------------------------------------------------
|
| | |
| | | if ret == None:
|
| | | return
|
| | | resultName = '%s' % ret
|
| | | |
| | | # 天星塔
|
| | | if callName == "SkyTower":
|
| | | ret = GameWorldSkyTower.MapServer_SkyTowerInfo(eval(resultName))
|
| | | if ret == None:
|
| | | return
|
| | | resultName = '%s' % ret
|
| | |
|
| | | # # 战盟仓库
|
| | | # if callName == "FamilyStore":
|