#!/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 ChConfig  
 | 
import GameWorld  
 | 
#---------------------------------------------------------------------  
 | 
#È«¾Ö±äÁ¿  
 | 
#---------------------------------------------------------------------  
 | 
"""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, [count, ·ûÓ¡µÈ¼¶]")  
 | 
        return  
 | 
      
 | 
    itemID = msgList[0]  
 | 
    count = msgList[1] if len(msgList) > 1 else 1  
 | 
    runeLV = msgList[2] if len(msgList) > 2 else None  
 | 
      
 | 
    itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)  
 | 
    if not itemData:  
 | 
        GameWorld.DebugAnswer(curPlayer, '¸ÃÎïÆ·²»´æÔÚ = %s' % (itemID))  
 | 
        return  
 | 
    packCount = itemData.GetPackCount()  
 | 
    if packCount > 1:  
 | 
        __DoGMGivePlayerItem(curPlayer, itemID, count, runeLV)  
 | 
    else:  
 | 
        for _ in xrange(count):  
 | 
            __DoGMGivePlayerItem(curPlayer, itemID, 1, runeLV)  
 | 
              
 | 
    return  
 | 
  
 | 
def __DoGMGivePlayerItem(curPlayer, itemID, count, runeLV):  
 | 
    if ItemControler.GetAppointItemRealID(itemID):  
 | 
        ItemControler.GivePlayerAppointItem(curPlayer, itemID, 0, True, True)  
 | 
        return  
 | 
    curItem = ItemControler.GetOutPutItemObj(itemID)  
 | 
    ItemControler.SetItemCount(curItem, count, curPlayer.GetPlayerID(), curPlayer.GetAccID(),  
 | 
                               curPlayer.GetPlayerName())  
 | 
  
 | 
    if curItem.GetType() == ChConfig.Def_ItemType_Rune and runeLV:  
 | 
        curItem.SetUserAttr(ShareDefine.Def_IudetRuneLV, runeLV)  
 | 
          
 | 
    #½«ÎïÆ··ÅÖÃÍæ¼Ò±³°ü  
 | 
    PlayerItemControler = ItemControler.PlayerItemControler(curPlayer)  
 | 
    if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]):  
 | 
        GameWorld.DebugAnswer(curPlayer, "·ÅÈëÎïÆ·Ê§°Ü£¡")  
 | 
          
 | 
    return  
 | 
  
 | 
      
 | 
      
 | 
  
 |