ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -1180,6 +1180,7 @@
    Job = 0    #(BYTE Job)// 玩家职业
    RealmLV = 0    #(WORD RealmLV)// 玩家境界等级
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -1198,6 +1199,7 @@
        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):
@@ -1212,6 +1214,7 @@
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -1223,6 +1226,7 @@
        length += 2
        length += 1
        length += 2
        length += 4
        length += 4
        return length
@@ -1237,6 +1241,7 @@
        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):
@@ -1248,7 +1253,8 @@
                                LV:%d,
                                Job:%d,
                                RealmLV:%d,
                                Face:%d
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -1258,7 +1264,8 @@
                                self.LV,
                                self.Job,
                                self.RealmLV,
                                self.Face
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -1740,6 +1747,8 @@
    NameLen = 0    #(BYTE NameLen)
    Name = ""    #(String Name)//名字
    PlayeJob = 0    #(BYTE PlayeJob)//玩家职业
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    MoneyNum = 0    #(DWORD MoneyNum)//金钱数量
    data = None
@@ -1752,6 +1761,8 @@
        self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.PlayeJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MoneyNum,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
@@ -1759,6 +1770,8 @@
        self.NameLen = 0
        self.Name = ""
        self.PlayeJob = 0
        self.Face = 0
        self.FacePic = 0
        self.MoneyNum = 0
        return
@@ -1768,6 +1781,8 @@
        length += len(self.Name)
        length += 1
        length += 4
        length += 4
        length += 4
        return length
@@ -1776,6 +1791,8 @@
        data = CommFunc.WriteBYTE(data, self.NameLen)
        data = CommFunc.WriteString(data, self.NameLen, self.Name)
        data = CommFunc.WriteBYTE(data, self.PlayeJob)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteDWORD(data, self.MoneyNum)
        return data
