10261 【越南】【砍树】【英文】【tqxbqy】头像框,头像(补充通知:A922、A923、A927、A928、B920、B922、B033、B035)
| | |
| | | AddScore = "" #(String AddScore)//本次对战增加的积分,有正负
|
| | | IsWin = 0 #(BYTE IsWin)//是否获胜
|
| | | Time = 0 #(DWORD Time)//时间戳
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.AddScore,_pos = CommFunc.ReadString(_lpData, _pos,self.AddScoreLen)
|
| | | self.IsWin,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.Time,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.AddScore = ""
|
| | | self.IsWin = 0
|
| | | self.Time = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 1
|
| | | length += len(self.AddScore)
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
| | | data = CommFunc.WriteString(data, self.AddScoreLen, self.AddScore)
|
| | | data = CommFunc.WriteBYTE(data, self.IsWin)
|
| | | data = CommFunc.WriteDWORD(data, self.Time)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | AddScoreLen:%d,
|
| | | AddScore:%s,
|
| | | IsWin:%d,
|
| | | Time:%d
|
| | | Time:%d,
|
| | | Face:%d,
|
| | | FacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.PlayerID,
|
| | |
| | | self.AddScoreLen,
|
| | | self.AddScore,
|
| | | self.IsWin,
|
| | | self.Time
|
| | | self.Time,
|
| | | self.Face,
|
| | | self.FacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | FightPower = 0 #(DWORD FightPower)//战力求余亿部分,机器人读等级表取等级对应战力
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)//战力整除亿部分,机器人读等级表取等级对应战力
|
| | | Score = 0 #(DWORD Score)//积分
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Score,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | self.Score = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 1
|
| | | length += 2
|
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | data = CommFunc.WriteDWORD(data, self.Score)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | RealmLV:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d,
|
| | | Score:%d
|
| | | Score:%d,
|
| | | Face:%d,
|
| | | FacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.PlayerID,
|
| | |
| | | self.RealmLV,
|
| | | self.FightPower,
|
| | | self.FightPowerEx,
|
| | | self.Score
|
| | | self.Score,
|
| | | self.Face,
|
| | | self.FacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | EquipShowSwitch = 0 #(DWORD EquipShowSwitch)
|
| | | EquipShowIDCount = 0 #(BYTE EquipShowIDCount)
|
| | | EquipShowID = list() #(vector<DWORD> EquipShowID)
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.EquipShowIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.EquipShowIDCount):
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.EquipShowSwitch = 0
|
| | | self.EquipShowIDCount = 0
|
| | | self.EquipShowID = list()
|
| | |
| | | length += 1
|
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 1
|
| | | length += 4 * self.EquipShowIDCount
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
|
| | | data = CommFunc.WriteBYTE(data, self.EquipShowIDCount)
|
| | | for i in range(self.EquipShowIDCount):
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | EquipShowSwitch:%d,
|
| | | EquipShowIDCount:%d,
|
| | | EquipShowID:%s
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.EquipShowSwitch,
|
| | | self.EquipShowIDCount,
|
| | | "..."
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 2
|
| | | length += 1
|
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | Name:%s,
|
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.AddTime,
|
| | |
| | | self.Name,
|
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | RobPlayerID = 0 #(DWORD RobPlayerID)// 抢夺玩家ID,为0时代表没人抢夺
|
| | | RobWorkerCount = 0 #(BYTE RobWorkerCount)// 抢夺工人个数
|
| | | RobPlayerName = "" #(char RobPlayerName[33])
|
| | | RobJob = 0 #(BYTE RobJob)
|
| | | RobFace = 0 #(DWORD RobFace)
|
| | | RobFacePic = 0 #(DWORD RobFacePic)
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.RobPlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.RobWorkerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RobPlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
|
| | | self.RobJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RobFace,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.RobFacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.RobPlayerID = 0
|
| | | self.RobWorkerCount = 0
|
| | | self.RobPlayerName = ""
|
| | | self.RobJob = 0
|
| | | self.RobFace = 0
|
| | | self.RobFacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 4
|
| | | length += 1
|
| | | length += 33
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
| | | data = CommFunc.WriteDWORD(data, self.RobPlayerID)
|
| | | data = CommFunc.WriteBYTE(data, self.RobWorkerCount)
|
| | | data = CommFunc.WriteString(data, 33, self.RobPlayerName)
|
| | | data = CommFunc.WriteBYTE(data, self.RobJob)
|
| | | data = CommFunc.WriteDWORD(data, self.RobFace)
|
| | | data = CommFunc.WriteDWORD(data, self.RobFacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | RobPlayerID:%d,
|
| | | RobWorkerCount:%d,
|
| | | RobPlayerName:%s,
|
| | | RobFace:%d
|
| | | RobJob:%d,
|
| | | RobFace:%d,
|
| | | RobFacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.Index,
|
| | |
| | | self.RobPlayerID,
|
| | | self.RobWorkerCount,
|
| | | self.RobPlayerName,
|
| | | self.RobFace
|
| | | self.RobJob,
|
| | | self.RobFace,
|
| | | self.RobFacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | class tagGCMineArea(Structure):
|
| | | PlayerID = 0 #(DWORD PlayerID)// 福地所属玩家ID,可能是自己或其他玩家ID,当ID小于10000时为假人
|
| | | PlayerName = "" #(char PlayerName[33])// 可能为空,如自己或假人
|
| | | Job = 0 #(BYTE Job)
|
| | | Face = 0 #(DWORD Face)
|
| | | FacePic = 0 #(DWORD FacePic)
|
| | | MineCount = 0 #(BYTE MineCount)
|
| | | MineItemList = list() #(vector<tagGCMineItem> MineItemList)// 矿物列表
|
| | | data = None
|
| | |
| | | self.Clear()
|
| | | self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.MineCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.MineCount):
|
| | | temMineItemList = tagGCMineItem()
|
| | |
| | | def Clear(self):
|
| | | self.PlayerID = 0
|
| | | self.PlayerName = ""
|
| | | self.Job = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.MineCount = 0
|
| | | self.MineItemList = list()
|
| | | return
|
| | |
| | | length = 0
|
| | | length += 4
|
| | | length += 33
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | | length += 1
|
| | | for i in range(self.MineCount):
|
| | |
| | | data = ''
|
| | | data = CommFunc.WriteDWORD(data, self.PlayerID)
|
| | | data = CommFunc.WriteString(data, 33, self.PlayerName)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteBYTE(data, self.MineCount)
|
| | | for i in range(self.MineCount):
|
| | | data = CommFunc.WriteString(data, self.MineItemList[i].GetLength(), self.MineItemList[i].GetBuffer())
|
| | |
| | | DumpString = '''
|
| | | PlayerID:%d,
|
| | | PlayerName:%s,
|
| | | Job:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | MineCount:%d,
|
| | | MineItemList:%s
|
| | | '''\
|
| | | %(
|
| | | self.PlayerID,
|
| | | self.PlayerName,
|
| | | self.Job,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.MineCount,
|
| | | "..."
|
| | | )
|
| | |
| | | RecordTime = 0 #(DWORD RecordTime)// 记录时间戳
|
| | | MineID = 0 #(WORD MineID)// 矿物ID,对应福地采集表中ID
|
| | | TagPlayerName = "" #(char TagPlayerName[33])
|
| | | TagJob = 0 #(BYTE TagJob)
|
| | | TagFace = 0 #(DWORD TagFace)
|
| | | TagFacePic = 0 #(DWORD TagFacePic)
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.RecordTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.MineID,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.TagPlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
|
| | | self.TagJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.TagFace,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.TagFacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.RecordTime = 0
|
| | | self.MineID = 0
|
| | | self.TagPlayerName = ""
|
| | | self.TagJob = 0
|
| | | self.TagFace = 0
|
| | | self.TagFacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 4
|
| | | length += 2
|
| | | length += 33
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
| | | data = CommFunc.WriteDWORD(data, self.RecordTime)
|
| | | data = CommFunc.WriteWORD(data, self.MineID)
|
| | | data = CommFunc.WriteString(data, 33, self.TagPlayerName)
|
| | | data = CommFunc.WriteBYTE(data, self.TagJob)
|
| | | data = CommFunc.WriteDWORD(data, self.TagFace)
|
| | | data = CommFunc.WriteDWORD(data, self.TagFacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | RecordTime:%d,
|
| | | MineID:%d,
|
| | | TagPlayerName:%s,
|
| | | TagFace:%d
|
| | | TagJob:%d,
|
| | | TagFace:%d,
|
| | | TagFacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.RecordType,
|
| | |
| | | self.RecordTime,
|
| | | self.MineID,
|
| | | self.TagPlayerName,
|
| | | self.TagFace
|
| | | self.TagJob,
|
| | | self.TagFace,
|
| | | self.TagFacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | FightPower = 0 #(DWORD FightPower)// 战力,求余亿
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)// 战力,整除亿
|
| | | Value1 = 0 #(DWORD Value1)//ֵ1
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Value1,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | self.Value1 = 0
|
| | |
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | data = CommFunc.WriteDWORD(data, self.Value1)
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d,
|
| | | Value1:%d,
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.FightPower,
|
| | | self.FightPowerEx,
|
| | | self.Value1,
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | FightPower = 0 #(DWORD FightPower)// 战力,求余亿
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)// 战力,整除亿
|
| | | data = None
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | return
|
| | |
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | return data
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d
|
| | | '''\
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.FightPower,
|
| | | self.FightPowerEx
|
| | | )
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | FightPower = 0 #(DWORD FightPower)// 战力,求余亿
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)// 战力,整除亿
|
| | | OfflineValue = 0 #(DWORD OfflineValue)// 离线值:0-在线;1-离线;>1-上次离线时间戳,可用于计算离线多久了;当取不到玩家信息时用1代表已离线;
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.OfflineValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | self.OfflineValue = 0
|
| | |
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | data = CommFunc.WriteDWORD(data, self.OfflineValue)
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d,
|
| | | OfflineValue:%d,
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.FightPower,
|
| | | self.FightPowerEx,
|
| | | self.OfflineValue,
|
| | |
| | | self.tagLV = 0
|
| | | self.tagJob = 0
|
| | | self.tagScore = 0
|
| | | self.tagFace = 0
|
| | | self.tagFacePic = 0
|
| | | return
|
| | |
|
| | | class ArenaBattleRec():
|
| | |
| | | self.tagPlayerID = 0 # 小于10000的为机器人ID
|
| | | self.tagLV = 0
|
| | | self.tagJob = 0
|
| | | self.tagFace = 0
|
| | | self.tagFacePic = 0
|
| | | self.tagScore = 0
|
| | |
|
| | | self.addScore = 0
|
| | |
| | | value4 tagScore 目标积分,非实时积分,一般机器人时有用
|
| | | strValue1 resultInfo isWin,addScore
|
| | | strValue2 updInfo isDispose,updScore
|
| | | strValue3 faceInfo face,facePic
|
| | | '''
|
| | |
|
| | | ''' 榜单数据 '''
|
| | |
| | | def SetArenaBillRealmLV(billData, realmLV): return billData.SetValue1(realmLV)
|
| | | def GetArenaBillLV(billData): return billData.GetValue2()
|
| | | def SetArenaBillLV(billData, lv): billData.SetValue2(lv)
|
| | | def GetArenaBillFace(billData): return billData.GetValue3()
|
| | | def SetArenaBillFace(billData, face): billData.SetValue3(face)
|
| | | def GetArenaBillFacePic(billData): return billData.GetValue4()
|
| | | def SetArenaBillFacePic(billData, facePic): billData.SetValue4(facePic)
|
| | | def GetArenaBillScore(billData): return billData.GetCmpValue()
|
| | | def SetArenaBillScore(billData, score): return billData.SetCmpValue(score)
|
| | | def GetArenaBillFightPower(billData): return billData.GetCmpValue2() * ShareDefine.Def_PerPointValue + billData.GetCmpValue3()
|
| | | def SetArenaBillFightPower(billData, fightPower):
|
| | | billData.SetCmpValue2(fightPower / ShareDefine.Def_PerPointValue)
|
| | | billData.SetCmpValue3(fightPower % ShareDefine.Def_PerPointValue)
|
| | | return
|
| | |
|
| | | def RepairArenaBillboardFightPower():
|
| | | ## 修正竞技场榜单的战力数据,支持20亿,bt3_1.100.1 下次大版本更新后可删除
|
| | | |
| | | repairStateKey = "RepairArenaBillboardFightPower"
|
| | | repairState = PlayerDBGSEvent.GetDBGSTrig_ByKey(repairStateKey)
|
| | | if repairState:
|
| | | GameWorld.DebugLog("=== 已经修正竞技场榜单数据 ===")
|
| | | return
|
| | | |
| | | GameWorld.Log("=== 修正竞技场榜单数据 Start ===")
|
| | | |
| | | worldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
|
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ArenaWorldLV, worldLV)
|
| | | GameWorld.Log(" SetDBGSTrig_ByKey %s=%s" % (PlayerDBGSEvent.Def_ArenaWorldLV, worldLV))
|
| | | |
| | | robotMaxCount = IpyGameDataPY.GetFuncCfg("ArenaRobot", 1)
|
| | | __RandRobotLVList(robotMaxCount)
|
| | | GameWorld.Log(" PyGameData.g_arenaRobotLVList len=%s, %s" % (len(PyGameData.g_arenaRobotLVList), PyGameData.g_arenaRobotLVList))
|
| | | |
| | | billBoard = GameWorld.GetBillboard().FindBillboard(ShareDefine.Def_BT_Arena)
|
| | | if not billBoard:
|
| | | return
|
| | | |
| | | for index in xrange(billBoard.GetCount()):
|
| | | |
| | | order = index + 1
|
| | | billBoardData = billBoard.At(index)
|
| | | if not billBoardData:
|
| | | continue
|
| | | |
| | | playerID = billBoardData.GetID()
|
| | | fightPower = billBoardData.GetCmpValue2() # 旧战力只存在比较值2
|
| | | |
| | | if playerID <= MaxRobotID:
|
| | | curLV = GetArenaBillLV(billBoardData)
|
| | | updLV = curLV
|
| | | if index < len(PyGameData.g_arenaRobotLVList):
|
| | | updLV = PyGameData.g_arenaRobotLVList[index]
|
| | | GameWorld.Log(" 修正机器人等级: order=%s,playerID=%s,curLV=%s,updLV=%s" |
| | | % (order, playerID, curLV, updLV))
|
| | | SetArenaBillLV(billBoardData, updLV)
|
| | | SetArenaBillFightPower(billBoardData, 0)
|
| | | continue
|
| | | |
| | | curCache = PlayerViewCache.FindViewCache(playerID)
|
| | | if curCache:
|
| | | cacheDict = PlayerViewCache.GetCachePropDataDict(curCache)
|
| | | fightPower = cacheDict["FightPower"]
|
| | | |
| | | SetArenaBillFightPower(billBoardData, fightPower)
|
| | | GameWorld.Log(" 修正真玩家战力: order=%s,playerID=%s,fightPower=%s,cmpValue2=%s,cmpValue3=%s" |
| | | % (order, playerID, fightPower, billBoardData.GetCmpValue2(), billBoardData.GetCmpValue3()))
|
| | | |
| | | billBoard.Sort()
|
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(repairStateKey, 1)
|
| | | GameWorld.Log("=== 修正竞技场榜单的战力数据 OK ===")
|
| | | return
|
| | |
|
| | | def OnServerStart():
|
| | |
| | | battleRec.isDispose = int(updInfo[0] if len(updInfo) > 0 else 0)
|
| | | battleRec.updScore = int(updInfo[1] if len(updInfo) > 1 else 0)
|
| | |
|
| | | strValue3 = recData.GetStrValue3()
|
| | | faceInfo = strValue3.split(",") if strValue3 else []
|
| | | battleRec.tagFace = int(faceInfo[0] if len(faceInfo) > 0 else 0)
|
| | | battleRec.tagFacePic = int(faceInfo[1] if len(faceInfo) > 1 else 0)
|
| | | |
| | | battleRecList = GetPlayerArenaBattleRecList(playerID)
|
| | | battleRecList.append(battleRec)
|
| | |
|
| | |
| | | else:
|
| | | __ResetArenaRobotBillboard()
|
| | |
|
| | | RepairArenaBillboardFightPower()
|
| | | return
|
| | |
|
| | | def OnServerClose():
|
| | |
| | |
|
| | | recData.SetStrValue1("%s,%s" % (int(battleRec.isWin), battleRec.addScore))
|
| | | recData.SetStrValue2("%s,%s" % (int(battleRec.isDispose), battleRec.updScore))
|
| | | recData.SetStrValue3("%s,%s" % (battleRec.tagFace, battleRec.tagFacePic))
|
| | |
|
| | | return
|
| | |
|
| | |
| | | SetArenaBillRealmLV(billData, cacheDict["RealmLV"])
|
| | | SetArenaBillLV(billData, cacheDict["LV"])
|
| | | SetArenaBillFightPower(billData, cacheDict["FightPower"])
|
| | | SetArenaBillFace(billData, cacheDict.get("Face", 0))
|
| | | SetArenaBillFacePic(billData, cacheDict.get("FacePic", 0))
|
| | | else:
|
| | | if matchIndex < len(PyGameData.g_arenaRobotLVList):
|
| | | robotLV = PyGameData.g_arenaRobotLVList[matchIndex] # 同步更新机器人榜单变化等级
|
| | |
| | | matchPlayer.tagLV = GetArenaBillLV(billData)
|
| | | matchPlayer.tagJob = GetArenaBillJob(billData)
|
| | | matchPlayer.tagScore = GetArenaBillScore(billData)
|
| | | matchPlayer.tagFace = GetArenaBillFace(billData)
|
| | | matchPlayer.tagFacePic = GetArenaBillFacePic(billData)
|
| | |
|
| | | GameWorld.DebugLog(" %s 匹配在榜单上的: tagPlayerID=%s,tagLV=%s,tagScore=%s,matchOrder=%s"
|
| | | % (i + 1, matchPlayer.tagPlayerID, matchPlayer.tagLV, matchPlayer.tagScore, matchOrder), playerID)
|
| | |
| | | matchInfo.Job = matchPlayer.tagJob
|
| | | matchInfo.LV = matchPlayer.tagLV
|
| | | matchInfo.Score = matchPlayer.tagScore
|
| | | matchInfo.Face = matchPlayer.tagFace
|
| | | matchInfo.FacePic = matchPlayer.tagFacePic
|
| | |
|
| | | # 玩家读取额外信息, 机器人其他信息不处理,这里直接读最新的查看缓存,防止刷新不及时(并不是实时数据,只是相对实时,前端可自行控制刷新频率)
|
| | | if matchInfo.PlayerID > MaxRobotID:
|
| | |
| | | matchInfo.RealmLV = cacheDict["RealmLV"]
|
| | | matchInfo.FightPower = fightPower % ShareDefine.Def_PerPointValue
|
| | | matchInfo.FightPowerEx = fightPower / ShareDefine.Def_PerPointValue
|
| | | matchInfo.Face = cacheDict.get("Face", 0)
|
| | | matchInfo.FacePic = cacheDict.get("FacePic", 0)
|
| | | else:
|
| | | # 此处机器人的暂忽略等级变化的同步,仅在刷新、更新积分时同步,此处省略查询机器人所属榜单排名
|
| | | pass
|
| | |
| | |
|
| | | curScore = playerScore
|
| | | isFindTag = False
|
| | | tagLV, tagJob, tagScore = 0, 0, 0
|
| | | tagLV, tagJob, tagScore, tagFace, tagFacePic = 0, 0, 0, 0, 0
|
| | | tagRealmLV, tagFightPower, tagAccID = 0, 0, "" # 机器人无值
|
| | |
|
| | | # 先找匹配列表
|
| | |
| | | for matchPlayer in matchList:
|
| | | if matchPlayer.tagPlayerID == tagPlayerID:
|
| | | isFindTag = True
|
| | | tagLV, tagJob, tagScore = matchPlayer.tagLV, matchPlayer.tagJob, matchPlayer.tagScore
|
| | | tagLV, tagJob, tagScore, tagFace, tagFacePic = matchPlayer.tagLV, matchPlayer.tagJob, matchPlayer.tagScore, matchPlayer.tagFace, matchPlayer.tagFacePic
|
| | | GameWorld.DebugLog(" 对手在匹配列表中! tagLV=%s, tagJob=%s, tagScore=%s" % (tagLV, tagJob, tagScore), playerID)
|
| | | break
|
| | |
|
| | |
| | | for battleRec in curBattleRecList:
|
| | | if battleRec.tagPlayerID == tagPlayerID:
|
| | | isFindTag = True
|
| | | tagLV, tagJob, tagScore = battleRec.tagLV, battleRec.tagJob, battleRec.tagScore
|
| | | tagLV, tagJob, tagScore, tagFace, tagFacePic = battleRec.tagLV, battleRec.tagJob, battleRec.tagScore, battleRec.tagFace, battleRec.tagFacePic
|
| | | GameWorld.DebugLog(" 对手在对战记录中! tagLV=%s, tagJob=%s, tagScore=%s" % (tagLV, tagJob, tagScore), playerID)
|
| | | break
|
| | |
|
| | |
| | | battleRec.addScore = addScore
|
| | | battleRec.isDispose = 1
|
| | | battleRec.updScore = updScore
|
| | | battleRec.tagFace = tagFace
|
| | | battleRec.tagFacePic = tagFacePic
|
| | | curBattleRecList.append(battleRec)
|
| | | if len(curBattleRecList) > battleRecMaxCount:
|
| | | curBattleRecList = curBattleRecList[len(curBattleRecList) - battleRecMaxCount:]
|
| | |
| | | tagBattleRec.addScore = tagAddScore
|
| | | tagBattleRec.isDispose = 1 if tagOnline else 0
|
| | | tagBattleRec.updScore = updTagScore
|
| | | tagBattleRec.tagFace = face
|
| | | tagBattleRec.tagFacePic = facePic
|
| | | tagBattleRecList.append(tagBattleRec)
|
| | | if len(tagBattleRecList) > battleRecMaxCount:
|
| | | tagBattleRecList = tagBattleRecList[len(tagBattleRecList) - battleRecMaxCount:]
|
| | |
| | | recInfo.AddScoreLen = len(recInfo.AddScore)
|
| | | recInfo.IsWin = battleRec.isWin
|
| | | recInfo.Time = battleRec.battleTime
|
| | | recInfo.Face = battleRec.tagFace
|
| | | recInfo.FacePic = battleRec.tagFacePic
|
| | |
|
| | | if recInfo.PlayerID > MaxRobotID:
|
| | | curCache = PlayerViewCache.FindViewCache(recInfo.PlayerID)
|
| | |
| | | if areaPlayerID > Def_FakeAreaCount:
|
| | | cacheDict = PlayerViewCache.GetCachePropDataDict(PlayerViewCache.FindViewCache(areaPlayerID))
|
| | | areaInfo.PlayerName = cacheDict.get("Name", "")
|
| | | areaInfo.Face = cacheDict.get("Job", 0)
|
| | | areaInfo.Job = cacheDict.get("Job", 0)
|
| | | areaInfo.Face = cacheDict.get("Face", 0)
|
| | | areaInfo.FacePic = cacheDict.get("FacePic", 0)
|
| | |
|
| | | areaInfo.MineItemList = []
|
| | | if not mineIndexList:
|
| | |
| | | if mineItemData.RobPlayerID:
|
| | | robCacheDict = PlayerViewCache.GetCachePropDataDict(PlayerViewCache.FindViewCache(mineItemData.RobPlayerID))
|
| | | mineItem.RobPlayerName = robCacheDict.get("Name", "")
|
| | | mineItem.RobFace = robCacheDict.get("Job", 0)
|
| | | mineItem.RobJob = robCacheDict.get("Job", 0)
|
| | | mineItem.RobFace = robCacheDict.get("Face", 0)
|
| | | mineItem.RobFacePic = robCacheDict.get("FacePic", 0)
|
| | | areaInfo.MineItemList.append(mineItem)
|
| | | areaInfo.MineCount = len(areaInfo.MineItemList)
|
| | |
|
| | |
| | | if playerID != recordInfo.TagPlayerID and recordInfo.TagPlayerID > Def_FakeAreaCount:
|
| | | tagCacheDict = PlayerViewCache.GetCachePropDataDict(PlayerViewCache.FindViewCache(recordInfo.TagPlayerID))
|
| | | recordInfo.TagPlayerName = tagCacheDict.get("Name", "")
|
| | | recordInfo.TagFace = tagCacheDict.get("Job", 0)
|
| | | recordInfo.TagJob = tagCacheDict.get("Job", 0)
|
| | | recordInfo.TagFace = tagCacheDict.get("Face", 0)
|
| | | recordInfo.TagFacePic = tagCacheDict.get("FacePic", 0)
|
| | | clientPack.AreaRecordList.append(recordInfo)
|
| | | clientPack.RecordCount = len(clientPack.AreaRecordList)
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | |
| | |
|
| | | gameRecMgr = PyDataManager.GetDBGameRecDataManager()
|
| | | recData = gameRecMgr.AddGameRecData(ShareDefine.Def_GameRecType_Xiangong, xiangongID, [playerID])
|
| | | playerInfo = PlayerViewCache.GetShotCacheDict(playerID, "ServerID")
|
| | | playerInfo = PlayerViewCache.GetShotCacheDict(playerID, "ServerID", "Face", "FacePic")
|
| | |
|
| | | serverID = playerInfo.get("ServerID", 0)
|
| | | saveServerIDList = [] + serverIDList # 重新创建一份存储,不改变传入值
|
| | |
| | | GameWorld.DebugLog(" xgPlayerID=%s,playerServerID=%s not in %s" % (xgPlayerID, playerServerID, serverIDList))
|
| | | continue
|
| | |
|
| | | playerInfo = PlayerViewCache.GetShotCacheDict(xgPlayerID, "PlayerID", "ServerID", "Model")
|
| | | playerInfo = PlayerViewCache.GetShotCacheDict(xgPlayerID, "PlayerID", "ServerID", "Model", "Face", "FacePic")
|
| | | if not playerInfo:
|
| | | GameWorld.Log("找不到玩家缓存的暂不同步仙宫新晋仙官! xgPlayerID=%s" % xgPlayerID)
|
| | | continue
|
| | |
| | | newP.LV = playerInfo["LV"]
|
| | | newP.Job = playerInfo["Job"]
|
| | | newP.RealmLV = playerInfo["RealmLV"]
|
| | | newP.Face = playerInfo.get("Face", 0)
|
| | | newP.FacePic = playerInfo.get("FacePic", 0)
|
| | | newP.EquipShowSwitch = playerInfo["EquipShowSwitch"]
|
| | | newP.EquipShowID = playerInfo["EquipShowID"]
|
| | | newP.EquipShowIDCount = len(newP.EquipShowID)
|
| | |
| | | recP.LV = playerInfo["LV"]
|
| | | recP.Job = playerInfo["Job"]
|
| | | recP.RealmLV = playerInfo["RealmLV"]
|
| | | recP.Face = playerInfo.get("Face", 0)
|
| | | recP.FacePic = playerInfo.get("FacePic", 0)
|
| | | recPlayerList.append(recP)
|
| | |
|
| | | clientPack = ChPyNetSendPack.tagGCXiangongRecPlayerInfo()
|
| | |
| | | def GetSyncDict(self):
|
| | | # Value 暂时只同步1~2
|
| | | syncDict = {"PlayerID":self.GetPlayerID(), "Value1":self.GetValue1(), "Value2":self.GetValue2()}
|
| | | syncDict.update(PlayerViewCache.GetShotCacheDict(self.GetPlayerID(), "PlayerID", "FightPower", "ServerID", "OfflineValue"))
|
| | | syncDict.update(PlayerViewCache.GetShotCacheDict(self.GetPlayerID(), "PlayerID", "FightPower", "ServerID", "OfflineValue", "Face", "FacePic"))
|
| | | return syncDict
|
| | |
|
| | | class PyFuncTeam():
|
| | |
| | | ApplyList = []
|
| | | if applyDetail:
|
| | | for applyID in ApplyIDList[::-1]:
|
| | | applyPlayerDict = PlayerViewCache.GetShotCacheDict(applyID, "PlayerID", "FightPower", "ServerID")
|
| | | applyPlayerDict = PlayerViewCache.GetShotCacheDict(applyID, "PlayerID", "FightPower", "ServerID", "Face", "FacePic")
|
| | | if not applyPlayerDict:
|
| | | ApplyIDList.remove(applyID)
|
| | | else:
|
| | |
| | | mem.LV = memberInfo.get("LV", 0)
|
| | | mem.Job = memberInfo.get("Job", 0)
|
| | | mem.RealmLV = memberInfo.get("RealmLV", 0)
|
| | | mem.Face = memberInfo.get("Face", 0)
|
| | | mem.FacePic = memberInfo.get("FacePic", 0)
|
| | | mem.FightPower = memberInfo.get("FightPower", 0) % ChConfig.Def_PerPointValue
|
| | | mem.FightPowerEx = memberInfo.get("FightPower", 0) / ChConfig.Def_PerPointValue
|
| | | mem.Value1 = memberInfo["Value1"]
|
| | |
| | | mem.LV = memberInfo.get("LV", 0)
|
| | | mem.Job = memberInfo.get("Job", 0)
|
| | | mem.RealmLV = memberInfo.get("RealmLV", 0)
|
| | | mem.Face = memberInfo.get("Face", 0)
|
| | | mem.FacePic = memberInfo.get("FacePic", 0)
|
| | | mem.FightPower = memberInfo.get("FightPower", 0) % ChConfig.Def_PerPointValue
|
| | | mem.FightPowerEx = memberInfo.get("FightPower", 0) / ChConfig.Def_PerPointValue
|
| | | mem.OfflineValue = memberInfo.get("OfflineValue", 0)
|
| | |
| | | applyP.LV = applyInfo["LV"]
|
| | | applyP.Job = applyInfo["Job"]
|
| | | applyP.RealmLV = applyInfo["RealmLV"]
|
| | | applyP.Face = applyInfo.get("Face", 0)
|
| | | applyP.FacePic = applyInfo.get("FacePic", 0)
|
| | | applyP.FightPower = applyInfo["FightPower"] % ChConfig.Def_PerPointValue
|
| | | applyP.FightPowerEx = applyInfo["FightPower"] / ChConfig.Def_PerPointValue
|
| | | applyList.append(applyP)
|
| | |
| | | AddScore = "" #(String AddScore)//本次对战增加的积分,有正负
|
| | | IsWin = 0 #(BYTE IsWin)//是否获胜
|
| | | Time = 0 #(DWORD Time)//时间戳
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.AddScore,_pos = CommFunc.ReadString(_lpData, _pos,self.AddScoreLen)
|
| | | self.IsWin,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.Time,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.AddScore = ""
|
| | | self.IsWin = 0
|
| | | self.Time = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 1
|
| | | length += len(self.AddScore)
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
| | | data = CommFunc.WriteString(data, self.AddScoreLen, self.AddScore)
|
| | | data = CommFunc.WriteBYTE(data, self.IsWin)
|
| | | data = CommFunc.WriteDWORD(data, self.Time)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | AddScoreLen:%d,
|
| | | AddScore:%s,
|
| | | IsWin:%d,
|
| | | Time:%d
|
| | | Time:%d,
|
| | | Face:%d,
|
| | | FacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.PlayerID,
|
| | |
| | | self.AddScoreLen,
|
| | | self.AddScore,
|
| | | self.IsWin,
|
| | | self.Time
|
| | | self.Time,
|
| | | self.Face,
|
| | | self.FacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | FightPower = 0 #(DWORD FightPower)//战力求余亿部分,机器人读等级表取等级对应战力
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)//战力整除亿部分,机器人读等级表取等级对应战力
|
| | | Score = 0 #(DWORD Score)//积分
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Score,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | self.Score = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 1
|
| | | length += 2
|
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | data = CommFunc.WriteDWORD(data, self.Score)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | RealmLV:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d,
|
| | | Score:%d
|
| | | Score:%d,
|
| | | Face:%d,
|
| | | FacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.PlayerID,
|
| | |
| | | self.RealmLV,
|
| | | self.FightPower,
|
| | | self.FightPowerEx,
|
| | | self.Score
|
| | | self.Score,
|
| | | self.Face,
|
| | | self.FacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | EquipShowSwitch = 0 #(DWORD EquipShowSwitch)
|
| | | EquipShowIDCount = 0 #(BYTE EquipShowIDCount)
|
| | | EquipShowID = list() #(vector<DWORD> EquipShowID)
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.EquipShowIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.EquipShowIDCount):
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.EquipShowSwitch = 0
|
| | | self.EquipShowIDCount = 0
|
| | | self.EquipShowID = list()
|
| | |
| | | length += 1
|
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 1
|
| | | length += 4 * self.EquipShowIDCount
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
|
| | | data = CommFunc.WriteBYTE(data, self.EquipShowIDCount)
|
| | | for i in range(self.EquipShowIDCount):
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | EquipShowSwitch:%d,
|
| | | EquipShowIDCount:%d,
|
| | | EquipShowID:%s
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.EquipShowSwitch,
|
| | | self.EquipShowIDCount,
|
| | | "..."
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 2
|
| | | length += 1
|
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | Name:%s,
|
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.AddTime,
|
| | |
| | | self.Name,
|
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | RobPlayerID = 0 #(DWORD RobPlayerID)// 抢夺玩家ID,为0时代表没人抢夺
|
| | | RobWorkerCount = 0 #(BYTE RobWorkerCount)// 抢夺工人个数
|
| | | RobPlayerName = "" #(char RobPlayerName[33])
|
| | | RobJob = 0 #(BYTE RobJob)
|
| | | RobFace = 0 #(DWORD RobFace)
|
| | | RobFacePic = 0 #(DWORD RobFacePic)
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.RobPlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.RobWorkerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RobPlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
|
| | | self.RobJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RobFace,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.RobFacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.RobPlayerID = 0
|
| | | self.RobWorkerCount = 0
|
| | | self.RobPlayerName = ""
|
| | | self.RobJob = 0
|
| | | self.RobFace = 0
|
| | | self.RobFacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 4
|
| | | length += 1
|
| | | length += 33
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
| | | data = CommFunc.WriteDWORD(data, self.RobPlayerID)
|
| | | data = CommFunc.WriteBYTE(data, self.RobWorkerCount)
|
| | | data = CommFunc.WriteString(data, 33, self.RobPlayerName)
|
| | | data = CommFunc.WriteBYTE(data, self.RobJob)
|
| | | data = CommFunc.WriteDWORD(data, self.RobFace)
|
| | | data = CommFunc.WriteDWORD(data, self.RobFacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | RobPlayerID:%d,
|
| | | RobWorkerCount:%d,
|
| | | RobPlayerName:%s,
|
| | | RobFace:%d
|
| | | RobJob:%d,
|
| | | RobFace:%d,
|
| | | RobFacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.Index,
|
| | |
| | | self.RobPlayerID,
|
| | | self.RobWorkerCount,
|
| | | self.RobPlayerName,
|
| | | self.RobFace
|
| | | self.RobJob,
|
| | | self.RobFace,
|
| | | self.RobFacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | class tagGCMineArea(Structure):
|
| | | PlayerID = 0 #(DWORD PlayerID)// 福地所属玩家ID,可能是自己或其他玩家ID,当ID小于10000时为假人
|
| | | PlayerName = "" #(char PlayerName[33])// 可能为空,如自己或假人
|
| | | Job = 0 #(BYTE Job)
|
| | | Face = 0 #(DWORD Face)
|
| | | FacePic = 0 #(DWORD FacePic)
|
| | | MineCount = 0 #(BYTE MineCount)
|
| | | MineItemList = list() #(vector<tagGCMineItem> MineItemList)// 矿物列表
|
| | | data = None
|
| | |
| | | self.Clear()
|
| | | self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.MineCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.MineCount):
|
| | | temMineItemList = tagGCMineItem()
|
| | |
| | | def Clear(self):
|
| | | self.PlayerID = 0
|
| | | self.PlayerName = ""
|
| | | self.Job = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.MineCount = 0
|
| | | self.MineItemList = list()
|
| | | return
|
| | |
| | | length = 0
|
| | | length += 4
|
| | | length += 33
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | | length += 1
|
| | | for i in range(self.MineCount):
|
| | |
| | | data = ''
|
| | | data = CommFunc.WriteDWORD(data, self.PlayerID)
|
| | | data = CommFunc.WriteString(data, 33, self.PlayerName)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteBYTE(data, self.MineCount)
|
| | | for i in range(self.MineCount):
|
| | | data = CommFunc.WriteString(data, self.MineItemList[i].GetLength(), self.MineItemList[i].GetBuffer())
|
| | |
| | | DumpString = '''
|
| | | PlayerID:%d,
|
| | | PlayerName:%s,
|
| | | Job:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | MineCount:%d,
|
| | | MineItemList:%s
|
| | | '''\
|
| | | %(
|
| | | self.PlayerID,
|
| | | self.PlayerName,
|
| | | self.Job,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.MineCount,
|
| | | "..."
|
| | | )
|
| | |
| | | RecordTime = 0 #(DWORD RecordTime)// 记录时间戳
|
| | | MineID = 0 #(WORD MineID)// 矿物ID,对应福地采集表中ID
|
| | | TagPlayerName = "" #(char TagPlayerName[33])
|
| | | TagJob = 0 #(BYTE TagJob)
|
| | | TagFace = 0 #(DWORD TagFace)
|
| | | TagFacePic = 0 #(DWORD TagFacePic)
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.RecordTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.MineID,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.TagPlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
|
| | | self.TagJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.TagFace,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.TagFacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.RecordTime = 0
|
| | | self.MineID = 0
|
| | | self.TagPlayerName = ""
|
| | | self.TagJob = 0
|
| | | self.TagFace = 0
|
| | | self.TagFacePic = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 4
|
| | | length += 2
|
| | | length += 33
|
| | | length += 1
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
| | | data = CommFunc.WriteDWORD(data, self.RecordTime)
|
| | | data = CommFunc.WriteWORD(data, self.MineID)
|
| | | data = CommFunc.WriteString(data, 33, self.TagPlayerName)
|
| | | data = CommFunc.WriteBYTE(data, self.TagJob)
|
| | | data = CommFunc.WriteDWORD(data, self.TagFace)
|
| | | data = CommFunc.WriteDWORD(data, self.TagFacePic)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | RecordTime:%d,
|
| | | MineID:%d,
|
| | | TagPlayerName:%s,
|
| | | TagFace:%d
|
| | | TagJob:%d,
|
| | | TagFace:%d,
|
| | | TagFacePic:%d
|
| | | '''\
|
| | | %(
|
| | | self.RecordType,
|
| | |
| | | self.RecordTime,
|
| | | self.MineID,
|
| | | self.TagPlayerName,
|
| | | self.TagFace
|
| | | self.TagJob,
|
| | | self.TagFace,
|
| | | self.TagFacePic
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | FightPower = 0 #(DWORD FightPower)// 战力,求余亿
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)// 战力,整除亿
|
| | | Value1 = 0 #(DWORD Value1)//ֵ1
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.Value1,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | self.Value1 = 0
|
| | |
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | data = CommFunc.WriteDWORD(data, self.Value1)
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d,
|
| | | Value1:%d,
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.FightPower,
|
| | | self.FightPowerEx,
|
| | | self.Value1,
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | FightPower = 0 #(DWORD FightPower)// 战力,求余亿
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)// 战力,整除亿
|
| | | data = None
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | return _pos
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | return
|
| | |
| | | length += 2
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | return data
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d
|
| | | '''\
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.FightPower,
|
| | | self.FightPowerEx
|
| | | )
|
| | |
| | | LV = 0 #(WORD LV)// 玩家等级
|
| | | Job = 0 #(BYTE Job)// 玩家职业
|
| | | RealmLV = 0 #(WORD RealmLV)// 玩家境界
|
| | | Face = 0 #(DWORD Face)//基本脸型
|
| | | FacePic = 0 #(DWORD FacePic)//头像框
|
| | | FightPower = 0 #(DWORD FightPower)// 战力,求余亿
|
| | | FightPowerEx = 0 #(DWORD FightPowerEx)// 战力,整除亿
|
| | | OfflineValue = 0 #(DWORD OfflineValue)// 离线值:0-在线;1-离线;>1-上次离线时间戳,可用于计算离线多久了;当取不到玩家信息时用1代表已离线;
|
| | |
| | | self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.FightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.OfflineValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | |
| | | self.LV = 0
|
| | | self.Job = 0
|
| | | self.RealmLV = 0
|
| | | self.Face = 0
|
| | | self.FacePic = 0
|
| | | self.FightPower = 0
|
| | | self.FightPowerEx = 0
|
| | | self.OfflineValue = 0
|
| | |
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | | length += 4
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.LV)
|
| | | data = CommFunc.WriteBYTE(data, self.Job)
|
| | | data = CommFunc.WriteWORD(data, self.RealmLV)
|
| | | data = CommFunc.WriteDWORD(data, self.Face)
|
| | | data = CommFunc.WriteDWORD(data, self.FacePic)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPower)
|
| | | data = CommFunc.WriteDWORD(data, self.FightPowerEx)
|
| | | data = CommFunc.WriteDWORD(data, self.OfflineValue)
|
| | |
| | | LV:%d,
|
| | | Job:%d,
|
| | | RealmLV:%d,
|
| | | Face:%d,
|
| | | FacePic:%d,
|
| | | FightPower:%d,
|
| | | FightPowerEx:%d,
|
| | | OfflineValue:%d,
|
| | |
| | | self.LV,
|
| | | self.Job,
|
| | | self.RealmLV,
|
| | | self.Face,
|
| | | self.FacePic,
|
| | | self.FightPower,
|
| | | self.FightPowerEx,
|
| | | self.OfflineValue,
|