#!/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 itemID in ChConfig.Def_TransformItemIDList: curItem = ItemControler.GetOutPutItemObj(itemID) ItemControler.SetItemCount(curItem, count, curPlayer.GetPlayerID(), curPlayer.GetAccID(), curPlayer.GetPlayerName()) PlayerItemControler = ItemControler.PlayerItemControler(curPlayer) if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]): GameWorld.DebugAnswer(curPlayer, "·ÅÈëÎïÆ·Ê§°Ü£¡") return 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) if curItem.GetType() in [ChConfig.Def_ItemType_GatherSoul,ChConfig.Def_ItemType_GatherSoulCore] and runeLV: curItem.SetUserAttr(ShareDefine.Def_IudetGatherSoulLV, runeLV) #½«ÎïÆ··ÅÖÃÍæ¼Ò±³°ü PlayerItemControler = ItemControler.PlayerItemControler(curPlayer) if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]): GameWorld.DebugAnswer(curPlayer, "·ÅÈëÎïÆ·Ê§°Ü£¡") return