#!/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 ItemCommon.GetIsEquip(itemData) or itemData.GetPackCount() <= 1: for _ in xrange(itemCount): __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, 1, False, isAllAttr, event) else: if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, False, [IPY_GameWorld.rptItem], event=event): GameWorld.DebugAnswer(curPlayer, "###·ÅÈëÎïÆ·Ê§°Ü£¡") 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