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