2290 【1.2】【1.1】某些副本关闭没有释放副本线路
| | |
| | | # 可重复进的副本
|
| | | Def_NoLimitEnterCntMap = [Def_FBMapID_FamilyParty, Def_FBMapID_FamilyWar, Def_FBMapID_FamilyInvade]
|
| | |
|
| | | # 无玩家时不自动关闭的自伸缩副本
|
| | | Def_NoPlayerNotCloseAutoSizeMap = [Def_FBMapID_FamilyInvade, Def_FBMapID_FamilyBossMap]
|
| | |
|
| | | # 不可切换PK模式的地图
|
| | | Def_CanNotChangeAtkModelMap = []
|
| | |
|
| | |
| | | return
|
| | |
|
| | | #特殊副本,不执行这个逻辑
|
| | | if not GameWorld.GetMap().GetAutoSize():
|
| | | if not IsNoPlayerNeedCloseFB():
|
| | | return
|
| | |
|
| | | gameFB = GameWorld.GetGameFB()
|
| | |
| | | if gameMap.GetMapFBType() == 0:
|
| | | return
|
| | |
|
| | | if gameMap.GetAutoSize() == 0:
|
| | | #只处理自动是否的地图
|
| | | if not IsNoPlayerNeedCloseFB():
|
| | | return
|
| | |
|
| | | playerManager = gameWorld.GetMapCopyPlayerManager()
|
| | |
| | | __CloseFB(GameWorld.GetGameWorld(), GameWorld.GetGameWorld().GetTick())
|
| | |
|
| | |
|
| | | def IsNoPlayerNeedCloseFB():
|
| | | ## 副本中无玩家是否需要自动关闭的副本
|
| | | return GameWorld.GetMap().GetAutoSize() and GameWorld.GetMap().GetMapID() not in ChConfig.Def_NoPlayerNotCloseAutoSizeMap
|
| | |
|
| | | #//08 06 根据国家统计的玩家数目#tagMPlayerCountByCountry
|
| | | #tagMPlayerCountByCountry * GettagMPlayerCountByCountry();
|
| | |
| | | #copyMapID = curPlayer.GetCopyMapID()
|
| | | GameWorld.Log("PlayerLeaveFB MapID = %d, PosX = %d, PosY = %d" % (mapID, posX, posY), curPlayer.GetPlayerID())
|
| | |
|
| | | if GameWorld.GetMap().GetAutoSize() and GameWorld.GetGameWorld().GetMapCopyPlayerManager().GetPlayerCount() == 1:
|
| | | if GameWorldProcess.IsNoPlayerNeedCloseFB() and GameWorld.GetGameWorld().GetMapCopyPlayerManager().GetPlayerCount() == 1:
|
| | | #如果副本中只有这一个人, 那么把这个副本设置为玩家安全下线, 关闭副本
|
| | | gameFB = GameWorld.GetGameFB()
|
| | | gameFB.SetIsSafeClose(1)
|