From ac36bdcfa7db1557790a5b912c3248b22625841f Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 26 十一月 2025 18:49:17 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_ServerCode

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py
index 0966036..556531d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py
@@ -26,6 +26,7 @@
 import GameFuncComm
 import PlayerGubao
 import ShareDefine
+import PlayerTask
 import ObjPool
 
 import time
@@ -269,13 +270,7 @@
             if campID != cID:
                 atWorkCnt += wCnt
             
-    workersTotal = 0 # 总工人数
-    workerState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldRushWorkerState)
-    for index in range(ipyDataMgr.GetGoldRushWorkerCount()):
-        ipyData = ipyDataMgr.GetGoldRushWorkerByIndex(index)
-        workerID = ipyData.GetWorkerID()
-        if workerState & pow(2, workerID):
-            workersTotal += 1
+    workersTotal = GetWorkerTotal(curPlayer) # 总工人数
     idleWorkers = workersTotal - atWorkCnt # 空闲工人数
     if idleWorkers <= 0:
         GameWorld.DebugLog("没有空闲工人,无法开始淘金! atWorkCnt=%s >= %s" % (atWorkCnt, workersTotal))
@@ -321,7 +316,21 @@
     campInfo = SetCampInfo(curPlayer, campID, refreshCnt, goldID, updWorkerCnt)
     GameWorld.DebugLog("    updWorkerCnt=%s,realNeedSeconds=%s,endTime=%s,campInfo=%s" 
                        % (updWorkerCnt, realNeedSeconds, GameWorld.ChangeTimeNumToStr(endTime), campInfo))
+    
+    PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_GoldRush, 1)
     return
+
+def GetWorkerTotal(curPlayer):
+    ## 获取监工总数
+    workersTotal = 0 # 总工人数
+    ipyDataMgr = IpyGameDataPY.IPY_Data()
+    workerState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldRushWorkerState)
+    for index in range(ipyDataMgr.GetGoldRushWorkerCount()):
+        ipyData = ipyDataMgr.GetGoldRushWorkerByIndex(index)
+        workerID = ipyData.GetWorkerID()
+        if workerState & pow(2, workerID):
+            workersTotal += 1
+    return workersTotal
 
 def __onGoldRushCancel(curPlayer, campID):
     ## 取消
@@ -404,6 +413,8 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GoldRushWorkerState, workerState)
     GameWorld.DebugLog("解锁淘金监工: workerID=%s,workerState=%s" % (workerID, workerState))
     SyncGoldRushInfo(curPlayer)
+    
+    PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_GoldRushWorkers)
     return
 
 #// B0 38 淘金仓库领奖 #tagCSGoldRushWarehouseAward

--
Gitblit v1.8.0