From 98628e52c80ea22ed6c0ea5a2890d88bd5c14ffc Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 17 六月 2019 14:54:09 +0800 Subject: [PATCH] 7193 【2.0】仙盟联赛修改(无人参赛时所有成员获得拍品收益,不含中途转盟过来的;修复仙盟拍品无人收益时报错bug) --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py index b48ee91..3d1480f 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py @@ -1032,16 +1032,23 @@ if not family: return + familyAllPlayerIDList = [] familyPlayerIDList = [] for i in xrange(family.GetCount()): member = family.GetAt(i) memPlayerID = member.GetPlayerID() if memPlayerID not in PyGameData.g_familyWarMemDict: continue + familyAllPlayerIDList.append(memPlayerID) recData = PyGameData.g_familyWarMemDict[memPlayerID] + if GetFWMemFamilyID(recData) != familyID: + continue if not GetFWMemIsJoin(recData): continue familyPlayerIDList.append(memPlayerID) + if not familyPlayerIDList: + familyPlayerIDList = familyAllPlayerIDList + GameWorld.Log("连胜没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList)) familyAuctionItemDict = {} # {仙盟ID:[[享受收益的成员ID, ...], [[拍品ID,个数], [拍品ID,个数,是否拍品], ...]], ...} familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList] @@ -1082,16 +1089,23 @@ GameWorld.Log(" rank=%s,familyID=%s,仙盟不存在!" % (rank, familyID)) continue + familyAllPlayerIDList = [] familyPlayerIDList = [] for i in xrange(family.GetCount()): member = family.GetAt(i) memPlayerID = member.GetPlayerID() if memPlayerID not in PyGameData.g_familyWarMemDict: continue + familyAllPlayerIDList.append(memPlayerID) recData = PyGameData.g_familyWarMemDict[memPlayerID] + if GetFWMemFamilyID(recData) != familyID: + continue if not GetFWMemIsJoin(recData): continue familyPlayerIDList.append(memPlayerID) + if not familyPlayerIDList: + familyPlayerIDList = familyAllPlayerIDList + GameWorld.Log(" 排名没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList)) familyAuctionItemList = cfgRankAuctionItemDict[rank] familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList] -- Gitblit v1.8.0