From 5d79b486b2974522c2d1978dc90c3081827224e0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 26 二月 2026 15:46:46 +0800
Subject: [PATCH] 493 【活动内容】武将登场-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |   43 +++++++++++++++++++++++++++----------------
 1 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 25906c0..c18a1dc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -48,7 +48,6 @@
 import PlayerTreasure
 import IpyGameDataPY
 import EventReport
-import PassiveBuffEffMng
 import PlayerActBuyOne
 import PlayerActCollectWords
 import PlayerActTotalRecharge
@@ -62,7 +61,6 @@
 import PyGameData
 import PlayerCoin
 import PlayerFB
-import SkillShell
 import PlayerGubao
 import PlayerCustomAward
 import PlayerZhanling
@@ -71,16 +69,17 @@
 import PlayerTask
 import GameObj
 import PlayerGoldRush
-import PlayerActLoginNew
+import PlayerActSign
 import PlayerActBuyCountGift
 import PlayerActLunhuidian
+import PlayerActHeroAppear
 import PlayerActFamilyGCZ
 import PlayerActTask
 import PlayerMail
 import DBDataMgr
 import PlayerViewCache
 import UpdatePlayerName
-import GameServerRefresh
+#import GameServerRefresh
 import IPY_ServerDefine
 import IPY_PlayerDefine
 import CommFunc
@@ -332,8 +331,6 @@
     PlayerActBuyCountGift.OnPlayerLogin(curPlayer)
     # 任务活动
     PlayerActTask.OnPlayerLogin(curPlayer)
-    # 登录活动
-    PlayerActLoginNew.OnPlayerLogin(curPlayer)
     # 炼器活动
     PlayerActLianqi.OnPlayerLogin(curPlayer)
     # 多日连充活动
@@ -420,6 +417,7 @@
         PlayerPreset.OnPlayerLogin(curPlayer)
         CrossPlayer.OnPlayerLogin(curPlayer)
         PlayerActLunhuidian.OnPlayerLogin(curPlayer)
+        PlayerActHeroAppear.OnPlayerLogin(curPlayer)
         
         __OnFixVersion(curPlayer) # 修正线上玩家数据用,暂时放最后
         # 上线查询一次充值订单
@@ -448,7 +446,7 @@
     '''
     
     playerID = curPlayer.GetPlayerID()
-    sysFixVersion = 2025123012 # 系统定义的最后一次修正版本号,一般以 yyyyMMddhh 定义为版本号
+    sysFixVersion = 2026021300 # 系统定义的最后一次修正版本号,一般以 yyyyMMddhh 定义为版本号
     playerVersion = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FixVersion)
     if not playerVersion:
         createRoleTime = curPlayer.GetCreateRoleTime() # 按创角
@@ -468,6 +466,13 @@
         # 每个版本修正完需要立即更新到对应的版本号值,防止中间某个版本修正失败,导致重登后重复修正已经处理的版本
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FixVersion, fixVersion)
         
+    # 修正公会跨服首次没有过天
+    fixVersion = 2026021300
+    if playerVersion < fixVersion:
+        if DBFamily.IsFamilyCross():
+            GameWorld.Log("跨服公会玩家登录补过天")
+            PlayerFamily.__doPlayerOnDay(curPlayer)
+            
     # 其他
     # 需要按修正版本时间顺序依次处理!!!需要按修正版本时间顺序依次处理!!!需要按修正版本时间顺序依次处理!!!
     
@@ -1897,7 +1902,8 @@
 #@return 返回值无意义
 #@remarks C++封包触发, 玩家下线
 def PlayerDisconnect(index, tick):
-    GameWorld.GetPsycoFunc(__Func_PlayerDisconnect)(index, tick)
+    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    PlayerDisconnectEx(curPlayer, tick)
     return
 
 ##C++封包触发, 玩家下线
@@ -1905,8 +1911,7 @@
 #@param tick 时间戳
 #@return 返回值无意义
 #@remarks C++封包触发, 玩家下线
-def __Func_PlayerDisconnect(index, tick):
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+def PlayerDisconnectEx(curPlayer, tick):
     try:
         # 避免因逻辑错误导致下线失败,可能导致回档的情况
         DoPlayerDisconnect(curPlayer, tick)
@@ -3130,8 +3135,14 @@
     # 轮回殿奖励
     elif rewardType == ChConfig.Def_RewardType_LunhuidianAward:
         PlayerActLunhuidian.GetLunhuidianAward(curPlayer, dataEx, dataExStr)
+    # 武将登场升星计划免费奖励 10
+    elif rewardType == ChConfig.Def_RewardType_ActHeroAppearStarFreeAward:
+        PlayerActHeroAppear.GetHeroAppearStarFreeAward(curPlayer, dataEx)
+    # 领取活动签到奖励 70
+    elif rewardType == ChConfig.Def_RewardType_ActSignAward:
+        PlayerActSign.OnGetActSignAward(curPlayer, dataEx, dataExStr)
         
-    
+        
     # 首充礼包奖励
     elif rewardType == ChConfig.Def_RewardType_FirstCharge:
         PlayerGoldGift.GetPlayerFirstCharge(curPlayer, dataEx, dataExStr)
@@ -3144,9 +3155,6 @@
     # 领取单笔累充领取
     elif rewardType == ChConfig.Def_RewardType_SingleRecharge:
         PlayerActSingleRecharge.OnGetSingleRechargeAward(curPlayer, dataEx, dataExStr)
-    # 领取登录活动奖励
-    elif rewardType == ChConfig.Def_RewardType_ActLoginAwardNew:
-        PlayerActLoginNew.OnGetActLoginAward(curPlayer, dataEx, dataExStr)
     # 领取购买次数礼包活动
     elif rewardType == ChConfig.Def_RewardType_ActBuyCountGift:
         PlayerActBuyCountGift.OnGetBuyCountGiftAward(curPlayer, dataEx, dataExStr)
@@ -3865,14 +3873,17 @@
     if recType in ShareDefine.Def_ViewGameRecSelfList:
         recID = curPlayer.GetPlayerID()
     recTypeIDMgr = DBDataMgr.GetGameRecMgr().GetRecTypeIDMgr(recType, recID)
-    SyncGameRecInfo(curPlayer, recType, recID, recTypeIDMgr.GetDataList())
+    SyncGameRecInfo(curPlayer, recTypeIDMgr.GetDataList(), recType, recID)
     return
 
-def SyncGameRecInfo(curPlayer, recType, recID, recDataList):
+def SyncGameRecInfo(curPlayer, recDataList, recType=0, recID=0):
     recList = []
     for recData in recDataList:
         if not recData:
             continue
+        if not recType:
+            recType = recData.GetRecType()
+            recID = recData.GetRecID()
         rec = ChPyNetSendPack.tagSCGameRec()
         rec.Time = recData.GetTime()
         rec.Value1 = recData.GetValue1()

--
Gitblit v1.8.0