From 08931697f8fe02659302b2d6ac752a1cfc3a2c8e Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 28 九月 2020 16:25:27 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/SnxxServerCode --- Tool/Robot/Protocol/PacketsReceived.py | 86 ++++++++++++++++++++++++++----------------- 1 files changed, 52 insertions(+), 34 deletions(-) diff --git a/Tool/Robot/Protocol/PacketsReceived.py b/Tool/Robot/Protocol/PacketsReceived.py index 4a6de90..350658f 100644 --- a/Tool/Robot/Protocol/PacketsReceived.py +++ b/Tool/Robot/Protocol/PacketsReceived.py @@ -1028,7 +1028,7 @@ BackpackLV = 0 #(BYTE BackpackLV)//背包等级 WarehouseLV = 0 #(BYTE WarehouseLV)//仓库等级 TeamID = 0 #(DWORD TeamID)//队伍ID - UseGoldType = 0 #(BYTE UseGoldType)//默认用金子/金票 类型为MoneyType + UseGoldType = 0 #(BYTE UseGoldType)//默认用金子/金票 类型为MoneyType UseSilverType = 0 #(BYTE UseSilverType)//默认用的银子/银票 AttackMode = 0 #(BYTE AttackMode)//攻击模式 LastWeekOnlineTime = 0 #(DWORD LastWeekOnlineTime)//上周在线时间 @@ -5889,7 +5889,7 @@ _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), - ("StartYear", c_ushort), #年, 如果填写0, 就隐藏此窗口 + ("StartYear", c_ushort), #年, 如果填写0, 就隐藏此窗口 ("StartMonth", c_ushort), #月 ("StartDate", c_ubyte), #日 ("EndYear", c_ushort), @@ -6021,7 +6021,7 @@ PlayerID = 0 #(DWORD PlayerID) FamilyNameLen = 0 #(BYTE FamilyNameLen) FamilyName = "" #(String FamilyName)//size = FamilyNameLen - FamilyMemberLV = 0 #(BYTE FamilyMemberLV)//玩家在家族中的职位 + FamilyMemberLV = 0 #(BYTE FamilyMemberLV)//玩家在家族中的职位 data = None def __init__(self): @@ -8023,7 +8023,7 @@ class tagFBEventList(Structure): Head = tagHead() EventCount = 0 #(BYTE EventCount)//副本活动数 - EventList = list() #(vector<tagFBEventDetail> EventList)//副本活动列表 + EventList = list() #(vector<tagFBEventDetail> EventList)//副本活动列表 data = None def __init__(self): @@ -8662,7 +8662,7 @@ TeamID = 0 #(DWORD TeamID)//组队ID HP = 0 #(DWORD HP) MaxHP = 0 #(DWORD MaxHP) - PlayerState = 0 #(BYTE PlayerState)//TClientPlayerState 玩家状态 打坐/马上/人镖合一 + PlayerState = 0 #(BYTE PlayerState)//TClientPlayerState 玩家状态 打坐/马上/人镖合一 IsHideMask = 0 #(BYTE IsHideMask) Country = 0 #(BYTE Country)//玩家国家 FamilyID = 0 #(DWORD FamilyID)//家族ID @@ -9724,6 +9724,7 @@ ("PlayerID", c_int), # 主人ID ("PosX", c_int), # X坐标 ("PosY", c_int), # Y坐标 + ("Rank", c_ubyte), #阶段 ] def __init__(self): @@ -9745,6 +9746,7 @@ self.PlayerID = 0 self.PosX = 0 self.PosY = 0 + self.Rank = 0 return def GetLength(self): @@ -9761,7 +9763,8 @@ NPCID:%d, PlayerID:%d, PosX:%d, - PosY:%d + PosY:%d, + Rank:%d '''\ %( self.Cmd, @@ -9770,7 +9773,8 @@ self.NPCID, self.PlayerID, self.PosX, - self.PosY + self.PosY, + self.Rank ) return DumpString @@ -10070,7 +10074,7 @@ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), - ("FamilyMemberLV", c_ubyte), #玩家在家族中的职位 + ("FamilyMemberLV", c_ubyte), #玩家在家族中的职位 ] def __init__(self): @@ -10118,7 +10122,7 @@ #------------------------------------------------------ -#04 36 周围玩家家族名刷新#tagPlayerFamilyNameRefresh +#04 36 周围玩家家族名刷新#tagPlayerFamilyNameRefresh class tagPlayerFamilyNameRefresh(Structure): Head = tagHead() @@ -10196,7 +10200,7 @@ PlayerID = 0 #(DWORD PlayerID) FamilyNameLen = 0 #(BYTE FamilyNameLen) FamilyName = "" #(String FamilyName)//size = FamilyNameLen - FamilyMemberLV = 0 #(BYTE FamilyMemberLV)//玩家在家族中的职位 + FamilyMemberLV = 0 #(BYTE FamilyMemberLV)//玩家在家族中的职位 data = None def __init__(self): @@ -10826,7 +10830,7 @@ MaxHP = 0 #(DWORD MaxHP) MaxHPEx = 0 #(DWORD MaxHPEx) Speed = 0 #(WORD Speed) - LV = 0 #(BYTE LV) + LV = 0 #(WORD LV) OwnerNameLen = 0 #(BYTE OwnerNameLen) OwnerName = "" #(String OwnerName)//size = OwnerNameLen data = None @@ -10851,7 +10855,7 @@ self.MaxHP,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.MaxHPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.Speed,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos) self.OwnerNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.OwnerName,_pos = CommFunc.ReadString(_lpData, _pos,self.OwnerNameLen) return _pos @@ -10891,7 +10895,7 @@ length += 4 length += 4 length += 2 - length += 1 + length += 2 length += 1 length += len(self.OwnerName) @@ -10911,7 +10915,7 @@ data = CommFunc.WriteDWORD(data, self.MaxHP) data = CommFunc.WriteDWORD(data, self.MaxHPEx) data = CommFunc.WriteWORD(data, self.Speed) - data = CommFunc.WriteBYTE(data, self.LV) + data = CommFunc.WriteWORD(data, self.LV) data = CommFunc.WriteBYTE(data, self.OwnerNameLen) data = CommFunc.WriteString(data, self.OwnerNameLen, self.OwnerName) return data @@ -12943,10 +12947,12 @@ ObjType = 0 #(BYTE ObjType) BattleType = 0 #(BYTE BattleType)//物理/魔法 SkillID = 0 #(WORD SkillID) + SkillIDEx = 0 #(WORD SkillIDEx) PosX = 0 #(WORD PosX) PosY = 0 #(WORD PosY) HurtCount = 0 #(WORD HurtCount)//伤害数目 HurtList = list() #(vector<tagSkillPosHurtObj> HurtList)//size = HurtCount + SkillElementID = 0 #(WORD SkillElementID)//专精技能ID data = None def __init__(self): @@ -12962,6 +12968,7 @@ self.ObjType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.BattleType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.SkillID,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.SkillIDEx,_pos = CommFunc.ReadWORD(_lpData, _pos) self.PosX,_pos = CommFunc.ReadWORD(_lpData, _pos) self.PosY,_pos = CommFunc.ReadWORD(_lpData, _pos) self.HurtCount,_pos = CommFunc.ReadWORD(_lpData, _pos) @@ -12969,6 +12976,7 @@ temHurtList = tagSkillPosHurtObj() _pos = temHurtList.ReadData(_lpData, _pos) self.HurtList.append(temHurtList) + self.SkillElementID,_pos = CommFunc.ReadWORD(_lpData, _pos) return _pos def Clear(self): @@ -12980,10 +12988,12 @@ self.ObjType = 0 self.BattleType = 0 self.SkillID = 0 + self.SkillIDEx = 0 self.PosX = 0 self.PosY = 0 self.HurtCount = 0 self.HurtList = list() + self.SkillElementID = 0 return def GetLength(self): @@ -12996,8 +13006,10 @@ length += 2 length += 2 length += 2 + length += 2 for i in range(self.HurtCount): length += self.HurtList[i].GetLength() + length += 2 return length @@ -13008,11 +13020,13 @@ data = CommFunc.WriteBYTE(data, self.ObjType) data = CommFunc.WriteBYTE(data, self.BattleType) data = CommFunc.WriteWORD(data, self.SkillID) + data = CommFunc.WriteWORD(data, self.SkillIDEx) data = CommFunc.WriteWORD(data, self.PosX) data = CommFunc.WriteWORD(data, self.PosY) data = CommFunc.WriteWORD(data, self.HurtCount) for i in range(self.HurtCount): data = CommFunc.WriteString(data, self.HurtList[i].GetLength(), self.HurtList[i].GetBuffer()) + data = CommFunc.WriteWORD(data, self.SkillElementID) return data def OutputString(self): @@ -13022,10 +13036,12 @@ ObjType:%d, BattleType:%d, SkillID:%d, + SkillIDEx:%d, PosX:%d, PosY:%d, HurtCount:%d, - HurtList:%s + HurtList:%s, + SkillElementID:%d '''\ %( self.Head.OutputString(), @@ -13033,10 +13049,12 @@ self.ObjType, self.BattleType, self.SkillID, + self.SkillIDEx, self.PosX, self.PosY, self.HurtCount, - "..." + "...", + self.SkillElementID ) return DumpString @@ -13540,7 +13558,7 @@ ByObjID = 0 #(DWORD ByObjID)//物品原本在哪个对象身上 DropTick = 0 #(DWORD DropTick)//物品掉落Tick UserDataLen = 0 #(WORD UserDataLen)//附加属性长度 - UserData = "" #(String UserData)//附加属性 size = UserDataLen + UserData = "" #(String UserData)//附加属性 size = UserDataLen data = None def __init__(self): @@ -13958,7 +13976,7 @@ _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), - ("MakeType", c_ubyte), #类型 TMakeItemType + ("MakeType", c_ubyte), #类型 TMakeItemType ("Result", c_ubyte), #是否成功 ] @@ -15046,7 +15064,7 @@ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), - ("PrepareState", c_ubyte), #准备类型, TPreparingState + ("PrepareState", c_ubyte), #准备类型, TPreparingState ("MaxTime", c_int), #最大时间 ("PrepareID", c_int), #准备ID, 如果是技能, 则是技能ID ] @@ -20565,7 +20583,7 @@ FamilyName = "" #(String FamilyName)//size = FamilyNameLen Job = 0 #(BYTE Job)//职业 FamilyActiveValue = 0 #(DWORD FamilyActiveValue)//本周家族活跃度 - LastWeekFamilyActiveValue = 0 #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度 + LastWeekFamilyActiveValue = 0 #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度 OfficialRank = 0 #(BYTE OfficialRank)//境界 Exattr1 = 0 #(DWORD Exattr1)//扩展属性 Exattr2 = 0 #(DWORD Exattr2)//扩展属性 @@ -20729,7 +20747,7 @@ Point = 0 #(DWORD Point)//家族战积分 Broadcast = "" #(String Broadcast)//size = BroadcastLen FamilyActiveValue = 0 #(DWORD FamilyActiveValue)//本周家族活跃度 - LastWeekFamilyActiveValue = 0 #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度 + LastWeekFamilyActiveValue = 0 #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度 Member = list() #(vector<tagRoleFamilyMember> Member)//size = MemberCount Extra1 = 0 #(DWORD Extra1)//附加字段1 Extra2 = 0 #(DWORD Extra2)//附加字段2 @@ -21906,7 +21924,7 @@ class tagFamilyTechInfo(Structure): Head = tagHead() TechCount = 0 #(WORD TechCount)//帮会科技数量 - TechInfoList = list() #(vector<tagTechInfo> TechInfoList)//科技信息列表 + TechInfoList = list() #(vector<tagTechInfo> TechInfoList)//科技信息列表 data = None def __init__(self): @@ -22237,7 +22255,7 @@ #10 01 排行榜信息#tagBillboard 对性能影响比较大, 需要限制tick class tagBillboardList(Structure): - ID = 0 #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID + ID = 0 #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID Name1 = "" #(char Name1[33])//名字1,用来显示排序对象名字 Name2 = "" #(char Name2[33])//名字2 Type2 = 0 #(BYTE Type2)//附加类型,用来表示排序对象的类型,比如,玩家所属职业门派,宠物类型等 @@ -23703,7 +23721,7 @@ MakerNameLen = 0 #(BYTE MakerNameLen)//制造者名字 MakerName = "" #(String MakerName)//size = MakerNameLen UserDataLen = 0 #(DWORD UserDataLen) - UserData = "" #(String UserData)//自定义数据 + UserData = "" #(String UserData)//自定义数据 data = None def __init__(self): @@ -24303,7 +24321,7 @@ ("SubCmd", c_ubyte), ("Type", c_ubyte), #答题类型 ("QuestionNO", c_ushort), # 答题号 - ("FunctionNO", c_ubyte), # 功能号 + ("FunctionNO", c_ubyte), # 功能号 ("FunctionOpt1", c_ubyte), #功能选项1 ("FunctionOpt2", c_ubyte), #功能选项2 ("FunctionOpt3", c_ubyte), #功能选项3 @@ -26992,8 +27010,8 @@ ("PlayerID", c_int), #挂单玩家的id ("FormID", c_int), # 挂单ID ("UnitPrice", c_int), #该单购买元宝的银两单价(每组) - ("LefGold", c_int), #该单的剩余购买元宝组数 - ("LeftTime", c_ushort), #该单的剩余在架时间 + ("LefGold", c_int), #该单的剩余购买元宝组数 + ("LeftTime", c_ushort), #该单的剩余在架时间 ] def __init__(self): @@ -27127,7 +27145,7 @@ ("SubCmd", c_ubyte), ("FormID", c_int), # 挂单ID ("UnitPrice", c_int), #该单购买元宝的银两单价(每组) - ("LefGold", c_int), #该单的剩余购买元宝组数 + ("LefGold", c_int), #该单的剩余购买元宝组数 ("LeftTime", c_ushort), #该单的剩余在架时间 ] @@ -27416,7 +27434,7 @@ _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), - ("LabelID", c_int), # 删除标签 + ("LabelID", c_int), # 删除标签 ] def __init__(self): @@ -28657,7 +28675,7 @@ class tagHightLadderTopPlayerList(Structure): Head = tagHead() Size = 0 #(BYTE Size) - PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 + PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 data = None def __init__(self): @@ -28919,7 +28937,7 @@ class tagVsTeam(Structure): TeamIndex = 0 #(BYTE TeamIndex)// 竞技队Index MemberCount = 0 #(WORD MemberCount)// 成员人数 - Members = list() #(vector<tagVsMemberInfo> Members)// 成员列表 + Members = list() #(vector<tagVsMemberInfo> Members)// 成员列表 data = None def __init__(self): @@ -29046,7 +29064,7 @@ Head = tagHead() MyOrder = 0 #(WORD MyOrder)//自身排名 Size = 0 #(BYTE Size) - PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 + PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 data = None def __init__(self): @@ -29219,7 +29237,7 @@ class tagBourseItem(Structure): ItemGUID = "" #(char ItemGUID[40]) - PlayerID = 0 #(DWORD PlayerID)//挂单玩家ID + PlayerID = 0 #(DWORD PlayerID)//挂单玩家ID ItemTypeID = 0 #(DWORD ItemTypeID)//物品ID PriceType = 0 #(BYTE PriceType)//出售价格类型 PriceCount = 0 #(DWORD PriceCount)//出售价格 @@ -29606,4 +29624,4 @@ m_NAtagGMCmdAnswer=tagGMCmdAnswer() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer \ No newline at end of file -- Gitblit v1.8.0