@@ -1784,12 +1801,16 @@
                                NameLen:%d,
                                Name:%s,
                                PlayeJob:%d,
                                Face:%d,
                                FacePic:%d,
                                MoneyNum:%d
                                '''\
                                %(
                                self.NameLen,
                                self.Name,
                                self.PlayeJob,
                                self.Face,
                                self.FacePic,
                                self.MoneyNum
                                )
        return DumpString
@@ -1878,6 +1899,8 @@
    Name = ""    #(String Name)//玩家名字
    Time = 0    #(DWORD Time)//时间
    PlayeJob = 0    #(BYTE PlayeJob)//玩家职业
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    MoneyType = 0    #(BYTE MoneyType)//金钱类型
    MoneyNum = 0    #(DWORD MoneyNum)//金钱数量
    GetWay = 0    #(BYTE GetWay)//获得途径
@@ -1900,6 +1923,8 @@
        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.Time,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.PlayeJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.MoneyNum,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.GetWay,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -1917,6 +1942,8 @@
        self.Name = ""
        self.Time = 0
        self.PlayeJob = 0
        self.Face = 0
        self.FacePic = 0
        self.MoneyType = 0
        self.MoneyNum = 0
        self.GetWay = 0
@@ -1935,6 +1962,8 @@
        length += len(self.Name)
        length += 4
        length += 1
        length += 4
        length += 4
        length += 1
        length += 4
        length += 1
@@ -1954,6 +1983,8 @@
        data = CommFunc.WriteString(data, self.NameLen, self.Name)
        data = CommFunc.WriteDWORD(data, self.Time)
        data = CommFunc.WriteBYTE(data, self.PlayeJob)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteBYTE(data, self.MoneyType)
        data = CommFunc.WriteDWORD(data, self.MoneyNum)
        data = CommFunc.WriteBYTE(data, self.GetWay)
@@ -1972,6 +2003,8 @@
                                Name:%s,
                                Time:%d,
                                PlayeJob:%d,
                                Face:%d,
                                FacePic:%d,
                                MoneyType:%d,
                                MoneyNum:%d,
                                GetWay:%d,
@@ -1988,6 +2021,8 @@
                                self.Name,
                                self.Time,
                                self.PlayeJob,
                                self.Face,
                                self.FacePic,
                                self.MoneyType,
                                self.MoneyNum,
                                self.GetWay,
@@ -2961,6 +2996,8 @@
    AddScore = ""    #(String AddScore)//本次对战增加的积分,有正负
    IsWin = 0    #(BYTE IsWin)//是否获胜
    Time = 0    #(DWORD Time)//时间戳
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -2981,6 +3018,8 @@
        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):
@@ -2996,6 +3035,8 @@
        self.AddScore = ""
        self.IsWin = 0
        self.Time = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -3011,6 +3052,8 @@
        length += 1
        length += len(self.AddScore)
        length += 1
        length += 4
        length += 4
        length += 4
        return length
@@ -3029,6 +3072,8 @@
        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):
@@ -3044,7 +3089,9 @@
                                AddScoreLen:%d,
                                AddScore:%s,
                                IsWin:%d,
                                Time:%d
                                Time:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -3058,7 +3105,9 @@
                                self.AddScoreLen,
                                self.AddScore,
                                self.IsWin,
                                self.Time
                                self.Time,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -3141,6 +3190,8 @@
    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):
@@ -3157,6 +3208,8 @@
        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):
@@ -3168,6 +3221,8 @@
        self.FightPower = 0
        self.FightPowerEx = 0
        self.Score = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -3177,6 +3232,8 @@
        length += 1
        length += 2
        length += 2
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
@@ -3193,6 +3250,8 @@
        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):
@@ -3204,7 +3263,9 @@
                                RealmLV:%d,
                                FightPower:%d,
                                FightPowerEx:%d,
                                Score:%d
                                Score:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -3214,7 +3275,9 @@
                                self.RealmLV,
                                self.FightPower,
                                self.FightPowerEx,
                                self.Score
                                self.Score,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -5255,6 +5318,7 @@
    Job = 0    #(BYTE Job)
    RealmLV = 0    #(WORD RealmLV)//境界   
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -5269,6 +5333,7 @@
        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):
@@ -5278,6 +5343,7 @@
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -5287,6 +5353,7 @@
        length += 4
        length += 1
        length += 2
        length += 4
        length += 4
        return length
@@ -5299,6 +5366,7 @@
        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):
@@ -5308,7 +5376,8 @@
                                LV:%d,
                                Job:%d,
                                RealmLV:%d,
                                Face:%d
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.ID,
@@ -5316,7 +5385,8 @@
                                self.LV,
                                self.Job,
                                self.RealmLV,
                                self.Face
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -5397,6 +5467,7 @@
    LV = 0    #(WORD LV)//等级
    RealmLV = 0    #(WORD RealmLV)//境界
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -5411,6 +5482,7 @@
        self.LV,_pos = CommFunc.ReadWORD(_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):
@@ -5420,6 +5492,7 @@
        self.LV = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -5429,6 +5502,7 @@
        length += 1
        length += 2
        length += 2
        length += 4
        length += 4
        return length
@@ -5441,6 +5515,7 @@
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -5450,7 +5525,8 @@
                                Job:%d,
                                LV:%d,
                                RealmLV:%d,
                                Face:%d
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -5458,7 +5534,8 @@
                                self.Job,
                                self.LV,
                                self.RealmLV,
                                self.Face
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -5775,6 +5852,8 @@
    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)
@@ -5794,6 +5873,8 @@
        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):
@@ -5810,6 +5891,8 @@
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.EquipShowSwitch = 0
        self.EquipShowIDCount = 0
        self.EquipShowID = list()
@@ -5826,6 +5909,8 @@
        length += 1
        length += 2
        length += 4
        length += 4
        length += 4
        length += 1
        length += 4 * self.EquipShowIDCount
@@ -5841,6 +5926,8 @@
        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):
@@ -5857,6 +5944,8 @@
                                LV:%d,
                                Job:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                EquipShowSwitch:%d,
                                EquipShowIDCount:%d,
                                EquipShowID:%s
@@ -5870,6 +5959,8 @@
                                self.LV,
                                self.Job,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.EquipShowSwitch,
                                self.EquipShowIDCount,
                                "..."
@@ -5962,6 +6053,8 @@
    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):
@@ -5978,6 +6071,8 @@
        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):
@@ -5989,6 +6084,8 @@
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -6001,6 +6098,8 @@
        length += 2
        length += 1
        length += 2
        length += 4
        length += 4
        return length
@@ -6014,6 +6113,8 @@
        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):
@@ -6025,7 +6126,9 @@
                                Name:%s,
                                LV:%d,
                                Job:%d,
                                RealmLV:%d
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.AddTime,
@@ -6035,7 +6138,9 @@
                                self.Name,
                                self.LV,
                                self.Job,
                                self.RealmLV
                                self.RealmLV,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -7659,6 +7764,8 @@
    Job = 0    #(BYTE Job)
    LV = 0    #(WORD LV)//等级
    RealmLV = 0    #(BYTE RealmLV)//境界
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    MapID = 0    #(DWORD MapID)
    LineID = 0    #(DWORD LineID)
    NPCID = 0    #(DWORD NPCID)
@@ -7678,6 +7785,8 @@
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.LineID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.NPCID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -7692,6 +7801,8 @@
        self.Job = 0
        self.LV = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.MapID = 0
        self.LineID = 0
        self.NPCID = 0
@@ -7710,6 +7821,8 @@
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 2
        length += len(self.ExData)
@@ -7723,6 +7836,8 @@
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteBYTE(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteDWORD(data, self.MapID)
        data = CommFunc.WriteDWORD(data, self.LineID)
        data = CommFunc.WriteDWORD(data, self.NPCID)
@@ -7738,6 +7853,8 @@
                                Job:%d,
                                LV:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                MapID:%d,
                                LineID:%d,
                                NPCID:%d,
@@ -7751,6 +7868,8 @@
                                self.Job,
                                self.LV,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.MapID,
                                self.LineID,
                                self.NPCID,
@@ -8209,6 +8328,8 @@
    Job = 0    #(BYTE Job)
    LV = 0    #(WORD LV)
    RealmLV = 0    #(BYTE RealmLV)//境界
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    MapID = 0    #(DWORD MapID)
    LineID = 0    #(DWORD LineID)
    NPCID = 0    #(DWORD NPCID)
@@ -8233,6 +8354,8 @@
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.LineID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.NPCID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -8253,6 +8376,8 @@
        self.Job = 0
        self.LV = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.MapID = 0
        self.LineID = 0
        self.NPCID = 0
@@ -8274,6 +8399,8 @@
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 2
        length += len(self.ExData)
        length += 19
@@ -8290,6 +8417,8 @@
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteBYTE(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteDWORD(data, self.MapID)
        data = CommFunc.WriteDWORD(data, self.LineID)
        data = CommFunc.WriteDWORD(data, self.NPCID)
@@ -8308,6 +8437,8 @@
                                Job:%d,
                                LV:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                MapID:%d,
                                LineID:%d,
                                NPCID:%d,
@@ -8324,6 +8455,8 @@
                                self.Job,
                                self.LV,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.MapID,
                                self.LineID,
                                self.NPCID,
@@ -8427,7 +8560,9 @@
    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):
@@ -8449,7 +8584,9 @@
        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):
@@ -8466,7 +8603,9 @@
        self.RobPlayerID = 0
        self.RobWorkerCount = 0
        self.RobPlayerName = ""
        self.RobJob = 0
        self.RobFace = 0
        self.RobFacePic = 0
        return
    def GetLength(self):
@@ -8484,6 +8623,8 @@
        length += 4
        length += 1
        length += 33
        length += 1
        length += 4
        length += 4
        return length
@@ -8503,7 +8644,9 @@
        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):
@@ -8521,7 +8664,9 @@
                                RobPlayerID:%d,
                                RobWorkerCount:%d,
                                RobPlayerName:%s,
                                RobFace:%d
                                RobJob:%d,
                                RobFace:%d,
                                RobFacePic:%d
                                '''\
                                %(
                                self.Index,
@@ -8537,7 +8682,9 @@
                                self.RobPlayerID,
                                self.RobWorkerCount,
                                self.RobPlayerName,
                                self.RobFace
                                self.RobJob,
                                self.RobFace,
                                self.RobFacePic
                                )
        return DumpString
