From ee23480a49debf8542eb1e6328f7e31be06005fd Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 16 三月 2026 09:58:16 +0800
Subject: [PATCH] 541 【幻境阁】新增称号加成效果-服务端(修复称号无属性时特殊效果也会无效的bug;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py |  197 ++++++++----------------------------------------
 1 files changed, 34 insertions(+), 163 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 5ff46fc..b47dad3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -27,48 +27,22 @@
 import PlayerCoin
 import PlayerControl
 import PlayerFamily
-import PlayerLoginDayAward
 import NPCCommon
 import FunctionNPCCommon
 import PlayerGoldGift
 import PlayerActivity
 import FBCommon
-import PlayerFreeGoods
 import ChItem
-import GameLogic_Tianzi
 import PlayerGoldInvest
-import PlayerActCollectWords
-import PlayerActTotalRecharge
-import PlayerActGodGift
-import PlayerActFamilyCTGAssist
-import PlayerActManyDayRecharge
-import PlayerActSingleRecharge
-import PlayerActGrowupBuy
-import PlayerActTurntable
-import PlayerActBuyOne
-import PlayerSpringSale
-import PlayerFeastLogin
-import PlayerFeastWish
 import PlayerActTask
-import PlayerActYunshi
-import PlayerActLunhuidian
 import PlayerActBuyCountGift
-import PlayerActLoginNew
-import PlayerActLogin
-import PlayerFlashGiftbag
-import PlayerDailyGiftbag
 import PlayerOfflineSupport
-import PlayerLuckyTreasure
-import PlayerFlashSale
-import PlayerWishingWell
 import PlayerTreasure
 import PlayerZhanling
-import PlayerLove
 import IpyGameDataPY
 import PlayerArena
 import PyGameData
 import OpenServerActivity
-import PlayerXiangong
 import PlayerBillboard
 import PlayerViewCache
 import GameFuncComm
@@ -76,6 +50,7 @@
 import PlayerHero
 import PlayerTree
 import PlayerLLMJ
+import PlayerHJG
 import DBDataMgr
 
 import datetime
@@ -95,28 +70,16 @@
     
     # 其他跨服功能
     
-    # 游戏服额外处理玩家
-    if GameWorld.IsMainServer():
-        playerManager = GameWorld.GetPlayerManager()
-        for i in xrange(playerManager.OnlineCount()):
-            curPlayer = playerManager.OnlineAt(i)
-            if not GameWorld.IsNormalPlayer(curPlayer):
-                continue
-            PlayerOnCrossCenterEvent(curPlayer, centerEventValue)
-            
     PlayerBillboard.OnDay(centerEventValue)
     return
 
 def DoLogic_OnDay(tick):
     GameWorld.Log("MapServer -> OnDay!")
-    #副本OnDay事件响应
-    #FBLogic.OnDay(tick)
     
     OpenServerActivity.OnDay()
-    #仙盟
+    FBLogic.OnDay()
     PlayerFamily.FamilyOnDay()
     PlayerArena.OnDay()
-    GameLogic_Tianzi.OnDay()
     
     PlayerOfflineSupport.OnDay()
     playerManager = GameWorld.GetPlayerManager()
@@ -162,6 +125,7 @@
 def DoLogic_OnWeek(tick):
     GameWorld.Log("MapServer -> OnWeek!")
     
+    FBLogic.OnWeek()
     PlayerArena.OnWeek()
     
     playerManager = GameWorld.GetPlayerManager()
@@ -173,8 +137,6 @@
         
         PlayerOnWeek(curPlayer)
         
-    #副本OnWeek事件响应
-    FBLogic.OnWeek(tick)
     return
 
 def DoLogic_OnMonth(tick):
@@ -232,16 +194,18 @@
     return
 
 #--------------------------------------------------------
-def PlayerOnCrossCenterEvent(curPlayer, centerEventValue=0):
+def PlayerOnCrossCenterEvent(curPlayer, centerEventValue=0, gmEvent=""):
     ## 跨服中心过天
     if not centerEventValue:
         centerEventValue = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_CrossCenterEvent)
     playerEventValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnCrossEvent)
-    if not playerEventValue:
-        playerEventValue = centerEventValue
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
+    #第一次也要执行一次
+    #if not playerEventValue:
+    #    playerEventValue = centerEventValue
+    #    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
         
