| #!/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  | 
|   | 
|   |