@@ -8545,7 +8692,9 @@
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
@@ -8558,7 +8707,9 @@
        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()
@@ -8569,7 +8720,9 @@
    def Clear(self):
        self.PlayerID = 0
        self.PlayerName = ""
        self.Job = 0
        self.Face = 0
        self.FacePic = 0
        self.MineCount = 0
        self.MineItemList = list()
        return
@@ -8578,6 +8731,8 @@
        length = 0
        length += 4
        length += 33
        length += 1
        length += 4
        length += 4
        length += 1
        for i in range(self.MineCount):
@@ -8589,7 +8744,9 @@
        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())
@@ -8599,14 +8756,18 @@
        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,
                                "..."
                                )
@@ -8702,7 +8863,9 @@
    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):
@@ -8716,7 +8879,9 @@
        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):
@@ -8725,7 +8890,9 @@
        self.RecordTime = 0
        self.MineID = 0
        self.TagPlayerName = ""
        self.TagJob = 0
        self.TagFace = 0
        self.TagFacePic = 0
        return
    def GetLength(self):
@@ -8735,6 +8902,8 @@
        length += 4
        length += 2
        length += 33
        length += 1
        length += 4
        length += 4
        return length
@@ -8746,7 +8915,9 @@
        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):
@@ -8756,7 +8927,9 @@
                                RecordTime:%d,
                                MineID:%d,
                                TagPlayerName:%s,
                                TagFace:%d
                                TagJob:%d,
                                TagFace:%d,
                                TagFacePic:%d
                                '''\
                                %(
                                self.RecordType,
@@ -8764,7 +8937,9 @@
                                self.RecordTime,
                                self.MineID,
                                self.TagPlayerName,
                                self.TagFace
                                self.TagJob,
                                self.TagFace,
                                self.TagFacePic
                                )
        return DumpString
@@ -8908,6 +9083,8 @@
    Job = 0    #(BYTE Job)
    LV = 0    #(WORD LV)
    RealmLV = 0    #(BYTE RealmLV)//境界
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -8921,6 +9098,8 @@
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -8929,6 +9108,8 @@
        self.Job = 0
        self.LV = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -8938,6 +9119,8 @@
        length += 1
        length += 2
        length += 1
        length += 4
        length += 4
        return length
@@ -8948,6 +9131,8 @@
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteBYTE(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -8956,14 +9141,18 @@
                                PlayerName:%s,
                                Job:%d,
                                LV:%d,
                                RealmLV:%d
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
                                self.PlayerName,
                                self.Job,
                                self.LV,
                                self.RealmLV
                                self.RealmLV,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -9293,6 +9482,7 @@
    LV = 0    #(WORD LV)
    RealmLV = 0    #(WORD RealmLV)//境界等级
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -9309,6 +9499,7 @@
        self.LV,_pos = CommFunc.ReadWORD(_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):
@@ -9321,6 +9512,7 @@
        self.LV = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -9330,6 +9522,7 @@
        length += 33
        length += 2
        length += 2
        length += 4
        length += 4
        return length
@@ -9342,6 +9535,7 @@
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -9351,7 +9545,8 @@
                                Name:%s,
                                LV:%d,
                                RealmLV:%d,
                                Face:%d
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -9359,7 +9554,8 @@
                                self.Name,
                                self.LV,
                                self.RealmLV,
                                self.Face
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -10490,6 +10686,7 @@
    IsInTeam = 0    #(BYTE IsInTeam)//是否有队伍
    ServerGroupID = 0    #(DWORD ServerGroupID)//服务器组ID
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -10510,6 +10707,7 @@
        self.IsInTeam,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ServerGroupID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -10526,6 +10724,7 @@
        self.IsInTeam = 0
        self.ServerGroupID = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -10538,6 +10737,7 @@
        length += 2
        length += 1
        length += 1
        length += 4
        length += 4
        length += 4
@@ -10555,6 +10755,7 @@
        data = CommFunc.WriteBYTE(data, self.IsInTeam)
        data = CommFunc.WriteDWORD(data, self.ServerGroupID)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -10568,7 +10769,8 @@
                                OnlineType:%d,
                                IsInTeam:%d,
                                ServerGroupID:%d,
                                Face:%d
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -10580,7 +10782,8 @@
                                self.OnlineType,
                                self.IsInTeam,
                                self.ServerGroupID,
                                self.Face
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -10656,6 +10859,7 @@
    RealmLV = 0    #(WORD RealmLV)//境界
    OnlineType = 0    #(BYTE OnlineType)//0不在线 1在线 2脱机在线
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -10671,6 +10875,7 @@
        self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.OnlineType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -10681,6 +10886,7 @@
        self.RealmLV = 0
        self.OnlineType = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -10691,6 +10897,7 @@
        length += 2
        length += 2
        length += 1
        length += 4
        length += 4
        return length
@@ -10704,6 +10911,7 @@
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteBYTE(data, self.OnlineType)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -10714,7 +10922,8 @@
                                LV:%d,
                                RealmLV:%d,
                                OnlineType:%d,
                                Face:%d
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -10723,7 +10932,8 @@
                                self.LV,
                                self.RealmLV,
                                self.OnlineType,
                                self.Face
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -13092,6 +13302,8 @@
    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
@@ -13111,6 +13323,8 @@
        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)
@@ -13125,6 +13339,8 @@
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.FightPower = 0
        self.FightPowerEx = 0
        self.Value1 = 0
@@ -13144,6 +13360,8 @@
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        return length
@@ -13156,6 +13374,8 @@
        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)
@@ -13171,6 +13391,8 @@
                                LV:%d,
                                Job:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                FightPower:%d,
                                FightPowerEx:%d,
                                Value1:%d,
@@ -13184,6 +13406,8 @@
                                self.LV,
                                self.Job,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.FightPower,
                                self.FightPowerEx,
                                self.Value1,
@@ -13490,6 +13714,8 @@
    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
@@ -13507,6 +13733,8 @@
        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
@@ -13519,6 +13747,8 @@
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.FightPower = 0
        self.FightPowerEx = 0
        return
@@ -13534,6 +13764,8 @@
        length += 2
        length += 4
        length += 4
        length += 4
        length += 4
        return length
@@ -13546,6 +13778,8 @@
        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
@@ -13559,6 +13793,8 @@
                                LV:%d,
                                Job:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                FightPower:%d,
                                FightPowerEx:%d
                                '''\
