ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -52,10 +52,10 @@
import PlayerCrossRealmPK
import PlayerCrossChampionship
import GameFuncComm
import PlayerFamilyTaofa
import PlayerBossReborn
import PlayerWeekParty
import PlayerFeastWeekParty
import PlayerFeastTravel
import PlayerFeastLogin
import PlayerFeastWish
import PlayerActLogin
@@ -84,7 +84,6 @@
import PlayerCrossYaomoBoss
import PlayerLuckyCloudBuy
import PlayerLuckyTreasure
import Item_ResetAttrPoint
import CrossActCTGBillboard
import CrossActAllRecharge
import PlayerFuncSysPrivilege
@@ -102,7 +101,6 @@
import PlayerFaQi
import SkillShell
import PlayerGubao
import PlayerShentong
import PlayerCustomAward
import PlayerZhanling
import PlayerTree
@@ -132,6 +130,8 @@
import PlayerTalk
import PlayerHero
import PlayerOnline
import PlayerBeauty
import PlayerTravel
import TurnAttack
import PlayerHJG
import ObjPool
@@ -637,8 +637,6 @@
    PlayerFeastLogin.OnPlayerLogin(curPlayer)
    # 节日祝福活动
    PlayerFeastWish.OnPlayerLogin(curPlayer)
    # 节日游历活动
    PlayerFeastTravel.OnPlayerLogin(curPlayer)
    # 登录奖励活动
    PlayerActLogin.OnLogin(curPlayer)
    # 炼器活动
@@ -723,7 +721,6 @@
        PlayerHJG.OnPlayerLogin(curPlayer)
        PlayerXiangong.OnPlayerLogin(curPlayer)
        PlayerGubao.OnPlayerLogin(curPlayer)
        PlayerShentong.OnPlayerLogin(curPlayer)
        PlayerZhanling.OnPlayerLogin(curPlayer)
        PlayerTask.OnPlayerLogin(curPlayer)
        PlayerTree.OnPlayerLogin(curPlayer)
@@ -734,9 +731,11 @@
        UpdatePlayerName.OnPlayerLogin(curPlayer)
        PlayerActivity.OnPlayerLogin(curPlayer)
        PlayerLLMJ.OnPlayerLogin(curPlayer)
        PlayerBeauty.OnPlayerLogin(curPlayer)
        PlayerTravel.OnPlayerLogin(curPlayer)
        
        # 上线查询一次充值订单
        curPlayer.SendDBQueryRecharge()
        # curPlayer.SendDBQueryRecharge() 不查了,由在线轮询触发即可
        
    # 通知GameServer地图最终登录成功了
    isMixServerFirstLogin = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MixServerFirstLogin)
@@ -1366,30 +1365,6 @@
    #if curPlayer.GetPlayerAction() != IPY_GameWorld.paEvent:
    curPlayer.SetCanMove(True)
    
    #同步客户端tick
    #这个封包要在EndLoadMap, 上马之前发, 否则客户端处理时机不对(客户端封包缓存机制)
    #curPlayer.Sync_ClientTick()
    #做上一个地图的上马/骠车逻辑
    #恢复自己的状态
    playerVehicle = curPlayer.GetLastMapPlayerVehicle()
    if playerVehicle == IPY_GameWorld.pvHorse:
        #玩家在骑马中
        if not PlayerHorse.PlayerRideHorseUp(curPlayer, False, False):
        #=======================================================================
        #    playerHorseState = curPlayer.GetLastMapPlayerRidehorseState()
        #    if playerHorseState != IPY_GameWorld.prsNormal:
        #        #切换地图, 恢复急行状态
        #        curPlayer.SetPlayerRidehorseState(playerHorseState)
        #
        #    #刷新人物属性 所有状态
        #    playerControl = PlayerControl.PlayerControl(curPlayer)
        #    playerControl.RefreshAllState()
        # else:
        #=======================================================================
            #此时已经是下马状态不需要刷状态 但是需要通知客户端下马
            PlayerHorse.PlayerRideHorseDown(curPlayer, False)
    #激活玩家(保证持续性Buff处理间隔)
    PlayerControl.SetIsNeedProcess(curPlayer, True)
@@ -1604,7 +1579,7 @@
            return
        ItemCommon.ReduceItem(curPlayer, itemPack, [delIndex], 1, False, ChConfig.ItemDel_ResetAttrPoint)
    
    Item_ResetAttrPoint.DoResetAttrPoint(curPlayer, 0, 0, 0)
    #Item_ResetAttrPoint.DoResetAttrPoint(curPlayer, 0, 0, 0)
    return
