ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py
@@ -13,21 +13,12 @@
# @change: "2015-12-11 16:00" hxp 增加基础属性比例支持
#
# 模块详细说明
#导入
import IPY_GameWorld
import ItemControler
import ShareDefine
import GameWorld
import ChConfig
import ItemCommon
#---------------------------------------------------------------------
#全局变量
#---------------------------------------------------------------------
"""Version = 2015-12-11 16:00"""
#---------------------------------------------------------------------
#逻辑实现
## GM命令执行入口
#  @param curPlayer 当前玩家
@@ -38,14 +29,14 @@
    
    #输入命令格式错误
    if len(msgList) < 1:
        GameWorld.DebugAnswer(curPlayer, "MakeItemCount ID (个数  拍品组数 全部传奇属性)")
        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
    isAllAttr = msgList[3] if len(msgList) > 3 else 0
    appointID = msgList[3] if len(msgList) > 3 else 0
    
    itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
    if not itemData:
@@ -58,32 +49,14 @@
            GameWorld.DebugAnswer(curPlayer, "放入物品失败!")
        return
    
    playerItemControler = ItemControler.PlayerItemControler(curPlayer)
    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):
            if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, True, [IPY_GameWorld.rptItem], event=event, setAttrDict=setAttrDict):
                GameWorld.DebugAnswer(curPlayer, "###放入物品失败!")
    else:
        if not ItemCommon.GetIsEquip(itemData):
            if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, False, [IPY_GameWorld.rptItem], event=event):
        if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, False, [IPY_GameWorld.rptItem], event=event, setAttrDict=setAttrDict):
                GameWorld.DebugAnswer(curPlayer, "###放入物品失败!")
        else:
            for _ in xrange(itemCount):
                __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, 1, False, isAllAttr, event)
    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