From e5bcadc1d3b9e76fdf5a9741d50c30c4535c2372 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 22 四月 2019 15:59:54 +0800 Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(退出跨服副本,未拾取的物品发送邮件) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) 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 8a104c0..7731ca7 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py @@ -44,6 +44,7 @@ import EventShell import FBLogic import FBCommon +import ShareDefine import EventReport import ItemCommon import PyGameData @@ -98,6 +99,7 @@ gameFBMgr.SetIsSafeClose(0) lineID = gameWorld.GetLineID() + copyMapID = gameWorld.GetCopyMapID() GameWorld.Log("FB Close! lineID = %s, openState = %s"%(lineID, gameWorld.GetOpenState())) gameWorld.SetOpenState(IPY_GameWorld.fbosClosed) @@ -154,9 +156,15 @@ #发送未拾取的物品给玩家 if mapID in ChConfig.Def_SendUnPickItemMailMapIDList and unPickItemDict: + isCrossServer = GameWorld.IsCrossServer() + playerServerGroupIDDict = PyGameData.g_crossPlayerServerGroupIDInfo.get(copyMapID, {}) for ownerID, mailItemList in unPickItemDict.items(): GameWorld.Log("发送未拾取的物品给玩家: %s" % mailItemList, ownerID) - PlayerControl.SendMailByKey("ItemNoPickUp", [ownerID], mailItemList, [gameWorld.GetMapID()]) + if isCrossServer: + serverGroupID = playerServerGroupIDDict.get(ownerID, 0) + PlayerControl.SendCrossMail(serverGroupID, "ItemNoPickUp", [ownerID], mailItemList, [gameWorld.GetMapID()]) + else: + PlayerControl.SendMailByKey("ItemNoPickUp", [ownerID], mailItemList, [gameWorld.GetMapID()]) playerManager = gameWorld.GetMapCopyPlayerManager() @@ -174,6 +182,7 @@ GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed) gameWorld.SetPropertyID(0) + PyGameData.g_crossPlayerServerGroupIDInfo.pop(copyMapID, None) return def GameServer_DynamicLineMapStateChange(gameWorld, state): -- Gitblit v1.8.0