6404 【2.0】【后端】已参与仙盟拍卖竞价的玩家无法踢出仙盟或退出仙盟
2个文件已修改
15 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamily.py 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
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)