| | |
| | | Name = "" #(String Name)//size=NameLen
|
| | | PlayerLV = 0 #(WORD PlayerLV)//玩家等级
|
| | | PlayeJob = 0 #(BYTE PlayeJob)//玩家职业
|
| | | PlayeFightPower = 0 #(DWORD PlayeFightPower)//玩家战斗力
|
| | | PlayeFightPower = 0 #(DWORD PlayeFightPower)//玩家战斗力,求余亿部分
|
| | | PlayeFightPowerEx = 0 #(DWORD PlayeFightPowerEx)//玩家战斗力,整除亿部分,1代表1亿
|
| | | RequestTime = 0 #(DWORD RequestTime)//申请时间
|
| | | IsOnLine = 0 #(BYTE IsOnLine)//是否在线
|
| | | data = None
|
| | |
| | | self.PlayerLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.PlayeJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.PlayeFightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.PlayeFightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.RequestTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.IsOnLine,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | return _pos
|
| | |
| | | self.PlayerLV = 0
|
| | | self.PlayeJob = 0
|
| | | self.PlayeFightPower = 0
|
| | | self.PlayeFightPowerEx = 0
|
| | | self.RequestTime = 0
|
| | | self.IsOnLine = 0
|
| | | return
|
| | |
| | | length += len(self.Name)
|
| | | length += 2
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 1
|
| | |
| | | data = CommFunc.WriteWORD(data, self.PlayerLV)
|
| | | data = CommFunc.WriteBYTE(data, self.PlayeJob)
|
| | | data = CommFunc.WriteDWORD(data, self.PlayeFightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.PlayeFightPowerEx)
|
| | | data = CommFunc.WriteDWORD(data, self.RequestTime)
|
| | | data = CommFunc.WriteBYTE(data, self.IsOnLine)
|
| | | return data
|
| | |
| | | PlayerLV:%d,
|
| | | PlayeJob:%d,
|
| | | PlayeFightPower:%d,
|
| | | PlayeFightPowerEx:%d,
|
| | | RequestTime:%d,
|
| | | IsOnLine:%d
|
| | | '''\
|
| | |
| | | self.PlayerLV,
|
| | | self.PlayeJob,
|
| | | self.PlayeFightPower,
|
| | | self.PlayeFightPowerEx,
|
| | | self.RequestTime,
|
| | | self.IsOnLine
|
| | | )
|
| | |
| | | PlayerName = "" #(String PlayerName)// 跨服名字
|
| | | Job = 0 #(BYTE Job)
|
| | | LV = 0 #(WORD LV)
|
| | | MaxHP = 0 #(DWORD MaxHP)// 默认满血
|
| | | MaxHP = 0 #(DWORD MaxHP)// 默认满血,求余亿部分
|
| | | MaxHPEx = 0 #(DWORD MaxHPEx)// 默认满血,整除亿部分
|
| | | MaxProDef = 0 #(DWORD MaxProDef)// 最大护盾
|
| | | data = None
|
| | |
|
| | |
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.MaxHP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.MaxHPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.MaxProDef,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | |
| | | self.Job = 0
|
| | | self.LV = 0
|
| | | self.MaxHP = 0
|
| | | self.MaxHPEx = 0
|
| | | self.MaxProDef = 0
|
| | | return
|
| | |
|
| | |
| | | length += len(self.PlayerName)
|
| | | length += 1
|
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | |
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteDWORD(data, self.MaxHP)
|
| | | data = CommFunc.WriteDWORD(data, self.MaxHPEx)
|
| | | data = CommFunc.WriteDWORD(data, self.MaxProDef)
|
| | | return data
|
| | |
|
| | |
| | | Job:%d,
|
| | | LV:%d,
|
| | | MaxHP:%d,
|
| | | MaxHPEx:%d,
|
| | | MaxProDef:%d
|
| | | '''\
|
| | | %(
|
| | |
| | | self.Job,
|
| | | self.LV,
|
| | | self.MaxHP,
|
| | | self.MaxHPEx,
|
| | | self.MaxProDef
|
| | | )
|
| | | return DumpString
|
| | |
| | | ExAttr18 = 0 #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
|
| | | ExAttr19 = 0 #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
|
| | | ExAttr20 = 0 #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
|
| | | HPEx = 0 #(DWORD HPEx)//当前血量 超过E的记录
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.HPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.ExAttr18 = 0
|
| | | self.ExAttr19 = 0
|
| | | self.ExAttr20 = 0
|
| | | self.HPEx = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 4
|
| | | length += 4
|
| | | length += 15
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
| | | data = CommFunc.WriteDWORD(data, self.ExAttr18)
|
| | | data = CommFunc.WriteDWORD(data, self.ExAttr19)
|
| | | data = CommFunc.WriteDWORD(data, self.ExAttr20)
|
| | | data = CommFunc.WriteDWORD(data, self.HPEx)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | ExAttr17:%d,
|
| | | ExAttr18:%d,
|
| | | ExAttr19:%d,
|
| | | ExAttr20:%d
|
| | | ExAttr20:%d,
|
| | | HPEx:%d
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | |
| | | self.ExAttr17,
|
| | | self.ExAttr18,
|
| | | self.ExAttr19,
|
| | | self.ExAttr20
|
| | | self.ExAttr20,
|
| | | self.HPEx
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | |
|
| | | class tagMCModuleFightPowerInfo(Structure):
|
| | | Head = tagHead()
|
| | | TotalFightPower = 0 #(DWORD TotalFightPower)//总战斗力
|
| | | TotalFightPower = 0 #(DWORD TotalFightPower)//总战斗力,求余亿部分
|
| | | TotalFightPoweEx = 0 #(DWORD TotalFightPoweEx)//总战斗力,整除亿部分,1代表1亿
|
| | | MFPCnt = 0 #(BYTE MFPCnt)//模块战斗力总数
|
| | | MFPList = list() #(vector<tagMCModuleFightPower> MFPList)
|
| | | data = None
|
| | |
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.TotalFightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.TotalFightPoweEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.MFPCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.MFPCnt):
|
| | | temMFPList = tagMCModuleFightPower()
|
| | |
| | | self.Head.Cmd = 0xA3
|
| | | self.Head.SubCmd = 0xA1
|
| | | self.TotalFightPower = 0
|
| | | self.TotalFightPoweEx = 0
|
| | | self.MFPCnt = 0
|
| | | self.MFPList = list()
|
| | | return
|
| | |
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 4
|
| | | length += 4
|
| | | length += 1
|
| | | for i in range(self.MFPCnt):
|
| | |
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteDWORD(data, self.TotalFightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.TotalFightPoweEx)
|
| | | data = CommFunc.WriteBYTE(data, self.MFPCnt)
|
| | | for i in range(self.MFPCnt):
|
| | | data = CommFunc.WriteString(data, self.MFPList[i].GetLength(), self.MFPList[i].GetBuffer())
|
| | |
| | | DumpString = '''
|
| | | Head:%s,
|
| | | TotalFightPower:%d,
|
| | | TotalFightPoweEx:%d,
|
| | | MFPCnt:%d,
|
| | | MFPList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.TotalFightPower,
|
| | | self.TotalFightPoweEx,
|
| | | self.MFPCnt,
|
| | | "..."
|
| | | )
|
| | |
| | | _fields_ = [
|
| | | ("RefreshType", c_ubyte),
|
| | | ("Value", c_int),
|
| | | ("ValueEx", c_int), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | def Clear(self):
|
| | | self.RefreshType = 0
|
| | | self.Value = 0
|
| | | self.ValueEx = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | def OutputString(self):
|
| | | DumpString = '''//A7 09 周围对象刷新合并包 //tagObjInfoListRefresh:
|
| | | RefreshType:%d,
|
| | | Value:%d
|
| | | Value:%d,
|
| | | ValueEx:%d
|
| | | '''\
|
| | | %(
|
| | | self.RefreshType,
|
| | | self.Value
|
| | | self.Value,
|
| | | self.ValueEx
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | ("ObjID", c_int),
|
| | | ("AttackType", c_ubyte), #爆击, miss
|
| | | ("HurtHP", c_int),
|
| | | ("HurtHPEx", c_int), |
| | | ("CurHP", c_int),
|
| | | ("CurHPEx", c_int),
|
| | | ]
|
| | |
| | | self.ObjID = 0
|
| | | self.AttackType = 0
|
| | | self.HurtHP = 0
|
| | | self.HurtHPEx = 0
|
| | | self.CurHP = 0
|
| | | self.CurHPEx = 0
|
| | | return
|
| | |
| | | ObjID:%d,
|
| | | AttackType:%d,
|
| | | HurtHP:%d,
|
| | | HurtHPEx:%d,
|
| | | CurHP:%d,
|
| | | CurHPEx:%d
|
| | | '''\
|
| | |
| | | self.ObjID,
|
| | | self.AttackType,
|
| | | self.HurtHP,
|
| | | self.HurtHPEx,
|
| | | self.CurHP,
|
| | | self.CurHPEx
|
| | | )
|