From af2575ee52476f0d87d69a76dca5ee1f58cf114d Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期六, 13 四月 2019 10:55:47 +0800 Subject: [PATCH] 6509 子 【2.0】五行灵根 / 【后端】【2.0】五行灵根修改 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 146 +++++++++++++++++++++++++++++------------------- 1 files changed, 88 insertions(+), 58 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 93812f5..dac01df 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,49 +50,50 @@ import PlayerHorse import PlayerLoginDayAward import NPCCommon -import GameLogic_MergeBoss -import GameLogic_ManorWar import FunctionNPCCommon import PlayerGoldGift import PlayerActivity -import PlayerTeHui -import HighLadderTube -import PlayerAction -import PlayerTruck +import PlayerBindJadeWheel 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 import PlayerFamilyRedPacket import GameLogic_FamilyInvade import GameLogic_ElderBattlefield +import GameLogic_AllFamilyBoss +import GameLogic_HorsePetBoss import GameLogic_FamilyBoss import GameLogic_FamilyWar -import GameLogic_Dogz import OpenServerCampaign import PlayerCostRebate +import PlayerActTotalRecharge import PlayerSpringSale import PlayerBossReborn +import PlayerWeekParty +import PlayerFeastWeekParty +import PlayerActLogin import PlayerFlashGiftbag import PlayerFairyCeremony +import PlayerNewFairyCeremony +import PlayerFeastRedPacket +import PlayerLuckyTreasure import PlayerRefineStove +import PlayerFlashSale +import PlayerWishingWell import PlayerVip import PlayerDiceEx import IpyGameDataPY import FamilyRobBoss +import FBHelpBattle import QuestManager import PyGameData import PlayerTJG @@ -158,9 +157,6 @@ #副本OnDay事件响应 FBLogic.OnDay(tick) - - #重置跨服活动副本人数分配情况信息 - PlayerControl.ResetMergeFBPlayerCntInfo(0) #删除所有的任务发布 missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager() @@ -424,9 +420,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): @@ -467,6 +471,9 @@ def __DoPlayerOnDay(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return + # 常规过天 if onEventType == ShareDefine.Def_OnEventType: @@ -504,7 +511,6 @@ # 新手卡 PlayerNewGuyCard.NewGuyCardOnday(curPlayer) - PlayerTJG.TJGOnDay(curPlayer) #投资 PlayerGoldInvest.OnDay(curPlayer) @@ -513,7 +519,8 @@ PlayerGoldGift.OnDay(curPlayer) #炼丹 PlayerRefineStove.OnDay(curPlayer) - + #绑玉转盘 + PlayerBindJadeWheel.OnDay(curPlayer) # 特殊时间点X点过天 elif onEventType == ShareDefine.Def_OnEventTypeEx: #触发每日任务重置脚本 @@ -534,8 +541,12 @@ PlayerFreeGoods.OnDay(curPlayer) #采集次数重置 NPCCommon.CollNPCTimeOnDay(curPlayer) + #副本助战 + FBHelpBattle.DoPlayerOnDay(curPlayer) + #跨服竞技场 + PlayerCrossRealmPK.DoPlayerOnDay(curPlayer) - + PlayerTJG.TJGOnDay(curPlayer, onEventType) # 以下为支持两种重置模式切换配置的 FBCommon.FBOnDay(curPlayer, onEventType) @@ -547,6 +558,8 @@ # 仙盟红包OnDay PlayerFamilyRedPacket.RedPacketOnDay(curPlayer, onEventType) + #许愿池 + PlayerWishingWell.OnDay(curPlayer) return @@ -634,6 +647,9 @@ def __DoPlayerOnWeek(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return + if onEventType == ShareDefine.Def_OnEventType: #记录上周工资相关流向 lastWeekOnlineTime = curPlayer.GetLastWeekOnlineTime() @@ -711,6 +727,8 @@ def __DoPlayerOnMonth(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return if onEventType == ShareDefine.Def_OnEventType: pass @@ -1207,7 +1225,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)) #---接收世界服务器发来的消息--- @@ -1226,8 +1244,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: @@ -1268,7 +1286,8 @@ elif actionName == ShareDefine.OperationActionName_CostRebate: PlayerCostRebate.RefreshCostRebateActionInfo() - + elif actionName == ShareDefine.OperationActionName_TotalRecharge: + PlayerActTotalRecharge.RefreshTotalRechargeActionInfo() elif actionName == ShareDefine.OperationActionName_SpringSale: PlayerSpringSale.RefreshSpringSaleActionInfo() @@ -1280,6 +1299,34 @@ elif actionName == ShareDefine.OperationActionName_FairyCeremony: PlayerFairyCeremony.RefreshOperationAction_FairyCeremony() + + elif actionName == ShareDefine.OperationActionName_NewFairyCeremony: + PlayerNewFairyCeremony.RefreshOperationAction_NewFairyCeremony() + + elif actionName == ShareDefine.OperationActionName_FlashSale: + PlayerFlashSale.RefreshflashSaleActionInfo() + + elif actionName == ShareDefine.OperationActionName_WishingWell: + PlayerWishingWell.RefreshWishingWellAction() + + elif actionName == ShareDefine.OperationActionName_WeekParty: + PlayerWeekParty.RefreshOperationAction_WeekParty() + + elif actionName == ShareDefine.OperationActionName_LoginAward: + PlayerActLogin.RefreshOperationAction_LoginAward() + + elif actionName == ShareDefine.OperationActionName_FeastWeekParty: + PlayerFeastWeekParty.RefreshOperationAction_FeastWeekParty() + + elif actionName == ShareDefine.OperationActionName_FeastRedPacket: + PlayerFeastRedPacket.RefreshOperationAction_FeastRedPacket() + + elif actionName == ShareDefine.OperationActionName_LuckyTreasure: + PlayerLuckyTreasure.RefreshLuckyTreasureAction() + return + + if key == ShareDefine.Def_Notify_WorldKey_CrossZoneName: + PyGameData.g_crossZoneName = msgValue return if msgValue.isdigit(): @@ -1309,25 +1356,9 @@ # ReloadModule.DoMapServerScriptReload(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: @@ -1341,6 +1372,15 @@ elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_ElderBattlefield: if gameWorldMgr.GetGameWorldDictByKey(key) != value: GameLogic_ElderBattlefield.OnElderBattlefieldStateChange(value, tick) + # 多仙盟BOSS + elif key in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss1]: + if gameWorldMgr.GetGameWorldDictByKey(key) != value: + GameLogic_AllFamilyBoss.OnAllFamilyBossStateChange(value, tick) + # 骑宠BOSS + elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_HorsePetBoss: + if gameWorldMgr.GetGameWorldDictByKey(key) != value: + GameLogic_HorsePetBoss.OnHorsePetBossStateChange(value, tick) + # OnDayEx elif key == ShareDefine.Def_Notify_WorldKey_OnDayEx: if value and gameWorldMgr.GetGameWorldDictByKey(key) != value: @@ -1383,17 +1423,7 @@ # 王者仙盟 elif key == ShareDefine.Def_Notify_WorldKey_ChampionFamilyID: GameLogic_FamilyWar.OnChampionFamilyIDChange() - - # 特惠活动 - elif key in ShareDefine.TeHuiTypeKeyDict.values(): - PlayerTeHui.ChangeTeHuiActionState(key) - - # 活动buff状态变更 - elif key.startswith(ShareDefine.Def_Notify_WorldKey_ActionBuffState[:-2]): - PlayerAction.OnActionBuffStateChange(key, tick) - #boss刷新时间参数 - elif key.startswith(ShareDefine.Def_Notify_WorldKey_BossOnlineHeroCnt[:-2]): - GameLogic_Dogz.OnOnlineCntChange(key, tick) + #=============================================================================== # ---修改为上述的 统一字典处理 # if msg == ChConfig.Def_Notify_Key_PurTalk: -- Gitblit v1.8.0