| | |
| | | import ItemControler
|
| | | import ItemCommon
|
| | | import ChConfig
|
| | | import ShareDefine
|
| | |
|
| | | import time
|
| | |
|
| | | #// B5 13 拍卖行上架拍品 #tagCMSellAuctionItem
|
| | | #
|
| | |
| | | curItem = playerPack.GetAt(itemIndex)
|
| | | if curItem.IsEmpty():
|
| | | return
|
| | | if curItem.GetIsBind():
|
| | | if not ItemControler.GetIsAuctionItem(curItem):
|
| | | GameWorld.Log("非拍品,绑定无法上架!", playerID)
|
| | | return
|
| | | itemGUID = curItem.GetGUID()
|
| | | itemID = curItem.GetItemTypeID()
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)
|
| | | if not ipyData:
|
| | | return
|
| | | auctionItemCreateTime = curItem.GetUserAttr(ShareDefine.Def_IudetAuctionItemCreateTime)
|
| | | if not auctionItemCreateTime:
|
| | | GameWorld.DebugLog("没有拍品创建时间,无法上架!", playerID)
|
| | | return
|
| | | curTime = int(time.time())
|
| | | if curTime - auctionItemCreateTime > IpyGameDataPY.GetFuncCfg("AuctionItem", 1) * 3600:
|
| | | GameWorld.DebugLog("拍品已过期,无法上架!auctionItemCreateTime=%s" % (GameWorld.ChangeTimeNumToStr(auctionItemCreateTime)), playerID)
|
| | | ItemControler.SetIsAuctionItem(curItem, False, curPlayer)
|
| | | return
|
| | |
|
| | | QueryGameServer_AuctionHouse(playerID, "AddAuctionItemQuery", [itemIndex, itemGUID, itemID])
|
| | |
| | | curItem = playerPack.GetAt(itemIndex)
|
| | | if curItem.IsEmpty():
|
| | | return
|
| | | if curItem.GetIsBind():
|
| | | if not ItemControler.GetIsAuctionItem(curItem):
|
| | | GameWorld.Log("非拍品,无法上架!", playerID)
|
| | | return
|
| | | curItemGUID = curItem.GetGUID()
|
| | |
| | |
|
| | | def DoAddFamilyAuctionItem(familyAuctionItemDict):
|
| | | ''' 上架仙盟拍品,因为仙盟拍品默认上架,所以使用批量上架
|
| | | @param familyAuctionItemDict: {仙盟ID:[[享受收益的成员ID, ...], [[拍品ID,总个数,拍品组数], ...]], ...}
|
| | | @param familyAuctionItemDict: {仙盟ID:[[享受收益的成员ID, ...], [[拍品ID,个数], [拍品ID,个数,是否拍品], ...]], ...}
|
| | | '''
|
| | | isBind = False
|
| | | GameWorld.Log("上架仙盟拍品: %s" % familyAuctionItemDict)
|
| | | isAuctionItem = True
|
| | | auctionItemList = []
|
| | | for familyID, auctionInfo in familyAuctionItemDict.items():
|
| | | familyPlayerIDList, familyAuctionItemList = auctionInfo
|
| | | for itemID, itemCount, auctionGroup in familyAuctionItemList:
|
| | | for itemInfo in familyAuctionItemList:
|
| | | if len(itemInfo) < 2:
|
| | | continue
|
| | | itemID, itemCount = itemInfo[:2]
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)
|
| | | if not ipyData:
|
| | | GameWorld.ErrLog("非拍卖物品,无法上架仙盟拍品! familyID=%s,itemID=%s,itemCount=%s" % (familyID, itemID, itemCount))
|
| | | continue
|
| | | groupItemCount = itemCount / auctionGroup
|
| | | for i in xrange(auctionGroup):
|
| | | if i == auctionGroup - 1:
|
| | | groupItemCount += itemCount % auctionGroup
|
| | | curItem = ItemControler.GetOutPutItemObj(itemID, groupItemCount, isBind)
|
| | | if not curItem:
|
| | | continue
|
| | | auctionItemList.append([curItem, familyID, familyPlayerIDList])
|
| | | curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem)
|
| | | if not curItem:
|
| | | continue
|
| | | auctionItemList.append([curItem, familyID, familyPlayerIDList])
|
| | | __DoAddAuctionItem(None, auctionItemList)
|
| | | return
|
| | |
|
| | |
| | | if curPlayer and not familyID:
|
| | | ItemCommon.DelItem(curPlayer, curItem, curItem.GetCount())
|
| | | else:
|
| | | if curItem.GetIsBind():
|
| | | if not ItemControler.GetIsAuctionItem(curItem):
|
| | | GameWorld.Log("非拍品,绑定无法上架!", playerID)
|
| | | curItem.Clear()
|
| | | continue
|