From 4d195938a96ccbf392307ac20fe17c2b9605e84e Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 17 十二月 2024 15:24:03 +0800 Subject: [PATCH] 10341 【后端】【越南】【英文】【BT】【砍树】寻宝多抽优化(道具不足时支持使用对应货币扣除) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py index 785cee8..18f4fbc 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py @@ -173,9 +173,18 @@ delCostItemCount = costItemNeedCount - lackCount lackCountCostMoney = 0 if lackCount > 0: - lackCountCostMoney = ItemCommon.GetAutoBuyItemNeedGold({costItemID:lackCount}) + costGoldList = setIpyData.GetCostMoneyList() # 消耗货币列表 + costGoldType = setIpyData.GetCostMoneyType() # 消耗货币类型 + if not costGoldType or not costGoldList or treasureIndex >= len(costGoldList) or not costGoldList[treasureIndex]: + GameWorld.ErrLog("寻宝道具不足,该寻宝类型不支持消耗货币寻宝! treasureType=%s,treasureIndex=%s" % (treasureType, treasureIndex), playerID) + return + costGold = costGoldList[treasureIndex] + perItemGold = int(costGold / costItemNeedCount) # 道具单价 + lackCountCostMoney = perItemGold * lackCount + GameWorld.DebugLog("寻宝道具不足,使用对应货币扣除: costItemID=%s,perItemGold=%s,lackCount=%s,lackCountCostMoney=%s,costGoldType=%s" + % (costItemID, perItemGold, lackCount, lackCountCostMoney, costGoldType), playerID) if lackCountCostMoney: - moneyType = IPY_GameWorld.TYPE_Price_Gold_Paper + moneyType = costGoldType infoDict = {ChConfig.Def_Cost_Reason_SonKey:costItemID} if not PlayerControl.HaveMoney(curPlayer, moneyType, lackCountCostMoney): return -- Gitblit v1.8.0