From ae8371301b81bfae8de95d2ecbe52a50df8c7f06 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 06 十二月 2023 10:04:12 +0800 Subject: [PATCH] 9811 【BT9】【后端】逐鹿万界 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py index c402b90..534b2d2 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossActionControl.py @@ -24,6 +24,7 @@ import CrossActCTGBillboard import CrossRealmMsg import PyGameData +import PlayerFB import ChConfig import datetime @@ -838,6 +839,10 @@ continue if state: + if dailyActionID in ChConfig.Def_CrossDailyMap: + # 开启对应日常地图分区线路 + __openCrossDailyMap(ChConfig.Def_CrossDailyMap[dailyActionID]) + if dailyActionID == ShareDefine.CrossDailyActionID_YaomoBoss: GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ActionBossRebornSign % dailyActionID, int(time.time())) @@ -855,6 +860,26 @@ return +def __openCrossDailyMap(mapID): + if mapID not in ChConfig.Def_CrossZoneMapTableName: + return + zoneTypeName = ChConfig.Def_CrossZoneMapTableName[mapID] + ipyDataMgr = IpyGameDataPY.IPY_Data() + if zoneTypeName and hasattr(ipyDataMgr, "Get%sCount" % zoneTypeName): + realMapInfo = {} + for index in range(getattr(ipyDataMgr, "Get%sCount" % zoneTypeName)()): + ipyData = getattr(ipyDataMgr, "Get%sByIndex" % zoneTypeName)(index) + zoneID = ipyData.GetZoneID() + realMapID = ipyData.GetMapID() + copyMapID = ipyData.GetCopyMapID() + if realMapID not in realMapInfo: + realMapInfo[realMapID] = [] + copyPropertyList = realMapInfo[realMapID] + copyPropertyList.append([copyMapID, zoneID]) + for realMapID, copyPropertyList in realMapInfo.items(): + PlayerFB.SendMapOpenFBEx(realMapID, copyPropertyList) + return + def SendMapServerCrossDailyActionState(): # 地图启动成功时通知本日进行中的日常活动状态 -- Gitblit v1.8.0