From 476fb6e578f29c09d558187deeb215afe2e5bf59 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 14 三月 2019 11:42:28 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(优化代码)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py |   32 +++++++++++++++-----------------
 1 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py
index 2fe1b45..3e30edd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py
@@ -20,6 +20,7 @@
 import IpyGameDataPY
 import GameWorld
 import ChConfig
+import ItemCommon
 
 #---------------------------------------------------------------------
 #全局变量
@@ -38,9 +39,10 @@
     
     #输入命令格式错误
     if len(msgList) < 1:
-        GameWorld.DebugAnswer(curPlayer, "MakeItemCount ID (个数  拍品分组 全部传奇属性)")
+        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
@@ -50,43 +52,39 @@
     if not itemData:
         GameWorld.DebugAnswer(curPlayer, '该物品不存在 = %s' % (itemID))
         return
-    packCount = itemData.GetPackCount()
     if itemID in ChConfig.Def_TransformItemIDList:
         curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, curPlayer=curPlayer)
         PlayerItemControler = ItemControler.PlayerItemControler(curPlayer)
-        if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]):
+        if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=event):
             GameWorld.DebugAnswer(curPlayer, "放入物品失败!")
         return
     
     playerItemControler = ItemControler.PlayerItemControler(curPlayer)
     
     # 拍品
-    if auctionGroup:
-        isAuctionItem = True
+    if auctionGroup > 0:
         ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)
         if not ipyData:
             GameWorld.DebugAnswer(curPlayer, "非可拍卖物品itemID=%s" % (itemID))
             return
-        groupItemCount = itemCount / auctionGroup
-        for i in xrange(auctionGroup):
-            if i == auctionGroup - 1:
-                groupItemCount += itemCount % auctionGroup
-            __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, groupItemCount, isAuctionItem, isAllAttr)    
+        for _ in xrange(auctionGroup):
+            if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, True, [IPY_GameWorld.rptItem], event=event):
+                GameWorld.DebugAnswer(curPlayer, "###放入物品失败!")
     else:
-        isAuctionItem = False
-        if packCount > 1:
-            __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, itemCount, isAuctionItem, isAllAttr)
+        if not ItemCommon.GetIsEquip(itemData):
+            if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, False, [IPY_GameWorld.rptItem], event=event):
+                GameWorld.DebugAnswer(curPlayer, "###放入物品失败!")
         else:
             for _ in xrange(itemCount):
-                __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, 1, isAuctionItem, isAllAttr)
+                __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, 1, False, isAllAttr, event)
     return
 
-def __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, count, isAuctionItem, isAllAttr):
+def __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, count, isAuctionItem, isAllAttr, event):
     if ItemControler.GetAppointItemRealID(itemID):
-        ItemControler.GivePlayerAppointItem(curPlayer, itemID, isAuctionItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}])
+        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=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]):
+    if not playerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=event):
         GameWorld.DebugAnswer(curPlayer, "放入物品失败!")
         
     return

--
Gitblit v1.8.0