From 0a4a2cfd37d600edee7f7d7cc35c0f43273fe97f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 10 三月 2025 14:57:30 +0800
Subject: [PATCH] 10415 【英文】【bt】【GM】【砍树】玩家属性果实封包优化(EatCnt已使用个数改为DWORD)
---
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