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