@@ -13570,6 +13806,8 @@
                                self.LV,
                                self.Job,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.FightPower,
                                self.FightPowerEx
                                )
@@ -13584,6 +13822,8 @@
    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代表已离线;
@@ -13604,6 +13844,8 @@
        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)
@@ -13619,6 +13861,8 @@
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.FightPower = 0
        self.FightPowerEx = 0
        self.OfflineValue = 0
@@ -13640,6 +13884,8 @@
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        return length
@@ -13652,6 +13898,8 @@
        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)
@@ -13668,6 +13916,8 @@
                                LV:%d,
                                Job:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                FightPower:%d,
                                FightPowerEx:%d,
                                OfflineValue:%d,
@@ -13682,6 +13932,8 @@
                                self.LV,
                                self.Job,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.FightPower,
                                self.FightPowerEx,
                                self.OfflineValue,
@@ -14262,6 +14514,8 @@
    Job = 0    #(BYTE Job)// 玩家职业
    JobLevel = 0    #(BYTE JobLevel)// 玩家职业阶级
    RealmLV = 0    #(WORD RealmLV)// 玩家境界等级
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -14277,6 +14531,8 @@
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.JobLevel,_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):
@@ -14287,6 +14543,8 @@
        self.Job = 0
        self.JobLevel = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -14298,6 +14556,8 @@
        length += 1
        length += 1
        length += 2
        length += 4
        length += 4
        return length
@@ -14310,6 +14570,8 @@
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteBYTE(data, self.JobLevel)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -14320,7 +14582,9 @@
                                LV:%d,
                                Job:%d,
                                JobLevel:%d,
                                RealmLV:%d
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -14329,7 +14593,9 @@
                                self.LV,
                                self.Job,
                                self.JobLevel,
                                self.RealmLV
                                self.RealmLV,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -14412,6 +14678,8 @@
    Job = 0    #(BYTE Job)// 玩家职业
    JobLevel = 0    #(BYTE JobLevel)// 玩家职业阶级
    RealmLV = 0    #(WORD RealmLV)// 玩家境界等级
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -14430,6 +14698,8 @@
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.JobLevel,_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):
@@ -14444,6 +14714,8 @@
        self.Job = 0
        self.JobLevel = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -14456,6 +14728,8 @@
        length += 1
        length += 1
        length += 2
        length += 4
        length += 4
        return length
@@ -14469,6 +14743,8 @@
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteBYTE(data, self.JobLevel)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -14480,7 +14756,9 @@
                                LV:%d,
                                Job:%d,
                                JobLevel:%d,
                                RealmLV:%d
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -14490,7 +14768,9 @@
                                self.LV,
                                self.Job,
                                self.JobLevel,
                                self.RealmLV
                                self.RealmLV,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -14941,6 +15221,8 @@
    Job = 0    #(BYTE Job)// 玩家职业
    JobLevel = 0    #(BYTE JobLevel)// 玩家职业阶级
    RealmLV = 0    #(WORD RealmLV)// 玩家境界等级
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    PlayerState = 0    #(BYTE PlayerState)// 0: 离线 1:在线
    MapID = 0    #(DWORD MapID)// 地图ID
    LineID = 0    #(BYTE LineID)// 线路ID
@@ -14961,6 +15243,8 @@
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.JobLevel,_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.PlayerState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.LineID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -14976,6 +15260,8 @@
        self.Job = 0
        self.JobLevel = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.PlayerState = 0
        self.MapID = 0
        self.LineID = 0
@@ -14992,6 +15278,8 @@
        length += 1
        length += 1
        length += 2
        length += 4
        length += 4
        length += 1
        length += 4
        length += 1
@@ -15009,6 +15297,8 @@
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteBYTE(data, self.JobLevel)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteBYTE(data, self.PlayerState)
        data = CommFunc.WriteDWORD(data, self.MapID)
        data = CommFunc.WriteBYTE(data, self.LineID)
@@ -15025,6 +15315,8 @@
                                Job:%d,
                                JobLevel:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                PlayerState:%d,
                                MapID:%d,
                                LineID:%d
@@ -15039,6 +15331,8 @@
                                self.Job,
                                self.JobLevel,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.PlayerState,
                                self.MapID,
                                self.LineID
@@ -16014,6 +16308,8 @@
    FightPower = 0    #(DWORD FightPower)// 战力求余亿部分
    FightPowerEx = 0    #(DWORD FightPowerEx)// 战力整除亿部分
    RealmLV = 0    #(WORD RealmLV)
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -16030,6 +16326,8 @@
        self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FightPowerEx,_pos = CommFunc.ReadDWORD(_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):
@@ -16041,6 +16339,8 @@
        self.FightPower = 0
        self.FightPowerEx = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -16053,6 +16353,8 @@
        length += 4
        length += 4
        length += 2
        length += 4
        length += 4
        return length
