3116 【BUG】【2.0】拍卖,关注物品上架没有弹提示(仙盟拍品新增拍品上架通知)
1个文件已修改
25 ■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/AuctionHouse.py
@@ -652,7 +652,8 @@
    @param curPlayer: 可能为None
    '''
    
    notifyWorldAddItemList = [] # 新增全服拍品通知 [[itemGUID, itemID, playerID], ...]
    isSortWorldItem = False
    notifyAddItemList = [] # 新增拍品通知 [[itemGUID, itemID, playerID], ...]
    notifyFamilyAddItemDict = {} # 新增仙盟拍品通知 {familyID:[auctionItem, ...], ...}
    for playerID, familyID, familyPlayerIDList, itemData in addAuctionItemList:
        if not playerID and not familyID:
@@ -662,25 +663,25 @@
        if not auctionItem:
            continue
        
        itemGUID = auctionItem.ItemGUID
        itemID = auctionItem.ItemID
        notifyAddItemList.append([itemGUID, itemID, playerID])
        if familyID:
            familyAddItemList = notifyFamilyAddItemDict.get(familyID, [])
            familyAddItemList.append(auctionItem)
            notifyFamilyAddItemDict[familyID] = familyAddItemList
        else:
            itemGUID = auctionItem.ItemGUID
            itemID = auctionItem.ItemID
            notifyWorldAddItemList.append([itemGUID, itemID, playerID])
            isSortWorldItem = True
            
    if notifyFamilyAddItemDict or notifyWorldAddItemList:
        isSortWorldItem = notifyWorldAddItemList != []
    if notifyAddItemList:
        __SortAuctionitem(isSortWorldItem=isSortWorldItem)
        
    # 通知新增仙盟拍品
    for familyID, familyAddItemList in notifyFamilyAddItemDict.items():
        Sync_FamilyAuctionItemInfo(None, familyID, familyAddItemList)
        
    # 通知全服拍品关注玩家
    __NotifyAuctionPlayerAddItem(notifyWorldAddItemList)
    # 通知拍品关注玩家
    __NotifyAuctionPlayerAddItem(notifyAddItemList)
    return
def __DoAddAuctionItem(curPlayer, playerID, familyID, familyPlayerIDList, itemData):
@@ -747,9 +748,9 @@
    GameWorld.DebugLog("更新拍品数: %s" % len(auctionItemMgr.allAuctionItemDict))
    return auctionItem
def __NotifyAuctionPlayerAddItem(notifyWorldAddItemList):
def __NotifyAuctionPlayerAddItem(notifyAddItemList):
    ## 通知关注物品的玩家新上架物品了
    if not notifyWorldAddItemList:
    if not notifyAddItemList:
        return
    attentionMgr = PyDataManager.GetAuctionAttentionManager()
    playerManager = GameWorld.GetPlayerManager()
@@ -763,8 +764,8 @@
        if not playerAttentionIDList:
            continue
        infoPack = None
        for itemGUID, itemID, playerID in notifyWorldAddItemList:
            if playerID == player.GetPlayerID():
        for itemGUID, itemID, playerID in notifyAddItemList:
            if playerID and playerID == player.GetPlayerID():
                # 自己上架的物品不通知
                continue
            if itemID not in playerAttentionIDList: