From fd46c6afd9024b1739a449786c284461d0394d0b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 01 十二月 2025 15:05:47 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(白骨盈野特殊效果改为固定奖励)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 151 +++++++++++--------------------------------------
1 files changed, 35 insertions(+), 116 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 c80f766..64d44b9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -56,7 +56,6 @@
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
@@ -638,8 +637,6 @@
PlayerFeastLogin.OnPlayerLogin(curPlayer)
# 节日祝福活动
PlayerFeastWish.OnPlayerLogin(curPlayer)
- # 节日游历活动
- PlayerFeastTravel.OnPlayerLogin(curPlayer)
# 登录奖励活动
PlayerActLogin.OnLogin(curPlayer)
# 炼器活动
@@ -724,7 +721,6 @@
PlayerHJG.OnPlayerLogin(curPlayer)
PlayerXiangong.OnPlayerLogin(curPlayer)
PlayerGubao.OnPlayerLogin(curPlayer)
- PlayerShentong.OnPlayerLogin(curPlayer)
PlayerZhanling.OnPlayerLogin(curPlayer)
PlayerTask.OnPlayerLogin(curPlayer)
PlayerTree.OnPlayerLogin(curPlayer)
@@ -735,6 +731,8 @@
UpdatePlayerName.OnPlayerLogin(curPlayer)
PlayerActivity.OnPlayerLogin(curPlayer)
PlayerLLMJ.OnPlayerLogin(curPlayer)
+ PlayerBeauty.OnPlayerLogin(curPlayer)
+ PlayerTravel.OnPlayerLogin(curPlayer)
# 上线查询一次充值订单
curPlayer.SendDBQueryRecharge()
@@ -1367,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)
@@ -1605,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=[]):
@@ -3140,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)
@@ -3244,7 +3170,7 @@
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)
@@ -3254,12 +3180,20 @@
# 公会讨伐领取宝箱奖励
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,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)
@@ -3308,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)
@@ -3350,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)
@@ -3400,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):
@@ -3770,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
#===============================================================================
--
Gitblit v1.8.0