@@ -16066,6 +16368,8 @@
        data = CommFunc.WriteDWORD(data, self.FightPower)
        data = CommFunc.WriteDWORD(data, self.FightPowerEx)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -16077,7 +16381,9 @@
                                LV:%d,
                                FightPower:%d,
                                FightPowerEx:%d,
                                RealmLV:%d
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -16087,7 +16393,9 @@
                                self.LV,
                                self.FightPower,
                                self.FightPowerEx,
                                self.RealmLV
                                self.RealmLV,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -17035,6 +17343,8 @@
    FightPower = 0    #(DWORD FightPower)// 战力求余亿部分
    FightPowerEx = 0    #(DWORD FightPowerEx)// 战力整除亿部分
    RealmLV = 0    #(WORD RealmLV)
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    data = None
    def __init__(self):
@@ -17051,6 +17361,8 @@
        self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FightPowerEx,_pos = CommFunc.ReadDWORD(_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):
@@ -17062,6 +17374,8 @@
        self.FightPower = 0
        self.FightPowerEx = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        return
    def GetLength(self):
@@ -17074,6 +17388,8 @@
        length += 4
        length += 4
        length += 2
        length += 4
        length += 4
        return length
@@ -17087,6 +17403,8 @@
        data = CommFunc.WriteDWORD(data, self.FightPower)
        data = CommFunc.WriteDWORD(data, self.FightPowerEx)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        return data
    def OutputString(self):
@@ -17098,7 +17416,9 @@
                                LV:%d,
                                FightPower:%d,
                                FightPowerEx:%d,
                                RealmLV:%d
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d
                                '''\
                                %(
                                self.PlayerID,
@@ -17108,7 +17428,9 @@
                                self.LV,
                                self.FightPower,
                                self.FightPowerEx,
                                self.RealmLV
                                self.RealmLV,
                                self.Face,
                                self.FacePic
                                )
        return DumpString
@@ -17227,6 +17549,8 @@
    NameLen = 0    #(BYTE NameLen)
    PlayerName = ""    #(String PlayerName)
    Job = 0    #(BYTE Job)
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    FightPower = 0    #(DWORD FightPower)
    RealmLV = 0    #(WORD RealmLV)
    PKScore = 0    #(DWORD PKScore)
@@ -17243,6 +17567,8 @@
        self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.PKScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -17254,6 +17580,8 @@
        self.NameLen = 0
        self.PlayerName = ""
        self.Job = 0
        self.Face = 0
        self.FacePic = 0
        self.FightPower = 0
        self.RealmLV = 0
        self.PKScore = 0
@@ -17267,6 +17595,8 @@
        length += len(self.PlayerName)
        length += 1
        length += 4
        length += 4
        length += 4
        length += 2
        length += 4
        length += 1
@@ -17279,6 +17609,8 @@
        data = CommFunc.WriteBYTE(data, self.NameLen)
        data = CommFunc.WriteString(data, self.NameLen, self.PlayerName)
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteDWORD(data, self.FightPower)
        data = CommFunc.WriteWORD(data, self.RealmLV)
        data = CommFunc.WriteDWORD(data, self.PKScore)
@@ -17291,6 +17623,8 @@
                                NameLen:%d,
                                PlayerName:%s,
                                Job:%d,
                                Face:%d,
                                FacePic:%d,
                                FightPower:%d,
                                RealmLV:%d,
                                PKScore:%d,
@@ -17301,6 +17635,8 @@
                                self.NameLen,
                                self.PlayerName,
                                self.Job,
                                self.Face,
                                self.FacePic,
                                self.FightPower,
                                self.RealmLV,
                                self.PKScore,
@@ -17398,6 +17734,8 @@
    PlayerName = ""    #(String PlayerName)// 跨服名字
    Job = 0    #(BYTE Job)
    LV = 0    #(WORD LV)
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    MaxHP = 0    #(DWORD MaxHP)// 默认满血,求余亿部分
    MaxHPEx = 0    #(DWORD MaxHPEx)// 默认满血,整除亿部分
    MaxProDef = 0    #(DWORD MaxProDef)// 最大护盾
@@ -17414,6 +17752,8 @@
        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MaxHP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MaxHPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MaxProDef,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -17425,6 +17765,8 @@
        self.PlayerName = ""
        self.Job = 0
        self.LV = 0
        self.Face = 0
        self.FacePic = 0
        self.MaxHP = 0
        self.MaxHPEx = 0
        self.MaxProDef = 0
@@ -17440,6 +17782,8 @@
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        return length
@@ -17450,6 +17794,8 @@
        data = CommFunc.WriteString(data, self.NameLen, self.PlayerName)
        data = CommFunc.WriteBYTE(data, self.Job)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteDWORD(data, self.MaxHP)
        data = CommFunc.WriteDWORD(data, self.MaxHPEx)
        data = CommFunc.WriteDWORD(data, self.MaxProDef)
@@ -17462,6 +17808,8 @@
                                PlayerName:%s,
                                Job:%d,
                                LV:%d,
                                Face:%d,
                                FacePic:%d,
                                MaxHP:%d,
                                MaxHPEx:%d,
                                MaxProDef:%d
@@ -17472,6 +17820,8 @@
                                self.PlayerName,
                                self.Job,
                                self.LV,
                                self.Face,
                                self.FacePic,
                                self.MaxHP,
                                self.MaxHPEx,
                                self.MaxProDef
@@ -19089,6 +19439,7 @@
    ExAttr20 = 0    #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
    HPEx = 0    #(DWORD HPEx)//当前血量 超过E的记录
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    RoleType = 0    #(DWORD RoleType)//角色类型(各项目可自定义含义,如种族,与职业区分)
    data = None
@@ -19197,6 +19548,7 @@
        self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.HPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.RoleType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
@@ -19301,6 +19653,7 @@
        self.ExAttr20 = 0
        self.HPEx = 0
        self.Face = 0
        self.FacePic = 0
        self.RoleType = 0
        return
@@ -19394,6 +19747,7 @@
        length += 4
        length += 4
        length += 15
        length += 4
        length += 4
        length += 4
        length += 4
@@ -19506,6 +19860,7 @@
        data = CommFunc.WriteDWORD(data, self.ExAttr20)
        data = CommFunc.WriteDWORD(data, self.HPEx)
        data = CommFunc.WriteDWORD(data, self.Face)
        data = CommFunc.WriteDWORD(data, self.FacePic)
        data = CommFunc.WriteDWORD(data, self.RoleType)
        return data
@@ -19608,6 +19963,7 @@
                                ExAttr20:%d,
                                HPEx:%d,
                                Face:%d,
                                FacePic:%d,
                                RoleType:%d
                                '''\
                                %(
@@ -19708,6 +20064,7 @@
                                self.ExAttr20,
                                self.HPEx,
                                self.Face,
                                self.FacePic,
                                self.RoleType
                                )
        return DumpString
