#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.AuctionItem  
 | 
#  
 | 
# @todo:ÅÄÂôÐÐ  
 | 
# @author hxp  
 | 
# @date 2019-03-04  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: ÅÄÂôÐÐ  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#"""Version = 2019-03-04 17:00"""  
 | 
#-------------------------------------------------------------------------------  
 | 
  
 | 
import GameWorld  
 | 
import ItemControler  
 | 
import PlayerAuctionHouse  
 | 
import IpyGameDataPY  
 | 
  
 | 
  
 | 
#Â߼ʵÏÖ  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param msgList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, msgList):  
 | 
    GameWorld.DebugAnswer(curPlayer, "--------- %s" % GameWorld.GetCurrentDataTimeStr())  
 | 
    if not msgList:  
 | 
        __Help(curPlayer)  
 | 
        return  
 | 
          
 | 
    paramA = msgList[0]  
 | 
    paramCount = len(msgList)  
 | 
    playerID = curPlayer.GetPlayerID()  
 | 
    isAuctionItem = True  
 | 
      
 | 
    # Çå¿ÕÅÄÆ·  
 | 
    if paramA == 0:  
 | 
        PlayerAuctionHouse.QueryGameServer_AuctionHouse(playerID, "ClearAuctionItem", [])  
 | 
        return  
 | 
      
 | 
    # ´òÓ¡ÅÄÆ·ÐÅÏ¢  
 | 
    if paramA == 3:  
 | 
        PlayerAuctionHouse.QueryGameServer_AuctionHouse(playerID, "PrintAuctionItem", [])  
 | 
        return  
 | 
      
 | 
    # Ìí¼Ó¸öÈËÅÄÆ·  
 | 
    elif paramA == 1 and paramCount >= 2:  
 | 
        itemID = msgList[1]  
 | 
        itemCount = max(1, msgList[2] if paramCount > 2 else 1)  
 | 
        auctionGroup = max(1, msgList[3] if paramCount > 3 else 1)  
 | 
        ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)  
 | 
        if not ipyData:  
 | 
            GameWorld.DebugAnswer(curPlayer, "·ÇÅÄÂôÎïÆ·ÎÞ·¨ÉϼÜ")  
 | 
            return  
 | 
        auctionItemList = []  
 | 
        for _ in xrange(auctionGroup):  
 | 
            curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem)  
 | 
            auctionItemList.append([curItem])  
 | 
        PlayerAuctionHouse.__DoAddAuctionItem(curPlayer, auctionItemList)  
 | 
          
 | 
    # Ìí¼ÓÏÉÃËÅÄÆ·  
 | 
    elif paramA == 2 and paramCount >= 2:  
 | 
        familyID = curPlayer.GetFamilyID()  
 | 
        if not familyID:  
 | 
            GameWorld.DebugAnswer(curPlayer, "ûÓÐÏÉÃËÎÞ·¨ÉϼÜÏÉÃËÅÄÆ·")  
 | 
            return  
 | 
          
 | 
        itemID = msgList[1]  
 | 
        itemCount = max(1, msgList[2] if paramCount > 2 else 1)  
 | 
        auctionGroup = max(1, msgList[3] if paramCount > 3 else 1)  
 | 
        ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)  
 | 
        if not ipyData:  
 | 
            GameWorld.DebugAnswer(curPlayer, "·ÇÅÄÂôÎïÆ·ÎÞ·¨ÉϼÜ")  
 | 
            return  
 | 
          
 | 
        familyPlayerIDList = msgList[4:] if paramCount > 4 else []  
 | 
        if playerID not in familyPlayerIDList:  
 | 
            familyPlayerIDList.append(playerID)  
 | 
              
 | 
        familyAuctionItemList = [[itemID, itemCount]] * auctionGroup  
 | 
        familyAuctionItemDict = {familyID:[familyPlayerIDList, familyAuctionItemList]}  
 | 
        PlayerAuctionHouse.DoAddFamilyAuctionItem(familyAuctionItemDict)  
 | 
          
 | 
    else:  
 | 
        __Help(curPlayer)  
 | 
        return  
 | 
          
 | 
    return  
 | 
  
 | 
def __Help(curPlayer):  
 | 
    GameWorld.DebugAnswer(curPlayer, "Çå¿ÕËùÓÐÅÄÆ·: AuctionItem 0")  
 | 
    GameWorld.DebugAnswer(curPlayer, "Ìí¼Ó¸öÈËÅÄÆ·: AuctionItem 1 ÎïÆ·ID ¸öÊý ¼¸×é")  
 | 
    GameWorld.DebugAnswer(curPlayer, "Ìí¼ÓÏÉÃËÅÄÆ·: AuctionItem 2 ÎïÆ·ID ¸öÊý ¼¸×é ÊÜÒæÍæ¼ÒIDA Íæ¼ÒIDB...")  
 | 
    return  
 | 
  
 | 
  
 |