From d171a50540a656408fbcc1cda016e3d0aede51f9 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 26 二月 2025 17:53:32 +0800 Subject: [PATCH] 10385 【越南】【英语】【BT】【GM】【砍树】福地新增鼠管及优化-服务端(优化结算奖励逻辑;) --- 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