@@ -28536,13 +28893,11 @@
#------------------------------------------------------
# A3 51 寻宝功能信息 #tagMCTreasureInfo
class  tagMCTreasureTypeInfo(Structure):
class  tagMCTreasureGridLimit(Structure):
    _pack_ = 1
    _fields_ = [
                  ("TreasureType", c_ubyte),    #寻宝类型
                  ("LuckValue", c_ushort),    #当前幸运值
                  ("TreasureCount", c_int),    #已寻宝总次数
                  ("FreeCountToday", c_ushort),    #今日已免费寻宝次数
                  ("GridNum", c_ubyte),    # 有限制抽取次数的格子编号
                  ("GridCnt", c_ushort),    # 已抽到次数
                  ]
    def __init__(self):
@@ -28555,30 +28910,109 @@
        return _pos + self.GetLength()
    def Clear(self):
        self.TreasureType = 0
        self.LuckValue = 0
        self.TreasureCount = 0
        self.FreeCountToday = 0
        self.GridNum = 0
        self.GridCnt = 0
        return
    def GetLength(self):
        return sizeof(tagMCTreasureTypeInfo)
        return sizeof(tagMCTreasureGridLimit)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 51 寻宝功能信息 //tagMCTreasureInfo:
                                GridNum:%d,
                                GridCnt:%d
                                '''\
                                %(
                                self.GridNum,
                                self.GridCnt
                                )
        return DumpString
class  tagMCTreasureTypeInfo(Structure):
    TreasureType = 0    #(BYTE TreasureType)//寻宝类型
    LuckValue = 0    #(WORD LuckValue)//当前幸运值
    TreasureCount = 0    #(DWORD TreasureCount)//已寻宝总次数
    FreeCountToday = 0    #(WORD FreeCountToday)//今日已免费寻宝次数
    TreasureCntAward = 0    #(DWORD TreasureCntAward)//累计寻宝次数对应奖励领奖状态,按奖励记录索引二进制记录是否已领取
    GridLimitCnt = 0    #(BYTE GridLimitCnt)
    GridLimitCntList = list()    #(vector<tagMCTreasureGridLimit> GridLimitCntList)//有限制抽取次数的格子次数信息
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.TreasureType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LuckValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.TreasureCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FreeCountToday,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.TreasureCntAward,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.GridLimitCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.GridLimitCnt):
            temGridLimitCntList = tagMCTreasureGridLimit()
            _pos = temGridLimitCntList.ReadData(_lpData, _pos)
            self.GridLimitCntList.append(temGridLimitCntList)
        return _pos
    def Clear(self):
        self.TreasureType = 0
        self.LuckValue = 0
        self.TreasureCount = 0
        self.FreeCountToday = 0
        self.TreasureCntAward = 0
        self.GridLimitCnt = 0
        self.GridLimitCntList = list()
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 2
        length += 4
        length += 2
        length += 4
        length += 1
        for i in range(self.GridLimitCnt):
            length += self.GridLimitCntList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.TreasureType)
        data = CommFunc.WriteWORD(data, self.LuckValue)
        data = CommFunc.WriteDWORD(data, self.TreasureCount)
        data = CommFunc.WriteWORD(data, self.FreeCountToday)
        data = CommFunc.WriteDWORD(data, self.TreasureCntAward)
        data = CommFunc.WriteBYTE(data, self.GridLimitCnt)
        for i in range(self.GridLimitCnt):
            data = CommFunc.WriteString(data, self.GridLimitCntList[i].GetLength(), self.GridLimitCntList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                TreasureType:%d,
                                LuckValue:%d,
                                TreasureCount:%d,
                                FreeCountToday:%d
                                FreeCountToday:%d,
                                TreasureCntAward:%d,
                                GridLimitCnt:%d,
                                GridLimitCntList:%s
                                '''\
                                %(
                                self.TreasureType,
                                self.LuckValue,
                                self.TreasureCount,
                                self.FreeCountToday
                                self.FreeCountToday,
                                self.TreasureCntAward,
                                self.GridLimitCnt,
                                "..."
                                )
        return DumpString
@@ -29756,6 +30190,62 @@
#------------------------------------------------------
# A5 12 珍宝阁信息 #tagMCFamilyZhenbaogeInfo
class  tagMCFamilyZhenbaogeInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("CutState", c_ubyte),    # 今日是否已砍价,此状态为全局状态,与盟Action砍价状态不同
                  ("BuyState", c_ubyte),    # 今日是否已购买,此状态为全局状态,与盟Action购买状态不同
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        self.SubCmd = 0x12
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA5
        self.SubCmd = 0x12
        self.CutState = 0
        self.BuyState = 0
        return
    def GetLength(self):
        return sizeof(tagMCFamilyZhenbaogeInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 12 珍宝阁信息 //tagMCFamilyZhenbaogeInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                CutState:%d,
                                BuyState:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.CutState,
                                self.BuyState
                                )
        return DumpString
