From c82bf80c543ddc6bada1e3085acb8ab9ee7b13db Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 28 十一月 2025 14:26:33 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(A340下发已完成的成就)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |  223 +++++++++----------------------------------------------
 1 files changed, 39 insertions(+), 184 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 d5213c2..64d44b9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -43,7 +43,6 @@
 import PlayerPrestigeSys
 import PlayerFamily
 import PlayerLoginDayAward
-import PlayerGodWeapon
 import PlayerGoldInvest
 import PlayerActivity
 import FBCommon
@@ -53,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
@@ -85,7 +84,6 @@
 import PlayerCrossYaomoBoss
 import PlayerLuckyCloudBuy
 import PlayerLuckyTreasure
-import Item_ResetAttrPoint
 import CrossActCTGBillboard
 import CrossActAllRecharge
 import PlayerFuncSysPrivilege
@@ -103,7 +101,6 @@
 import PlayerFaQi
 import SkillShell
 import PlayerGubao
-import PlayerShentong
 import PlayerCustomAward
 import PlayerZhanling
 import PlayerTree
@@ -133,6 +130,8 @@
 import PlayerTalk
 import PlayerHero
 import PlayerOnline
+import PlayerBeauty
+import PlayerTravel
 import TurnAttack
 import PlayerHJG
 import ObjPool
@@ -494,7 +493,6 @@
     PlayerControl.SyncOnLineTimeTotal(curPlayer)
     #PlayerControl.SyncOnLineTimeLastOpenPack(curPlayer, IPY_GameWorld.rptItem)
     PlayerControl.SyncTrainRealmLV(curPlayer)
-    PlayerGodWeapon.OnLogin(curPlayer)
     PlayerPrestigeSys.OnLogin(curPlayer)
     #DataRecordPack.DR_PlayerLogin(curPlayer)
     EventReport.WriteEvent_login(curPlayer)
@@ -505,9 +503,6 @@
     
     #玩家扩展信息
     __SyncPlayerInfoEx(curPlayer)
-    
-    #补丁包下载奖励
-    GiveDownloadPatchAward(curPlayer)
     
     #PK模式
     #SyncPKModel(curPlayer)
@@ -642,8 +637,6 @@
     PlayerFeastLogin.OnPlayerLogin(curPlayer)
     # 节日祝福活动
     PlayerFeastWish.OnPlayerLogin(curPlayer)
-    # 节日游历活动
-    PlayerFeastTravel.OnPlayerLogin(curPlayer)
     # 登录奖励活动
     PlayerActLogin.OnLogin(curPlayer)
     # 炼器活动
@@ -656,8 +649,6 @@
     PlayerActSingleRecharge.OnPlayerLogin(curPlayer)
     # 转盘活动
     PlayerActTurntable.OnPlayerLogin(curPlayer)
-    # 分支下载奖励记录通知
-    SyncPackDownloadAward(curPlayer)
     # 登录触发功能开启(老号处理)
     GameFuncComm.DoFuncOpenLogic(curPlayer)
     # 神兽
@@ -730,7 +721,6 @@
         PlayerHJG.OnPlayerLogin(curPlayer)
         PlayerXiangong.OnPlayerLogin(curPlayer)
         PlayerGubao.OnPlayerLogin(curPlayer)
-        PlayerShentong.OnPlayerLogin(curPlayer)
         PlayerZhanling.OnPlayerLogin(curPlayer)
         PlayerTask.OnPlayerLogin(curPlayer)
         PlayerTree.OnPlayerLogin(curPlayer)
@@ -741,6 +731,8 @@
         UpdatePlayerName.OnPlayerLogin(curPlayer)
         PlayerActivity.OnPlayerLogin(curPlayer)
         PlayerLLMJ.OnPlayerLogin(curPlayer)
+        PlayerBeauty.OnPlayerLogin(curPlayer)
+        PlayerTravel.OnPlayerLogin(curPlayer)
         
         # 上线查询一次充值订单
         curPlayer.SendDBQueryRecharge()
@@ -1373,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)
 
@@ -1611,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=[]):
@@ -3146,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)
@@ -3250,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)
@@ -3287,15 +3218,9 @@
     # 领取boss复活活动奖励
     elif rewardType == ChConfig.Def_RewardType_BossReborn:
         PlayerBossReborn.GetBossRebornActionAward(curPlayer, dataEx)
-    # 领取分包下载奖励
-    elif rewardType == ChConfig.Def_RewardType_DownLoad:
-        GetDownloadAward(curPlayer, dataEx)
     # 领取许愿池奖励
     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)
@@ -3314,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)
@@ -3356,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)
@@ -3406,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):
@@ -3776,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
 
 #===============================================================================
@@ -3972,64 +3885,6 @@
     sendPack.MoveType = moveType
     # NotifyAll 做过滤或者数量处理
     PlayerControl.PyNotifyAll(curPlayer, sendPack, False, 0)
-    return
-
-def GiveDownloadPatchAward(curPlayer):
-    ## 发放下载补丁包奖励
-    playerID = curPlayer.GetPlayerID()
-    patchAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 4)
-    curAwardNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadPatchAward)
-    if curAwardNum == patchAwardNum:
-        GameWorld.DebugLog("已发放下载补丁包奖励! curAwardNum(%s) == patchAwardNum(%s)" % (curAwardNum, patchAwardNum), playerID)
-        return
-    
-    awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 3)
-    if not awardItemList:
-        return
-    
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadPatchAward, patchAwardNum)
-    GameWorld.DebugLog("发放补丁包下载奖励: curAwardNum=%s,patchAwardNum=%s" % (curAwardNum, patchAwardNum), playerID)
-    PlayerControl.SendMailByKey("DownloadPatchAward", [playerID], awardItemList)
-    return
-
-def GetDownloadAward(curPlayer, dataEx):
-    ##分包下载奖励 dataEx 0直接领取 1发邮件
-    playerID = curPlayer.GetPlayerID()
-    downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 5)
-    curAwardNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
-    if curAwardNum == downloadAwardNum:
-        GameWorld.DebugLog("已领取分包奖励! curAwardNum(%s) == downloadAwardNum(%s)" % (curAwardNum, downloadAwardNum), playerID)
-        return
-    
-    awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 1)
-    if not awardItemList:
-        return
-    
-    # 检查背包
-    if dataEx == 0:
-        needSpace = len(awardItemList)
-        packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
-        if needSpace > packSpace:
-            PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
-            return
-        
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, downloadAwardNum)
-    GameWorld.DebugLog("领取分包下载奖励: curAwardNum=%s,downloadAwardNum=%s" % (curAwardNum, downloadAwardNum), playerID)
-    if dataEx == 1:
-        PlayerControl.SendMailByKey('SubpackageDownload', [curPlayer.GetID()], awardItemList)
-    else:
-        for itemID, itemCnt, isBind in awardItemList:
-            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem])
-    SyncPackDownloadAward(curPlayer)
-    return
-
-def SyncPackDownloadAward(curPlayer):
-    #分包下载奖励记录通知
-    downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 5)
-    sendPack = ChPyNetSendPack.tagMCPackDownloadRecord()
-    sendPack.Clear()
-    sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) == downloadAwardNum
-    NetPackCommon.SendFakePack(curPlayer, sendPack)
     return
 
 def NotifyPlayerMove(curPlayer, posX, posY, npcID=0):

--
Gitblit v1.8.0