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