m_NAtagMCFamilyZhenbaogeInfo=tagMCFamilyZhenbaogeInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFamilyZhenbaogeInfo.Cmd,m_NAtagMCFamilyZhenbaogeInfo.SubCmd))] = m_NAtagMCFamilyZhenbaogeInfo
#------------------------------------------------------
# A5 09 仙盟阵法信息 #tagMCFamilyZhenfaInfo
class  tagMCFamilyZhenfa(Structure):
@@ -30562,18 +31052,17 @@
#------------------------------------------------------
# A7 17 聊天气泡框状态 #tagMCChatBubbleBoxState
class  tagMCChatBubbleBoxState(Structure):
class  tagMCChatBubbleBox(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("BoxState", c_int),    # 按二进制位存储代表是否已开启,暂支持31位,以后有需要再加
                  ("BoxID", c_ubyte),    #气泡ID
                  ("State", c_ubyte),    #是否已激活
                  ("EndTime", c_int),    #到期时间戳,0为永久
                  ("Star", c_ubyte),    #星级
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA7
        self.SubCmd = 0x17
        return
    def ReadData(self, stringData, _pos=0, _len=0):
@@ -30582,33 +31071,98 @@
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA7
        self.SubCmd = 0x17
        self.BoxState = 0
        self.BoxID = 0
        self.State = 0
        self.EndTime = 0
        self.Star = 0
        return
    def GetLength(self):
        return sizeof(tagMCChatBubbleBoxState)
        return sizeof(tagMCChatBubbleBox)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A7 17 聊天气泡框状态 //tagMCChatBubbleBoxState:
                                Cmd:%s,
                                SubCmd:%s,
                                BoxState:%d
                                BoxID:%d,
                                State:%d,
                                EndTime:%d,
                                Star:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.BoxState
                                self.BoxID,
                                self.State,
                                self.EndTime,
                                self.Star
                                )
        return DumpString
class  tagMCChatBubbleBoxState(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)
    BoxList = list()    #(vector<tagMCChatBubbleBox> BoxList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA7
        self.Head.SubCmd = 0x17
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temBoxList = tagMCChatBubbleBox()
            _pos = temBoxList.ReadData(_lpData, _pos)
            self.BoxList.append(temBoxList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA7
        self.Head.SubCmd = 0x17
        self.Count = 0
        self.BoxList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Count):
            length += self.BoxList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.BoxList[i].GetLength(), self.BoxList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                BoxList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCChatBubbleBoxState=tagMCChatBubbleBoxState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCChatBubbleBoxState.Cmd,m_NAtagMCChatBubbleBoxState.SubCmd))] = m_NAtagMCChatBubbleBoxState
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCChatBubbleBoxState.Head.Cmd,m_NAtagMCChatBubbleBoxState.Head.SubCmd))] = m_NAtagMCChatBubbleBoxState
#------------------------------------------------------
@@ -30907,6 +31461,118 @@
m_NAtagMCDynamicBarrierState=tagMCDynamicBarrierState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDynamicBarrierState.Head.Cmd,m_NAtagMCDynamicBarrierState.Head.SubCmd))] = m_NAtagMCDynamicBarrierState
#------------------------------------------------------
# A7 21 表情包信息 #tagMCEmojiPackInfo
class  tagMCEmojiPack(Structure):
    _pack_ = 1
    _fields_ = [
                  ("PackID", c_ubyte),    #表情包ID
                  ("State", c_ubyte),    #是否已激活
                  ("EndTime", c_int),    #到期时间戳,0为永久
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.PackID = 0
        self.State = 0
        self.EndTime = 0
        return
    def GetLength(self):
        return sizeof(tagMCEmojiPack)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A7 21 表情包信息 //tagMCEmojiPackInfo:
                                PackID:%d,
                                State:%d,
                                EndTime:%d
                                '''\
                                %(
                                self.PackID,
                                self.State,
                                self.EndTime
                                )
        return DumpString
class  tagMCEmojiPackInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)
    EmojiPackList = list()    #(vector<tagMCEmojiPack> EmojiPackList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA7
        self.Head.SubCmd = 0x21
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temEmojiPackList = tagMCEmojiPack()
            _pos = temEmojiPackList.ReadData(_lpData, _pos)
            self.EmojiPackList.append(temEmojiPackList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA7
        self.Head.SubCmd = 0x21
        self.Count = 0
        self.EmojiPackList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Count):
            length += self.EmojiPackList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.EmojiPackList[i].GetLength(), self.EmojiPackList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                EmojiPackList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCEmojiPackInfo=tagMCEmojiPackInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEmojiPackInfo.Head.Cmd,m_NAtagMCEmojiPackInfo.Head.SubCmd))] = m_NAtagMCEmojiPackInfo
#------------------------------------------------------
@@ -41020,6 +41686,98 @@
#------------------------------------------------------
# AA 87 运势活动信息 #tagMCActYunshiInfo
class  tagMCActYunshiInfo(Structure):
    Head = tagHead()
    ActNum = 0    #(BYTE ActNum)// 活动编号
    StartDate = ""    #(char StartDate[10])// 开始日期 y-m-d
    EndtDate = ""    #(char EndtDate[10])// 结束日期 y-m-d
    ResetType = 0    #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
    LimitLV = 0    #(WORD LimitLV)// 限制等级
    TreasureType = 0    #(BYTE TreasureType)// 活动寻宝类型
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x87
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
        self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.TreasureType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAA
        self.Head.SubCmd = 0x87
        self.ActNum = 0
        self.StartDate = ""
        self.EndtDate = ""
        self.ResetType = 0
        self.LimitLV = 0
        self.TreasureType = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 10
        length += 10
        length += 1
        length += 2
        length += 1
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.ActNum)
        data = CommFunc.WriteString(data, 10, self.StartDate)
        data = CommFunc.WriteString(data, 10, self.EndtDate)
        data = CommFunc.WriteBYTE(data, self.ResetType)
        data = CommFunc.WriteWORD(data, self.LimitLV)
        data = CommFunc.WriteBYTE(data, self.TreasureType)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActNum:%d,
                                StartDate:%s,
                                EndtDate:%s,
                                ResetType:%d,
                                LimitLV:%d,
                                TreasureType:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActNum,
                                self.StartDate,
                                self.EndtDate,
                                self.ResetType,
                                self.LimitLV,
                                self.TreasureType
                                )
        return DumpString
m_NAtagMCActYunshiInfo=tagMCActYunshiInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActYunshiInfo.Head.Cmd,m_NAtagMCActYunshiInfo.Head.SubCmd))] = m_NAtagMCActYunshiInfo
#------------------------------------------------------
# AA 15 仙界盛典全民来嗨玩家信息 #tagMCAllPeoplePartyInfo
class  tagMCAllPeoplePartyCount(Structure):
@@ -49753,6 +50511,238 @@
#------------------------------------------------------
# B1 17 头像信息 #tagMCFaceInfo
class  tagMCFace(Structure):
    _pack_ = 1
    _fields_ = [
                  ("FaceID", c_int),    #头像ID
                  ("State", c_ubyte),    #是否已激活
                  ("EndTime", c_int),    #到期时间戳,0为永久
                  ("Star", c_ubyte),    #星级
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.FaceID = 0
        self.State = 0
        self.EndTime = 0
        self.Star = 0
        return
    def GetLength(self):
        return sizeof(tagMCFace)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 17 头像信息 //tagMCFaceInfo:
                                FaceID:%d,
                                State:%d,
                                EndTime:%d,
                                Star:%d
                                '''\
                                %(
                                self.FaceID,
                                self.State,
                                self.EndTime,
                                self.Star
                                )
        return DumpString
class  tagMCFaceInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)
    FaceList = list()    #(vector<tagMCFace> FaceList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x17
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temFaceList = tagMCFace()
            _pos = temFaceList.ReadData(_lpData, _pos)
            self.FaceList.append(temFaceList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x17
        self.Count = 0
        self.FaceList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Count):
            length += self.FaceList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.FaceList[i].GetLength(), self.FaceList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                FaceList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCFaceInfo=tagMCFaceInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFaceInfo.Head.Cmd,m_NAtagMCFaceInfo.Head.SubCmd))] = m_NAtagMCFaceInfo
