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 +++++++++++++++++++++----------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py | 5 +++++
2 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index 2ecf2b6..315f857 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -885,6 +885,11 @@
for dropID, dropCount in dropWordsCountDict.items():
dropIDCountDict[dropID] = dropIDCountDict.get(dropID, 0) + dropCount
+ # 垃圾分类
+ giveGarbageItemList = PlayerActGarbageSorting.AddActGarbageTaskProgress(dropPlayer, ChConfig.Def_GarbageTask_KillNPC, killCount, isTJG=True)
+ for dropID, dropCount, _ in giveGarbageItemList:
+ dropIDCountDict[dropID] = dropIDCountDict.get(dropID, 0) + dropCount
+
auctionIDList = []
if ipyDrop.GetAucionItemCanSell():
for dropID in dropIDCountDict.keys():
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