From ea17d553e94c26615f1032f1ab70e83bb54cdfaf Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期一, 29 四月 2019 21:12:58 +0800 Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 灼烧 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_FBLinePlayerCnt.py | 36 ++++++++++++++++++++++++++++++------ 1 files changed, 30 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_FBLinePlayerCnt.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_FBLinePlayerCnt.py index 1e0cda1..e38ff46 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_FBLinePlayerCnt.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_FBLinePlayerCnt.py @@ -43,13 +43,13 @@ GameWorld.DebugLog("GY_Query_FBLinePlayerCnt DoLogic() query_Type=%s,query_ID=%s,packCMDList=%s,tick=%s" % \ (query_Type, query_ID, packCMDList, tick)) - if not packCMDList or len(packCMDList) < 3: + if not packCMDList or len(packCMDList) < 2: GameWorld.DebugLog(" DoLogic() return []") return [] - tagMapID = packCMDList[0] # 目标地图id - tagFBLineID = packCMDList[1] # 线路id - isAllLine = packCMDList[2] # 查询的NPCID列表 + tagMapID, queryFBLineIDList = packCMDList + tagFBLineID = 0 if not queryFBLineIDList else queryFBLineIDList[0] # 线路id + isAllLine = not queryFBLineIDList # 查询的NPCID列表 gameWorldManager = GameWorld.GetGameWorld() fbLinePlayerCntDict = {} if tagMapID == ChConfig.Def_FBMapID_SealDemon: @@ -63,6 +63,22 @@ continue playerCnt = playerManager.GetPlayerCount() fbLinePlayerCntDict[fblineID] = [playerCnt] + if not isAllLine: + break + + elif tagMapID == ChConfig.Def_FBMapID_DemonKing: + for index in xrange(gameWorldManager.GetGameWorldCount()): + gameWorld = IPY_GameWorld.IPY_GameWorld(index) + playerManager = gameWorld.GetMapCopyPlayerManagerByFbIndex(index) + fblineID = gameWorld.GetPropertyID() - 1 + if fblineID < 0: + continue + if queryFBLineIDList and fblineID not in queryFBLineIDList: + continue + playerCnt = playerManager.GetPlayerCount() + fbLinePlayerCntDict[fblineID] = [playerCnt] + if len(queryFBLineIDList) == len(fbLinePlayerCntDict): + break elif tagMapID == ChConfig.Def_FBMapID_ZhuXianBoss: for index in xrange(gameWorldManager.GetGameWorldCount()): @@ -76,6 +92,8 @@ playerCnt = playerManager.GetPlayerCount() ownerName = GameLogic_ZhuXianBoss.GetFirstOwnerName(fblineID) fbLinePlayerCntDict[fblineID] = [playerCnt, ownerName] + if not isAllLine: + break elif tagMapID == ChConfig.Def_FBMapID_HorsePetBoss: for index in xrange(gameWorldManager.GetGameWorldCount()): @@ -87,8 +105,11 @@ if not isAllLine and tagFBLineID != fblineID: continue playerCnt = playerManager.GetPlayerCount() - hpPer = GameLogic_HorsePetBoss.GetBossRemainHPPer(fblineID, tick) + hpPer = GameLogic_HorsePetBoss.GetBossRemainHPPer(index, fblineID, tick) fbLinePlayerCntDict[fblineID] = [playerCnt, str(hpPer)] + if not isAllLine: + break + elif tagMapID == ChConfig.Def_FBMapID_AllFamilyBoss: for index in xrange(gameWorldManager.GetGameWorldCount()): gameWorld = IPY_GameWorld.IPY_GameWorld(index) @@ -99,8 +120,11 @@ if not isAllLine and tagFBLineID != fblineID: continue playerCnt = playerManager.GetPlayerCount() - hpPer = GameLogic_AllFamilyBoss.GetBossRemainHPPer(tick) + hpPer = GameLogic_AllFamilyBoss.GetBossRemainHPPer(index, tick) fbLinePlayerCntDict[fblineID] = [playerCnt, str(hpPer)] + if not isAllLine: + break + else: return return [tagMapID, fbLinePlayerCntDict] -- Gitblit v1.8.0