From a54fba3894b5d528bed16147f096b6a706a1fc0c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 27 六月 2019 15:58:03 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py | 55 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 34 insertions(+), 21 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py index 0dc634d..1dfac90 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py @@ -35,6 +35,8 @@ import PlayerNewFairyCeremony import PlayerUniversalGameRec import GameWorldAverageLv +import PlayerFamilyBoss +import PlayerHorsePetBoss import GameWorldProcess import ChPyNetSendPack import NetPackCommon @@ -269,9 +271,9 @@ isEnd = (curDateTime == endDayDate) # 每天按时段开启的,支持多时段 - else: - if startDayDate <= curDateTime <= endDayDate: - isEnd = (curDateTime == endDayDate) + elif startDayDate <= curDateTime <= endDayDate: + isEnd = (curDateTime == endDayDate) + if not isEnd: for hmIndex, startHMStr in enumerate(startHMStrList): endHMStr = endHMStrList[hmIndex] # 每天开的, 实际开关时间只取今天的日期; 这里有个问题,全服广播的时间不是今天的, 暂不做支持,之后真有这种需求再说 @@ -660,19 +662,21 @@ GameWorld.Log(" 本周定制的开服日常活动ID列表: %s" % (customDailyIDList)) GameWorld.Log(" 今天定制的开服日常表ID列表=%s" % (todayCustomIDList)) elif isMixServer and mixServerDay <= maxCustomServerDayMix: - customIpyDataList = IpyGameDataPY.GetIpyGameDataListNotLog("DailyActionCustomMix", mixServerDay) - if not customIpyDataList: - customIpyDataList = [] - GameWorld.Log(" 今天定制的合服日常活动条数: %s" % len(customIpyDataList)) - for customIpyData in customIpyDataList: + todayCustomIDList = [] # 今天定制的数据表ID + ipyDataMgr = IpyGameDataPY.IPY_Data() + for i in xrange(ipyDataMgr.GetDailyActionCustomMixCount()): + customIpyData = ipyDataMgr.GetDailyActionCustomMixByIndex(i) dataID = customIpyData.GetID() dailyID = customIpyData.GetDailyID() if dailyID not in customDailyIDList: customDailyIDList.append(dailyID) - customType = 2 - dailyTimeInfoList.append([customType, customIpyData.GetOpenTimeList(), customIpyData]) - GameWorld.Log(" 增加本日合服日常活动信息: customType=%s,dailyID=%s,dataID=%s" % (customType, dailyID, dataID)) - GameWorld.Log(" 今天定制的合服日常活动ID列表: %s" % (customDailyIDList)) + if customIpyData.GetMixServerDay() == mixServerDay: + todayCustomIDList.append(dataID) + customType = 2 + dailyTimeInfoList.append([customType, customIpyData.GetOpenTimeList(), customIpyData]) + GameWorld.Log(" 增加本日合服日常活动信息: customType=%s,dailyID=%s,dataID=%s" % (customType, dailyID, dataID)) + GameWorld.Log(" 定制的合服日常活动ID列表: %s" % (customDailyIDList)) + GameWorld.Log(" 今天定制的合服日常表ID列表=%s" % (todayCustomIDList)) else: GameWorld.Log(" 超过最大定制开服天,不定制,走常规日常配置!") @@ -960,19 +964,21 @@ GameWorld.Log(" 本周定制的开服副本地图列表: %s" % (customMapIDList)) GameWorld.Log(" 今天定制的开服副本表ID列表=%s" % (todayCustomIDList)) elif isMixServer and mixServerDay <= maxCustomServerDayMix: - customIpyDataList = IpyGameDataPY.GetIpyGameDataListNotLog("FBStateTimeCustomMix", mixServerDay) - if not customIpyDataList: - customIpyDataList = [] - GameWorld.Log(" 本日定制的合服副本活动条数: %s" % len(customIpyDataList)) - for customIpyData in customIpyDataList: + todayCustomIDList = [] # 今天定制的数据表ID + ipyDataMgr = IpyGameDataPY.IPY_Data() + for i in xrange(ipyDataMgr.GetFBStateTimeCustomMixCount()): + customIpyData = ipyDataMgr.GetFBStateTimeCustomMixByIndex(i) dataID = customIpyData.GetID() dataMapID = customIpyData.GetDataMapID() if dataMapID not in customMapIDList: customMapIDList.append(dataMapID) - customType, startWeekDay, endWeekDay = 2, curWeekDay, curWeekDay - fbStateTimeInfoList.append([customType, startWeekDay, endWeekDay, customIpyData]) - GameWorld.Log(" 今天要处理的合服副本状态配置: customType=%s,dataID=%s" % (customType, dataID)) - GameWorld.Log(" 本日定制的合服副本地图列表: %s" % (customMapIDList)) + if customIpyData.GetMixServerDay() == mixServerDay: + todayCustomIDList.append(dataID) + customType, startWeekDay, endWeekDay = 2, curWeekDay, curWeekDay + fbStateTimeInfoList.append([customType, startWeekDay, endWeekDay, customIpyData]) + GameWorld.Log(" 今天要处理的合服副本状态配置: customType=%s,dataID=%s" % (customType, dataID)) + GameWorld.Log(" 定制的合服副本地图列表: %s" % (customMapIDList)) + GameWorld.Log(" 今天定制的合服副本表ID列表=%s" % (todayCustomIDList)) else: GameWorld.Log(" 超过最大定制开服天,不定制,走常规副本状态时间!") @@ -1260,6 +1266,13 @@ #跨服PK elif dictName == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_CrossReamPK: CrossRealmPK.OnCrossRealmPKDailyActionStateChange(isOpen) + #仙盟BOSS + elif dictName in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss1]: + PlayerFamilyBoss.OnAllFamilyBossStateChange(isOpen) + #骑宠BOSS + elif dictName in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_HorsePetBoss]: + PlayerHorsePetBoss.OnHorsePetBossStateChange(isOpen) + return #------------------------------------------------------------------------------- -- Gitblit v1.8.0