From 6b3e505e9c8f3a08dbcc9aa34944d20f64cf22b5 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 16 五月 2019 15:56:37 +0800
Subject: [PATCH] 6501 【后端】【2.0】仙盟任务(新增接口)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py |  165 ++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 103 insertions(+), 62 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 d17f023..80f6d40 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,51 @@
 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 PlayerFairyDomain
 import PlayerVip
 import PlayerDiceEx
 import IpyGameDataPY
 import FamilyRobBoss
+import FBHelpBattle
 import QuestManager
 import PyGameData
 import PlayerTJG
@@ -158,9 +158,6 @@
     
     #副本OnDay事件响应
     FBLogic.OnDay(tick)
-    
-    #重置跨服活动副本人数分配情况信息
-    PlayerControl.ResetMergeFBPlayerCntInfo(0)
     
     #删除所有的任务发布
     missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager()
@@ -424,9 +421,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 +472,9 @@
     
 def __DoPlayerOnDay(curPlayer, onEventType):
     
+    if GameWorld.IsCrossServer():
+        return
+    
     # 常规过天
     if onEventType == ShareDefine.Def_OnEventType:
         
@@ -501,13 +509,9 @@
         #成就
         PlayerSuccess.SuccOnDay(curPlayer)
         
-        # 仙盟红包OnDay
-        PlayerFamilyRedPacket.RedPacketOnDay(curPlayer)
-        
         # 新手卡
         PlayerNewGuyCard.NewGuyCardOnday(curPlayer)
         
-        PlayerTJG.TJGOnDay(curPlayer)
         #投资
         PlayerGoldInvest.OnDay(curPlayer)
         
@@ -516,7 +520,8 @@
         PlayerGoldGift.OnDay(curPlayer)
         #炼丹
         PlayerRefineStove.OnDay(curPlayer)
-        
+        #绑玉转盘
+        PlayerBindJadeWheel.OnDay(curPlayer)
     # 特殊时间点X点过天
     elif onEventType == ShareDefine.Def_OnEventTypeEx:
         #触发每日任务重置脚本
@@ -537,8 +542,14 @@
         PlayerFreeGoods.OnDay(curPlayer)
         #采集次数重置
         NPCCommon.CollNPCTimeOnDay(curPlayer)
+        #副本助战
+        FBHelpBattle.DoPlayerOnDay(curPlayer)
+        #跨服竞技场
+        PlayerCrossRealmPK.DoPlayerOnDay(curPlayer)
+        #缥缈仙域
+        PlayerFairyDomain.OnDay(curPlayer)
         
-    
+    PlayerTJG.TJGOnDay(curPlayer, onEventType)
     # 以下为支持两种重置模式切换配置的
     FBCommon.FBOnDay(curPlayer, onEventType)
     
@@ -548,7 +559,10 @@
     # 商店物品购买兑换OnDay
     FunctionNPCCommon.ShopItemOnDay(curPlayer, onEventType)
     
-    
+    # 仙盟红包OnDay
+    PlayerFamilyRedPacket.RedPacketOnDay(curPlayer, onEventType)
+    #许愿池
+    PlayerWishingWell.OnDay(curPlayer)
     return
 
 
@@ -636,6 +650,9 @@
 
 def __DoPlayerOnWeek(curPlayer, onEventType):
     
+    if GameWorld.IsCrossServer():
+        return
+    
     if onEventType == ShareDefine.Def_OnEventType:
         #记录上周工资相关流向
         lastWeekOnlineTime = curPlayer.GetLastWeekOnlineTime()
@@ -713,6 +730,8 @@
 
 def __DoPlayerOnMonth(curPlayer, onEventType):
     
+    if GameWorld.IsCrossServer():
+        return
     
     if onEventType == ShareDefine.Def_OnEventType:
         pass
@@ -786,6 +805,8 @@
     
     #触发每小时任务重置脚本
     EventShell.EventResponse_OnHour(curPlayer)
+    #缥缈仙域
+    PlayerFairyDomain.OnHour(curPlayer)
     return
     
 #---------------------------------------------------------------------
@@ -1209,7 +1230,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))
     #---接收世界服务器发来的消息---
 
@@ -1228,8 +1249,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:
@@ -1260,6 +1281,14 @@
                 PyGameData.g_familyPartyInfo = eval(msgValue)
             return
         
+        if key == ShareDefine.Def_Notify_WorldKey_FairyDomainLimit:
+            isAdd, limitList = eval(msgValue)
+            if isAdd:
+                PyGameData.g_fairyDomainLimit += limitList
+            else:
+                PyGameData.g_fairyDomainLimit = limitList
+            return
+        
         if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]): 
             keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
             actionName = key[len(keyHead):]
@@ -1270,7 +1299,8 @@
                 
             elif actionName == ShareDefine.OperationActionName_CostRebate:
                 PlayerCostRebate.RefreshCostRebateActionInfo()
-
+            elif actionName == ShareDefine.OperationActionName_TotalRecharge:
+                PlayerActTotalRecharge.RefreshTotalRechargeActionInfo()
             elif actionName == ShareDefine.OperationActionName_SpringSale:
                 PlayerSpringSale.RefreshSpringSaleActionInfo()
 
@@ -1282,6 +1312,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():
@@ -1311,25 +1369,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:
@@ -1343,6 +1385,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:
@@ -1385,17 +1436,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