From 8978dd1c93b322806bac51090d40e65cee33d90d Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 09 一月 2019 15:26:09 +0800 Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(支持刷跨服boss) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 103 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 61 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 1d6e6af..7f703a6 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,14 +77,20 @@ import GameLogic_Dogz import OpenServerCampaign import PlayerCostRebate +import PlayerActTotalRecharge import PlayerSpringSale import PlayerBossReborn +import PlayerWeekParty 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 @@ -157,9 +154,6 @@ #副本OnDay事件响应 FBLogic.OnDay(tick) - - #重置跨服活动副本人数分配情况信息 - PlayerControl.ResetMergeFBPlayerCntInfo(0) #删除所有的任务发布 missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager() @@ -423,9 +417,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): @@ -466,6 +468,9 @@ def __DoPlayerOnDay(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return + # 常规过天 if onEventType == ShareDefine.Def_OnEventType: @@ -500,20 +505,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: #触发每日任务重置脚本 @@ -534,8 +538,12 @@ PlayerFreeGoods.OnDay(curPlayer) #采集次数重置 NPCCommon.CollNPCTimeOnDay(curPlayer) + #副本助战 + FBHelpBattle.DoPlayerOnDay(curPlayer) + #跨服竞技场 + PlayerCrossRealmPK.DoPlayerOnDay(curPlayer) - + PlayerTJG.TJGOnDay(curPlayer, onEventType) # 以下为支持两种重置模式切换配置的 FBCommon.FBOnDay(curPlayer, onEventType) @@ -545,7 +553,10 @@ # 商店物品购买兑换OnDay FunctionNPCCommon.ShopItemOnDay(curPlayer, onEventType) - + # 仙盟红包OnDay + PlayerFamilyRedPacket.RedPacketOnDay(curPlayer, onEventType) + #许愿池 + PlayerWishingWell.OnDay(curPlayer) return @@ -633,6 +644,9 @@ def __DoPlayerOnWeek(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return + if onEventType == ShareDefine.Def_OnEventType: #记录上周工资相关流向 lastWeekOnlineTime = curPlayer.GetLastWeekOnlineTime() @@ -710,6 +724,8 @@ def __DoPlayerOnMonth(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return if onEventType == ShareDefine.Def_OnEventType: pass @@ -1206,7 +1222,7 @@ pack = IPY_GameWorld.IPY_MBroadcastMsg() msg = pack.GetMsg() - if not msg.startswith(ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn[:-2]): + if not msg.startswith(ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn[:-3]): GameWorld.Log('GameServer_BroadcastMsg msg = %s'%(msg)) #---接收世界服务器发来的消息--- @@ -1225,8 +1241,8 @@ 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: @@ -1267,7 +1283,8 @@ elif actionName == ShareDefine.OperationActionName_CostRebate: PlayerCostRebate.RefreshCostRebateActionInfo() - + elif actionName == ShareDefine.OperationActionName_TotalRecharge: + PlayerActTotalRecharge.RefreshTotalRechargeActionInfo() elif actionName == ShareDefine.OperationActionName_SpringSale: PlayerSpringSale.RefreshSpringSaleActionInfo() @@ -1279,6 +1296,16 @@ elif actionName == ShareDefine.OperationActionName_FairyCeremony: PlayerFairyCeremony.RefreshOperationAction_FairyCeremony() + + elif actionName == ShareDefine.OperationActionName_FlashSale: + PlayerFlashSale.RefreshflashSaleActionInfo() + + elif actionName == ShareDefine.OperationActionName_WishingWell: + PlayerWishingWell.RefreshWishingWellAction() + + elif actionName == ShareDefine.OperationActionName_WeekParty: + PlayerWeekParty.RefreshOperationAction_WeekParty() + return if msgValue.isdigit(): @@ -1309,24 +1336,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: -- Gitblit v1.8.0