| | |
| | | import EventShell
|
| | | import FBLogic
|
| | | import FBCommon
|
| | | import ShareDefine
|
| | | import EventReport
|
| | | import ItemCommon
|
| | | import PyGameData
|
| | |
| | | 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)
|
| | |
| | |
|
| | | #发送未拾取的物品给玩家
|
| | | 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()
|
| | |
|
| | |
| | | GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed)
|
| | |
|
| | | gameWorld.SetPropertyID(0)
|
| | | PyGameData.g_crossPlayerServerGroupIDInfo.pop(copyMapID, None)
|
| | | return
|
| | |
|
| | | def GameServer_DynamicLineMapStateChange(gameWorld, state):
|