From 278fa30bb771deab0cc22c3390c2581c004de178 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期三, 21 五月 2025 14:38:45 +0800 Subject: [PATCH] 15 卡牌服务端搭建 1. 增加地图关闭接口 CloseMap,必须调用处理保存后,地图才能关闭 2. 玩家登录流程在PlayerLogin统一处理,不再需要等待客户端回报 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini | 8 + ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py | 3 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py | 17 ++ ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 72 ++++------- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py | 114 ------------------ ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py | 130 ++++++++++++++++++++- 6 files changed, 177 insertions(+), 167 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini index cffa07d..c0d28cd 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script.ini @@ -20,6 +20,14 @@ ClassName = StartDB FuncName = StartDB +[CloseMap] +ScriptName = GameWorldLogic\GameWorldEvent.py +Writer = Alee +Releaser = Alee +RegType = 1 +ClassName = CloseMap +FuncName = CloseMap + [RefreshNPC] ScriptName = NPC\ChNPC.py Writer = eggxp diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py index c486584..318d0f4 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py @@ -22,6 +22,7 @@ import ShareDefine import PlayerTeam import PyGameData +import NetPackCommon import datetime import time @@ -362,3 +363,19 @@ PyGameData.g_ipyDataRecycleCheckTime = 1 IpyGameDataPY.IPYData.Recycle() return + + +# 关闭地图通知py处理 +def CloseMap(tick): + from PyMongoDB.DBCommon import CommonDefine + from PyMongoDB.Common import CommFunc + #初始化数据库, 恢复备档(按区服记录), 加载静态表 + try: + pass + finally: + #回发地图 处理完成,必须被调用地图才能正常关闭 + data = '' + data = CommFunc.WriteBYTE(data, CommonDefine.dgPlayerSaveGameServerData) + NetPackCommon.SendPyPackToMapServerSelf(data, len(data)) + GameWorld.Log("python 已处理地图关闭逻辑") + return \ No newline at end of file diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py index a74fb90..cab9108 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py @@ -603,13 +603,7 @@ gameWorld.BalanceServer_MapServerInitOK() return -## 初始化共享表(原c++表) -# @param tick 当前时间 -# @return None -def ReadShareData(tick): - from PyMongoDB import PyMongoMain - PyMongoMain.GetUserCtrlDB().OnGetGameData() - return + def GameServer_CommMapServerInitOK(gameWorld): ''' @@ -734,3 +728,125 @@ return #--------------------------------------------------------------------- + + +## 初始化共享表(原c++表) +# @param tick 当前时间 +# @return None +def ReadShareData(tick): + #读取静态表,与数据库无关 不要调用UserCtrlDB + from PyMongoDB.Collections import DataServerGameData + from PyMongoDB.DBCommon import (GlobalFunctions, CommonDefine, error) + from PyMongoDB.Common import (CommFunc, ) + import NetPackCommon + import os + import zlib + sysData = DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinNPC, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagChinNPC.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPCRefresh, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagNPCRefresh.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinSkill, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagChinSkill.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinExp, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagChinExp.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinItem, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagChinItem.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagTransportRefresh, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagTransportRefresh.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinShopItem, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagChinShopItem.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBornRefresh, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagBornRefresh.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMixItem, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagChinMixItem.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBuildEquip, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagBuildEquip.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteActivation, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagSuiteActivation.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteEffect, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagSuiteEffect.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagRepeatEvent, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagRepeatEvent.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagEffectRefresh, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagEffectRefresh.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMap, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagChinMap.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagDBStoreItem, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagDBStoreItem.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagOnMissionDelete, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagOnMissionDelete.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPet, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagPet.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetGrade, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagPetGrade.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetFriendliness, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagPetFriendliness.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetExp, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagPetExp.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPC_Item_Pet, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagNPC_Item_Pet.txt')) + sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagFlyObjBaseInfo, + os.path.join(GlobalFunctions.getServerConfigPath(), + CommonDefine.SYSDB_PATH, + 'tagFlyObjBaseInfo.txt')) + + + #压缩 + try: + compressSysData = zlib.compress(sysData, 9) #最大压缩 + + #回发地图 + data = '' + data = CommFunc.WriteBYTE(data, CommonDefine.dgGameData) #1 + data = CommFunc.WriteString(data, len(compressSysData), compressSysData) + + GameWorld.Log('Load game sys data for len = %s - %s ok!'%(len(compressSysData), len(data))) + NetPackCommon.SendPyPackToMapServerSelf(data, len(data)) + except: + msg = error.formatMsg('fatal', error.ERROR_NO_53, 'Compress game sys data failed!error = \n%s'%traceback.format_exc()) + GameWorld.ErrLog(msg) + return \ No newline at end of file diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py index 09f53f7..f41b51b 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py @@ -487,52 +487,29 @@ #--------------------------------------------------------------------- ''' -旧登录流程 -- 留着对比 +登录流程 +UserCrtlDB + onAuthentication 玩家登录 :验证账号-若没有角色则创角-返回角色信息-通知Map C++ + Map C++调用 PlayerLogin MapServer ChPlayer:def PlayerLogin(index, tick) - DoPlayerLogin - curPlayer.Sync_ClientPlayerLogin() - curPlayer.Sync_GameServer_MapID() #同步GameServer自己的地图ID - curPlayer.BalanceServer_PlayerLoginInitOK() - -GameServer - ChPlayer:def PlayerLoadMapState(index, tick) pack.GetLoadState()=0 此时的 LoadState 为0 - curPlayer.SetIsLoadMap(True) 设置在加载地图 - - ChPlayer:def PlayerLogin(index, tick) - curPlayer.MapServer_InitOK() 通知地图自己OK了 - -MapServer - PlayerEventCounter:def GameServer_InitOK(index, tick) - curPlayer.SendToBServerServerInitOK() #通知BServer自己OK了 - ChPlayer:def OnAllServerInitOK(curPlayer, tick) + DoPlayerLogin + curPlayer.Sync_ClientPlayerLogin() #01 02 玩家初始化#tagCDBPlayer + curPlayer.BalanceServer_PlayerLoginInitOK() #向route设置玩家在map中的索引 + + curPlayer.SendToBServerServerInitOK() #通知route登录成功 ,route向客户端发送//01 09 服务器准备就绪#tagServerPrepareOK + ChPlayer:def OnAllServerInitOK(curPlayer, tick) - ChPlayer:def LoadMapOK(curPlayer, tick) - curPlayer.GameServer_SetLoadMapState(1) #通知GameServer切换地图停止 - curPlayer.SetMapLoadOK(True) - curPlayer.SetInitOK(True) - curPlayer.EndLoadMap() - -GameServer - ChPlayer:def PlayerLoadMapState(index, tick) pack.GetLoadState()=1 此时的 LoadState 为1 - PlayerLoginLoadMapOK + ChPlayer:def __Func_LoadMapOK(curPlayer, tick) #!!!直接调用不等待客户端封包 //01 07 地图读取OK#tagCInitMapOK + curPlayer.SetMapLoadOK(True) curPlayer.SetInitOK(True) - curPlayer.MapServer_GameServerRefreshOK() #通知地图服务器玩家初始化成功 - curPlayer.SetIsLoadMap(False) - -MapServer - GameServerRefresh:GameSever_PlayerInitOK curPlayer.GetGameServerInitOK()=0 - curPlayer.SetGameServerInitOK(True) - -后续补充流程 -MapServer - ChPlayer:def DoPlayerRealLoginOK(curPlayer, tick) - 玩家真正登录成功处理,用于替换 __DoPlayerLoginServer 中的功能登录逻辑 - 通知GameServer地图最终登录成功了 - -GameServer - ChPlayer:def DoPlayerRealLoginOK(curPlayer, tick) - 玩家真正登录成功处理,用于替换 __DoPlayerLoginServer 中的功能登录逻辑 + curPlayer.EndLoadMap() #通知客户端 04 03 玩家登录数据发送完毕OK#tagPlayerLoginLoadOK + + GameServerRefresh:GameSever_PlayerInitOK + curPlayer.SetGameServerInitOK(True) + + ChPlayer:def DoPlayerRealLoginOK(curPlayer, tick) 玩家真正登录成功处理,用于替换 __DoPlayerLoginServer 中的功能登录逻辑 + ''' ##玩家登陆游戏逻辑处理 @@ -1477,7 +1454,9 @@ curPlayer.SendToBServerServerInitOK() #通知route登录成功 ,route向客户端发送0109包 OnAllServerInitOK(curPlayer, tick) #到此处已经可以保存数据,即使客户端不回包断线 - #后续登录流程等客户端回复 //01 07 地图读取OK#tagCInitMapOK 调用 LoadMapOK + #原 //01 07 地图读取OK#tagCInitMapOK 逻辑 直接调用 + __Func_LoadMapOK(index, tick) + GameServerRefresh.GameSever_PlayerInitOK(index, tick) except: curPlayer.Kick(IPY_GameWorld.disWaitForPlayerLoinError) import traceback @@ -1565,7 +1544,7 @@ PetControl.Sync_PetInfo_ChangeMap(curPlayer, tick) #通知GameServer自己现在的地图 - curPlayer.Sync_GameServer_MapID() + #curPlayer.Sync_GameServer_MapID() #如果本地图是副本的话, 则通知GameServer玩家进入副本 if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtTeam: @@ -1680,8 +1659,9 @@ #@return 返回值无意义 #@remarks C++封包触发, 切换地图成功( 目标地图 ) def LoadMapOK(index, tick): - GameWorld.GetPsycoFunc(__Func_LoadMapOK)(index, tick) - GameServerRefresh.GameSever_PlayerInitOK(index, tick) + #不需要等待客户端,以前有视野客户端未加载成功会被偷袭的问题,可以通过加x秒无敌BUFF解决,不应该增加流程 + # GameWorld.GetPsycoFunc(__Func_LoadMapOK)(index, tick) + # GameServerRefresh.GameSever_PlayerInitOK(index, tick) return #--------------------------------------------------------------------- diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py index e3f5a6a..b776e47 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyMongoDB/LogicProcess/UserCtrlDB.py @@ -5800,116 +5800,4 @@ return (True, playerRec.PlayerID) - #读取静态表,与数据库无关 - def OnGetGameData(self): - sysData = DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinNPC, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagChinNPC.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPCRefresh, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagNPCRefresh.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinSkill, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagChinSkill.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinExp, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagChinExp.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinItem, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagChinItem.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagTransportRefresh, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagTransportRefresh.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinShopItem, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagChinShopItem.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBornRefresh, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagBornRefresh.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMixItem, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagChinMixItem.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagBuildEquip, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagBuildEquip.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteActivation, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagSuiteActivation.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagSuiteEffect, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagSuiteEffect.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagRepeatEvent, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagRepeatEvent.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagEffectRefresh, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagEffectRefresh.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagChinMap, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagChinMap.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagDBStoreItem, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagDBStoreItem.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagOnMissionDelete, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagOnMissionDelete.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPet, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagPet.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetGrade, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagPetGrade.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetFriendliness, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagPetFriendliness.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagPetExp, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagPetExp.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagNPC_Item_Pet, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagNPC_Item_Pet.txt')) - sysData += DataServerGameData.sysDBLoadFromFile(DataServerGameData.tagFlyObjBaseInfo, - os.path.join(GlobalFunctions.getServerConfigPath(), - CommonDefine.SYSDB_PATH, - 'tagFlyObjBaseInfo.txt')) - - - #压缩 - try: - compressSysData = zlib.compress(sysData, 9) #最大压缩 - - #回发地图 - data = '' - data = CommFunc.WriteBYTE(data, CommonDefine.dgGameData) #1 - data = CommFunc.WriteString(data, len(compressSysData), compressSysData) - - mylog.info('Load game sys data for len = %s - %s ok!'%(len(compressSysData), len(data))) - NetPackCommon.SendPyPackToMapServerSelf(data, len(data)) - except: - msg = error.formatMsg('fatal', error.ERROR_NO_53, 'Compress game sys data failed!error = \n%s'%traceback.format_exc()) - mylog.fatal(msg) - - - + \ No newline at end of file diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py index 9e8e3ad..72236d2 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ServerCMD/CMDS/SavePlayerBackupFile.py @@ -22,5 +22,6 @@ # @return None # @remarks 函数详细说明. def OnExec(playerList): - GameWorld.GetGameWorld().SetNeedSavePlayerBackupFile(True) + # 关地图会触发此命令 + #GameWorld.GetGameWorld().SetNeedSavePlayerBackupFile(True) return \ No newline at end of file -- Gitblit v1.8.0