From 00f4a55d20b44485efb11172bf61263e8cfb57fa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 12 三月 2025 15:09:14 +0800
Subject: [PATCH] 10416 【英文】【bt】【GM】【砍树】登录基金和幻境基金 完成后可以重置购买(重置关联的充值ID)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
index c576759..e22fe79 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
@@ -944,12 +944,12 @@
     
     # 拉物品
     if msgType == "Pull":
-        __DoPullItem(playerID, curPlayer, dataMsg)
+        ret = __DoPullItem(playerID, curPlayer, dataMsg)
 
     # 刷新福地物品
     elif msgType == "MineItemRefresh":
         playerID, isSuper = dataMsg
-        __DoMineItemRefresh(playerID, curPlayer, isSuper=isSuper)
+        __DoMineItemRefresh(playerID, curPlayer, isSuper=isSuper, queryType=99, queryValue=isSuper)
 
     # 地图结算奖励OK
     elif msgType == "MineAreaAwardGetOK":
@@ -1063,7 +1063,7 @@
     __RefreshMineItemSpeed(mineItemData, True)
     
     SyncMineAreaItemInfo(areaPlayerID, [itemIndex], notifyPlayerIDListEx)
-    return
+    return [areaPlayerID]
 
 def __DoCancelPull(playerID, areaPlayerID, itemIndex, reason=""):
     ## 取消拉取
@@ -1105,7 +1105,7 @@
         MapServer_QueryPlayerResult(curPlayer, "MineAreaCancelPull", [areaPlayerID, reason])
     return
 
-def __DoMineItemRefresh(areaPlayerID, areaPlayer=None, isSys=False, isSuper=False, isNotify=True, refreshIndexList=None, setPosition=None, setItemLV=None, setMineID=None):
+def __DoMineItemRefresh(areaPlayerID, areaPlayer=None, isSys=False, isSuper=False, isNotify=True, refreshIndexList=None, setPosition=None, setItemLV=None, setMineID=None, queryType=0, queryValue=0):
     '''刷新福地物品
     @param areaPlayerID: 福地玩家ID,可能是假人
     @param areaPlayer: 福地玩家实例
@@ -1204,7 +1204,7 @@
         GameWorld.DebugLog("    index=%s,randMineID=%s,position=%s,mineType=%s,itemLV=%s" % (index, randMineID, position, mineType, itemLV), areaPlayerID)
         
     if isNotify and refreshDict:
-        SyncMineAreaItemInfo(areaPlayerID, refreshDict.keys())
+        SyncMineAreaItemInfo(areaPlayerID, refreshDict.keys(), queryType=queryType, queryValue=queryValue)
     return refreshDict
 
 #// B0 33 福地查看 #tagCGMineAreaView
@@ -1254,7 +1254,7 @@
         
     return
 
-def SyncMineAreaItemInfo(areaPlayerID, mineIndexList, notifyPlayerIDListEx=None):
+def SyncMineAreaItemInfo(areaPlayerID, mineIndexList, notifyPlayerIDListEx=None, queryType=0, queryValue=0):
     '''某个福地物品变更时同步,会同步给相关玩家
     @param areaPlayerID: 福地玩家ID,可能是假人
     @param mineIndexList: 需要同步的矿物索引
@@ -1295,7 +1295,7 @@
     if not notifyPlayerIDList:
         return
     
-    clientPack = __GetMineAreaInfoPack([[areaPlayerID, mineIndexList]])
+    clientPack = __GetMineAreaInfoPack([[areaPlayerID, mineIndexList]], queryType=queryType, queryValue=queryValue)
     # 去重同步
     playerManager = GameWorld.GetPlayerManager()
     for playerID in set(notifyPlayerIDList):
@@ -1495,7 +1495,7 @@
         itemCount = ipyData.GetItemCount()
         itemLV = ipyData.GetItemLV()
         awardItemDict[itemID] = awardItemDict.get(itemID, 0) + itemCount
-        awardInfoList.append([GUID, awardTime, workerCount, areaPlayerID, mineID, itemLV, itemID, itemCount])
+        awardInfoList.append([awardTime, workerCount, areaPlayerID, mineID, itemLV, itemID, itemCount])
         
     # 通知地图玩家给物品
     curPlayer.SetDict(MineAreaAwardGetTick, tick)
@@ -1505,17 +1505,17 @@
 def __DoMineAreaAwardGetOK(curPlayer, dataMsg):
     
     playerID = curPlayer.GetPlayerID()
-    GUIDList, awardItemList = dataMsg
+    _, awardItemList = dataMsg
     curPlayer.SetDict(MineAreaAwardGetTick, 0)
     
     awardMgr = PyDataManager.GetDBPyMineAreaAwardManager()
     awardDict = awardMgr.playerAreaAwardDict.get(playerID, {})
     if not awardDict:
         return
+    GameWorld.DebugLog("福地结算奖励OK: %s" % len(awardDict), playerID)
     
-    for GUID in GUIDList:
-        awardDict.pop(GUID, None)
-        
+    awardMgr.playerAreaAwardDict[playerID] = {}
+    
     SyncMineAwardAward(curPlayer, 1, awardItemList)
     return
 

--
Gitblit v1.8.0