From 0ff8e21c92b39adfdf062b40c4e0147213bba70a Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期一, 26 十一月 2018 23:18:29 +0800 Subject: [PATCH] 4923 【后端】【1.3】神兵技能 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 46 ++++++++++++++++++++++++++++------------------ 1 files changed, 28 insertions(+), 18 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py index 7f6f5b1..39688d0 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py @@ -98,6 +98,7 @@ #import ReloadModule import MergeChildMsg #import MergePlayer +import PlayerFBHelpBattle import PlayerFamilyRedPacket import IpyGameDataPY import PlayerFamilyParty @@ -172,6 +173,8 @@ PlayerGeTui.ClearFMTGeTuiLimit() import PlayerBourse PlayerBourse.OverTimeItemsDeal() + # 仙盟联赛 + GameWorldFamilyWar.DoOnDay() return def OnDayEx(tick): @@ -354,7 +357,8 @@ GameWorldAverageLv.OpenWorldAverageLv() #倒计时离队处理 PlayerTeam.DoCountdownLeaveTeamLogic(tick) - + #副本助战 + PlayerFBHelpBattle.OnMinuteProcess() #每5分钟触发一次仙盟总战力更新 if curMinute % 5 == 0: PlayerFamily.UpdFamilyTotalFightPower() @@ -578,7 +582,7 @@ tjgOnlineCnt += 1 continue - platform = GameWorld.GetPlayerPlatform(player.GetAccID()) + platform = GameWorld.GetPlayerPlatform(player) platformOLDict[platform] = platformOLDict.get(platform, 0) + 1 # 累计平台在线人数 # mapID = player.GetMapID() @@ -1205,9 +1209,16 @@ # @remarks 先请求排行榜信息,然后SetTickTypeCount,设置需要保存的时间种类 def InitGameWorld(tick): #标记GameWorld初始化完成 - GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_IsGameWorldInit, 1) + GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_IsGameWorldInit, int(time.time())) #初始化游戏时钟 GameWorld.GetGameWorld().SetTickTypeCount(ChConfig.TYPE_Tick_Count) + #初始话开服时间、星期几 + initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime) + openServerWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday) + if initOpenServerTime <= 0 or openServerWeekday <= 0: + #记录首次开发时间(现实时间戳) + PlayerDBGSEvent.SetInitOpenServerTime(initOpenServerTime if initOpenServerTime else int(time.time())) + #初始化家族数量 GameWorld.GetFamilyManager().SetFamilyUpperLimitCount(ChConfig.Def_Family_MaxCnt) #排序元宝交易平台 @@ -1225,10 +1236,6 @@ #事件汇报初始化 EventReport.InitDllAppID() - initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime) - if initOpenServerTime <= 0: - #记录首次开发时间(现实时间戳) - PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime, int(time.time())) #ReloadModule.RefreshModuleFileCMTime(True) #合服首次启动加载处理 __DoMixServerInit() @@ -1236,6 +1243,8 @@ PlayerXMZZ.OnGameServerInitOK() #加载活跃玩家等级信息 ChPlayer.LoadPlayerLVData() + #加载助战信息 + PlayerFBHelpBattle.OnServerStart() #世界boss被杀次数重置 #GameWorldBoss.CheckResetBossKilledCntOnServerInit() #GameWorldActionTeHui.OnGameServerInitOK() # 特惠活动初始化 @@ -1320,18 +1329,15 @@ PyGameData.g_sortBOSSRefreshList = [] # boss刷新信息记录缓存重置, 不重置会导致通知前端的boss信息为空 - AllMapServerInitOK(tick) + PlayerDBGSEvent.SetInitOpenServerTime(setOpenServerTime) - PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime, setOpenServerTime) + ReadChConfig.ReloadConfig() + + AllMapServerInitOK(tick) return -def GetOpenServerWeekday(): - # 服务器开服时是星期几 - openServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey( PlayerDBGSEvent.Def_InitOpenServerTime) - if not openServerTime: - return 0 - openDatetime = GameWorld.ChangeTimeNumToDatetime(openServerTime) - return openDatetime.weekday() + 1 +## 服务器开服时是星期几 +def GetOpenServerWeekday(): return PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday) ## 所有地图服务器初始化成功后(封包注册) # @param tick 当前时间 @@ -1371,8 +1377,8 @@ # 通知开服天数 openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay) GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ServerDay, openServerDay) - openServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime) - GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_InitOpenServerTime, openServerTime) + openServerWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday) + GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OpenServerWeekday, openServerWeekday) # 合服状态 isMixServer = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServer) GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_IsMixServer, isMixServer) @@ -1389,6 +1395,9 @@ # 通知战盟相关活动开启状态 fadState = PlayerDBGSEvent.GetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_FamilyActivityDayState) GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FamilyActivityDayState, fadState) + # 通知开启服务器时间 + initGameWorldTime = GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_IsGameWorldInit) + GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_InitGameWorldTime, initGameWorldTime) # 通知世界boss奖励信息 GameWorldBoss.OnMapServerInitOK() @@ -1895,6 +1904,7 @@ def BeforeClose(tick): PlayerTeam.OnServerClose(tick) ChPlayer.SavePlayerLVData() + PlayerFBHelpBattle.OnServerClose() GameWorld.Log("通知C++关服!") GameWorld.GetGameWorld().OnServerClose() -- Gitblit v1.8.0