From aecf8422a914350ccbf779178a1fdc1acc8971c7 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 11 三月 2019 16:27:41 +0800
Subject: [PATCH] 6341 【后端】【2.0】境界改版开发单

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py |   52 ++++++++++++++++++++++++++--------------------------
 1 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
index 61958a6..8fda9bb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -2056,8 +2056,7 @@
         
     return
 
-def GivePlayerItem(curPlayer, itemID, itemCount, auctionGroup, packIndexList, showEff=False, defaultPile=True,
-                   returnItemObj=False, showSysInfo=False, event=["", False, {}]):
+def GivePlayerItem(curPlayer, itemID, itemCount, auctionGroup, packIndexList, event=["", False, {}]):
     '''给玩家物品
     @param auctionGroup: 拍品组数,0为非拍品,大于0为总给的物品数拆成的拍品组数;注意这个不一定按叠加拆分,策划自行决定非几组拍
     '''
@@ -2086,7 +2085,7 @@
     itemControl = PlayerItemControler(curPlayer)
     for packIndex in packIndexList:
         #可以放入背包
-        if itemControl.CanPutInItem(packIndex, itemID, itemCount, auctionGroup, defaultPile):
+        if itemControl.CanPutInItem(packIndex, itemID, itemCount, auctionGroup):
             canPutIn = True
             break
     if not canPutIn:
@@ -2108,26 +2107,31 @@
             outPutEquip = GetOutPutItemObj(itemID, 1, isAuctionItem, curPlayer=curPlayer)
             if not outPutEquip:
                 return isOK
-            if DoLogic_PutItemInPack(curPlayer, outPutEquip, event, packIndexList, defaultPile):
+            if DoLogic_PutItemInPack(curPlayer, outPutEquip, event, packIndexList):
                 isOK = True # 只要有成功的就返回成功,防止异常情况失败可能导致被刷
         return isOK
     
-    isOK = False
-    doCount = itemCount
-    maxPackCount = max(1, itemCount / auctionGroup) # 每组至少1个
-    while itemCount > 0 and doCount > 0:
-        doCount -= 1
-        giveCount = maxPackCount if itemCount >= maxPackCount else itemCount
-        if giveCount <= 0:
-            break
-        itemCount -= giveCount
-        giveItem = GetOutPutItemObj(itemID, giveCount, isAuctionItem, curPlayer=curPlayer)
-        if not giveItem:
-            return isOK
-        if DoLogic_PutItemInPack(curPlayer, giveItem, event, packIndexList, defaultPile):
-            isOK = True # 只要有成功的就返回成功,防止异常情况失败可能导致被刷
-            
-    return isOK
+    if auctionGroup > 0:
+        isOK = False
+        doCount = itemCount
+        maxPackCount = max(1, itemCount / auctionGroup) # 每组至少1个
+        while itemCount > 0 and doCount > 0:
+            doCount -= 1
+            giveCount = maxPackCount if itemCount >= maxPackCount else itemCount
+            if giveCount <= 0:
+                break
+            itemCount -= giveCount
+            giveItem = GetOutPutItemObj(itemID, giveCount, isAuctionItem, curPlayer=curPlayer)
+            if not giveItem:
+                return isOK
+            if DoLogic_PutItemInPack(curPlayer, giveItem, event, packIndexList):
+                isOK = True # 只要有成功的就返回成功,防止异常情况失败可能导致被刷
+        return isOK
+    
+    giveItem = GetOutPutItemObj(itemID, itemCount, isAuctionItem, curPlayer=curPlayer)
+    if not giveItem:
+        return False
+    return DoLogic_PutItemInPack(curPlayer, giveItem, event, packIndexList)
 
 
 def GivePlayerAppointItem(curPlayer, appointID, isAuctionItem, event=["", False, {}]):
@@ -2181,10 +2185,8 @@
 ## 根据物品data字典给玩家装备/翅膀
 #  @param curPlayer:玩家实例
 #  @param itemData:物品数据
-#  @param showEff:是否显示放入背包特效
 #  @param packType:背包类型
 #  @param defaultPile 默认先判断是否能进行物品堆叠
-#  @param showSysInfo 是否显示系统提示
 #  @return None
 def GivePlayerEquip(curPlayer, itemData, event=["", False, {}], packType=[IPY_GameWorld.rptItem, IPY_GameWorld.rptAnyWhere],
                     defaultPile=True):
@@ -2250,7 +2252,6 @@
 #  @param packIndexList 背包索引列表
 #  @param showEff 放入背包特效
 #  @param defaultPile 默认先判断是否能进行物品堆叠
-#  @param returnItemObj 是否返回物品对象
 #  @param showSysInfo 是否显示系统提示
 #  @return 布尔值
 def DoLogic_PutItemInPack(curPlayer, curGiveItem, event=["", False, {}], packIndexList=[IPY_GameWorld.rptItem, IPY_GameWorld.rptAnyWhere], defaultPile=True):
@@ -2269,8 +2270,6 @@
             #    PlayerControl.NotifyCode(curPlayer, "ObtainRes01", [itemID, count])
             #===================================================================
             
-            #if returnItemObj:
-            #    return curGiveItem
             return True
 
     #玩家背包已满, 清空物品,否则创建物品不删除,将导致内存溢出
@@ -2553,7 +2552,8 @@
     ## 临时背包放入物品
     # 临时交换背包目前只开放1个格子,每次放入前先清空再放入
     ClearPack(curPlayer, ShareDefine.rptTempSwap)
-    return GivePlayerItem(curPlayer, itemID, 1, isBind, [ShareDefine.rptTempSwap])
+    auctionGroup = 1 if not isBind else 0
+    return GivePlayerItem(curPlayer, itemID, 1, auctionGroup, [ShareDefine.rptTempSwap])
 
 def OpenPickupItemPutInTemp(curPlayer, isClearItem):
     ''' 开启拾取的物品放入临时存放背包

--
Gitblit v1.8.0