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