From f57e8ca8c2c367578d5e7a358aa44f7b7cadf3bb Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 28 四月 2025 15:00:07 +0800 Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端(FamilyGCZ命令支持技能攻击) --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py | 84 +++++++++++++++++++++++++++-------------- 1 files changed, 55 insertions(+), 29 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py index 7479df5..00a3c7c 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerEventCounter.py @@ -24,11 +24,18 @@ import datetime import PlayerFamily import PlayerDBGSEvent -import GameWorldActionControl +import PlayerViewCache +import PlayerFBHelpBattle +import PlayerFairyDomain import ChPyNetSendPack +import GameWorldArena import NetPackCommon -import PlayerManorWar import PlayerDuJie +import PlayerCharm +import CrossBattlefield +import CrossChampionship +import CrossYaomoBoss +import GameWorldMineArea #--------------------------------------------------------------------- #--------------------------------------------------------------------- @@ -39,6 +46,7 @@ def DoLogic_GameServer_OnHour(tick): #处理这个小时发出的邮件 #GameWorld.GetMailManager().ProcessAllMail() + PlayerFairyDomain.OnHour() return ## 处理玩家每日响应 @@ -54,17 +62,15 @@ if isMixServer: PlayerDBGSEvent.SetDBGSTrig_ServerTime(PlayerDBGSEvent.Def_MixServerDay) - #设定上次开启活动时间距离现在天数事件 - GameWorldActionControl.DoLogic_ServerLastOpenActionDay() - - #领地争夺战OnDay - #PlayerManorWar.OnDay() - + #魅力 + PlayerCharm.DoOnDay() #家族更新 PlayerFamily.FamilyOnDay(tick) + #跨服排位 + CrossChampionship.DoOnDay() + #跨服妖魔boss + CrossYaomoBoss.DoOnDay() - #合服活动 - #GameWorldMixServerCampaign.MixServerOnDay() playerManager = GameWorld.GetPlayerManager() for i in xrange(playerManager.GetPlayerCount()): curPlayer = playerManager.GetPlayerByIndex(i) @@ -79,9 +85,24 @@ return def DoLogic_GameServer_OnDayEx(tick): + #仙盟 + PlayerFamily.FamilyOnDayEx(tick) #渡劫OnDay PlayerDuJie.OnDayEx() - + #副本助战 + PlayerFBHelpBattle.HelpBattleOnDay() + #玩家缓存 + PlayerViewCache.DoOnDayEx() + #缥缈OnDay + PlayerFairyDomain.OnDayEx() + #竞技场 + GameWorldArena.OnDayEx() + #跨服战场 + CrossBattlefield.DoOnDayEx() + #跨服排位 + CrossChampionship.DoOnDayEx() + #福地 + GameWorldMineArea.DoOnDayEx() playerManager = GameWorld.GetPlayerManager() for i in xrange(playerManager.GetPlayerCount()): curPlayer = playerManager.GetPlayerByIndex(i) @@ -101,6 +122,8 @@ #设定服务器当前周事件 PlayerDBGSEvent.SetDBGSTrig_ServerTime(PlayerDBGSEvent.Def_ServerWeek) + #魅力 + PlayerCharm.DoOnWeek() #家族更新 PlayerFamily.FamilyOnWeek(tick) @@ -116,6 +139,11 @@ return def DoLogic_GameServer_OnWeekEx(tick): + + # 竞技场 + GameWorldArena.OnWeekEx() + # 跨服战场 + CrossBattlefield.DoOnWeekEx() playerManager = GameWorld.GetPlayerManager() for i in xrange(playerManager.GetPlayerCount()): @@ -180,14 +208,11 @@ # @remarks 函数详细说明. def PlayerOnDay(curPlayer): + if GameWorld.IsCrossServer(): + return + #通知开服天数 Sync_OpenServerDay(curPlayer) - - #通知上次根据开服天数开启的活动到现在的天数 - #Sync_ServerLastOpenActionDay(curPlayer) - - #通知跨服服务器开启的活动到现在的天数 - #Sync_MergeServerOpenActionDay(curPlayer) GameWorld.Log("PlayerOnDay!", curPlayer.GetPlayerID()) return @@ -285,6 +310,10 @@ # @param curPlayer: 玩家实例 # @return: None def Sync_OpenServerDay(curPlayer): + # 服务器时间 + serverTime = GameWorld.GetServerTime() + if not serverTime: + return openDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay) isMixServer = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_IsMixServer) mixServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_MixServerDay) @@ -293,19 +322,16 @@ packData.Day = openDay packData.IsMixServer = isMixServer packData.MixDay = mixServerDay + packData.OpenWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday) + packData.NowYear = serverTime.year + packData.NowMonth = serverTime.month + packData.NowDay = serverTime.day + packData.NowHour = serverTime.hour + packData.NowMinute = serverTime.minute + packData.NowSecond = serverTime.second + packData.NowMicSecond = serverTime.microsecond + packData.WeekOfYear = GameWorld.GetWeekOfYear() NetPackCommon.SendFakePack(curPlayer, packData) - return - - -## 通知上次根据开服天数开启的活动到现在的天数 -# @param curPlayer: 玩家实例 -# @return: None -def Sync_ServerLastOpenActionDay(curPlayer): -# lastOpenActionDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerLastOpenActionDay) -# packData = ChPyNetSendPack.tagServerLastOpenActionDay() -# packData.Clear() -# packData.Day = lastOpenActionDay -# NetPackCommon.SendFakePack(curPlayer, packData) return -- Gitblit v1.8.0