#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
  
 | 
##@package MakeItemCount  
 | 
# ÖÆÔìÎïÆ· <ÎïÆ·ID> [ÊýÁ¿]   
 | 
#  
 | 
# @author panwei  
 | 
# @date 2010-4-23  
 | 
# @version 1.2  
 | 
#  
 | 
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ  
 | 
# @change: "2013-04-27 20:30" wdb Ôö¼Ó×°±¸¸½¼ÓÄÚÈÝ  
 | 
# @change: "2015-12-11 16:00" hxp Ôö¼Ó»ù´¡ÊôÐÔ±ÈÀýÖ§³Ö  
 | 
#  
 | 
# Ä£¿éÏêϸ˵Ã÷  
 | 
  
 | 
import IPY_GameWorld  
 | 
import ItemControler  
 | 
import ShareDefine  
 | 
import GameWorld  
 | 
import ChConfig  
 | 
  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param msgList ²ÎÊýÁбí [ ÎïÆ·ID, ÊýÁ¿]  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, msgList):  
 | 
      
 | 
    #ÊäÈëÃüÁî¸ñʽ´íÎó  
 | 
    if len(msgList) < 1:  
 | 
        GameWorld.DebugAnswer(curPlayer, "MakeItemCount ID (¸öÊý  ÅÄÆ·×éÊý  ¶¨ÖÆID)")  
 | 
        return  
 | 
      
 | 
    event = [ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]  
 | 
    itemID = msgList[0]  
 | 
    itemCount = msgList[1] if len(msgList) > 1 else 1  
 | 
    auctionGroup = msgList[2] if len(msgList) > 2 else 0  
 | 
    appointID = msgList[3] if len(msgList) > 3 else 0  
 | 
      
 | 
    itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)  
 | 
    if not itemData:  
 | 
        GameWorld.DebugAnswer(curPlayer, '¸ÃÎïÆ·²»´æÔÚ = %s' % (itemID))  
 | 
        return  
 | 
    if ItemControler.IsPutinAutoTransformItem(itemData):  
 | 
        curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, curPlayer=curPlayer)  
 | 
        PlayerItemControler = ItemControler.PlayerItemControler(curPlayer)  
 | 
        if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=event):  
 | 
            GameWorld.DebugAnswer(curPlayer, "·ÅÈëÎïÆ·Ê§°Ü£¡")  
 | 
        return  
 | 
      
 | 
    setAttrDict = {ShareDefine.Def_CItemKey_AppointID:appointID} if appointID else {}  
 | 
      
 | 
    # ÅÄÆ·  
 | 
    if auctionGroup > 0:  
 | 
        for _ in xrange(auctionGroup):  
 | 
            if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, True, [IPY_GameWorld.rptItem], event=event, setAttrDict=setAttrDict):  
 | 
                GameWorld.DebugAnswer(curPlayer, "###·ÅÈëÎïÆ·Ê§°Ü£¡")  
 | 
    else:  
 | 
        if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, False, [IPY_GameWorld.rptItem], event=event, setAttrDict=setAttrDict):  
 | 
            GameWorld.DebugAnswer(curPlayer, "###·ÅÈëÎïÆ·Ê§°Ü£¡")  
 | 
    return  
 |