From ef02b237e0d4b79abd8f38ba606e8a3590bcb6cd Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 17 十月 2024 16:50:16 +0800
Subject: [PATCH] 5328 【越南】【英文】【砍树】神兽装备格子拓展(扩展为125格)

---
 ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/test_OnDay.py |   45 ++++++++++++++++++++++++---------------------
 1 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/test_OnDay.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/test_OnDay.py
index 4b0c18e..41fce87 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/test_OnDay.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/test_OnDay.py
@@ -33,22 +33,16 @@
 #  @return None
 #  @remarks 函数详细说明. 有的任务一天只能做限定次数,或有的操作一天只能做一次
 #  用来刷新任务状态或其它
-def OnExec(curPlayer,playerList):
+def OnExec(curPlayer, gmList):
+    __DoExecOnDay(gmList)
+    return
+
+def __DoExecOnDay(gmList):
     timeStr = GameWorld.GetCurrentDataTimeStr()
     tick = GameWorld.GetGameWorld().GetTick()
-    
-    if len(playerList) == 0:
-        DoLogic_GM_OnDay( timeStr , tick )
-        return
-    
-    count = playerList[0]
-    
-    if count > 5:
-        return
-    
-    for i in range( count ):
-        DoLogic_GM_OnDay( timeStr , tick )
-            
+    count = 1 if not gmList else min(gmList[0], 5)
+    for _ in xrange(count):
+        DoLogic_GM_OnDay(timeStr , tick)
     return
 
 ## 世界服务器执行  test_OnHour test_OnDay 一次 并通知在线所有玩家
@@ -56,25 +50,34 @@
 #  @param tick     当前tick
 #  @return 无返回值
 #  @remarks 函数详细说明:世界服务器执行 test_OnHour test_OnDay 一次
-def DoLogic_GM_OnDay( timeStr , tick ):
+def DoLogic_GM_OnDay(timeStr , tick):
     playerManager = GameWorld.GetPlayerManager()
     
-    for i in range( 0, playerManager.GetPlayerCount() ):
-        curPlayer = playerManager.GetPlayerByIndex( i )
+    for i in range(0, playerManager.GetPlayerCount()):
+        curPlayer = playerManager.GetPlayerByIndex(i)
         
         if not curPlayer or curPlayer.IsEmpty():
             continue
         
-        mapID = GameWorld.GetQueryPlayerMapID( curPlayer )
+        mapID = GameWorld.GetQueryPlayerMapID(curPlayer)
         
         if not mapID:
             continue
         
-        playerManager.MapServer_QueryPlayer( 0, 0, curPlayer.GetID(), mapID, 'GMDateTime', 'GMOnDay', len("GMOnDay"))
+        playerManager.MapServer_QueryPlayer(0, 0, curPlayer.GetID(), mapID, 'GMDateTime', 'GMOnDay', len("GMOnDay"))
         
     GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OnDayEx, 0)
     
-    GameWorldProcess.OnHour( timeStr , tick )
-    GameWorldProcess.OnDay( timeStr , tick )
+    GameWorldProcess.OnHour(timeStr , tick)
+    GameWorldProcess.OnDay(timeStr , tick)
     GameWorldProcess.OnDayEx(tick)
     return
+
+def OnGetMergeParam(curPlayer):
+    ## 跨服命令额外参数
+    return []
+
+def OnMergeServerExec(gmList, tick):
+    ## 跨服执行命令
+    __DoExecOnDay(gmList)
+    return

--
Gitblit v1.8.0