From 5794b2a896fbb69511ad9b462735137296cf58f4 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 06 七月 2021 15:18:04 +0800
Subject: [PATCH] 5096 【主干】【BT2】【BT3】垃圾分类任务-杀怪获得脱机挂无效

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGarbageSorting.py |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGarbageSorting.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGarbageSorting.py
index 345fea8..29cca2d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGarbageSorting.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGarbageSorting.py
@@ -85,12 +85,13 @@
     Sync_GarbageTaskInfo(curPlayer, actNum)
     return True
 
-def AddActGarbageTaskProgress(curPlayer, taskID, addValue=1, valueInfo=None):
+def AddActGarbageTaskProgress(curPlayer, taskID, addValue=1, valueInfo=None, isTJG=False):
     ## 增加垃圾收集任务进度
     # @param valueInfo: taskID 对应的自定义扩展信息值
     if addValue <= 0:
         return
     
+    giveGarbageItemList = []
     for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_GarbageSorting, {}).values():
         actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
         if not actInfo.get(ShareDefine.ActKey_State):
@@ -134,14 +135,16 @@
         
         # 完成时自动产生垃圾
         if taskIpyData.GetAutoProduce():
-            if __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData):
+            giveItemList = __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData, isTJG)
+            if giveItemList:
+                giveGarbageItemList += giveItemList
                 continue
             
         Sync_GarbageTaskInfo(curPlayer, actNum, taskID)
         
-    return
+    return giveGarbageItemList
 
-def __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData=None):
+def __DoCheckFinishGarbageTask(curPlayer, actNum, taskID, taskIpyData=None, isTJG=False):
     ## 检查完成垃圾收集任务
     
     if not taskIpyData:
@@ -164,10 +167,6 @@
         #                   % (actNum, taskID, curValue, curFinishCount, updFinishCount))
         return
     
-    #GameWorld.DebugLog("垃圾分类活动任务完成,给奖励! actNum=%s,taskID=%s,curValue=%s,curFinishCount=%s,addFinishCount=%s,updFinishCount=%s" 
-    #                   % (actNum, taskID, curValue, curFinishCount, addFinishCount, updFinishCount))
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GarbageTaskFinishCount % (actNum, taskID), updFinishCount)
-    
     # 给垃圾收集奖励
     giveItemDict = {}
     rateList = taskIpyData.GetProduceGarbageRateList()
@@ -180,10 +179,22 @@
         giveItemDict[itemID] = [itemID, befItemCount + itemCount, isAuctionItem]
     giveItemList = giveItemDict.values()
     
-    ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList)
+    if not giveItemList:
+        return
     
+    if not ItemControler.CheckPackSpaceEnough(curPlayer, giveItemList):
+        return
+    
+    #GameWorld.DebugLog("垃圾分类活动任务完成,给奖励! actNum=%s,taskID=%s,curValue=%s,curFinishCount=%s,addFinishCount=%s,updFinishCount=%s" 
+    #                   % (actNum, taskID, curValue, curFinishCount, addFinishCount, updFinishCount))
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GarbageTaskFinishCount % (actNum, taskID), updFinishCount)
+    
+    if not isTJG:
+        for itemID, itemCnt, isAuctionItem in giveItemList:
+            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isAuctionItem, [])
+            
     Sync_GarbageTaskInfo(curPlayer, actNum, taskID)
-    return True
+    return giveItemList
 
 #// AA 14 垃圾分类活动分类垃圾 #tagCMActGarbageSorting
 #

--
Gitblit v1.8.0