#!/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 GameWorld  
 | 
import ChConfig  
 | 
import ItemCommon  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
#È«¾Ö±äÁ¿  
 | 
#---------------------------------------------------------------------  
 | 
"""Version = 2015-12-11 16:00"""  
 | 
#---------------------------------------------------------------------  
 | 
#Â߼ʵÏÖ  
 | 
  
 | 
  
 | 
## GMÃüÁîÖ´ÐÐÈë¿Ú  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param msgList ²ÎÊýÁбí [ ÎïÆ·ID, ÊýÁ¿]  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, msgList):  
 | 
      
 | 
    #ÊäÈëÃüÁî¸ñʽ´íÎó  
 | 
    if len(msgList) < 1:  
 | 
        GameWorld.DebugAnswer(curPlayer, "MakeItemCount 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  
 | 
    isAllAttr = 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  
 | 
      
 | 
    playerItemControler = ItemControler.PlayerItemControler(curPlayer)  
 | 
      
 | 
    # ÅÄÆ·  
 | 
    if auctionGroup > 0:  
 | 
        for _ in xrange(auctionGroup):  
 | 
            if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, True, [IPY_GameWorld.rptItem], event=event):  
 | 
                GameWorld.DebugAnswer(curPlayer, "###·ÅÈëÎïÆ·Ê§°Ü£¡")  
 | 
    else:  
 | 
        if not ItemCommon.GetIsEquip(itemData):  
 | 
            if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, False, [IPY_GameWorld.rptItem], event=event):  
 | 
                GameWorld.DebugAnswer(curPlayer, "###·ÅÈëÎïÆ·Ê§°Ü£¡")  
 | 
        else:  
 | 
            for _ in xrange(itemCount):  
 | 
                __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, 1, False, isAllAttr, event)  
 | 
    return  
 | 
  
 | 
def __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, count, isAuctionItem, isAllAttr, event):  
 | 
    if ItemControler.GetAppointItemRealID(itemID):  
 | 
        ItemControler.GivePlayerAppointItem(curPlayer, itemID, isAuctionItem, event=event)  
 | 
        return  
 | 
    curItem = ItemControler.GetOutPutItemObj(itemID, count, isAuctionItem, curPlayer=curPlayer, isAllAttr=isAllAttr)  
 | 
    if not playerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=event):  
 | 
        GameWorld.DebugAnswer(curPlayer, "·ÅÈëÎïÆ·Ê§°Ü£¡")  
 | 
          
 | 
    return  
 | 
  
 | 
      
 | 
      
 | 
  
 |