From 0cc9ce0a316ed7676f53562f80ab4d5397b4b9c2 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 27 三月 2019 17:28:27 +0800 Subject: [PATCH] 6404 【2.0】【后端】已参与仙盟拍卖竞价的玩家无法踢出仙盟或退出仙盟 --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py | 7 ++++++- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py index 0b4fe85..bc48840 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py @@ -317,6 +317,14 @@ ## 仙盟拍卖中的拍品列表 return PyDataManager.GetAuctionItemManager().familyAuctionItemDict.get(familyID, []) +def IsFamilyMemberBiddingAuctionItem(familyID, memberID): + ## 仙盟成员是否最高竞价拍品中 + familyAuctionItemList = GetFamilyAuctionItemList(familyID) + for auctionItem in familyAuctionItemList: + if auctionItem.BidderID == memberID: + return True + return False + def OnAuctionItemTimeProcess(curTime, tick): ## 拍卖行拍品定时处理,每秒触发一次 allAuctionItemByEndTimeList = PyDataManager.GetAuctionItemManager().allAuctionItemByEndTimeList diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py index bbb2ea5..441c4dd 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py @@ -1425,7 +1425,9 @@ if PlayerFamilyBoss.IsInAllFamilyBoss(): PlayerControl.NotifyCode(curPlayer, "LeagueBOSSExitError1") return - + if AuctionHouse.IsFamilyMemberBiddingAuctionItem(curFamily.GetID(), tagMemberID): + PlayerControl.NotifyCode(curPlayer, "Paimai7") + return tagPlayerName = curTagMember.GetName() # 被踢玩家名 tagPlayerID = curTagMember.GetPlayerID() # 被踢玩家ID tagFamilyLV = curTagMember.GetFamilyLV() # 被踢玩家职位 @@ -1507,6 +1509,9 @@ if PlayerFamilyBoss.IsInAllFamilyBoss(): PlayerControl.NotifyCode(curPlayer, "LeagueBOSSExitError1") return + if AuctionHouse.IsFamilyMemberBiddingAuctionItem(curFamily.GetID(), curMember.GetPlayerID()): + PlayerControl.NotifyCode(curPlayer, "Paimai8") + return #判断退出时间间隔 curTime = int(time.time()) lastLeaveFamilyTime = PlayerControl.GetLeaveFamilyTime(curPlayer) -- Gitblit v1.8.0