#------------------------------------------------------
# B1 18 头像框信息 #tagMCFacePicInfo
class  tagMCFacePic(Structure):
    _pack_ = 1
    _fields_ = [
                  ("FacePicID", c_int),    #头像框ID
                  ("State", c_ubyte),    #是否已激活
                  ("EndTime", c_int),    #到期时间戳,0为永久
                  ("Star", c_ubyte),    #星级
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.FacePicID = 0
        self.State = 0
        self.EndTime = 0
        self.Star = 0
        return
    def GetLength(self):
        return sizeof(tagMCFacePic)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 18 头像框信息 //tagMCFacePicInfo:
                                FacePicID:%d,
                                State:%d,
                                EndTime:%d,
                                Star:%d
                                '''\
                                %(
                                self.FacePicID,
                                self.State,
                                self.EndTime,
                                self.Star
                                )
        return DumpString
class  tagMCFacePicInfo(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)
    FacePicList = list()    #(vector<tagMCFacePic> FacePicList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x18
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temFacePicList = tagMCFacePic()
            _pos = temFacePicList.ReadData(_lpData, _pos)
            self.FacePicList.append(temFacePicList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x18
        self.Count = 0
        self.FacePicList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Count):
            length += self.FacePicList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.FacePicList[i].GetLength(), self.FacePicList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                FacePicList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "..."
                                )
        return DumpString
m_NAtagMCFacePicInfo=tagMCFacePicInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFacePicInfo.Head.Cmd,m_NAtagMCFacePicInfo.Head.SubCmd))] = m_NAtagMCFacePicInfo
#------------------------------------------------------
# B1 11 功能系统特权信息 #tagMCFuncSysPrivilegeInfoList
class  tagMCFuncSysPrivilegeInfo(Structure):
@@ -51856,6 +52846,8 @@
    LV = 0    #(WORD LV)// 玩家等级
    Job = 0    #(BYTE Job)// 玩家职业, 如果是机器人,则职业有值,服务端控制
    RealmLV = 0    #(WORD RealmLV)// 玩家境界等级
    Face = 0    #(DWORD Face)//基本脸型
    FacePic = 0    #(DWORD FacePic)//头像框
    FightPower = 0    #(DWORD FightPower)// 玩家战力
    Relation = 0    #(BYTE Relation)// 关系:0-无,1-好友,2-盟友
    IsNeedGold = 0    #(BYTE IsNeedGold)// 是否需要仙玉召唤
@@ -51874,6 +52866,8 @@
        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.Relation,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.IsNeedGold,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -51887,6 +52881,8 @@
        self.LV = 0
        self.Job = 0
        self.RealmLV = 0
        self.Face = 0
        self.FacePic = 0
        self.FightPower = 0
        self.Relation = 0
        self.IsNeedGold = 0
@@ -51902,6 +52898,8 @@
        length += 1
        length += 2
        length += 4
        length += 4
        length += 4
        length += 1
        length += 1
@@ -51916,6 +52914,8 @@
        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.WriteBYTE(data, self.Relation)
        data = CommFunc.WriteBYTE(data, self.IsNeedGold)
@@ -51930,6 +52930,8 @@
                                LV:%d,
                                Job:%d,
                                RealmLV:%d,
                                Face:%d,
                                FacePic:%d,
                                FightPower:%d,
                                Relation:%d,
                                IsNeedGold:%d
@@ -51942,6 +52944,8 @@
                                self.LV,
                                self.Job,
                                self.RealmLV,
                                self.Face,
                                self.FacePic,
                                self.FightPower,
                                self.Relation,
                                self.IsNeedGold