def NotifyPlayerBasePoint(curPlayer, syncAttrIDList=[]):
@@ -3139,54 +3114,6 @@
    curPlayer.Syn_OfflineTimeQueryResult() # 通知客服端离线时间
    return
#//B0 24 领取家族悬赏奖励 #tagReceiveFamilyArrestAward
#
#struct    tagReceiveFamilyArrestAward
#
#{
#    tagHead        Head;
#    DWORD        ArrestID;        //悬赏任务ID
#};
## 领取家族悬赏奖励
#  @param index: 玩家索引
#  @param clientData: 封包结构体
#  @param tick: 时间戳
#  @return: None
def ReceiveFamilyArrestAward(index, clientData, tick):
    return
#//B0 26 请求家族悬赏奖励领取情况 #tagQueryFamilyArrestAwardReceiveState
#
#struct    tagQueryFamilyArrestAwardReceiveState
#
#{
#    tagHead        Head;
#};
## 请求家族悬赏奖励领取情况
#  @param index: 玩家索引
#  @param clientData: 封包结构体
#  @param tick: 时间戳
#  @return: None
def QueryFamilyArrestAwardReceiveState(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    Sync_FamilyArrestAwardReceiveState(curPlayer)
    return
## 通知客户端家族悬赏任务奖励领取情况
#  @param curPlayer: 玩家实例
#  @return: None
def Sync_FamilyArrestAwardReceiveState(curPlayer):
    awardReceiveState = ChPyNetSendPack.tagFamilyArrestAwardReceiveState()
    awardReceiveState.Clear()
    state = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyArrestAwardState)
    awardReceiveState.ReceiveState = state
    NetPackCommon.SendFakePack(curPlayer, awardReceiveState)
    return
def PlayerOnDay(curPlayer):
    #玩法前瞻奖励
    gameNoticeAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GameNoticeAwardState)
@@ -3243,19 +3170,30 @@
        PlayerSuccess.GetSuccessAward(curPlayer, dataEx)
    # 仙树免费减时
    elif rewardType == ChConfig.Def_RewardType_TreeFreeTime:
        PlayerTree.FreeReduceTreeLVTime(curPlayer)
        PlayerTree.FreeReduceTreeLVTime(curPlayer, dataEx)
    # 广告奖励
    elif rewardType == ChConfig.Def_RewardType_ADAward:
        OnGetADAward(curPlayer, dataEx)
    # 历练秘笈升级
    elif rewardType == ChConfig.Def_RewardType_LLMJLVUp:
        PlayerLLMJ.OnLLMJLVUp(curPlayer)
    # 公会讨伐领取宝箱奖励
    elif rewardType == ChConfig.Def_RewardType_FamilyTaofaBox:
        PlayerFamilyTaofa.GetTaofaBoxAward(curPlayer)
    # 阵容推荐奖励
    elif rewardType == ChConfig.Def_RewardType_LineupRecommend:
        PlayerHero.GetLineupRecommendAward(curPlayer, dataEx, dataExStr)
    # 功能开启奖励
    elif rewardType == ChConfig.Def_RewardType_OpenFunc:
        GameFuncComm.GetFuncOpenAward(curPlayer, dataEx)
    # 红颜等级奖励
    elif rewardType == ChConfig.Def_RewardType_BeautyLVAward:
        PlayerBeauty.GetBeautyLVAward(curPlayer, dataEx)
    # 每日免费直购礼包
    elif rewardType == ChConfig.Def_RewardType_DayFreeGoldGift:
        PlayerDailyGiftbag.OnGetDailyFreeGiftbag(curPlayer)
    # 仙盟每日福利奖励
    #elif rewardType == ChConfig.Def_RewardType_FamilyDayAward:
    #    PlayerFamily.GetFamilyDayAward(curPlayer)
    # 玩家等级奖励
    elif rewardType == ChConfig.Def_RewardType_LVAward:
        PlayerLVAward.GetPlayerLVAward(curPlayer, dataEx)
@@ -3283,9 +3221,6 @@
    # 领取许愿池奖励
    elif rewardType == ChConfig.Def_RewardType_WishingWell:
        PlayerWishingWell.DoGetWishingAward(curPlayer)
    # 功能开启奖励
    elif rewardType == ChConfig.Def_RewardType_OpenFunc:
        GameFuncComm.GetFuncOpenAward(curPlayer, dataEx)
    # 领取周狂欢活动奖励
    elif rewardType == ChConfig.Def_RewardType_WeekPartyAct:
        PlayerWeekParty.GetWeekPartyActionAward(curPlayer, dataEx, dataExStr)
