From 4263dbe6adb69acd0c6814f647d9cbdbc6a61e00 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 13 六月 2024 16:13:56 +0800 Subject: [PATCH] 10178 【越南】【香港】【主干】挂机奖励(集字活动、垃圾分类活动支持掉落活动物品; 终身卡免费领取快速挂机收益;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py | 38 ++++++++++++++++++++++++++++++++++---- 1 files changed, 34 insertions(+), 4 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py index a27282c..123b6c9 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGuaji.py @@ -20,6 +20,9 @@ import PlayerControl import ChPyNetSendPack import PlayerWorldAverageLv +import PlayerActGarbageSorting +import PlayerActCollectWords +import PlayerGoldInvest import FormulaControl import NetPackCommon import IpyGameDataPY @@ -294,6 +297,16 @@ itemID, itemCount = itemInfo itemDict[itemID] = itemDict.get(itemID, 0) + itemCount + # 集字掉落 + dropWordsCountDict = PlayerActCollectWords.OnGetGuajiAwardItemDict(curPlayer, awardSeconds, isQuick) + for itemID, dropCount in dropWordsCountDict.items(): + itemDict[itemID] = itemDict.get(itemID, 0) + dropCount + + # 垃圾回收 + giveGarbageItemList = PlayerActGarbageSorting.OnGetGuajiAwardItemDict(curPlayer, awardSeconds, isQuick) + for itemID, dropCount in giveGarbageItemList.items(): + itemDict[itemID] = itemDict.get(itemID, 0) + dropCount + GameWorld.DebugLog(" itemDict=%s" % (itemDict), playerID) return addExp, moneyDict, itemDict @@ -320,7 +333,7 @@ GameWorld.DebugLog("快速挂机收益次数已达每日上限! quickCountToday=%s" % quickCountToday, playerID) return - if quickCountToday >= quickCountFree: + if quickCountToday >= quickCountFree and not PlayerGoldInvest.GetInvestState(curPlayer, ChConfig.InvestType_Life): todayBuyCount = quickCountToday - quickCountFree # 今日已购买次数 costMoneyType = IpyGameDataPY.GetFuncCfg("GuajiQuick", 3) costMoneyList = IpyGameDataPY.GetFuncEvalCfg("GuajiQuick", 4) @@ -366,9 +379,26 @@ for moneyType, moneyValue in moneyDict.items(): PlayerControl.GiveMoney(curPlayer, moneyType, moneyValue, "Guaji") - giveItemList = [[itemID, itemCount, 0] for itemID, itemCount in itemDict.items()] - ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList, event=["Guaji", False, {}]) - + # 分背包放入 + packTypeItemDict = {} + for itemID, itemCount in itemDict.items(): + itemData = GameWorld.GetGameData().GetItemByTypeID(itemID) + if not itemData: + continue + packType = ChConfig.GetItemPackType(itemData) + if packType not in packTypeItemDict: + packTypeItemDict[packType] = [] + giveItemList = packTypeItemDict[packType] + giveItemList.append([itemID, itemCount, 0]) + + for packType, giveItemList in packTypeItemDict.items(): + # 垃圾分类背包直接放入 + if packType == ShareDefine.rptGarbage: + for itemID, itemCount, isAuctionItem in giveItemList: + ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [packType], event=["Guaji", False, {}]) + else: + ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList, event=["Guaji", False, {}]) + Sync_GuajiAward(curPlayer, 1, awardSeconds, exp, moneyDict, itemDict) return -- Gitblit v1.8.0