-    if playerEventValue == centerEventValue:
+    if playerEventValue == centerEventValue and not gmEvent:
+        GameWorld.DebugLog("玩家与跨服中心事件值相同不处理! playerEventValue=%s,centerEventValue=%s" % (playerEventValue, centerEventValue))
         return
     
     centerEventTime = GameWorld.ChangeStrToDatetime("%s" % centerEventValue, ChConfig.TYPE_Time_Format_YmdH)
@@ -257,7 +221,7 @@
     
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
     
-    if (center_Day != player_Day or center_Month != player_Month or center_Year != player_Year):
+    if (center_Day != player_Day or center_Month != player_Month or center_Year != player_Year or gmEvent == "GMOnDay"):
         PlayerCrossCenterOnDay(curPlayer, centerEventValue)
         
     return
@@ -273,9 +237,10 @@
 
 def PlayerOnDay(curPlayer):
     #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnDay(curPlayer , 1)
-        return
+    #GameServer已废弃,不再验证
+    #if not curPlayer.GetGameServerInitOK():
+    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnDay(curPlayer , 1)
+    #    return
     
     ondayValue = __Get_Can_OnDay(curPlayer)
     if not ondayValue:
@@ -306,8 +271,6 @@
     
     #OnDay时清除每日签到的信息
     PlayerSignDay.SignDayOnDay(curPlayer)
-    # 累计登陆礼包登陆次数刷新
-    PlayerLoginDayAward.NotePlayerLoginDayCnt(curPlayer)
     
     #------------------------------------------------------------------------------ 
     
@@ -320,18 +283,13 @@
     #寻宝
     PlayerTreasure.OnDay(curPlayer)
     PlayerGoldGift.OnDay(curPlayer)
-    #转盘
-    PlayerActTurntable.PlayerOnDay(curPlayer)
-    #情缘
-    PlayerLove.DoPlayerOnDay(curPlayer)
-    #仙宫
-    PlayerXiangong.PlayerOnDay(curPlayer)
     PlayerControl.PlayerOnDay(curPlayer)
     ChPlayer.PlayerOnDay(curPlayer)
     PlayerActivity.OnDay(curPlayer)
     PlayerLLMJ.PlayerOnDay(curPlayer)
     FunctionNPCCommon.ShopItemOnDay(curPlayer)
     OpenServerActivity.PlayerOnDay(curPlayer)
+    PlayerHJG.PlayerOnDay(curPlayer)
     
     # 特殊时间点X点过天
     #elif onEventType == ShareDefine.Def_OnEventTypeEx:
@@ -340,8 +298,6 @@
     PlayerFamily.PlayerOnDay(curPlayer)
     # 重置物品每日使用次数
     ChItem.ResetItemUseCntToday(curPlayer)
-    # 极品白拿
-    PlayerFreeGoods.OnDay(curPlayer)
     #采集次数重置
     NPCCommon.PlayerOnDay(curPlayer)
     #竞技场
@@ -349,12 +305,8 @@
     
     # 以下为支持两种重置模式切换配置的
     FBCommon.FBOnDay(curPlayer, onEventType)
-    #许愿池
-    PlayerWishingWell.OnDay(curPlayer)
     #任务活动
     PlayerActTask.OnDay(curPlayer)
-    #登录活动
-    PlayerActLoginNew.OnDay(curPlayer)
     #购买次数礼包
     PlayerActBuyCountGift.OnDay(curPlayer, onEventType)
     return
@@ -398,9 +350,10 @@
 #  @remarks 函数详细说明.
 def PlayerOnWeek(curPlayer):
     #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnWeek(curPlayer , 1)
-        return
+    #GameServer已废弃,不再验证
+    #if not curPlayer.GetGameServerInitOK():
+    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnWeek(curPlayer , 1)
+    #    return
     
     onWeekValue = __Get_Can_OnWeek(curPlayer)
     if not onWeekValue:
@@ -455,9 +408,10 @@
 #  @remarks 函数详细说明.
 def PlayerOnMonth(curPlayer):
     #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnMonth(curPlayer , 1)
-        return
+    #GameServer已废弃,不再验证
+    #if not curPlayer.GetGameServerInitOK():
+    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnMonth(curPlayer , 1)
+    #    return
     
     onMonthValue = __Get_Can_OnMonth(curPlayer)
     if not onMonthValue:
@@ -495,9 +449,10 @@
 #  @remarks 函数详细说明.
 def PlayerOnYear(curPlayer):
     #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnYear(curPlayer , 1)
-        return
+    #GameServer已废弃,不再验证
+    #if not curPlayer.GetGameServerInitOK():
+    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnYear(curPlayer , 1)
+    #    return
     
     curPlayerID = curPlayer.GetPlayerID()
     
