From 1dd273126494e6f8ffd7a994b637f45ad1128191 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 03 十二月 2025 19:55:27 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(战报改为存储B430包Buffer;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 100 +++++++++++++++-----------------------------------
1 files changed, 30 insertions(+), 70 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 76605b3..6fe71fd 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
@@ -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)
@@ -3115,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)
@@ -3219,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)
@@ -3232,6 +3183,12 @@
# 阵容推荐奖励
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)
# 每日免费直购礼包
@@ -3264,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)
@@ -3285,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)
@@ -3327,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)
@@ -3377,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):
--
Gitblit v1.8.0