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