@@ -519,9 +474,10 @@
 #  @remarks 函数详细说明.
 def PlayerOnHour(curPlayer):
     #记录玩家字典值,待初始化后执行
-    if not curPlayer.GetGameServerInitOK():
-        GameServerRefresh.Set_PlayerGameServerInitOK_OnHour(curPlayer , 1)
-        return
+    #GameServer已废弃,不再验证
+    #if not curPlayer.GetGameServerInitOK():
+    #    GameServerRefresh.Set_PlayerGameServerInitOK_OnHour(curPlayer , 1)
+    #    return
     
     curPlayerID = curPlayer.GetPlayerID()
     
@@ -904,93 +860,8 @@
                 PlayerControl.SetCoupleInfo(playerID, coupleInfo)
             return
         
-        if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]): 
-            keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
-            actionName = key[len(keyHead):]
-            actInfo = eval(msgValue)
-            actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
-            if actionName in ShareDefine.MultiActNumOperationActNameList:
-                if not actNum:
-                    GameWorld.ErrLog('MultiActNumOperation can not found actNum. actionName=%s,msg = %s' % (actionName, msg))
-                    return
-                if actionName not in PyGameData.g_operationActionDict:
-                    PyGameData.g_operationActionDict[actionName] = {}
-                PyGameData.g_operationActionDict[actionName][actNum] = actInfo
-            else:
-                PyGameData.g_operationActionDict[actionName] = actInfo
-                
-            if actionName == ShareDefine.OperationActionName_ExpRate:
-                PlayerControl.RefreshOperationAction_ExpRate()
-                
-            elif actionName == ShareDefine.OperationActionName_TotalRecharge:
-                PlayerActTotalRecharge.RefreshTotalRechargeActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_GodGift:
-                PlayerActGodGift.RefreshGodGiftActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_ManyDayRecharge:
-                PlayerActManyDayRecharge.RefreshManyDayRechargeActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_SingleRecharge:
-                PlayerActSingleRecharge.RefreshSingleRechargeActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_Turntable:
-                PlayerActTurntable.RefreshTurntableActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_SpringSale:
-                PlayerSpringSale.RefreshSpringSaleActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_FlashGiftbag:
-                PlayerFlashGiftbag.RefreshFlashGiftbagActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_DailyGiftbag:
-                PlayerDailyGiftbag.RefreshDailyGiftbagActionInfo()
-                
-            elif actionName == ShareDefine.OperationActionName_BuyOne:
-                PlayerActBuyOne.RefreshBuyOneActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_FamilyCTGAssist:
-                PlayerActFamilyCTGAssist.RefreshFamilyCTGAssistActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_FlashSale:
-                PlayerFlashSale.RefreshflashSaleActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_WishingWell:
-                PlayerWishingWell.RefreshWishingWellAction()
-                
-            elif actionName == ShareDefine.OperationActionName_CollectWords:
-                PlayerActCollectWords.RefreshActCollectWordsInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_BuyCountGift:
-                PlayerActBuyCountGift.RefreshBuyCountGiftActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_ActTask:
-                PlayerActTask.RefreshActTaskActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_Yunshi:
-                PlayerActYunshi.RefreshActYunshiActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_Lunhuidian:
-                PlayerActLunhuidian.RefreshActLunhuidianActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_LoginAward:
-                PlayerActLogin.RefreshOperationAction_LoginAward()
-                
-            elif actionName == ShareDefine.OperationActionName_ActLoginNew:
-                PlayerActLoginNew.RefreshActLoginActionInfo(actNum)
-                
-            elif actionName == ShareDefine.OperationActionName_FeastLogin:
-                PlayerFeastLogin.RefreshFeastLoginActionInfo()
-                
-            elif actionName == ShareDefine.OperationActionName_FeastWish:
-                PlayerFeastWish.RefreshFeastWishActionInfo()
-                
-            elif actionName == ShareDefine.OperationActionName_LuckyTreasure:
-                PlayerLuckyTreasure.RefreshLuckyTreasureAction()
-                
-            elif actionName == ShareDefine.OperationActionName_GrowupBuy:
-                PlayerActGrowupBuy.RefreshGrowupBuyActionInfo()
-                
+        if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]):
+            # 运营活动改为通过 GameWorldAction.OnMapOperationActionRefresh 触发刷新
             return
         
         if key.startswith(ShareDefine.Def_Notify_WorldKey_CrossActInfo[:-2]):

--
Gitblit v1.8.0