From ab2158916e07846e4be746673231dac6dfa27fc9 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 18 四月 2019 14:21:24 +0800 Subject: [PATCH] 6528 【后端】【2.0】增加丹药属性 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 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 11eb234..fa0def1 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py @@ -40,6 +40,7 @@ import ChConfig import PlayerControl import FamilyRobBoss +import NPCCustomRefresh import EventShell import FBLogic import FBCommon @@ -74,6 +75,10 @@ #调用副本开启触发器 FBLogic.OnOpenFB(tick) + + if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap: + msgInfo = str([gameWorld.GetRealMapID(), gameWorld.GetCopyMapID()]) + GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapOpen", msgInfo, len(msgInfo)) return ## 副本关闭 @@ -93,7 +98,8 @@ gameFBMgr.SetPlayerLogoffTick(0) gameFBMgr.SetIsSafeClose(0) - GameWorld.Log("FB Close! lineID = %s, openState = %s"%(gameWorld.GetLineID(), gameWorld.GetOpenState())) + lineID = gameWorld.GetLineID() + GameWorld.Log("FB Close! lineID = %s, openState = %s"%(lineID, gameWorld.GetOpenState())) gameWorld.SetOpenState(IPY_GameWorld.fbosClosed) gameMap = gameWorld.GetMap() @@ -106,10 +112,19 @@ ownerID = gameFBMgr.GetGameFBDictByKey(ChConfig.Def_FB_SingleFBPlayerID) if ownerID in PyGameData.g_fbHelpBattlePlayerDict: PyGameData.g_fbHelpBattlePlayerDict.pop(ownerID) + GameWorld.DebugLog("清除单人副本镜像助战信息: ownerID=%s" % ownerID) + elif fbType == IPY_GameWorld.fbtTeam: + teamID = gameWorld.GetPropertyID() + if teamID in PyGameData.g_teamFBMemRelationDict: + PyGameData.g_teamFBMemRelationDict.pop(teamID) + GameWorld.DebugLog("清除组队副本队员关系信息: teamID=%s" % teamID) #副本关闭时统一清怪 FBCommon.ClearFBNPC() + if lineID in PyGameData.g_fbRobotJobDict: + PyGameData.g_fbRobotJobDict.pop(lineID) + mapID = FBCommon.GetRecordMapID(gameMap.GetMapID()) #清理物品 unPickItemDict = {} @@ -156,6 +171,12 @@ #根据是否收缩型FB处理 FreeOrClearFBByAutoSize(gameWorld) + if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap: + realMapID, copyMapID = gameWorld.GetRealMapID(), gameWorld.GetCopyMapID() + key = (mapID, copyMapID) + funcLineDataCache = PyGameData.g_crossFuncLineDataCache.pop(key, None) + msgInfo = str([realMapID, copyMapID, funcLineDataCache]) + GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapClose", msgInfo, len(msgInfo)) return ##根据表中的收缩类型释放或者清空副本状态 @@ -510,6 +531,9 @@ #仙盟归属boss定时处理 FamilyRobBoss.OnFamilyOwnerBossProcess(tick) + + #地图自定义随机刷怪 + NPCCustomRefresh.ProcessMapRandomRefreshNPC(gameWorld, tick) return ## 通知RouteServer 消息 @@ -574,6 +598,11 @@ if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull: msgInfo = str([gameWorld.GetMapID(), gameWorld.GetLineID(), gameWorld.GetRealMapID(), gameWorld.GetCopyMapID()]) GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "CommMapServerInitOK", msgInfo, len(msgInfo)) + + if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap and gameWorld.GetCopyMapID() == gameWorld.GetGameWorldCount() - 1: + msgInfo = str([gameWorld.GetRealMapID(), gameWorld.GetGameWorldCount()]) + GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapInitOK", msgInfo, len(msgInfo)) + return -- Gitblit v1.8.0