From 573e9ad743c06004b849c5d069eddec8ca93ccf2 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 04 十一月 2021 14:38:00 +0800 Subject: [PATCH] 9325 【BT3】【BT4】【BT5】【主干】【后端】日常扫荡优化(主干冲突补充) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py | 41 +++++++++++++++++++++++------------------ 1 files changed, 23 insertions(+), 18 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 2348db3..29f3bbf 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py @@ -5814,7 +5814,7 @@ DoGiveCollectNPCAward(curPlayer, npcID, collectNPCIpyData) return -def DoGiveCollectNPCAward(curPlayer, npcID, collectNPCIpyData, collectCnt=1, crossCollectOK=False): +def DoGiveCollectNPCAward(curPlayer, npcID, collectNPCIpyData, collectCnt=1, crossCollectOK=False, isSweep=False): GameWorld.DebugLog("给采集奖励: npcID=%s,collectCnt=%s,crossCollectOK=%s" % (npcID, collectCnt, crossCollectOK)) if collectCnt <= 0: return @@ -5868,21 +5868,25 @@ awardItemList.append(giveItemInfo) GameWorld.DebugLog(" 最终采集奖励: awardItemList=%s" % awardItemList) + jsonItemList = [] if awardItemList: for itemID, itemCount, isAuctionItem in awardItemList: - ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [IPY_GameWorld.rptItem]) - if collectNPCIpyData.GetNotifyCollectResult(): - awardPack = ChPyNetSendPack.tagMCCollectAwardItemInfo() - awardPack.CollectNPCID = npcID - for itemID, itemCount, isAuctionItem in awardItemList: - awardItem = ChPyNetSendPack.tagMCCollectAwardItem() - awardItem.ItemID = itemID - awardItem.Count = itemCount - awardItem.IsAuctionItem = isAuctionItem - awardPack.AwardItemList.append(awardItem) - awardPack.Count = len(awardPack.AwardItemList) - NetPackCommon.SendFakePack(curPlayer, awardPack) - GameLogic_CrossGrassland.RecordGrasslandAward(curPlayer, awardItemList) + if ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [IPY_GameWorld.rptItem]): + jsonItemList.append(ItemCommon.GetJsonItem([itemID, itemCount, isAuctionItem])) + + if not isSweep: + if collectNPCIpyData.GetNotifyCollectResult(): + awardPack = ChPyNetSendPack.tagMCCollectAwardItemInfo() + awardPack.CollectNPCID = npcID + for itemID, itemCount, isAuctionItem in awardItemList: + awardItem = ChPyNetSendPack.tagMCCollectAwardItem() + awardItem.ItemID = itemID + awardItem.Count = itemCount + awardItem.IsAuctionItem = isAuctionItem + awardPack.AwardItemList.append(awardItem) + awardPack.Count = len(awardPack.AwardItemList) + NetPackCommon.SendFakePack(curPlayer, awardPack) + GameLogic_CrossGrassland.RecordGrasslandAward(curPlayer, awardItemList) else: GameWorld.ErrLog("采集物品没有奖励!npcID=%s" % (npcID)) @@ -5892,11 +5896,12 @@ PlayerActGarbageSorting.AddActGarbageTaskProgress(curPlayer, ChConfig.Def_GarbageTask_CrossCollect) #SyncCollectionItemInfo(curPlayer, addExp, addMoney, addZhenQi, giveItemInfoList, npcID) - GameLogic_CrossGrassland.DecCustomSceneNPCCount(curPlayer, npcID) - if isMaxTime: - GameLogic_CrossGrassland.DoCheckUpdateGrasslandEnd(curPlayer) + if not isSweep: + GameLogic_CrossGrassland.DecCustomSceneNPCCount(curPlayer, npcID) + if isMaxTime: + GameLogic_CrossGrassland.DoCheckUpdateGrasslandEnd(curPlayer) - return + return jsonItemList ## 采集结果同步 # @param None -- Gitblit v1.8.0