From 69388f905d074efd8fea82dcceb29de10eda9291 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 30 十二月 2018 15:00:24 +0800
Subject: [PATCH] 5531 【后端】【1.4】高级守护合成
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py | 105 +++++-----------------------------------------------
1 files changed, 10 insertions(+), 95 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
index bd14280..60050fd 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
@@ -25,14 +25,11 @@
import ShareDefine
#import PlayerExam
import PlayerDBGSEvent
-import MergeBroadcast
#import PlayerManorWar
#import GameWorldShopItem
#import GameWorldActionTeHui
import GameWorldAverageLv
-#import GameWorldMergeBoss
-#import GameWorldMergeKing
-#import GameWorldMergePK
+import CrossRealmPK
import GameWorldFamilyWar
import PlayerFamilyParty
import IpyGameDataPY
@@ -48,8 +45,6 @@
from types import IntType
import time
#---------------------------------------------------------------------
-
-MaxCustomServerDay = 14 # 最大定制开服天数
#年月日时间格式
Time_YmdFormat = ChConfig.TYPE_Time_YmdFormat
@@ -128,7 +123,7 @@
curDateTimeStr = "%d-%d-%d %02d:%02d:00" % (serverTime.year, serverTime.month, serverTime.day, serverTime.hour, serverTime.minute)
curDateTime = datetime.datetime.strptime(curDateTimeStr, ChConfig.TYPE_Time_Format)
- customMaxServerDay = MaxCustomServerDay # 定制运营活动最大开服天
+ customMaxServerDay = IpyGameDataPY.GetFuncCfg("OperationAction", 1) # 定制运营活动最大开服天
operationActionDict = {}
mapServerOperationActionDict = {}
serverID = GameWorld.GetServerID()
@@ -541,6 +536,7 @@
multiRealmPointInfo.EndtDate = GameWorld.GetOperationActionDateStr(ipyData.GetEndDate(), openServerDay)
multiRealmPointInfo.Multiple = ipyData.GetMultiple()
multiRealmPointInfo.LimitLV = ipyData.GetLVLimit()
+ multiRealmPointInfo.LimitPoint = ipyData.GetPointLimit()
if not curPlayer:
# 全服广播在线玩家
playerManager = GameWorld.GetPlayerManager()
@@ -573,7 +569,7 @@
curDateStr = GameWorld.ChangeTimeNumToStr(curTime, ChConfig.TYPE_Time_YmdFormat) # 当天日期
openServerWeekday = GameWorldProcess.GetOpenServerWeekday() # 服务器开服时是星期几
- curMaxCustomServerDay = MaxCustomServerDay - openServerWeekday + 1 # 最大有效定制开服天
+ curMaxCustomServerDay = IpyGameDataPY.GetFuncCfg("OperationAction", 1) - openServerWeekday + 1 # 最大有效定制开服天
GameWorld.Log("===== 加载今天日常活动信息 =====")
GameWorld.Log(" 开服是星期%s, 开服第%s天, 当前星期%s" % (openServerWeekday, openServerDay, weekDay))
GameWorld.Log(" 最大有效定制开服天: %s" % (curMaxCustomServerDay))
@@ -825,7 +821,7 @@
GameWorld.ErrLog("获取开服是星期几数据错误!openServerWeekday=%s" % openServerWeekday)
return []
- curMaxCustomServerDay = MaxCustomServerDay - openServerWeekday + 1 # 最大有效定制开服天
+ curMaxCustomServerDay = IpyGameDataPY.GetFuncCfg("OperationAction", 1) - openServerWeekday + 1 # 最大有效定制开服天
GameWorld.Log("===== 加载今天副本状态时间表 =====")
GameWorld.Log(" 开服是星期%s, 开服第%s天, 当前星期%s,%s点%s分 !" % (openServerWeekday, openServerDay, curWeekDay, curHour, curMinute))
GameWorld.Log(" 最大有效定制开服天: %s" % (curMaxCustomServerDay))
@@ -1070,77 +1066,11 @@
# #间隔未到
# return
- if GameWorld.IsMergeServer():
+ if GameWorld.IsCrossServer():
return
Dispose_ActionGoOnByDayKey()
return
-
-
-## 设定上次开启活动时间距离现在天数事件
-# @param None:
-# @return: None
-def DoLogic_ServerLastOpenActionDay():
-
- #是跨服服务器
- if GameWorld.IsMergeServer():
- if not PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MergeServerOpenActionDay):
- return
-
- PlayerDBGSEvent.SetDBGSTrig_ServerTime(PlayerDBGSEvent.Def_MergeServerOpenActionDay)
-
- #通知子服务器天数
- SendBroadcastMergeOpenActionDay()
- return
-
- DoLogic_ActionByDayKeyOnDay()
-
- #上次开启活动时间距离现在天数
- lastOpenActionDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerLastOpenActionDay)
- openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay)
- initDayList = ReadChConfig.GetEvalChConfig('ActionControlByDayInitOpenServerDay')
- if openServerDay < initDayList[0]:
- #开服时间未超过30天
- return
-
- #新一轮活动从头开始
- if lastOpenActionDay >= initDayList[1] or openServerDay == initDayList[2]:
- NewRingOpenActionDay()
- return
-
- PlayerDBGSEvent.SetDBGSTrig_ServerTime(PlayerDBGSEvent.Def_ServerLastOpenActionDay)
- return
-
-
-## 新一轮活动开始
-# @param None:
-# @return:
-def NewRingOpenActionDay():
-
- #设置字典值从1开始, 跟SetDBGSTrig_ServerTime接口同步
- PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerLastOpenActionDay, 1)
-
- # 活动天数重设
- OpenActionDay_Reset()
- return
-
-#------------------------------------------------------------------------------
-## 活动天数重设
-# @param None
-# @return None
-def OpenActionDay_Reset():
- # 设置国王战开始
- #PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MergeWarStart, 1)
- return
-
-### 检查key是否处理
-#def __CheckIsProcessDictName(dictName):
-#
-# # 非跨服服务器不处理某些key
-# if dictName in [ShareDefine.Def_Notify_WorldKey_Merge_King] and not GameWorld.IsMergeServer():
-# return False
-#
-# return True
## 当前时间与指定时间比较
# @param curTime 当前服务器时间
@@ -1206,15 +1136,6 @@
# #领地争夺战
# if dictName == ShareDefine.Def_Notify_WorldKey_ManorWar:
# PlayerManorWar.ManorWar_ChangeState(isOpen)
- # #跨服boss
- # elif dictName == ShareDefine.Def_Notify_WorldKey_MergeBoss:
- # GameWorldMergeBoss.MergeBoss_ChangeState(isOpen)
- # #跨服PK
- # elif dictName == ShareDefine.Def_Notify_WorldKey_Merge_PK:
- # GameWorldMergePK.OnMergePKMatchStateChange(isOpen)
- # #跨服王者争霸
- # elif dictName == ShareDefine.Def_Notify_WorldKey_Merge_King:
- # GameWorldMergeKing.OnMergeKingStateChange(isOpen)
# #答题活动
# elif dictName == ShareDefine.Def_Notify_WorldKey_Game_EXAM:
# PlayerExam.Exam_ChangeState(isOpen)
@@ -1241,15 +1162,9 @@
#骑宠争夺
elif dictName == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyRobBoss:
GameWorldBoss.OnHorsePetRobBossActionChange(isOpen)
- return
-
-#------------------------------------------------------------------------------
-## 通知子服务器天数
-# @param param: None
-# @return: None
-def SendBroadcastMergeOpenActionDay():
- mergeServerOpenActionDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MergeServerOpenActionDay)
- MergeBroadcast.SendBroadcastMerge(ChConfig.Def_MergeServerOpenActionDay, 0, {"Day":mergeServerOpenActionDay})
+ #跨服PK
+ elif dictName == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_CrossReamPK:
+ CrossRealmPK.OnCrossRealmPKDailyActionStateChange(isOpen)
return
#-------------------------------------------------------------------------------
@@ -1356,7 +1271,7 @@
# @param None
# @return None
def Dispose_ActionGoOnByDayKey():
- if GameWorld.IsMergeServer():
+ if GameWorld.IsCrossServer():
return
GameWorld.DebugLog("处理特惠状态信息...")
openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay)
--
Gitblit v1.8.0