hxp
2026-03-12 5c8b87ef0812652af80655923ac5ca277b346f61
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
@@ -57,12 +56,12 @@
import PlayerActManyDayRecharge
import PlayerActSingleRecharge
import OpenServerActivity
import GameLogic_Qunying
import ChNetSendPack
import PlayerArena
import PyGameData
import PlayerCoin
import PlayerFB
import SkillShell
import PlayerGubao
import PlayerCustomAward
import PlayerZhanling
@@ -71,16 +70,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 +332,6 @@
    PlayerActBuyCountGift.OnPlayerLogin(curPlayer)
    # 任务活动
    PlayerActTask.OnPlayerLogin(curPlayer)
    # 登录活动
    PlayerActLoginNew.OnPlayerLogin(curPlayer)
    # 炼器活动
    PlayerActLianqi.OnPlayerLogin(curPlayer)
    # 多日连充活动
@@ -420,6 +418,7 @@
        PlayerPreset.OnPlayerLogin(curPlayer)
        CrossPlayer.OnPlayerLogin(curPlayer)
        PlayerActLunhuidian.OnPlayerLogin(curPlayer)
        PlayerActHeroAppear.OnPlayerLogin(curPlayer)
        
        __OnFixVersion(curPlayer) # 修正线上玩家数据用,暂时放最后
        # 上线查询一次充值订单
@@ -699,7 +698,12 @@
    #首登邮件
    mailList = IpyGameDataPY.GetFuncEvalCfg("MailLVAward", 2)
    for mailTypeKey, mailItemList in mailList:
        PlayerControl.SendMailByKey(mailTypeKey, [curPlayer.GetPlayerID()], mailItemList)
        PlayerMail.SendMailByKey(mailTypeKey, playerID, mailItemList)
    appID = GameWorld.GetAppIDByAccID(curPlayer.GetAccID())
    appIDMailDict = IpyGameDataPY.GetFuncEvalCfg("MailLVAward", 3, {})
    mailDict = appIDMailDict.get(appID, {})
    for mailTypeKey, mailItemList in mailDict.items():
        PlayerMail.SendMailByKey(mailTypeKey, playerID, mailItemList)
        
    PlayerHero.OnPlayerFirstLogin(curPlayer)
    
@@ -767,7 +771,7 @@
    PlayerControl.SendMailByKey("MixServer1", [playerID], addItemList, gold=gold, silver=silver, detail=detailDict)
    
    # 同步排行榜
    PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True)
    #PlayerBillboard.UpdatePlayerBillboardOnLeaveServer(curPlayer, isAll=True)
    return
#---------------------------------------------------------------------
        
@@ -1373,6 +1377,7 @@
    if (curPlayer.GetAccState() & pow(2, ChConfig.Def_PysForbidByPy)) <= 0:
        return True
    
    GameWorld.Log("玩家被封号禁止登录" , curPlayer.GetPlayerID())
    curPlayer.Kick(IPY_GameWorld.disGMKick)
    return
@@ -3137,8 +3142,17 @@
    # 轮回殿奖励
    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)
    # 群英榜历史最高名次奖励 7
    elif rewardType == ChConfig.Def_RewardType_QunyingRankHighest:
        GameLogic_Qunying.GetQunyingRankHighestAward(curPlayer)
        
    # 首充礼包奖励
    elif rewardType == ChConfig.Def_RewardType_FirstCharge:
        PlayerGoldGift.GetPlayerFirstCharge(curPlayer, dataEx, dataExStr)
@@ -3151,9 +3165,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)
@@ -3195,16 +3206,16 @@
        PlayerZhanling.GetZhanlingReward(curPlayer, dataEx, dataExStr)
    #玩法前瞻奖励
    elif rewardType == ChConfig.Def_RewardType_GameNotice:
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GameNoticeAwardState, IpyGameDataPY.GetFuncEvalCfg("GameNoticeReward", 1))
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GameNoticeAwardState, IpyGameDataPY.GetFuncEvalCfg("GameNoticeReward", 1), "GameNotice")
    #每日分享奖励34
    elif rewardType == ChConfig.Def_RewardType_ShareGame:
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_ShareGameAwardState, IpyGameDataPY.GetFuncEvalCfg("ShareGameReward", 1))
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_ShareGameAwardState, IpyGameDataPY.GetFuncEvalCfg("ShareGameReward", 1), "ShareGame")
    #游戏好评奖励35
    elif rewardType == ChConfig.Def_RewardType_GoodGame:
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GoodGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 1))
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GoodGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 1), "GoodGame")
    #游戏点赞奖励67
    elif rewardType == ChConfig.Def_RewardType_LikeGame:
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_LikeGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 4))
        OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_LikeGameAwardState, IpyGameDataPY.GetFuncEvalCfg("GoodGameReward", 4), "LikeGame")
    #领取开服每日奖励
    elif rewardType == ChConfig.Def_RewardType_OpenServerDailyAward:
        openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
@@ -3872,14 +3883,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()