From 23876f36a929f7e8f1fe94ae543b03bc24a61f1e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 25 二月 2025 20:24:08 +0800
Subject: [PATCH] 10263 【越南】【英文】【BT】【GM】【砍树】后端支持NPC仿真实玩家战斗和快速战斗(镜像回收时同步清除地图中缓存的镜像被动buff效果;)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 47 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 38 insertions(+), 9 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 73174b1..3bffc00 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -8695,6 +8695,7 @@
Job = 0 #(BYTE Job)
Face = 0 #(DWORD Face)
FacePic = 0 #(DWORD FacePic)
+ RobValue = 0 #(DWORD RobValue)// 抢劫敌对值
MineCount = 0 #(BYTE MineCount)
MineItemList = list() #(vector<tagGCMineItem> MineItemList)// 矿物列表
data = None
@@ -8710,6 +8711,7 @@
self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.RobValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.MineCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.MineCount):
temMineItemList = tagGCMineItem()
@@ -8723,6 +8725,7 @@
self.Job = 0
self.Face = 0
self.FacePic = 0
+ self.RobValue = 0
self.MineCount = 0
self.MineItemList = list()
return
@@ -8732,6 +8735,7 @@
length += 4
length += 33
length += 1
+ length += 4
length += 4
length += 4
length += 1
@@ -8747,6 +8751,7 @@
data = CommFunc.WriteBYTE(data, self.Job)
data = CommFunc.WriteDWORD(data, self.Face)
data = CommFunc.WriteDWORD(data, self.FacePic)
+ data = CommFunc.WriteDWORD(data, self.RobValue)
data = CommFunc.WriteBYTE(data, self.MineCount)
for i in range(self.MineCount):
data = CommFunc.WriteString(data, self.MineItemList[i].GetLength(), self.MineItemList[i].GetBuffer())
@@ -8759,6 +8764,7 @@
Job:%d,
Face:%d,
FacePic:%d,
+ RobValue:%d,
MineCount:%d,
MineItemList:%s
'''\
@@ -8768,6 +8774,7 @@
self.Job,
self.Face,
self.FacePic,
+ self.RobValue,
self.MineCount,
"..."
)
@@ -25958,7 +25965,8 @@
_pack_ = 1
_fields_ = [
("MfpType", c_ubyte), #模块编号类型
- ("FightPower", c_int), #本模块战斗力
+ ("FightPower", c_int), #本模块战斗力,求余亿部分
+ ("FightPowerEx", c_int), #本模块战斗力,整除亿部分,1代表1亿
]
def __init__(self):
@@ -25973,6 +25981,7 @@
def Clear(self):
self.MfpType = 0
self.FightPower = 0
+ self.FightPowerEx = 0
return
def GetLength(self):
@@ -25984,11 +25993,13 @@
def OutputString(self):
DumpString = '''//A3 A1 各功能模块战斗力信息 //tagMCModuleFightPowerInfo:
MfpType:%d,
- FightPower:%d
+ FightPower:%d,
+ FightPowerEx:%d
'''\
%(
self.MfpType,
- self.FightPower
+ self.FightPower,
+ self.FightPowerEx
)
return DumpString
@@ -34188,7 +34199,7 @@
_pack_ = 1
_fields_ = [
("ItemIndex", c_int),
- ("BuyCnt", c_ushort), # 今日已购买次数
+ ("BuyCnt", c_int), # 今日已购买次数
("IsReset", c_ubyte), #是否重置
]
@@ -50503,7 +50514,8 @@
("CampaignType", c_ubyte), #奖励类型
("BillAwardRecord", c_ubyte), #排行奖励是否已领取
("TagAwardRecord", c_int), #目标奖励索引位领取记录:0-未领;1-已领
- ("RecordData", c_int), #活动时的记录值
+ ("RecordData", c_int), #活动时的记录值,求余亿部分,为了统一逻辑,其他非战力榜的也使用此规则
+ ("RecordDataEx", c_int), #活动时的记录值,整除亿部分,1代表1亿
]
def __init__(self):
@@ -50520,6 +50532,7 @@
self.BillAwardRecord = 0
self.TagAwardRecord = 0
self.RecordData = 0
+ self.RecordDataEx = 0
return
def GetLength(self):
@@ -50533,13 +50546,15 @@
CampaignType:%d,
BillAwardRecord:%d,
TagAwardRecord:%d,
- RecordData:%d
+ RecordData:%d,
+ RecordDataEx:%d
'''\
%(
self.CampaignType,
self.BillAwardRecord,
self.TagAwardRecord,
- self.RecordData
+ self.RecordData,
+ self.RecordDataEx
)
return DumpString
@@ -51439,11 +51454,13 @@
EnergyUsed = 0 #(WORD EnergyUsed)// 今日已消耗体力
RefreshCount = 0 #(DWORD RefreshCount)// 今日福地刷新物品次数 - 普通刷新
RefreshCountSuper = 0 #(BYTE RefreshCountSuper)// 今日福地刷新物品次数 - 超级刷新
+ RefreshCountRob = 0 #(WORD RefreshCountRob)// 今日福地刷新周围玩家次数
TreasureCount = 0 #(BYTE TreasureCount)// 聚宝盆类型个数,对应类型 0~n
TreasureState = list() #(vector<BYTE> TreasureState)// 聚宝盆是否已激活列表,[类型0是否已激活, ...]
TreasureAward = list() #(vector<BYTE> TreasureAward)// 聚宝盆奖励是否已领取列表,[类型0是否已领取, ...]
TreasureProgress = list() #(vector<BYTE> TreasureProgress)// 聚宝盆进度值列表,[类型0进度值, ...],满进度100
HelpAwardCount = 0 #(BYTE HelpAwardCount)// 今日已帮助别人奖励次数
+ HousekeeperEndTime = 0 #(DWORD HousekeeperEndTime)// 自动管家到期时间戳,有值同时也代表免费试用已使用
data = None
def __init__(self):
@@ -51459,6 +51476,7 @@
self.EnergyUsed,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.RefreshCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.RefreshCountSuper,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.RefreshCountRob,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.TreasureCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.TreasureCount):
value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
@@ -51470,6 +51488,7 @@
value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
self.TreasureProgress.append(value)
self.HelpAwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.HousekeeperEndTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -51481,11 +51500,13 @@
self.EnergyUsed = 0
self.RefreshCount = 0
self.RefreshCountSuper = 0
+ self.RefreshCountRob = 0
self.TreasureCount = 0
self.TreasureState = list()
self.TreasureAward = list()
self.TreasureProgress = list()
self.HelpAwardCount = 0
+ self.HousekeeperEndTime = 0
return
def GetLength(self):
@@ -51495,11 +51516,13 @@
length += 2
length += 4
length += 1
+ length += 2
length += 1
length += 1 * self.TreasureCount
length += 1 * self.TreasureCount
length += 1 * self.TreasureCount
length += 1
+ length += 4
return length
@@ -51510,6 +51533,7 @@
data = CommFunc.WriteWORD(data, self.EnergyUsed)
data = CommFunc.WriteDWORD(data, self.RefreshCount)
data = CommFunc.WriteBYTE(data, self.RefreshCountSuper)
+ data = CommFunc.WriteWORD(data, self.RefreshCountRob)
data = CommFunc.WriteBYTE(data, self.TreasureCount)
for i in range(self.TreasureCount):
data = CommFunc.WriteBYTE(data, self.TreasureState[i])
@@ -51518,6 +51542,7 @@
for i in range(self.TreasureCount):
data = CommFunc.WriteBYTE(data, self.TreasureProgress[i])
data = CommFunc.WriteBYTE(data, self.HelpAwardCount)
+ data = CommFunc.WriteDWORD(data, self.HousekeeperEndTime)
return data
def OutputString(self):
@@ -51527,11 +51552,13 @@
EnergyUsed:%d,
RefreshCount:%d,
RefreshCountSuper:%d,
+ RefreshCountRob:%d,
TreasureCount:%d,
TreasureState:%s,
TreasureAward:%s,
TreasureProgress:%s,
- HelpAwardCount:%d
+ HelpAwardCount:%d,
+ HousekeeperEndTime:%d
'''\
%(
self.Head.OutputString(),
@@ -51539,11 +51566,13 @@
self.EnergyUsed,
self.RefreshCount,
self.RefreshCountSuper,
+ self.RefreshCountRob,
self.TreasureCount,
"...",
"...",
"...",
- self.HelpAwardCount
+ self.HelpAwardCount,
+ self.HousekeeperEndTime
)
return DumpString
--
Gitblit v1.8.0