From 388823edfe6308cba6f76ca6dc4f20022c5cb2be Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 30 六月 2025 19:03:50 +0800 Subject: [PATCH] 10431 【英文】看广告获得限时代金券 --- ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py | 800 ++++++++++++++++++++++++-------------------------------- 1 files changed, 345 insertions(+), 455 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py index 741718a..6c8e35a 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py @@ -612,6 +612,7 @@ ("SubCmd", c_ubyte), ("PlayerID", c_int), #玩家ID ("FindPlayerID", c_int), #要查询的玩家ID + ("EquipClassLV", c_ubyte), #大于0为查看指定境界阶装备信息, 0为查看默认信息 ] def __init__(self): @@ -630,6 +631,7 @@ self.SubCmd = 0x02 self.PlayerID = 0 self.FindPlayerID = 0 + self.EquipClassLV = 0 return def GetLength(self): @@ -643,13 +645,15 @@ Cmd:%s, SubCmd:%s, PlayerID:%d, - FindPlayerID:%d + FindPlayerID:%d, + EquipClassLV:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID, - self.FindPlayerID + self.FindPlayerID, + self.EquipClassLV ) return DumpString @@ -665,14 +669,57 @@ Head = tagHead() PlayerID = 0 #(DWORD PlayerID)//玩家ID PlayerLV = 0 #(WORD PlayerLV)//玩家等级 - PropDataSize = 0 #(DWORD PropDataSize) - PropData = "" #(String PropData)//属性记录 - ItemDataSize = 0 #(DWORD ItemDataSize) - ItemData = "" #(String ItemData)//物品记录 - PlusDataSize = 0 #(DWORD PlusDataSize) - PlusData = "" #(String PlusData)//扩展记录 IsLogouting = 0 #(BYTE IsLogouting)//本次是否为下线同步 OffTime = 0 #(DWORD OffTime)// 下线时间戳 + PropDataSize = 0 #(WORD PropDataSize) + PropData = "" #(String PropData)//属性记录 + PlusDataSize = 0 #(WORD PlusDataSize) + PlusData = "" #(String PlusData)//扩展记录 + ItemDataSize1 = 0 #(WORD ItemDataSize1) + ItemData1 = "" #(String ItemData1)//1阶装备数据 + ItemDataSize2 = 0 #(WORD ItemDataSize2) + ItemData2 = "" #(String ItemData2) + ItemDataSize3 = 0 #(WORD ItemDataSize3) + ItemData3 = "" #(String ItemData3) + ItemDataSize4 = 0 #(WORD ItemDataSize4) + ItemData4 = "" #(String ItemData4) + ItemDataSize5 = 0 #(WORD ItemDataSize5) + ItemData5 = "" #(String ItemData5) + ItemDataSize6 = 0 #(WORD ItemDataSize6) + ItemData6 = "" #(String ItemData6) + ItemDataSize7 = 0 #(WORD ItemDataSize7) + ItemData7 = "" #(String ItemData7) + ItemDataSize8 = 0 #(WORD ItemDataSize8) + ItemData8 = "" #(String ItemData8) + ItemDataSize9 = 0 #(WORD ItemDataSize9) + ItemData9 = "" #(String ItemData9) + ItemDataSize10 = 0 #(WORD ItemDataSize10) + ItemData10 = "" #(String ItemData10) + ItemDataSize11 = 0 #(WORD ItemDataSize11) + ItemData11 = "" #(String ItemData11) + ItemDataSize12 = 0 #(WORD ItemDataSize12) + ItemData12 = "" #(String ItemData12) + ItemDataSize13 = 0 #(WORD ItemDataSize13) + ItemData13 = "" #(String ItemData13) + ItemDataSize14 = 0 #(WORD ItemDataSize14) + ItemData14 = "" #(String ItemData14) + ItemDataSize15 = 0 #(WORD ItemDataSize15) + ItemData15 = "" #(String ItemData15) + ItemDataSize16 = 0 #(WORD ItemDataSize16) + ItemData16 = "" #(String ItemData16) + ItemDataSize17 = 0 #(WORD ItemDataSize17) + ItemData17 = "" #(String ItemData17) + ItemDataSize18 = 0 #(WORD ItemDataSize18) + ItemData18 = "" #(String ItemData18) + ItemDataSize19 = 0 #(WORD ItemDataSize19) + ItemData19 = "" #(String ItemData19) + ItemDataSize20 = 0 #(WORD ItemDataSize20) + ItemData20 = "" #(String ItemData20) + PackDataSyncState = 0 #(BYTE PackDataSyncState)// 打包数据同步状态: 0-不同步;个位-是否同步本服;十位-是否同步跨服 + PackDataLen = 0 #(DWORD PackDataLen) + PackData = "" #(String PackData) + PackMsgLen = 0 #(WORD PackMsgLen) + PackMsg = "" #(String PackMsg) data = None def __init__(self): @@ -686,14 +733,57 @@ _pos = self.Head.ReadData(_lpData, _pos) self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.PlayerLV,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.PropDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.PropData,_pos = CommFunc.ReadString(_lpData, _pos,self.PropDataSize) - self.ItemDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.ItemData,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize) - self.PlusDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize) self.IsLogouting,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.OffTime,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.PropDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.PropData,_pos = CommFunc.ReadString(_lpData, _pos,self.PropDataSize) + self.PlusDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize) + self.ItemDataSize1,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData1,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize1) + self.ItemDataSize2,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData2,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize2) + self.ItemDataSize3,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData3,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize3) + self.ItemDataSize4,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData4,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize4) + self.ItemDataSize5,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData5,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize5) + self.ItemDataSize6,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData6,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize6) + self.ItemDataSize7,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData7,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize7) + self.ItemDataSize8,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData8,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize8) + self.ItemDataSize9,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData9,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize9) + self.ItemDataSize10,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData10,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize10) + self.ItemDataSize11,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData11,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize11) + self.ItemDataSize12,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData12,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize12) + self.ItemDataSize13,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData13,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize13) + self.ItemDataSize14,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData14,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize14) + self.ItemDataSize15,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData15,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize15) + self.ItemDataSize16,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData16,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize16) + self.ItemDataSize17,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData17,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize17) + self.ItemDataSize18,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData18,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize18) + self.ItemDataSize19,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData19,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize19) + self.ItemDataSize20,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.ItemData20,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize20) + self.PackDataSyncState,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.PackDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.PackData,_pos = CommFunc.ReadString(_lpData, _pos,self.PackDataLen) + self.PackMsgLen,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.PackMsg,_pos = CommFunc.ReadString(_lpData, _pos,self.PackMsgLen) return _pos def Clear(self): @@ -703,14 +793,57 @@ self.Head.SubCmd = 0x01 self.PlayerID = 0 self.PlayerLV = 0 - self.PropDataSize = 0 - self.PropData = "" - self.ItemDataSize = 0 - self.ItemData = "" - self.PlusDataSize = 0 - self.PlusData = "" self.IsLogouting = 0 self.OffTime = 0 + self.PropDataSize = 0 + self.PropData = "" + self.PlusDataSize = 0 + self.PlusData = "" + self.ItemDataSize1 = 0 + self.ItemData1 = "" + self.ItemDataSize2 = 0 + self.ItemData2 = "" + self.ItemDataSize3 = 0 + self.ItemData3 = "" + self.ItemDataSize4 = 0 + self.ItemData4 = "" + self.ItemDataSize5 = 0 + self.ItemData5 = "" + self.ItemDataSize6 = 0 + self.ItemData6 = "" + self.ItemDataSize7 = 0 + self.ItemData7 = "" + self.ItemDataSize8 = 0 + self.ItemData8 = "" + self.ItemDataSize9 = 0 + self.ItemData9 = "" + self.ItemDataSize10 = 0 + self.ItemData10 = "" + self.ItemDataSize11 = 0 + self.ItemData11 = "" + self.ItemDataSize12 = 0 + self.ItemData12 = "" + self.ItemDataSize13 = 0 + self.ItemData13 = "" + self.ItemDataSize14 = 0 + self.ItemData14 = "" + self.ItemDataSize15 = 0 + self.ItemData15 = "" + self.ItemDataSize16 = 0 + self.ItemData16 = "" + self.ItemDataSize17 = 0 + self.ItemData17 = "" + self.ItemDataSize18 = 0 + self.ItemData18 = "" + self.ItemDataSize19 = 0 + self.ItemData19 = "" + self.ItemDataSize20 = 0 + self.ItemData20 = "" + self.PackDataSyncState = 0 + self.PackDataLen = 0 + self.PackData = "" + self.PackMsgLen = 0 + self.PackMsg = "" return def GetLength(self): @@ -718,14 +851,57 @@ length += self.Head.GetLength() length += 4 length += 2 - length += 4 - length += len(self.PropData) - length += 4 - length += len(self.ItemData) - length += 4 - length += len(self.PlusData) length += 1 length += 4 + length += 2 + length += len(self.PropData) + length += 2 + length += len(self.PlusData) + length += 2 + length += len(self.ItemData1) + length += 2 + length += len(self.ItemData2) + length += 2 + length += len(self.ItemData3) + length += 2 + length += len(self.ItemData4) + length += 2 + length += len(self.ItemData5) + length += 2 + length += len(self.ItemData6) + length += 2 + length += len(self.ItemData7) + length += 2 + length += len(self.ItemData8) + length += 2 + length += len(self.ItemData9) + length += 2 + length += len(self.ItemData10) + length += 2 + length += len(self.ItemData11) + length += 2 + length += len(self.ItemData12) + length += 2 + length += len(self.ItemData13) + length += 2 + length += len(self.ItemData14) + length += 2 + length += len(self.ItemData15) + length += 2 + length += len(self.ItemData16) + length += 2 + length += len(self.ItemData17) + length += 2 + length += len(self.ItemData18) + length += 2 + length += len(self.ItemData19) + length += 2 + length += len(self.ItemData20) + length += 1 + length += 4 + length += len(self.PackData) + length += 2 + length += len(self.PackMsg) return length @@ -734,14 +910,57 @@ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.PlayerID) data = CommFunc.WriteWORD(data, self.PlayerLV) - data = CommFunc.WriteDWORD(data, self.PropDataSize) - data = CommFunc.WriteString(data, self.PropDataSize, self.PropData) - data = CommFunc.WriteDWORD(data, self.ItemDataSize) - data = CommFunc.WriteString(data, self.ItemDataSize, self.ItemData) - data = CommFunc.WriteDWORD(data, self.PlusDataSize) - data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData) data = CommFunc.WriteBYTE(data, self.IsLogouting) data = CommFunc.WriteDWORD(data, self.OffTime) + data = CommFunc.WriteWORD(data, self.PropDataSize) + data = CommFunc.WriteString(data, self.PropDataSize, self.PropData) + data = CommFunc.WriteWORD(data, self.PlusDataSize) + data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData) + data = CommFunc.WriteWORD(data, self.ItemDataSize1) + data = CommFunc.WriteString(data, self.ItemDataSize1, self.ItemData1) + data = CommFunc.WriteWORD(data, self.ItemDataSize2) + data = CommFunc.WriteString(data, self.ItemDataSize2, self.ItemData2) + data = CommFunc.WriteWORD(data, self.ItemDataSize3) + data = CommFunc.WriteString(data, self.ItemDataSize3, self.ItemData3) + data = CommFunc.WriteWORD(data, self.ItemDataSize4) + data = CommFunc.WriteString(data, self.ItemDataSize4, self.ItemData4) + data = CommFunc.WriteWORD(data, self.ItemDataSize5) + data = CommFunc.WriteString(data, self.ItemDataSize5, self.ItemData5) + data = CommFunc.WriteWORD(data, self.ItemDataSize6) + data = CommFunc.WriteString(data, self.ItemDataSize6, self.ItemData6) + data = CommFunc.WriteWORD(data, self.ItemDataSize7) + data = CommFunc.WriteString(data, self.ItemDataSize7, self.ItemData7) + data = CommFunc.WriteWORD(data, self.ItemDataSize8) + data = CommFunc.WriteString(data, self.ItemDataSize8, self.ItemData8) + data = CommFunc.WriteWORD(data, self.ItemDataSize9) + data = CommFunc.WriteString(data, self.ItemDataSize9, self.ItemData9) + data = CommFunc.WriteWORD(data, self.ItemDataSize10) + data = CommFunc.WriteString(data, self.ItemDataSize10, self.ItemData10) + data = CommFunc.WriteWORD(data, self.ItemDataSize11) + data = CommFunc.WriteString(data, self.ItemDataSize11, self.ItemData11) + data = CommFunc.WriteWORD(data, self.ItemDataSize12) + data = CommFunc.WriteString(data, self.ItemDataSize12, self.ItemData12) + data = CommFunc.WriteWORD(data, self.ItemDataSize13) + data = CommFunc.WriteString(data, self.ItemDataSize13, self.ItemData13) + data = CommFunc.WriteWORD(data, self.ItemDataSize14) + data = CommFunc.WriteString(data, self.ItemDataSize14, self.ItemData14) + data = CommFunc.WriteWORD(data, self.ItemDataSize15) + data = CommFunc.WriteString(data, self.ItemDataSize15, self.ItemData15) + data = CommFunc.WriteWORD(data, self.ItemDataSize16) + data = CommFunc.WriteString(data, self.ItemDataSize16, self.ItemData16) + data = CommFunc.WriteWORD(data, self.ItemDataSize17) + data = CommFunc.WriteString(data, self.ItemDataSize17, self.ItemData17) + data = CommFunc.WriteWORD(data, self.ItemDataSize18) + data = CommFunc.WriteString(data, self.ItemDataSize18, self.ItemData18) + data = CommFunc.WriteWORD(data, self.ItemDataSize19) + data = CommFunc.WriteString(data, self.ItemDataSize19, self.ItemData19) + data = CommFunc.WriteWORD(data, self.ItemDataSize20) + data = CommFunc.WriteString(data, self.ItemDataSize20, self.ItemData20) + data = CommFunc.WriteBYTE(data, self.PackDataSyncState) + data = CommFunc.WriteDWORD(data, self.PackDataLen) + data = CommFunc.WriteString(data, self.PackDataLen, self.PackData) + data = CommFunc.WriteWORD(data, self.PackMsgLen) + data = CommFunc.WriteString(data, self.PackMsgLen, self.PackMsg) return data def OutputString(self): @@ -749,27 +968,113 @@ Head:%s, PlayerID:%d, PlayerLV:%d, + IsLogouting:%d, + OffTime:%d, PropDataSize:%d, PropData:%s, - ItemDataSize:%d, - ItemData:%s, PlusDataSize:%d, PlusData:%s, - IsLogouting:%d, - OffTime:%d + ItemDataSize1:%d, + ItemData1:%s, + ItemDataSize2:%d, + ItemData2:%s, + ItemDataSize3:%d, + ItemData3:%s, + ItemDataSize4:%d, + ItemData4:%s, + ItemDataSize5:%d, + ItemData5:%s, + ItemDataSize6:%d, + ItemData6:%s, + ItemDataSize7:%d, + ItemData7:%s, + ItemDataSize8:%d, + ItemData8:%s, + ItemDataSize9:%d, + ItemData9:%s, + ItemDataSize10:%d, + ItemData10:%s, + ItemDataSize11:%d, + ItemData11:%s, + ItemDataSize12:%d, + ItemData12:%s, + ItemDataSize13:%d, + ItemData13:%s, + ItemDataSize14:%d, + ItemData14:%s, + ItemDataSize15:%d, + ItemData15:%s, + ItemDataSize16:%d, + ItemData16:%s, + ItemDataSize17:%d, + ItemData17:%s, + ItemDataSize18:%d, + ItemData18:%s, + ItemDataSize19:%d, + ItemData19:%s, + ItemDataSize20:%d, + ItemData20:%s, + PackDataSyncState:%d, + PackDataLen:%d, + PackData:%s, + PackMsgLen:%d, + PackMsg:%s '''\ %( self.Head.OutputString(), self.PlayerID, self.PlayerLV, + self.IsLogouting, + self.OffTime, self.PropDataSize, self.PropData, - self.ItemDataSize, - self.ItemData, self.PlusDataSize, self.PlusData, - self.IsLogouting, - self.OffTime + self.ItemDataSize1, + self.ItemData1, + self.ItemDataSize2, + self.ItemData2, + self.ItemDataSize3, + self.ItemData3, + self.ItemDataSize4, + self.ItemData4, + self.ItemDataSize5, + self.ItemData5, + self.ItemDataSize6, + self.ItemData6, + self.ItemDataSize7, + self.ItemData7, + self.ItemDataSize8, + self.ItemData8, + self.ItemDataSize9, + self.ItemData9, + self.ItemDataSize10, + self.ItemData10, + self.ItemDataSize11, + self.ItemData11, + self.ItemDataSize12, + self.ItemData12, + self.ItemDataSize13, + self.ItemData13, + self.ItemDataSize14, + self.ItemData14, + self.ItemDataSize15, + self.ItemData15, + self.ItemDataSize16, + self.ItemData16, + self.ItemDataSize17, + self.ItemData17, + self.ItemDataSize18, + self.ItemData18, + self.ItemDataSize19, + self.ItemData19, + self.ItemDataSize20, + self.ItemData20, + self.PackDataSyncState, + self.PackDataLen, + self.PackData, + self.PackMsgLen, + self.PackMsg ) return DumpString @@ -844,421 +1149,6 @@ m_NAtagMGAddFamilyDetail=tagMGAddFamilyDetail() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMGAddFamilyDetail.Cmd,m_NAtagMGAddFamilyDetail.SubCmd))] = m_NAtagMGAddFamilyDetail - - -#------------------------------------------------------ -#03 02 天梯竞技场玩家发起挑战#tagMGHighLadderChallenge - -class tagHightLadderItemInfo(Structure): - ItemTypeID = 0 #(DWORD ItemTypeID)//物品ID - ItemPlaceType = 0 #(BYTE ItemPlaceType)//物品位置的背包类型 - ItemPlaceIndex = 0 #(BYTE ItemPlaceIndex)//物品所在的索引 - Count = 0 #(WORD Count)//单组数量 - ItemStarLV = 0 #(BYTE ItemStarLV)//装备星级 - IdentifyPar = 0 #(BYTE IdentifyPar)//鉴定参数 - CurDurg = 0 #(DWORD CurDurg)//当前耐久 - MaxDurg = 0 #(DWORD MaxDurg)//最大耐久 - CanPlaceStoneCount = 0 #(BYTE CanPlaceStoneCount)//可镶嵌宝石数0表示不可以镶嵌宝石 - ItemProperty = 0 #(BYTE ItemProperty)//装备五行 - SoulProperty = 0 #(WORD SoulProperty)//灵魂属性属性 - Maker = 0 #(DWORD Maker)//制作者ID - MakerName = "" #(char MakerName[33])//制造者名字 - Stone1 = 0 #(DWORD Stone1)//镶嵌宝石1 - Stone2 = 0 #(DWORD Stone2)//镶嵌宝石 - Stone3 = 0 #(DWORD Stone3)//镶嵌宝石 - Stone4 = 0 #(DWORD Stone4)//镶嵌宝石 - Stone5 = 0 #(DWORD Stone5)//镶嵌宝石 - Stone6 = 0 #(DWORD Stone6)//镶嵌宝石 - Stone7 = 0 #(DWORD Stone7)//镶嵌宝石 - Stone8 = 0 #(DWORD Stone8)//镶嵌宝石 - Stone9 = 0 #(DWORD Stone9)//镶嵌宝石 - IsRenZhu = 0 #(BYTE IsRenZhu)//是否认主 - EquipDefenseValue = 0 #(DWORD EquipDefenseValue)//用于记录装备的防御值 - EquipMinAtkValue = 0 #(DWORD EquipMinAtkValue)//用于记录装备的最小伤害值 - EquipMaxAtkValue = 0 #(DWORD EquipMaxAtkValue)//用于记录装备的最大伤害值 - UserDataLen = 0 #(DWORD UserDataLen) - UserData = "" #(String UserData)//自定义数据 - FitLV = 0 #(BYTE FitLV)//物品契合等级 - Proficiency = 0 #(DWORD Proficiency)//熟练度 - IsSuite = 0 #(BYTE IsSuite)//是否已经套装化 - BaseHP = 0 #(DWORD BaseHP)// HP基础值 - BaseMagicDef = 0 #(DWORD BaseMagicDef)//内防基础值 - MaxAddSkillCnt = 0 #(BYTE MaxAddSkillCnt)// 最大附魔次数 - PetID = 0 #(DWORD PetID)//装备该装备的宠物ID,为0则未装备 - EquipMagicDefValue = 0 #(DWORD EquipMagicDefValue)//装备内防值 - EquipMinMagicAtkValue = 0 #(DWORD EquipMinMagicAtkValue)//装备最小内攻 - EquipMaxMagicAtkValue = 0 #(DWORD EquipMaxMagicAtkValue)//装备最大内攻 - data = None - - def __init__(self): - self.Clear() - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - self.ItemTypeID,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.ItemPlaceType,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.ItemPlaceIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.ItemStarLV,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.IdentifyPar,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.CurDurg,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.MaxDurg,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.CanPlaceStoneCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.ItemProperty,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.SoulProperty,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.Maker,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.MakerName,_pos = CommFunc.ReadString(_lpData, _pos,33) - self.Stone1,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone2,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone3,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone4,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone5,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone6,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone7,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone8,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Stone9,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.IsRenZhu,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.EquipDefenseValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.EquipMinAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.EquipMaxAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) - self.FitLV,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.Proficiency,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.BaseHP,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.BaseMagicDef,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.MaxAddSkillCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.PetID,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.EquipMagicDefValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.EquipMinMagicAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.EquipMaxMagicAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) - return _pos - - def Clear(self): - self.ItemTypeID = 0 - self.ItemPlaceType = 0 - self.ItemPlaceIndex = 0 - self.Count = 0 - self.ItemStarLV = 0 - self.IdentifyPar = 0 - self.CurDurg = 0 - self.MaxDurg = 0 - self.CanPlaceStoneCount = 0 - self.ItemProperty = 0 - self.SoulProperty = 0 - self.Maker = 0 - self.MakerName = "" - self.Stone1 = 0 - self.Stone2 = 0 - self.Stone3 = 0 - self.Stone4 = 0 - self.Stone5 = 0 - self.Stone6 = 0 - self.Stone7 = 0 - self.Stone8 = 0 - self.Stone9 = 0 - self.IsRenZhu = 0 - self.EquipDefenseValue = 0 - self.EquipMinAtkValue = 0 - self.EquipMaxAtkValue = 0 - self.UserDataLen = 0 - self.UserData = "" - self.FitLV = 0 - self.Proficiency = 0 - self.IsSuite = 0 - self.BaseHP = 0 - self.BaseMagicDef = 0 - self.MaxAddSkillCnt = 0 - self.PetID = 0 - self.EquipMagicDefValue = 0 - self.EquipMinMagicAtkValue = 0 - self.EquipMaxMagicAtkValue = 0 - return - - def GetLength(self): - length = 0 - length += 4 - length += 1 - length += 1 - length += 2 - length += 1 - length += 1 - length += 4 - length += 4 - length += 1 - length += 1 - length += 2 - length += 4 - length += 33 - length += 4 - length += 4 - length += 4 - length += 4 - length += 4 - length += 4 - length += 4 - length += 4 - length += 4 - length += 1 - length += 4 - length += 4 - length += 4 - length += 4 - length += len(self.UserData) - length += 1 - length += 4 - length += 1 - length += 4 - length += 4 - length += 1 - length += 4 - length += 4 - length += 4 - length += 4 - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteDWORD(data, self.ItemTypeID) - data = CommFunc.WriteBYTE(data, self.ItemPlaceType) - data = CommFunc.WriteBYTE(data, self.ItemPlaceIndex) - data = CommFunc.WriteWORD(data, self.Count) - data = CommFunc.WriteBYTE(data, self.ItemStarLV) - data = CommFunc.WriteBYTE(data, self.IdentifyPar) - data = CommFunc.WriteDWORD(data, self.CurDurg) - data = CommFunc.WriteDWORD(data, self.MaxDurg) - data = CommFunc.WriteBYTE(data, self.CanPlaceStoneCount) - data = CommFunc.WriteBYTE(data, self.ItemProperty) - data = CommFunc.WriteWORD(data, self.SoulProperty) - data = CommFunc.WriteDWORD(data, self.Maker) - data = CommFunc.WriteString(data, 33, self.MakerName) - data = CommFunc.WriteDWORD(data, self.Stone1) - data = CommFunc.WriteDWORD(data, self.Stone2) - data = CommFunc.WriteDWORD(data, self.Stone3) - data = CommFunc.WriteDWORD(data, self.Stone4) - data = CommFunc.WriteDWORD(data, self.Stone5) - data = CommFunc.WriteDWORD(data, self.Stone6) - data = CommFunc.WriteDWORD(data, self.Stone7) - data = CommFunc.WriteDWORD(data, self.Stone8) - data = CommFunc.WriteDWORD(data, self.Stone9) - data = CommFunc.WriteBYTE(data, self.IsRenZhu) - data = CommFunc.WriteDWORD(data, self.EquipDefenseValue) - data = CommFunc.WriteDWORD(data, self.EquipMinAtkValue) - data = CommFunc.WriteDWORD(data, self.EquipMaxAtkValue) - data = CommFunc.WriteDWORD(data, self.UserDataLen) - data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) - data = CommFunc.WriteBYTE(data, self.FitLV) - data = CommFunc.WriteDWORD(data, self.Proficiency) - data = CommFunc.WriteBYTE(data, self.IsSuite) - data = CommFunc.WriteDWORD(data, self.BaseHP) - data = CommFunc.WriteDWORD(data, self.BaseMagicDef) - data = CommFunc.WriteBYTE(data, self.MaxAddSkillCnt) - data = CommFunc.WriteDWORD(data, self.PetID) - data = CommFunc.WriteDWORD(data, self.EquipMagicDefValue) - data = CommFunc.WriteDWORD(data, self.EquipMinMagicAtkValue) - data = CommFunc.WriteDWORD(data, self.EquipMaxMagicAtkValue) - return data - - def OutputString(self): - DumpString = ''' - ItemTypeID:%d, - ItemPlaceType:%d, - ItemPlaceIndex:%d, - Count:%d, - ItemStarLV:%d, - IdentifyPar:%d, - CurDurg:%d, - MaxDurg:%d, - CanPlaceStoneCount:%d, - ItemProperty:%d, - SoulProperty:%d, - Maker:%d, - MakerName:%s, - Stone1:%d, - Stone2:%d, - Stone3:%d, - Stone4:%d, - Stone5:%d, - Stone6:%d, - Stone7:%d, - Stone8:%d, - Stone9:%d, - IsRenZhu:%d, - EquipDefenseValue:%d, - EquipMinAtkValue:%d, - EquipMaxAtkValue:%d, - UserDataLen:%d, - UserData:%s, - FitLV:%d, - Proficiency:%d, - IsSuite:%d, - BaseHP:%d, - BaseMagicDef:%d, - MaxAddSkillCnt:%d, - PetID:%d, - EquipMagicDefValue:%d, - EquipMinMagicAtkValue:%d, - EquipMaxMagicAtkValue:%d - '''\ - %( - self.ItemTypeID, - self.ItemPlaceType, - self.ItemPlaceIndex, - self.Count, - self.ItemStarLV, - self.IdentifyPar, - self.CurDurg, - self.MaxDurg, - self.CanPlaceStoneCount, - self.ItemProperty, - self.SoulProperty, - self.Maker, - self.MakerName, - self.Stone1, - self.Stone2, - self.Stone3, - self.Stone4, - self.Stone5, - self.Stone6, - self.Stone7, - self.Stone8, - self.Stone9, - self.IsRenZhu, - self.EquipDefenseValue, - self.EquipMinAtkValue, - self.EquipMaxAtkValue, - self.UserDataLen, - self.UserData, - self.FitLV, - self.Proficiency, - self.IsSuite, - self.BaseHP, - self.BaseMagicDef, - self.MaxAddSkillCnt, - self.PetID, - self.EquipMagicDefValue, - self.EquipMinMagicAtkValue, - self.EquipMaxMagicAtkValue - ) - return DumpString - - -class tagMGHighLadderChallenge(Structure): - Head = tagHead() - PlayerID = 0 #(DWORD PlayerID)//玩家ID - PlayerName = "" #(char PlayerName[33]) - PlayerLV = 0 #(WORD PlayerLV) - FightPower = 0 #(DWORD FightPower) - FightPropertyDataLen = 0 #(DWORD FightPropertyDataLen) - FightPropertyData = "" #(String FightPropertyData)//Python自定义数据 - EquipCount = 0 #(BYTE EquipCount) - EquipList = list() #(vector<tagHightLadderItemInfo> EquipList)//装备信息列表 - VSOrder = 0 #(WORD VSOrder)//要挑战的排位 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0x03 - self.Head.SubCmd = 0x02 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33) - self.PlayerLV,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.FightPropertyDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.FightPropertyData,_pos = CommFunc.ReadString(_lpData, _pos,self.FightPropertyDataLen) - self.EquipCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.EquipCount): - temEquipList = tagHightLadderItemInfo() - _pos = temEquipList.ReadData(_lpData, _pos) - self.EquipList.append(temEquipList) - self.VSOrder,_pos = CommFunc.ReadWORD(_lpData, _pos) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0x03 - self.Head.SubCmd = 0x02 - self.PlayerID = 0 - self.PlayerName = "" - self.PlayerLV = 0 - self.FightPower = 0 - self.FightPropertyDataLen = 0 - self.FightPropertyData = "" - self.EquipCount = 0 - self.EquipList = list() - self.VSOrder = 0 - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 4 - length += 33 - length += 2 - length += 4 - length += 4 - length += len(self.FightPropertyData) - length += 1 - for i in range(self.EquipCount): - length += self.EquipList[i].GetLength() - length += 2 - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteDWORD(data, self.PlayerID) - data = CommFunc.WriteString(data, 33, self.PlayerName) - data = CommFunc.WriteWORD(data, self.PlayerLV) - data = CommFunc.WriteDWORD(data, self.FightPower) - data = CommFunc.WriteDWORD(data, self.FightPropertyDataLen) - data = CommFunc.WriteString(data, self.FightPropertyDataLen, self.FightPropertyData) - data = CommFunc.WriteBYTE(data, self.EquipCount) - for i in range(self.EquipCount): - data = CommFunc.WriteString(data, self.EquipList[i].GetLength(), self.EquipList[i].GetBuffer()) - data = CommFunc.WriteWORD(data, self.VSOrder) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - PlayerID:%d, - PlayerName:%s, - PlayerLV:%d, - FightPower:%d, - FightPropertyDataLen:%d, - FightPropertyData:%s, - EquipCount:%d, - EquipList:%s, - VSOrder:%d - '''\ - %( - self.Head.OutputString(), - self.PlayerID, - self.PlayerName, - self.PlayerLV, - self.FightPower, - self.FightPropertyDataLen, - self.FightPropertyData, - self.EquipCount, - "...", - self.VSOrder - ) - return DumpString - - -m_NAtagMGHighLadderChallenge=tagMGHighLadderChallenge() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMGHighLadderChallenge.Head.Cmd,m_NAtagMGHighLadderChallenge.Head.SubCmd))] = m_NAtagMGHighLadderChallenge #------------------------------------------------------ -- Gitblit v1.8.0