From 1ea73e1885835466265ce788d93556b7030ee0e8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 30 十二月 2018 18:42:00 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(GM工具增加子服服务器维护,文字翻译版) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 107 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 65 insertions(+), 42 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py index e79c69e..2abd246 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py @@ -38,9 +38,7 @@ import GameLogInfo import GameServerRefresh import ShareDefine -import ReadCaptchaImage import PlayerGameWallow -import ItemCommon import Operate_PlayerBuyZhenQi import PlayerSignDay import PlayerCoin @@ -52,29 +50,22 @@ import PlayerHorse import PlayerLoginDayAward import NPCCommon -import GameLogic_MergeBoss -import GameLogic_ManorWar import FunctionNPCCommon import PlayerGoldGift import PlayerActivity import PlayerTeHui -import HighLadderTube +import PlayerBindJadeWheel import PlayerAction -import PlayerTruck import FBCommon -import PlayerDienstgrad import PlayerSuccess -import PlayerMixLoginDayAward import PlayerFreeGoods import PlayerMagicWeapon import ShopItemManage import ChItem import PlayerGoldInvest import PlayerNewGuyCard -import PlayerMergeKing -import PlayerMergePK +import PlayerCrossRealmPK import PlayerPet -import ReloadModule import BossHurtMng import PlayerRecover import GameLogic_FamilyParty @@ -86,13 +77,19 @@ import GameLogic_Dogz import OpenServerCampaign import PlayerCostRebate +import PlayerActTotalRecharge import PlayerSpringSale import PlayerBossReborn import PlayerFlashGiftbag import PlayerFairyCeremony +import PlayerRefineStove +import PlayerFlashSale +import PlayerWishingWell import PlayerVip import PlayerDiceEx import IpyGameDataPY +import FamilyRobBoss +import FBHelpBattle import QuestManager import PyGameData import PlayerTJG @@ -156,9 +153,6 @@ #副本OnDay事件响应 FBLogic.OnDay(tick) - - #重置跨服活动副本人数分配情况信息 - PlayerControl.ResetMergeFBPlayerCntInfo(0) #删除所有的任务发布 missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager() @@ -422,9 +416,17 @@ # @remarks 函数详细说明. def GameServer_InitOK(index, tick): curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) - #通知BServer自己OK了 - curPlayer.SendToBServerServerInitOK() - ChPlayer.OnAllServerInitOK(curPlayer, tick) + try: + #通知BServer自己OK了 + curPlayer.SendToBServerServerInitOK() + ChPlayer.OnAllServerInitOK(curPlayer, tick) + except: + curPlayer.Kick(IPY_GameWorld.disWaitForPlayerLoinError) + import traceback + GameWorld.ErrLog("玩家上线逻辑错误~~~~~\r\n%s" % traceback.format_exc()) + if GameWorld.GetGameWorld().GetDebugLevel(): + raise Exception("玩家上线逻辑错误~~~~\r\n%s" % traceback.format_exc()) + return #-------------------------------------------------------- def PlayerOnDay(curPlayer): @@ -499,20 +501,19 @@ #成就 PlayerSuccess.SuccOnDay(curPlayer) - # 仙盟红包OnDay - PlayerFamilyRedPacket.RedPacketOnDay(curPlayer) - # 新手卡 PlayerNewGuyCard.NewGuyCardOnday(curPlayer) - PlayerTJG.TJGOnDay(curPlayer) #投资 PlayerGoldInvest.OnDay(curPlayer) #法宝 PlayerMagicWeapon.OnDay(curPlayer) PlayerGoldGift.OnDay(curPlayer) - + #炼丹 + PlayerRefineStove.OnDay(curPlayer) + #绑玉转盘 + PlayerBindJadeWheel.OnDay(curPlayer) # 特殊时间点X点过天 elif onEventType == ShareDefine.Def_OnEventTypeEx: #触发每日任务重置脚本 @@ -533,8 +534,12 @@ PlayerFreeGoods.OnDay(curPlayer) #采集次数重置 NPCCommon.CollNPCTimeOnDay(curPlayer) + #副本助战 + FBHelpBattle.DoPlayerOnDay(curPlayer) + #跨服竞技场 + PlayerCrossRealmPK.DoPlayerOnDay(curPlayer) - + PlayerTJG.TJGOnDay(curPlayer, onEventType) # 以下为支持两种重置模式切换配置的 FBCommon.FBOnDay(curPlayer, onEventType) @@ -544,7 +549,10 @@ # 商店物品购买兑换OnDay FunctionNPCCommon.ShopItemOnDay(curPlayer, onEventType) - + # 仙盟红包OnDay + PlayerFamilyRedPacket.RedPacketOnDay(curPlayer, onEventType) + #许愿池 + PlayerWishingWell.OnDay(curPlayer) return @@ -1224,8 +1232,13 @@ PyGameData.g_bossShuntPlayerInfo = eval(msgValue) return - if key == ShareDefine.Def_Notify_WorldKey_BossShuntDeadLine: - PyGameData.g_bossShuntDeadLine = eval(msgValue) + if key == ShareDefine.Def_Notify_WorldKey_BossShuntLineState: + PyGameData.g_bossShuntLineState = eval(msgValue) + return + + if key == ShareDefine.Def_Notify_WorldKey_FamilyKillHorsePetRobBossCnt: + PyGameData.g_familyKillHorsePetRobBossCntDict = eval(msgValue) + FamilyRobBoss.OnFamilyKillHorsePetRobBossCntChange(tick) return if key == ShareDefine.Def_Notify_WorldKey_FBEnterTimeLimiitMapID: @@ -1246,6 +1259,11 @@ GameLogic_FamilyBoss.GameServerOpenFamilyBoss(familyID, openCount) return + if key == ShareDefine.Def_Notify_WorldKey_FamilyPartyInfo: + if GameWorld.GetMap().GetMapID() == ChConfig.Def_FBMapID_FamilyParty: + PyGameData.g_familyPartyInfo = eval(msgValue) + return + if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]): keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2] actionName = key[len(keyHead):] @@ -1256,7 +1274,8 @@ elif actionName == ShareDefine.OperationActionName_CostRebate: PlayerCostRebate.RefreshCostRebateActionInfo() - + elif actionName == ShareDefine.OperationActionName_TotalRecharge: + PlayerActTotalRecharge.RefreshTotalRechargeActionInfo() elif actionName == ShareDefine.OperationActionName_SpringSale: PlayerSpringSale.RefreshSpringSaleActionInfo() @@ -1268,6 +1287,13 @@ elif actionName == ShareDefine.OperationActionName_FairyCeremony: PlayerFairyCeremony.RefreshOperationAction_FairyCeremony() + + elif actionName == ShareDefine.OperationActionName_FlashSale: + PlayerFlashSale.RefreshflashSaleActionInfo() + + elif actionName == ShareDefine.OperationActionName_WishingWell: + PlayerWishingWell.RefreshWishingWellAction() + return if msgValue.isdigit(): @@ -1298,24 +1324,16 @@ #=============================================================================================== #领地争夺战 - elif key == ShareDefine.Def_Notify_WorldKey_ManorWar: - GameLogic_ManorWar.OnManorWarStateChange(value, tick) + #elif key == ShareDefine.Def_Notify_WorldKey_ManorWar: + # GameLogic_ManorWar.OnManorWarStateChange(value, tick) #定时商店刷新 elif key.startswith(ShareDefine.Def_Notify_WorldKey_TimeShopRefreshTime[:-2]): ShopItemManage.OnTimeShopRefresh(key, value, tick) - - #跨服boss - elif key == ShareDefine.Def_Notify_WorldKey_MergeBoss: - GameLogic_MergeBoss.OnMergeBossStateChange(value, tick) - - # 跨服PK, 赛季开始时间不用处理,仅存储即可 - elif key in [ShareDefine.Def_Notify_WorldKey_MergePKDayID, ShareDefine.Def_Notify_WorldKey_MergePKSeasonID]: - PlayerMergePK.OnMergePKActionChange(key, value) - - # 跨服王者争霸 - elif key in [ShareDefine.Def_Notify_WorldKey_Merge_KingStartID, ShareDefine.Def_Notify_WorldKey_Merge_KingOverID]: - PlayerMergeKing.OnMergeKingActionChange(key, value) + + # 跨服PK + elif key == ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID: + PlayerCrossRealmPK.OnCrossRealmPKSeasonChange(value) # 仙盟宴会 elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyParty: @@ -1354,7 +1372,12 @@ if curPlayer.GetID() == 0: continue PlayerWorldAverageLv.UpdatePlayerWorldAverageLv(curPlayer) - + + # 日常活动 + elif key.startswith(ShareDefine.Def_Notify_WorldKey_DailyActionState[:-2]): + if value and gameWorldMgr.GetGameWorldDictByKey(key) != value: + NPCCustomRefresh.ResetActivityBossRefreshCount() + #通用设置 gameWorldMgr.SetGameWorldDict(key, value) -- Gitblit v1.8.0