From b350209bbfc9fc60851d813070464c641702b52b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 18 二月 2025 00:47:31 +0800 Subject: [PATCH] 5562 【英文】【越南】【BT】【砍树】跨服子服玩家打包数据较大(暂存10条;) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 128 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 120 insertions(+), 8 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index c011fe6..c22dd73 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -8702,6 +8702,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 @@ -8717,6 +8718,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() @@ -8730,6 +8732,7 @@ self.Job = 0 self.Face = 0 self.FacePic = 0 + self.RobValue = 0 self.MineCount = 0 self.MineItemList = list() return @@ -8739,6 +8742,7 @@ length += 4 length += 33 length += 1 + length += 4 length += 4 length += 4 length += 1 @@ -8754,6 +8758,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()) @@ -8766,6 +8771,7 @@ Job:%d, Face:%d, FacePic:%d, + RobValue:%d, MineCount:%d, MineItemList:%s '''\ @@ -8775,6 +8781,7 @@ self.Job, self.Face, self.FacePic, + self.RobValue, self.MineCount, "..." ) @@ -20425,6 +20432,7 @@ ("SubCmd", c_ubyte), ("MapID", c_ushort), ("FuncLineID", c_ushort), #功能线路ID + ("FuncMapID", c_ushort), #功能地图ID ] def __init__(self): @@ -20443,6 +20451,7 @@ self.SubCmd = 0x26 self.MapID = 0 self.FuncLineID = 0 + self.FuncMapID = 0 return def GetLength(self): @@ -20456,13 +20465,15 @@ Cmd:%s, SubCmd:%s, MapID:%d, - FuncLineID:%d + FuncLineID:%d, + FuncMapID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, - self.FuncLineID + self.FuncLineID, + self.FuncMapID ) return DumpString @@ -20481,6 +20492,7 @@ ("SubCmd", c_ubyte), ("MapID", c_int), ("FuncLineID", c_ushort), #功能线路ID + ("FuncMapID", c_ushort), #功能地图ID ] def __init__(self): @@ -20499,6 +20511,7 @@ self.SubCmd = 0x27 self.MapID = 0 self.FuncLineID = 0 + self.FuncMapID = 0 return def GetLength(self): @@ -20512,13 +20525,15 @@ Cmd:%s, SubCmd:%s, MapID:%d, - FuncLineID:%d + FuncLineID:%d, + FuncMapID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, - self.FuncLineID + self.FuncLineID, + self.FuncMapID ) return DumpString @@ -28945,6 +28960,7 @@ TreasureType = 0 #(BYTE TreasureType)//寻宝类型 LuckValue = 0 #(WORD LuckValue)//当前幸运值 TreasureCount = 0 #(DWORD TreasureCount)//已寻宝总次数 + TreasureCountToday = 0 #(DWORD TreasureCountToday)//今日已寻宝总次数 FreeCountToday = 0 #(WORD FreeCountToday)//今日已免费寻宝次数 TreasureCntAward = 0 #(DWORD TreasureCntAward)//累计寻宝次数对应奖励领奖状态,按奖励记录索引二进制记录是否已领取 GridLimitCnt = 0 #(BYTE GridLimitCnt) @@ -28960,6 +28976,7 @@ self.TreasureType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.LuckValue,_pos = CommFunc.ReadWORD(_lpData, _pos) self.TreasureCount,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.TreasureCountToday,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.FreeCountToday,_pos = CommFunc.ReadWORD(_lpData, _pos) self.TreasureCntAward,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.GridLimitCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) @@ -28973,6 +28990,7 @@ self.TreasureType = 0 self.LuckValue = 0 self.TreasureCount = 0 + self.TreasureCountToday = 0 self.FreeCountToday = 0 self.TreasureCntAward = 0 self.GridLimitCnt = 0 @@ -28983,6 +29001,7 @@ length = 0 length += 1 length += 2 + length += 4 length += 4 length += 2 length += 4 @@ -28997,6 +29016,7 @@ data = CommFunc.WriteBYTE(data, self.TreasureType) data = CommFunc.WriteWORD(data, self.LuckValue) data = CommFunc.WriteDWORD(data, self.TreasureCount) + data = CommFunc.WriteDWORD(data, self.TreasureCountToday) data = CommFunc.WriteWORD(data, self.FreeCountToday) data = CommFunc.WriteDWORD(data, self.TreasureCntAward) data = CommFunc.WriteBYTE(data, self.GridLimitCnt) @@ -29009,6 +29029,7 @@ TreasureType:%d, LuckValue:%d, TreasureCount:%d, + TreasureCountToday:%d, FreeCountToday:%d, TreasureCntAward:%d, GridLimitCnt:%d, @@ -29018,6 +29039,7 @@ self.TreasureType, self.LuckValue, self.TreasureCount, + self.TreasureCountToday, self.FreeCountToday, self.TreasureCntAward, self.GridLimitCnt, @@ -44330,11 +44352,70 @@ return DumpString +class tagMCCrossActLianqiAwardEx(Structure): + NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分 + Count = 0 #(BYTE Count)// 额外奖励物品数 + AwardItemList = list() #(vector<tagMCCrossActLianqiItem> AwardItemList)// 额外奖励物品列表 + data = None + + def __init__(self): + self.Clear() + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.Count): + temAwardItemList = tagMCCrossActLianqiItem() + _pos = temAwardItemList.ReadData(_lpData, _pos) + self.AwardItemList.append(temAwardItemList) + return _pos + + def Clear(self): + self.NeedScore = 0 + self.Count = 0 + self.AwardItemList = list() + return + + def GetLength(self): + length = 0 + length += 4 + length += 1 + for i in range(self.Count): + length += self.AwardItemList[i].GetLength() + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteDWORD(data, self.NeedScore) + data = CommFunc.WriteBYTE(data, self.Count) + for i in range(self.Count): + data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' + NeedScore:%d, + Count:%d, + AwardItemList:%s + '''\ + %( + self.NeedScore, + self.Count, + "..." + ) + return DumpString + + class tagMCCrossActLianqiBillard(Structure): Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名 Count = 0 #(BYTE Count)// 奖励物品数 AwardItemList = list() #(vector<tagMCCrossActLianqiItem> AwardItemList)// 奖励物品列表 NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分 + CountEx = 0 #(BYTE CountEx)// 额外奖励数 + AwardItemExList = list() #(vector<tagMCCrossActLianqiAwardEx> AwardItemExList)// 额外奖励列表 data = None def __init__(self): @@ -44350,6 +44431,11 @@ _pos = temAwardItemList.ReadData(_lpData, _pos) self.AwardItemList.append(temAwardItemList) self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.CountEx): + temAwardItemExList = tagMCCrossActLianqiAwardEx() + _pos = temAwardItemExList.ReadData(_lpData, _pos) + self.AwardItemExList.append(temAwardItemExList) return _pos def Clear(self): @@ -44357,6 +44443,8 @@ self.Count = 0 self.AwardItemList = list() self.NeedScore = 0 + self.CountEx = 0 + self.AwardItemExList = list() return def GetLength(self): @@ -44366,6 +44454,9 @@ for i in range(self.Count): length += self.AwardItemList[i].GetLength() length += 4 + length += 1 + for i in range(self.CountEx): + length += self.AwardItemExList[i].GetLength() return length @@ -44376,6 +44467,9 @@ for i in range(self.Count): data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer()) data = CommFunc.WriteDWORD(data, self.NeedScore) + data = CommFunc.WriteBYTE(data, self.CountEx) + for i in range(self.CountEx): + data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer()) return data def OutputString(self): @@ -44383,13 +44477,17 @@ Rank:%d, Count:%d, AwardItemList:%s, - NeedScore:%d + NeedScore:%d, + CountEx:%d, + AwardItemExList:%s '''\ %( self.Rank, self.Count, "...", - self.NeedScore + self.NeedScore, + self.CountEx, + "..." ) return DumpString @@ -51279,11 +51377,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): @@ -51299,6 +51399,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) @@ -51310,6 +51411,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): @@ -51321,11 +51423,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): @@ -51335,11 +51439,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 @@ -51350,6 +51456,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]) @@ -51358,6 +51465,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): @@ -51367,11 +51475,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(), @@ -51379,11 +51489,13 @@ self.EnergyUsed, self.RefreshCount, self.RefreshCountSuper, + self.RefreshCountRob, self.TreasureCount, "...", "...", "...", - self.HelpAwardCount + self.HelpAwardCount, + self.HousekeeperEndTime ) return DumpString -- Gitblit v1.8.0