From cdb5d93a9fd7b32a2ed178feed4eee20ee6502e5 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 11 二月 2019 15:41:24 +0800 Subject: [PATCH] 5940 【后端】【1.6】跨服PK奖励配置规则优化 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 112 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 74 insertions(+), 38 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 c417421..6ea266d 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 @@ -83,18 +74,26 @@ import GameLogic_ElderBattlefield 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 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): @@ -466,6 +470,9 @@ return def __DoPlayerOnDay(curPlayer, onEventType): + + if GameWorld.IsCrossServer(): + return # 常规过天 if onEventType == ShareDefine.Def_OnEventType: @@ -512,7 +519,8 @@ PlayerGoldGift.OnDay(curPlayer) #炼丹 PlayerRefineStove.OnDay(curPlayer) - + #绑玉转盘 + PlayerBindJadeWheel.OnDay(curPlayer) # 特殊时间点X点过天 elif onEventType == ShareDefine.Def_OnEventTypeEx: #触发每日任务重置脚本 @@ -533,6 +541,10 @@ PlayerFreeGoods.OnDay(curPlayer) #采集次数重置 NPCCommon.CollNPCTimeOnDay(curPlayer) + #副本助战 + FBHelpBattle.DoPlayerOnDay(curPlayer) + #跨服竞技场 + PlayerCrossRealmPK.DoPlayerOnDay(curPlayer) PlayerTJG.TJGOnDay(curPlayer, onEventType) # 以下为支持两种重置模式切换配置的 @@ -546,6 +558,8 @@ # 仙盟红包OnDay PlayerFamilyRedPacket.RedPacketOnDay(curPlayer, onEventType) + #许愿池 + PlayerWishingWell.OnDay(curPlayer) return @@ -633,6 +647,9 @@ def __DoPlayerOnWeek(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return + if onEventType == ShareDefine.Def_OnEventType: #记录上周工资相关流向 lastWeekOnlineTime = curPlayer.GetLastWeekOnlineTime() @@ -710,6 +727,8 @@ def __DoPlayerOnMonth(curPlayer, onEventType): + if GameWorld.IsCrossServer(): + return if onEventType == ShareDefine.Def_OnEventType: pass @@ -1206,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)) #---接收世界服务器发来的消息--- @@ -1267,7 +1286,8 @@ elif actionName == ShareDefine.OperationActionName_CostRebate: PlayerCostRebate.RefreshCostRebateActionInfo() - + elif actionName == ShareDefine.OperationActionName_TotalRecharge: + PlayerActTotalRecharge.RefreshTotalRechargeActionInfo() elif actionName == ShareDefine.OperationActionName_SpringSale: PlayerSpringSale.RefreshSpringSaleActionInfo() @@ -1279,6 +1299,32 @@ 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() + + return + + if key == ShareDefine.Def_Notify_WorldKey_CrossZoneName: + PyGameData.g_crossZoneName = msgValue return if msgValue.isdigit(): @@ -1309,24 +1355,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: @@ -1390,9 +1428,7 @@ # 活动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