From 442ed90a28985d56986b596f985c702c98019aa7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 21 一月 2025 17:11:31 +0800
Subject: [PATCH] 10382 【后台】称号管理支持升星(支持升星、设置星级,支持离线设置;发放代币、后台充值、头像管理增加离线操作支持;)

---
 ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_CTG.py |   48 +++++++++++++++---------------------------------
 1 files changed, 15 insertions(+), 33 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_CTG.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_CTG.py
index e6a9eb2..8545dcf 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_CTG.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_CTG.py
@@ -16,6 +16,7 @@
 import ChConfig
 import GameWorld
 import PyGameData
+import GMShell
 #---------------------------------------------------------------------
 #全局变量
 #---------------------------------------------------------------------
@@ -52,43 +53,24 @@
     
     if not tagPlayer:
         # 玩家不在线,先记录,等玩家上线后处理
-        key = (queryType, playerFind)
-        ctgInfoList = PyGameData.g_ctgOfflinePlayerInfo.get(key, [])
-        ctgInfoList.append(gmCmdDict)
-        PyGameData.g_ctgOfflinePlayerInfo[key] = ctgInfoList
-        GameWorld.Log("离线CTG: g_ctgOfflinePlayerInfo=%s" % str(PyGameData.g_ctgOfflinePlayerInfo))
-        GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success)
+        GMShell.AddOfflinePlayerGMTInfo(orderId, queryType, playerFind, gmCmdDict)
         return
     
     GMCommon.GMTool_MapServer_Query(queryType, orderId, playerFind, gmCmdDict, 'GMTCTG', [orderId, value, appID, isAddBourseMoney, True], False)
     return
 
-def OnPlayerLogin(curPlayer):
-    ctgList = []
-    nameKey = (ChConfig.queryType_sqtPlayerByName, curPlayer.GetName())
-    if nameKey in PyGameData.g_ctgOfflinePlayerInfo:
-        ctgList += PyGameData.g_ctgOfflinePlayerInfo.pop(nameKey)
+def OnOfflineGMTInfo(curPlayer, tagMapID, gmCmdDict):
+    orderId = gmCmdDict.get('orderId', '')
+    value = gmCmdDict.get('value', '')
+    appID = gmCmdDict.get('appID', '')
+    isAddBourseMoney = GameWorld.ToIntDef(gmCmdDict.get('isAddBourseMoney', ''), 0)
+    cmdStr = str([orderId, value, appID, isAddBourseMoney, False])
+    GameWorld.GetPlayerManager().MapServer_QueryPlayer(0, 0, curPlayer.GetPlayerID(), tagMapID, 'GMTCTG', 
+                                                       cmdStr, len(cmdStr), curPlayer.GetRouteServerIndex())
         
-    accIDKey = (ChConfig.queryType_sqtPlayerByAccID, curPlayer.GetAccID())
-    if accIDKey in PyGameData.g_ctgOfflinePlayerInfo:
-        ctgList += PyGameData.g_ctgOfflinePlayerInfo.pop(accIDKey)
-        
-    if not ctgList:
-        return
-    
-    tagMapID = curPlayer.GetRealMapID()
-    GameWorld.Log("离线玩家上线CTG: tagMapID=%s, %s" % (tagMapID, ctgList), curPlayer.GetPlayerID())
-    if not tagMapID:
-        return
-    
-    playerManager = GameWorld.GetPlayerManager()
-    for gmCmdDict in ctgList:
-        orderId = gmCmdDict.get('orderId', '')
-        value = gmCmdDict.get('value', '')
-        appID = gmCmdDict.get('appID', '')
-        isAddBourseMoney = GameWorld.ToIntDef(gmCmdDict.get('isAddBourseMoney', ''), 0)
-        cmdStr = str([orderId, value, appID, isAddBourseMoney, False])
-        playerManager.MapServer_QueryPlayer(0, 0, curPlayer.GetPlayerID(), tagMapID, 'GMTCTG', 
-                                            cmdStr, len(cmdStr), curPlayer.GetRouteServerIndex())
+    orderId = gmCmdDict.get('orderId', '')
+    value = GameWorld.ToIntDef(gmCmdDict.get('value', ''), 0)
+    isOnlineGMT = False # 是否是在线接收的GM工具命令
+    cmdStr = str([orderId, value, isOnlineGMT])
+    GameWorld.GetPlayerManager().MapServer_QueryPlayer(0, 0, curPlayer.GetPlayerID(), tagMapID, 'GMTAddPayCoin', cmdStr, len(cmdStr), curPlayer.GetRouteServerIndex())
     return
-

--
Gitblit v1.8.0