| #!/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 itemID in ChConfig.Def_TransformItemIDList or itemData.GetType() == ChConfig.Def_ItemType_AutoUseMoney:  | 
|         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 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  |