@@ -3304,9 +3239,6 @@
    # 领取节日登录奖励
    elif rewardType == ChConfig.Def_RewardType_FeastLogin:
        PlayerFeastLogin.GetFeastLoginAward(curPlayer, dataEx)
    # 领取节日游历奖励
    elif rewardType == ChConfig.Def_RewardType_FeastTravel:
        PlayerFeastTravel.GetFeastTravelAward(curPlayer, dataEx)
    # 领取登录活动奖励
    elif rewardType == ChConfig.Def_RewardType_ActLoginAwardNew:
        PlayerActLoginNew.OnGetActLoginAward(curPlayer, dataEx, dataExStr)
@@ -3346,9 +3278,6 @@
    #历史累计充值领取
    elif rewardType == ChConfig.Def_RewardType_HistoryChargeAward:
        PlayerGoldGift.OnGetHistoryRechargeAward(curPlayer, dataEx)
    #在线特惠充值额外奖励
    elif rewardType == ChConfig.Def_RewardType_OnlineRechargeTH:
        PlayerCoin.OnGetOnlineRechargeTH(curPlayer)
    #创角奖励
    elif rewardType == ChConfig.Def_RewardType_CreateRole:
        OnGetCreateRoleAward(curPlayer)
@@ -3396,22 +3325,34 @@
        return
    adCntMax = ipyData.GetADCntMax()
    adCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ADCnt % adID)
    if adCnt >= adCntMax:
    if adCntMax and adCnt >= adCntMax:
        GameWorld.DebugLog("今日该广告奖励已达上限! adID=%s,adCnt=%s > %s" % (adID, adCnt, adCntMax))
        return
    adCnt += 1
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ADCnt % adID, adCnt)
    awardItemList = ipyData.GetADAwardItemList()
    adMapID = ipyData.GetADMapID()
    GameWorld.DebugLog("领取广告奖励! adID=%s,adCnt=%s,adMapID=%s,awardItemList=%s" % (adID, adCnt, adMapID, awardItemList))
    adAwardType = ipyData.GetADAwardType()
    adAwardValue = ipyData.GetADAwardValue()
    GameWorld.DebugLog("领取广告奖励! adID=%s,adCnt=%s,adAwardType=%s,adAwardValue=%s,awardItemList=%s" % (adID, adCnt, adAwardType, adAwardValue, awardItemList))
    SyncADCntInfo(curPlayer, [adID])
    
    if adMapID:
        FBCommon.AddFBADCnt(curPlayer, adMapID)
    if awardItemList:
        ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["ADAward", False, {}])
        
    # 领取祝福树充能奖励
    if adAwardType == 1:
        PlayerTree.GetTreeEnergyAward(curPlayer, False)
    # 副本次数
    elif adAwardType == 2:
        adMapID = adAwardValue
        FBCommon.AddFBADCnt(curPlayer, adMapID)
    # 寻宝
    elif adAwardType == 3:
        treasureType = adAwardValue
        PlayerTreasure.DoTreasure(curPlayer, treasureType, PlayerTreasure.CostType_ADFree)
    # 游历体力
    elif adAwardType == 4:
        PlayerTravel.AddTravelEnergy(curPlayer, adAwardValue)
    return
def ADCntOnDay(curPlayer):
@@ -3766,24 +3707,6 @@
    clientPack.NowMicSecond = serverTime.microsecond
    clientPack.WeekOfYear = GameWorld.GetWeekOfYear()
    NetPackCommon.SendFakePack(curPlayer, clientPack)
    #旧包先保留,之后删除
    gw = GameWorld.GetGameWorld()
    packData = ChPyNetSendPack.tagOpenServerDay()
    packData.Clear()
    packData.Day = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)
    packData.IsMixServer = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_IsMixServer)
    packData.MixDay = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_MixServerDay)
    packData.OpenWeekday = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_OpenServerWeekday)
    packData.NowYear = serverTime.year
    packData.NowMonth = serverTime.month
    packData.NowDay = serverTime.day
    packData.NowHour = serverTime.hour
    packData.NowMinute = serverTime.minute
    packData.NowSecond = serverTime.second
    packData.NowMicSecond = serverTime.microsecond
    packData.WeekOfYear = GameWorld.GetWeekOfYear()
    NetPackCommon.SendFakePack(curPlayer, packData)
    return
#===============================================================================