From 62dd57353d0e2489b725ffb78d0e946c3ba2b026 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期一, 17 六月 2019 21:08:08 +0800 Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 嗜天风暴重击多触发一次伤害问题,射日魔吸攻速数值不对问题 --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 60 +++++++++++++++++++++++++++++------------------------------- 1 files changed, 29 insertions(+), 31 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py index b14980a..b934983 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py +++ b/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 @@ -48,7 +47,6 @@ import PlayerFB import UpdatePlayerName import PlayerFamilyBoss -import PlayerManorWar import GameWorldBoss import GameWorldFamilyWar #import PlayerFamilyTech @@ -74,9 +72,12 @@ import ChPyNetSendPack import NetPackCommon import AuctionHouse +import PlayerFairyDomain +import GameWorldItem import time import datetime +import json #--------------------------------------------------------------------- #全局变量 #--------------------------------------------------------------------- @@ -331,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() @@ -514,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) @@ -545,11 +563,6 @@ msg, msgList = eval(resultName) PlayerControl.TeamNotify(teamID, msg, msgList) - return - - if callName == 'ReveiveRecallAward': - #召回奖励领取情况 - PlayerRecall.ReveiveRecallAwardResult(srcPlayerID, resultName) return if callName == "NotifyTruckDestroy": @@ -658,16 +671,6 @@ return - # 领地争夺战拔旗消耗 - if callName =="ManorWarGetFlagCost": - PlayerManorWar.ManorWarGetFlagCost(eval(resultName)) - return - - # 领地争夺战获胜战盟 - if callName =="ManorWarWinner": - PlayerManorWar.DoMapServerManorWarWinner(eval(resultName)) - return - # 战盟副本boss开始、被击杀 if callName =="FamilyBossFBState": PlayerFamilyBoss.FamilyBossOnKilled(eval(resultName), tick) @@ -712,14 +715,9 @@ GameWorldProcess.UpdGlobalKillCount(eval(resultName)) return - # 新手指导员天数 - if callName =="FreshmanGuiderDay": - curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(srcPlayerID) - if not curPlayer: - return - - guiderDay = eval(resultName)[0] - PlayerControl.SetFreshmanGuiderDay(curPlayer, guiderDay) + # 缓存装备广播信息中的装备明细信息 + if callName == "NotifyEquipDetailInfo": + GameWorldItem.OnCacheNotifyEquipDetailInfo(json.loads(resultName), tick) return #生成仙盟红包 @@ -849,6 +847,10 @@ if callName =="HorsePetBossOver": PlayerHorsePetBoss.HorsePetBossKilled(int(resultName)) return + #缥缈仙域事件出现 + if callName =="AddFairyDomainEvent": + PlayerFairyDomain.AddFairyDomainEvent(eval(resultName)) + return #---return分割线----------------------------------------------------------------- @@ -893,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) -- Gitblit v1.8.0