From d171a50540a656408fbcc1cda016e3d0aede51f9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 26 二月 2025 17:53:32 +0800
Subject: [PATCH] 10385 【越南】【英语】【BT】【GM】【砍树】福地新增鼠管及优化-服务端(优化结算奖励逻辑;)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py           |   10 +++++-----
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py |   10 ++++------
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
index cd12da0..e22fe79 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldMineArea.py
@@ -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
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
index fef8b95..55cabf9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
@@ -247,9 +247,8 @@
     awardItemDict = {}
     robCount = 0 # 抢劫数
     selfCount = 0 # 自己数量
-    GUIDList = []
     for awardInfo in awardInfoList:
-        GUID, awardTime, workerCount, areaPlayerID, mineID, itemLV, itemID, itemCount = awardInfo
+        awardTime, workerCount, areaPlayerID, mineID, itemLV, itemID, itemCount = awardInfo
         isToday = GameWorld.CheckTimeIsSameServerDayEx(awardTime)
         if isToday:
             addEnergyUsed += workerCount
@@ -258,9 +257,8 @@
         else:
             selfCount += 1
         awardItemDict[itemID] = awardItemDict.get(itemID, 0) + itemCount
-        GUIDList.append(GUID)
-        GameWorld.DebugLog("结算福地奖励! areaPlayerID=%s,mineID=%s,itemLV=%s,itemID=%s,itemCount=%s,awardTime=%s,isToday=%s,workerCount=%s %s" 
-                           % (areaPlayerID, mineID, itemLV, itemID, itemCount, GameWorld.ChangeTimeNumToStr(awardTime), isToday, workerCount, GUID), playerID)
+        GameWorld.DebugLog("结算福地奖励! areaPlayerID=%s,mineID=%s,itemLV=%s,itemID=%s,itemCount=%s,awardTime=%s,isToday=%s,workerCount=%s" 
+                           % (areaPlayerID, mineID, itemLV, itemID, itemCount, GameWorld.ChangeTimeNumToStr(awardTime), isToday, workerCount), playerID)
         __OnMineAreaPullEnd(curPlayer, areaPlayerID, "OK")
         
     if addEnergyUsed:
@@ -280,7 +278,7 @@
     awardItemList = [[itemID, itemCount, 0] for itemID, itemCount in awardItemDict.items()]
     ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, None, ["MineAreaAward", False, {}])
     
-    SendToGameServer_MineArea(curPlayer, "MineAreaAwardGetOK", [GUIDList, awardItemList])
+    SendToGameServer_MineArea(curPlayer, "MineAreaAwardGetOK", [None, awardItemList])
     return
 
 def __OnMineAreaPullEnd(curPlayer, areaPlayerID, reason):

--
Gitblit v1.8.0