hch
2019-05-15 ca8b0b80370b2b5ac70354b243252839908930b1
860312 机器人同步 需策划改挂机推荐两张表
13个文件已修改
24982 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/imba.py 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/Robot/Protocol/PacketsReceived.py 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/Robot/Protocol/PacketsReceivedPY.py 8415 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/Robot/Protocol/PacketsSend.py 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/Robot/Protocol/PacketsSendPY.py 3788 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/AI/AIFile/AILoginout.py 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/Data/MapEventPoint.txt 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/DataReader/MapEventPointReader.py 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/Main.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/Protocol/PacketsReceived.py 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/Protocol/PacketsReceivedPY.py 8415 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/Protocol/PacketsSend.py 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tool/RobotTest/Protocol/PacketsSendPY.py 3788 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/imba.py
@@ -40,6 +40,12 @@
    for fbaoID in [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204]:
        SetFabao.OnExec(curPlayer, [fbaoID])
    
    curMission = curPlayer.FindMission(1)
    if not curMission:
        GameWorld.DebugAnswer(curPlayer, "玩家没有该任务,missionID=%s" % 1)
        return
    curMission.SetProperty("OpenMap", 12)
    # 被动
    passiveSkillList =  [50900, 50902] if curPlayer.GetJob() == 1 else [55900, 55902]
    for skillID in passiveSkillList:
@@ -54,14 +60,12 @@
        ActiveHorse.OnExec(curPlayer, [i, 5])
        
    # 5.给基础属性
    curPlayer.SetBaseSTR(1000)
    curPlayer.SetBasePNE(1000)
    curPlayer.SetBasePHY(1000)
    curPlayer.SetBaseCON(1000000)
    curPlayer.SetGold(9999999)
    for attrID in xrange(201, 206):
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AddPointValue % attrID, 10000)
    curPlayer.SetGold(99999)
    
    # 6.背包丢些东西
    MakeItemCount.OnExec(curPlayer, [10161, 50])
    MakeItemCount.OnExec(curPlayer, [260, 50])
    curPlayer.SetLV(lv)
    
    curPlayer.RefreshView()
Tool/Robot/Protocol/PacketsReceived.py
@@ -1028,7 +1028,7 @@
    BackpackLV = 0    #(BYTE BackpackLV)//背包等级
    WarehouseLV = 0    #(BYTE WarehouseLV)//仓库等级
    TeamID = 0    #(DWORD TeamID)//队伍ID
    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
    UseSilverType = 0    #(BYTE UseSilverType)//默认用的银子/银票
    AttackMode = 0    #(BYTE AttackMode)//攻击模式
    LastWeekOnlineTime = 0    #(DWORD LastWeekOnlineTime)//上周在线时间
@@ -5889,7 +5889,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("StartYear", c_ushort),    #年,    如果填写0, 就隐藏此窗口
                  ("StartYear", c_ushort),    #年,    如果填写0, 就隐藏此窗口
                  ("StartMonth", c_ushort),    #月
                  ("StartDate", c_ubyte),    #日
                  ("EndYear", c_ushort),    
@@ -6021,7 +6021,7 @@
    PlayerID = 0    #(DWORD PlayerID)
    FamilyNameLen = 0    #(BYTE FamilyNameLen)
    FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    data = None
    def __init__(self):
@@ -7061,67 +7061,36 @@
#03 09 主角登录时候的简短信息#tagPlayerLoginInfo
class  tagLoginInfoEquip(Structure):
    ItemPlace = 0    #(BYTE ItemPlace)
    ItemID = 0    #(DWORD ItemID)
    IsSuite = 0    #(BYTE IsSuite)//是否已经套装化
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)//size = UserDataLen
    data = None
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        self.ItemPlace,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        return _pos
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.ItemPlace = 0
        self.ItemID = 0
        self.IsSuite = 0
        self.UserDataLen = 0
        self.UserData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 1
        length += 4
        length += len(self.UserData)
        return length
        return sizeof(tagLoginInfoEquip)
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.ItemPlace)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.IsSuite)
        data = CommFunc.WriteDWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        return data
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''
                                ItemPlace:%d,
                                ItemID:%d,
                                IsSuite:%d,
                                UserDataLen:%d,
                                UserData:%s
        DumpString = '''//03 09 主角登录时候的简短信息//tagPlayerLoginInfo:
                                ItemID:%d
                                '''\
                                %(
                                self.ItemPlace,
                                self.ItemID,
                                self.IsSuite,
                                self.UserDataLen,
                                self.UserData
                                self.ItemID
                                )
        return DumpString
@@ -8054,7 +8023,7 @@
class  tagFBEventList(Structure):
    Head = tagHead()
    EventCount = 0    #(BYTE EventCount)//副本活动数
    EventList = list()    #(vector<tagFBEventDetail> EventList)//副本活动列表
    EventList = list()    #(vector<tagFBEventDetail> EventList)//副本活动列表
    data = None
    def __init__(self):
@@ -8593,67 +8562,36 @@
#04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx
class  tagEquipInfo(Structure):
    Place = 0    #(BYTE Place)//装备位置
    ItemID = 0    #(DWORD ItemID)//物品ID
    IsSuite = 0    #(BYTE IsSuite)//是否已经套装化
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)// 附加数据
    data = None
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),    #物品ID
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        self.Place,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        return _pos
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Place = 0
        self.ItemID = 0
        self.IsSuite = 0
        self.UserDataLen = 0
        self.UserData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 1
        length += 4
        length += len(self.UserData)
        return length
        return sizeof(tagEquipInfo)
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Place)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.IsSuite)
        data = CommFunc.WriteDWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        return data
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''
                                Place:%d,
                                ItemID:%d,
                                IsSuite:%d,
                                UserDataLen:%d,
                                UserData:%s
        DumpString = '''//04 34 周围玩家出现合并封包//tagAreaPlayerAppearEx:
                                ItemID:%d
                                '''\
                                %(
                                self.Place,
                                self.ItemID,
                                self.IsSuite,
                                self.UserDataLen,
                                self.UserData
                                self.ItemID
                                )
        return DumpString
@@ -8724,7 +8662,7 @@
    TeamID = 0    #(DWORD TeamID)//组队ID
    HP = 0    #(DWORD HP)
    MaxHP = 0    #(DWORD MaxHP)
    PlayerState = 0    #(BYTE PlayerState)//TClientPlayerState    玩家状态 打坐/马上/人镖合一
    PlayerState = 0    #(BYTE PlayerState)//TClientPlayerState    玩家状态 打坐/马上/人镖合一
    IsHideMask = 0    #(BYTE IsHideMask)
    Country = 0    #(BYTE Country)//玩家国家
    FamilyID = 0    #(DWORD FamilyID)//家族ID
@@ -10132,7 +10070,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    
                  ("FamilyMemberLV", c_ubyte),    #玩家在家族中的职位
                  ("FamilyMemberLV", c_ubyte),    #玩家在家族中的职位
                  ]
    def __init__(self):
@@ -10180,7 +10118,7 @@
#------------------------------------------------------
#04 36    周围玩家家族名刷新#tagPlayerFamilyNameRefresh
#04 36    周围玩家家族名刷新#tagPlayerFamilyNameRefresh
class  tagPlayerFamilyNameRefresh(Structure):
    Head = tagHead()
@@ -10258,7 +10196,7 @@
    PlayerID = 0    #(DWORD PlayerID)
    FamilyNameLen = 0    #(BYTE FamilyNameLen)
    FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    data = None
    def __init__(self):
@@ -13602,7 +13540,7 @@
    ByObjID = 0    #(DWORD ByObjID)//物品原本在哪个对象身上
    DropTick = 0    #(DWORD DropTick)//物品掉落Tick
    UserDataLen = 0    #(WORD UserDataLen)//附加属性长度
    UserData = ""    #(String UserData)//附加属性  size = UserDataLen
    UserData = ""    #(String UserData)//附加属性  size = UserDataLen
    data = None
    def __init__(self):
@@ -14020,7 +13958,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MakeType", c_ubyte),    #类型        TMakeItemType
                  ("MakeType", c_ubyte),    #类型        TMakeItemType
                  ("Result", c_ubyte),    #是否成功
                  ]
@@ -15108,7 +15046,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    
                  ("PrepareState", c_ubyte),    #准备类型,    TPreparingState
                  ("PrepareState", c_ubyte),    #准备类型,    TPreparingState
                  ("MaxTime", c_int),    #最大时间
                  ("PrepareID", c_int),    #准备ID, 如果是技能, 则是技能ID
                  ]
@@ -20627,7 +20565,7 @@
    FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
    Job = 0    #(BYTE Job)//ְҵ
    FamilyActiveValue = 0    #(DWORD FamilyActiveValue)//本周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    OfficialRank = 0    #(BYTE OfficialRank)//境界
    Exattr1 = 0    #(DWORD Exattr1)//扩展属性
    Exattr2 = 0    #(DWORD Exattr2)//扩展属性
@@ -20791,7 +20729,7 @@
    Point = 0    #(DWORD Point)//家族战积分
    Broadcast = ""    #(String Broadcast)//size = BroadcastLen
    FamilyActiveValue = 0    #(DWORD FamilyActiveValue)//本周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    Member = list()    #(vector<tagRoleFamilyMember> Member)//size = MemberCount
    Extra1 = 0    #(DWORD Extra1)//附加字段1
    Extra2 = 0    #(DWORD Extra2)//附加字段2
@@ -21968,7 +21906,7 @@
class  tagFamilyTechInfo(Structure):
    Head = tagHead()
    TechCount = 0    #(WORD TechCount)//帮会科技数量 
    TechInfoList = list()    #(vector<tagTechInfo> TechInfoList)//科技信息列表
    TechInfoList = list()    #(vector<tagTechInfo> TechInfoList)//科技信息列表
    data = None
    def __init__(self):
@@ -22299,7 +22237,7 @@
#10 01 排行榜信息#tagBillboard 对性能影响比较大, 需要限制tick
class  tagBillboardList(Structure):
    ID = 0    #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID
    ID = 0    #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID
    Name1 = ""    #(char Name1[33])//名字1,用来显示排序对象名字 
    Name2 = ""    #(char Name2[33])//名字2
    Type2 = 0    #(BYTE Type2)//附加类型,用来表示排序对象的类型,比如,玩家所属职业门派,宠物类型等
@@ -23765,7 +23703,7 @@
    MakerNameLen = 0    #(BYTE MakerNameLen)//制造者名字
    MakerName = ""    #(String MakerName)//size = MakerNameLen
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    UserData = ""    #(String UserData)//自定义数据
    data = None
    def __init__(self):
@@ -24365,7 +24303,7 @@
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    #答题类型
                  ("QuestionNO", c_ushort),    # 答题号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ("FunctionOpt1", c_ubyte),    #功能选项1
                  ("FunctionOpt2", c_ubyte),    #功能选项2
                  ("FunctionOpt3", c_ubyte),    #功能选项3
@@ -27054,8 +26992,8 @@
                  ("PlayerID", c_int),    #挂单玩家的id
                  ("FormID", c_int),    # 挂单ID
                  ("UnitPrice", c_int),    #该单购买元宝的银两单价(每组)
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LeftTime", c_ushort),    #该单的剩余在架时间
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LeftTime", c_ushort),    #该单的剩余在架时间
                  ]
    def __init__(self):
@@ -27189,7 +27127,7 @@
                  ("SubCmd", c_ubyte),
                  ("FormID", c_int),    # 挂单ID
                  ("UnitPrice", c_int),    #该单购买元宝的银两单价(每组)
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LeftTime", c_ushort),    #该单的剩余在架时间
                  ]
@@ -27478,7 +27416,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("LabelID", c_int),    # 删除标签
                  ("LabelID", c_int),    # 删除标签
                  ]
    def __init__(self):
@@ -28719,7 +28657,7 @@
class  tagHightLadderTopPlayerList(Structure):
    Head = tagHead()
    Size = 0    #(BYTE Size)
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    data = None
    def __init__(self):
@@ -28981,7 +28919,7 @@
class  tagVsTeam(Structure):
    TeamIndex = 0    #(BYTE TeamIndex)// 竞技队Index
    MemberCount = 0    #(WORD MemberCount)// 成员人数
    Members = list()    #(vector<tagVsMemberInfo> Members)// 成员列表
    Members = list()    #(vector<tagVsMemberInfo> Members)// 成员列表
    data = None
    def __init__(self):
@@ -29108,7 +29046,7 @@
    Head = tagHead()
    MyOrder = 0    #(WORD MyOrder)//自身排名
    Size = 0    #(BYTE Size)
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    data = None
    def __init__(self):
@@ -29281,7 +29219,7 @@
class  tagBourseItem(Structure):
    ItemGUID = ""    #(char ItemGUID[40])
    PlayerID = 0    #(DWORD PlayerID)//挂单玩家ID
    PlayerID = 0    #(DWORD PlayerID)//挂单玩家ID
    ItemTypeID = 0    #(DWORD ItemTypeID)//物品ID
    PriceType = 0    #(BYTE PriceType)//出售价格类型
    PriceCount = 0    #(DWORD PriceCount)//出售价格
@@ -29668,4 +29606,4 @@
m_NAtagGMCmdAnswer=tagGMCmdAnswer()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer
Tool/Robot/Protocol/PacketsReceivedPY.py
Diff too large
Tool/Robot/Protocol/PacketsSend.py
@@ -497,10 +497,10 @@
    szSex = ""    #(char szSex[3])//性别
    Age = 0    #(WORD Age)//年龄
    Birthday = ""    #(char Birthday[21])//生日
    QQ = ""    #(char QQ[19])// QQ号
    QQ = ""    #(char QQ[19])// QQ号
    Mail = ""    #(char Mail[41])// 邮箱
    Province = ""    #(char Province[11])//省份
    City = ""    #(char City[11])//城市
    City = ""    #(char City[11])//城市
    data = None
    def __init__(self):
@@ -1064,7 +1064,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    #目标玩家
                  ("MemberLV", c_ubyte),    #玩家队伍等级    TTeamMemberLV
                  ("MemberLV", c_ubyte),    #玩家队伍等级    TTeamMemberLV
                  ]
    def __init__(self):
@@ -2348,7 +2348,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("TecID", c_int),    #科技ID 
                  ("TmpLV", c_ubyte),    #加持等级
                  ("TmpLV", c_ubyte),    #加持等级
                  ]
    def __init__(self):
@@ -3125,7 +3125,7 @@
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    #答题类型
                  ("QuestionNO", c_ushort),    # 答题号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ]
    def __init__(self):
@@ -3186,7 +3186,7 @@
                  ("SubjectIndex", c_ubyte),    #当前是第几题
                  ("Answer", c_ubyte),    #回答index, 1开始, 小助手回答: EXAM_ANSWER_USE_HELP
                  ("ExtraOpt1", c_ubyte),    #附加选项1
                  ("ExtraOpt2", c_ubyte),    #附加选项2
                  ("ExtraOpt2", c_ubyte),    #附加选项2
                  ("ExtraOpt3", c_ubyte),    #附加选项3
                  ("ExtraOpt4", c_ubyte),    #附加选项4
                  ]
@@ -3580,7 +3580,7 @@
class  tagCAddLabelToFriend(Structure):
    Head = tagHead()
    PlayerID = 0    #(DWORD PlayerID)// 好友ID
    PlayerID = 0    #(DWORD PlayerID)// 好友ID
    LabelContent = ""    #(char LabelContent[21])//标签内容
    data = None
@@ -3704,7 +3704,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    # 好友ID
                  ("PlayerID", c_int),    # 好友ID
                  ("LabelID", c_int),    # 系统标签ID
                  ]
@@ -4144,7 +4144,7 @@
    RoomType = 0    #(BYTE RoomType)// 房间类型
    VSValueMode = 0    #(BYTE VSValueMode)// 决斗值模式
    VSMode = 0    #(BYTE VSMode)// 决斗模式
    Pws = ""    #(char Pws[7])// 密码
    Pws = ""    #(char Pws[7])// 密码
    data = None
    def __init__(self):
@@ -4274,7 +4274,7 @@
class  tagCJoinVsRoom(Structure):
    Head = tagHead()
    dwRoomId = 0    #(DWORD dwRoomId)// 房间ID
    Pws = ""    #(char Pws[7])// 密码
    Pws = ""    #(char Pws[7])// 密码
    data = None
    def __init__(self):
@@ -7649,7 +7649,7 @@
class  tagCSetSignature(Structure):
    Head = tagHead()
    Signature = ""    #(char Signature[101])// 心情签名
    Signature = ""    #(char Signature[101])// 心情签名
    data = None
    def __init__(self):
@@ -9498,7 +9498,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    #无意义
                  ("Type", c_ubyte),    #无意义
                  ]
    def __init__(self):
@@ -11229,8 +11229,8 @@
                  ("SrcBackpack", c_ubyte),    #源背包类型
                  ("DesBackPack", c_ubyte),    #目标背包类型
                  ("SrcIndex", c_ushort),    #起始位置
                  ("DestIndex", c_ushort),    #目标位置
                  ("Count", c_ushort),    #物品数量
                  ("DestIndex", c_ushort),    #目标位置
                  ("Count", c_ushort),    #物品数量
                  ]
    def __init__(self):
@@ -11344,7 +11344,7 @@
                  ("SubCmd", c_ubyte),
                  ("OperateType", c_ubyte),    #背包操作类型,由EBackpackOperate定义
                  ("SrcIndex", c_ushort),    #起始位置
                  ("DestIndex", c_ushort),    #目标位置
                  ("DestIndex", c_ushort),    #目标位置
                  ]
    def __init__(self):
@@ -12569,7 +12569,7 @@
                  ("SrcBackpack", c_ubyte),    #源背包类型
                  ("DesBackPack", c_ubyte),    #目标背包类型
                  ("SrcIndex", c_ushort),    #起始位置
                  ("DestIndex", c_ushort),    #目标位置
                  ("DestIndex", c_ushort),    #目标位置
                  ]
    def __init__(self):
@@ -12734,7 +12734,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("RoleEquipType", c_ubyte),    #角色装备类型
                  ("RoleEquipType", c_ubyte),    #角色装备类型
                  ("ItemIndex", c_ubyte),    #物品在物品背包的索引
                  ]
@@ -20889,7 +20889,7 @@
                  ("StuffIndex1", c_int),    #装备索引
                  ("StuffIndex2", c_int),    #装备索引
                  ("StuffIndex3", c_int),    #装备索引
                  ("AutoBuy", c_ubyte),    #是否自动购买结魂灯
                  ("AutoBuy", c_ubyte),    #是否自动购买结魂灯
                  ]
    def __init__(self):
@@ -21162,7 +21162,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("VSOrder", c_int),    #要挑战的排位
                  ("VSOrder", c_int),    #要挑战的排位
                  ]
    def __init__(self):
@@ -21445,4 +21445,4 @@
m_NAtagCGMCMD=tagCGMCMD()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMCMD.Head.Cmd,m_NAtagCGMCMD.Head.SubCmd))] = m_NAtagCGMCMD
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMCMD.Head.Cmd,m_NAtagCGMCMD.Head.SubCmd))] = m_NAtagCGMCMD
Tool/Robot/Protocol/PacketsSendPY.py
Diff too large
Tool/RobotTest/AI/AIFile/AILoginout.py
@@ -440,14 +440,16 @@
        
        if self.robot.GetPlayerInfo().GetPlayerLV() == 1:
            cmd = "OpenFunc 1"
            pack = tagCGMCMD()
            pack.Clear()
            pack.CmdLen = len(cmd)
            pack.Cmd = cmd
            self.robot.Send(pack)
            #===================================================================
            # cmd = "OpenFunc 1"
            # pack = tagCGMCMD()
            # pack.Clear()
            # pack.CmdLen = len(cmd)
            # pack.Cmd = cmd
            # self.robot.Send(pack)
            #===================================================================
            
            cmd = "imba %s"%random.randint(5, 300)
            cmd = "imba %s"%random.randint(30, 300)
            pack = tagCGMCMD()
            pack.Clear()
            pack.CmdLen = len(cmd)
Tool/RobotTest/Data/MapEventPoint.txt
@@ -8,68 +8,68 @@
5    10010    10104008    1            缥缈长老                        
6    10010    10104011    1            缥缈宗主                        
7    10010    10104012    1            云游道人                    0    0
8    10020    10201001    1    1    1        15    20    66    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 2072/分钟
9    10020    10201002    1    1    9        18    22    67    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 2340/分钟
10    10020    10201003    1    1    2        21    24    73    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 3009/分钟
11    10020    10201004    1    1    3        24    27    85    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 3840/分钟
12    10020    10201005    1    1    4        27    30    87    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 4830/分钟
13    10020    10202001    1    1    5        30    32    99    <color=#31cefbFF>二阶蓝装: </color>134件/天    <color=#35e122ff>标准经验:</color> 6407/分钟
8    10090    10901001    1    1    1        15    20    66    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 2072/分钟
9    10090    10901002    1    1    9        18    22    67    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 2340/分钟
10    10090    10901003    1    1    2        21    24    73    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 3009/分钟
11    10090    10901004    1    1    3        24    27    85    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 3840/分钟
12    10090    10901005    1    1    4        27    30    87    <color=#31cefbFF>一阶蓝装: </color>698件/天    <color=#35e122ff>标准经验:</color> 4830/分钟
13    10090    10902001    1    1    5        30    32    99    <color=#31cefbFF>二阶蓝装: </color>134件/天    <color=#35e122ff>标准经验:</color> 6407/分钟
14    10020    10203001    0    1    5        0    0    0    0    0    0
15    10030    10301001    1    1    1        32    41    117    <color=#31cefbFF>二阶蓝装: </color>268件/天    <color=#35e122ff>标准经验:</color> 7854/分钟
16    10030    10301002    1    1    9        38    44    122    <color=#31cefbFF>二阶蓝装: </color>537件/天    <color=#35e122ff>标准经验:</color> 9440/分钟
17    10030    10301003    1    1    2        41    47    125    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.12万/分钟
18    10030    10301004    1    1    3        44    50    128    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.35万/分钟
19    10030    10301005    1    1    4        47    52    129    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.57万/分钟
20    10030    10302001    1    1    5        50    55    142    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.86万/分钟
15    10120    11201001    1    1    1        32    41    117    <color=#31cefbFF>二阶蓝装: </color>268件/天    <color=#35e122ff>标准经验:</color> 7854/分钟
16    10120    11201002    1    1    9        38    44    122    <color=#31cefbFF>二阶蓝装: </color>537件/天    <color=#35e122ff>标准经验:</color> 9440/分钟
17    10120    11201003    1    1    2        41    47    125    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.12万/分钟
18    10120    11201004    1    1    3        44    50    128    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.35万/分钟
19    10120    11201005    1    1    4        47    52    129    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.57万/分钟
20    10120    11202001    1    1    5        50    55    142    <color=#31cefbFF>二阶蓝装: </color>671件/天    <color=#35e122ff>标准经验:</color> 1.86万/分钟
21    10030    10303001    0    1    5        0    0    0    0    0    0
22    10040    10401001    1    1    1        55    70    269    <color=#31cefbFF>二阶蓝装: </color>244件/天    <color=#35e122ff>标准经验:</color> 5.3万/分钟
23    10040    10401002    1    1    9        70    90    311    <color=#31cefbFF>二阶蓝装: </color>256件/天    <color=#35e122ff>标准经验:</color> 9.01万/分钟
24    10040    10401003    1    1    2        80    100    356    <color=#31cefbFF>二阶蓝装: </color>256件/天    <color=#35e122ff>标准经验:</color> 20.45万/分钟
25    10040    10401004    1    1    3        90    110    410    <color=#31cefbFF>三阶蓝装: </color>104件/天    <color=#ec4bf6FF>三阶紫装: </color>5件/天    <color=#35e122ff>标准经验:</color> 25.81万/分钟
26    10040    10401005    1    1    4        100    120    488    <color=#31cefbFF>三阶蓝装: </color>113件/天    <color=#ec4bf6FF>三阶紫装: </color>8件/天    <color=#35e122ff>标准经验:</color> 31.62万/分钟
27    10040    10402001    1    1    5        110    130    587    <color=#31cefbFF>三阶蓝装: </color>208件/天    <color=#ec4bf6FF>三阶紫装: </color>13件/天    <color=#35e122ff>标准经验:</color> 41.69万/分钟
28    10040    10403001    0    1    5        0    0    0    0    0    0
29    10050    10501001    1    1    1        120    140    681    <color=#31cefbFF>三阶蓝装: </color>242件/天    <color=#ec4bf6FF>三阶紫装: </color>13件/天    <color=#35e122ff>标准经验:</color> 71.41万/分钟
30    10050    10501002    1    1    9        130    150    799    <color=#31cefbFF>三阶蓝装: </color>363件/天    <color=#ec4bf6FF>三阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 1.08百万/分钟
31    10050    10501003    1    1    2        140    160    886    <color=#31cefbFF>三阶蓝装: </color>416件/天    <color=#ec4bf6FF>三阶紫装: </color>25件/天    <color=#35e122ff>标准经验:</color> 1.26百万/分钟
32    10050    10501004    1    1    3        150    170    974    <color=#31cefbFF>四阶蓝装: </color>104件/天    <color=#ec4bf6FF>四阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 1.56百万/分钟
33    10050    10501005    1    1    4        160    180    1080    <color=#31cefbFF>四阶蓝装: </color>113件/天    <color=#ec4bf6FF>四阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 1.89百万/分钟
34    10050    10502001    1    1    5        170    190    1176    <color=#31cefbFF>四阶蓝装: </color>208件/天    <color=#ec4bf6FF>四阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 2.58百万/分钟
35    10050    10503001    0    1    5        0    0    0    0    0    0
36    10060    10601001    1    1    1        180    200    1313    <color=#31cefbFF>四阶蓝装: </color>242件/天    <color=#ec4bf6FF>四阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 3.92百万/分钟
37    10060    10601002    1    1    9        190    210    1503    <color=#31cefbFF>四阶蓝装: </color>363件/天    <color=#ec4bf6FF>四阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 5.01百万/分钟
38    10060    10601003    1    1    2        200    220    1660    <color=#31cefbFF>五阶蓝装: </color>104件/天    <color=#ec4bf6FF>五阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 7.27百万/分钟
39    10060    10601004    1    1    3        210    230    1839    <color=#31cefbFF>五阶蓝装: </color>113件/天    <color=#ec4bf6FF>五阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 11.12百万/分钟
40    10060    10601005    1    1    4        220    240    2080    <color=#31cefbFF>五阶蓝装: </color>208件/天    <color=#ec4bf6FF>五阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 15.05百万/分钟
41    10060    10602001    1    1    5        230    250    2330    <color=#31cefbFF>五阶蓝装: </color>242件/天    <color=#ec4bf6FF>五阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 20.23百万/分钟
42    10060    10603001    0    1    5        0    0    0    0    0    0
43    10070    10701001    1    1    1        240    260    2696    <color=#31cefbFF>五阶蓝装: </color>363件/天    <color=#ec4bf6FF>五阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 27.63百万/分钟
44    10070    10701002    1    1    2        250    270    3038    <color=#31cefbFF>六阶蓝装: </color>104件/天    <color=#ec4bf6FF>六阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 31.99百万/分钟
45    10070    10701003    1    1    9        260    280    3388    <color=#31cefbFF>六阶蓝装: </color>113件/天    <color=#ec4bf6FF>六阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 36.4百万/分钟
46    10070    10701004    1    1    3        270    290    3904    <color=#31cefbFF>六阶蓝装: </color>208件/天    <color=#ec4bf6FF>六阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 43.95百万/分钟
47    10070    10701005    1    1    4        280    300    4455    <color=#31cefbFF>六阶蓝装: </color>242件/天    <color=#ec4bf6FF>六阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 53.16百万/分钟
48    10070    10702001    1    1    5        290    310    5324    <color=#31cefbFF>六阶蓝装: </color>363件/天    <color=#ec4bf6FF>六阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 65.27百万/分钟
22    10080    10801001    1    1    1        55    70    269    <color=#31cefbFF>二阶蓝装: </color>244件/天    <color=#35e122ff>标准经验:</color> 5.3万/分钟
23    10080    10801002    1    1    9        70    90    311    <color=#31cefbFF>二阶蓝装: </color>256件/天    <color=#35e122ff>标准经验:</color> 9.01万/分钟
24    10080    10801003    1    1    2        80    100    356    <color=#31cefbFF>二阶蓝装: </color>256件/天    <color=#35e122ff>标准经验:</color> 20.45万/分钟
25    10080    10801004    1    1    3        90    110    410    <color=#31cefbFF>三阶蓝装: </color>104件/天    <color=#ec4bf6FF>三阶紫装: </color>5件/天    <color=#35e122ff>标准经验:</color> 25.81万/分钟
26    10080    10801005    1    1    4        100    120    488    <color=#31cefbFF>三阶蓝装: </color>113件/天    <color=#ec4bf6FF>三阶紫装: </color>8件/天    <color=#35e122ff>标准经验:</color> 31.62万/分钟
27    10080    10802001    1    1    5        110    130    587    <color=#31cefbFF>三阶蓝装: </color>208件/天    <color=#ec4bf6FF>三阶紫装: </color>13件/天    <color=#35e122ff>标准经验:</color> 41.69万/分钟
28    10080    10403001    0    1    5        0    0    0    0    0    0
29    10020    10201001    1    1    1        120    140    681    <color=#31cefbFF>三阶蓝装: </color>242件/天    <color=#ec4bf6FF>三阶紫装: </color>13件/天    <color=#35e122ff>标准经验:</color> 71.41万/分钟
30    10020    10201002    1    1    9        130    150    799    <color=#31cefbFF>三阶蓝装: </color>363件/天    <color=#ec4bf6FF>三阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 1.08百万/分钟
31    10020    10201003    1    1    2        140    160    886    <color=#31cefbFF>三阶蓝装: </color>416件/天    <color=#ec4bf6FF>三阶紫装: </color>25件/天    <color=#35e122ff>标准经验:</color> 1.26百万/分钟
32    10020    10201004    1    1    3        150    170    974    <color=#31cefbFF>四阶蓝装: </color>104件/天    <color=#ec4bf6FF>四阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 1.56百万/分钟
33    10020    10201005    1    1    4        160    180    1080    <color=#31cefbFF>四阶蓝装: </color>113件/天    <color=#ec4bf6FF>四阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 1.89百万/分钟
34    10020    10202001    1    1    5        170    190    1176    <color=#31cefbFF>四阶蓝装: </color>208件/天    <color=#ec4bf6FF>四阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 2.58百万/分钟
35    10020    10503001    0    1    5        0    0    0    0    0    0
36    10030    10301001    1    1    1        180    200    1313    <color=#31cefbFF>四阶蓝装: </color>242件/天    <color=#ec4bf6FF>四阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 3.92百万/分钟
37    10030    10301002    1    1    9        190    210    1503    <color=#31cefbFF>四阶蓝装: </color>363件/天    <color=#ec4bf6FF>四阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 5.01百万/分钟
38    10030    10301003    1    1    2        200    220    1660    <color=#31cefbFF>五阶蓝装: </color>104件/天    <color=#ec4bf6FF>五阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 7.27百万/分钟
39    10030    10301004    1    1    3        210    230    1839    <color=#31cefbFF>五阶蓝装: </color>113件/天    <color=#ec4bf6FF>五阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 11.12百万/分钟
40    10030    10301005    1    1    4        220    240    2080    <color=#31cefbFF>五阶蓝装: </color>208件/天    <color=#ec4bf6FF>五阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 15.05百万/分钟
41    10030    10302001    1    1    5        230    250    2330    <color=#31cefbFF>五阶蓝装: </color>242件/天    <color=#ec4bf6FF>五阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 20.23百万/分钟
42    10030    10603001    0    1    5        0    0    0    0    0    0
43    10040    10401001    1    1    1        240    260    2696    <color=#31cefbFF>五阶蓝装: </color>363件/天    <color=#ec4bf6FF>五阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 27.63百万/分钟
44    10040    10401002    1    1    2        250    270    3038    <color=#31cefbFF>六阶蓝装: </color>104件/天    <color=#ec4bf6FF>六阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 31.99百万/分钟
45    10040    10401003    1    1    9        260    280    3388    <color=#31cefbFF>六阶蓝装: </color>113件/天    <color=#ec4bf6FF>六阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 36.4百万/分钟
46    10040    10401004    1    1    3        270    290    3904    <color=#31cefbFF>六阶蓝装: </color>208件/天    <color=#ec4bf6FF>六阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 43.95百万/分钟
47    10040    10401005    1    1    4        280    300    4455    <color=#31cefbFF>六阶蓝装: </color>242件/天    <color=#ec4bf6FF>六阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 53.16百万/分钟
48    10040    10402001    1    1    5        290    310    5324    <color=#31cefbFF>六阶蓝装: </color>363件/天    <color=#ec4bf6FF>六阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 65.27百万/分钟
49    10070    10703001    0    1    5        0    0    0    0    0    0
50    10080    10801001    1    1    1        300    320    5740    <color=#31cefbFF>七阶蓝装: </color>104件/天    <color=#ec4bf6FF>七阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 87.32百万/分钟
51    10080    10801002    1    1    9        310    330    6177    <color=#31cefbFF>七阶蓝装: </color>113件/天    <color=#ec4bf6FF>七阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 1.01亿/分钟
52    10080    10801003    1    1    2        320    340    6697    <color=#31cefbFF>七阶蓝装: </color>208件/天    <color=#ec4bf6FF>七阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 1.17亿/分钟
53    10080    10801004    1    1    3        330    350    8223    <color=#31cefbFF>七阶蓝装: </color>242件/天    <color=#ec4bf6FF>七阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 1.37亿/分钟
54    10080    10801005    1    1    4        340    360    12124    <color=#31cefbFF>七阶蓝装: </color>363件/天    <color=#ec4bf6FF>七阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 1.57亿/分钟
55    10080    10802001    1    1    5        345    365    14548    <color=#31cefbFF>七阶蓝装: </color>416件/天    <color=#ec4bf6FF>七阶紫装: </color>30件/天    <color=#35e122ff>标准经验:</color> 1.63亿/分钟
50    10050    10501001    1    1    1        300    320    5740    <color=#31cefbFF>七阶蓝装: </color>104件/天    <color=#ec4bf6FF>七阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 87.32百万/分钟
51    10050    10501002    1    1    9        310    330    6177    <color=#31cefbFF>七阶蓝装: </color>113件/天    <color=#ec4bf6FF>七阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 1.01亿/分钟
52    10050    10501003    1    1    2        320    340    6697    <color=#31cefbFF>七阶蓝装: </color>208件/天    <color=#ec4bf6FF>七阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 1.17亿/分钟
53    10050    10501004    1    1    3        330    350    8223    <color=#31cefbFF>七阶蓝装: </color>242件/天    <color=#ec4bf6FF>七阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 1.37亿/分钟
54    10050    10501005    1    1    4        340    360    12124    <color=#31cefbFF>七阶蓝装: </color>363件/天    <color=#ec4bf6FF>七阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 1.57亿/分钟
55    10050    10502001    1    1    5        345    365    14548    <color=#31cefbFF>七阶蓝装: </color>416件/天    <color=#ec4bf6FF>七阶紫装: </color>30件/天    <color=#35e122ff>标准经验:</color> 1.63亿/分钟
56    10080    10803001    0    1    5        0    0    0    0    0    0
57    10090    10901001    1    1    1        350    370    12510    <color=#31cefbFF>八阶蓝装: </color>104件/天    <color=#ec4bf6FF>八阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 1.95亿/分钟
58    10090    10901002    1    1    9        360    380    13052    <color=#31cefbFF>八阶蓝装: </color>113件/天    <color=#ec4bf6FF>八阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 2.13亿/分钟
59    10090    10901003    1    1    2        370    390    14110    <color=#31cefbFF>八阶蓝装: </color>208件/天    <color=#ec4bf6FF>八阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 2.35亿/分钟
60    10090    10901004    1    1    3        380    400    14873    <color=#31cefbFF>八阶蓝装: </color>242件/天    <color=#ec4bf6FF>八阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 2.59亿/分钟
61    10090    10901005    1    1    4        390    410    16232    <color=#31cefbFF>八阶蓝装: </color>363件/天    <color=#ec4bf6FF>八阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 2.84亿/分钟
62    10090    10902001    1    1    5        395    415    18394    <color=#31cefbFF>八阶蓝装: </color>416件/天    <color=#ec4bf6FF>八阶紫装: </color>30件/天    <color=#35e122ff>标准经验:</color> 2.96亿/分钟
57    10060    10601001    1    1    1        350    370    12510    <color=#31cefbFF>八阶蓝装: </color>104件/天    <color=#ec4bf6FF>八阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 1.95亿/分钟
58    10060    10601002    1    1    9        360    380    13052    <color=#31cefbFF>八阶蓝装: </color>113件/天    <color=#ec4bf6FF>八阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 2.13亿/分钟
59    10060    10601003    1    1    2        370    390    14110    <color=#31cefbFF>八阶蓝装: </color>208件/天    <color=#ec4bf6FF>八阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 2.35亿/分钟
60    10060    10601004    1    1    3        380    400    14873    <color=#31cefbFF>八阶蓝装: </color>242件/天    <color=#ec4bf6FF>八阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 2.59亿/分钟
61    10060    10601005    1    1    4        390    410    16232    <color=#31cefbFF>八阶蓝装: </color>363件/天    <color=#ec4bf6FF>八阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 2.84亿/分钟
62    10060    10602001    1    1    5        395    415    18394    <color=#31cefbFF>八阶蓝装: </color>416件/天    <color=#ec4bf6FF>八阶紫装: </color>30件/天    <color=#35e122ff>标准经验:</color> 2.96亿/分钟
63    10090    10903001    0    1    5        0    0    0    0    0    0
64    10100    11001001    1    1    1        400    420    17343    <color=#31cefbFF>九阶蓝装: </color>104件/天    <color=#ec4bf6FF>九阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 3.8亿/分钟
65    10100    11001002    1    1    9        410    430    18058    <color=#31cefbFF>九阶蓝装: </color>113件/天    <color=#ec4bf6FF>九阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 4.26亿/分钟
66    10100    11001003    1    1    2        420    440    18932    <color=#31cefbFF>九阶蓝装: </color>208件/天    <color=#ec4bf6FF>九阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 4.76亿/分钟
67    10100    11001004    1    1    3        430    450    19857    <color=#31cefbFF>九阶蓝装: </color>242件/天    <color=#ec4bf6FF>九阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 5.55亿/分钟
68    10100    11001005    1    1    4        440    460    21459    <color=#31cefbFF>九阶蓝装: </color>363件/天    <color=#ec4bf6FF>九阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 6.05亿/分钟
69    10100    11002001    1    1    5        445    465    24349    <color=#31cefbFF>九阶蓝装: </color>416件/天    <color=#ec4bf6FF>九阶紫装: </color>30件/天    <color=#35e122ff>标准经验:</color> 6.3亿/分钟
64    10070    10701001    1    1    1        400    420    17343    <color=#31cefbFF>九阶蓝装: </color>104件/天    <color=#ec4bf6FF>九阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 3.8亿/分钟
65    10070    10701002    1    1    9        410    430    18058    <color=#31cefbFF>九阶蓝装: </color>113件/天    <color=#ec4bf6FF>九阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 4.26亿/分钟
66    10070    10701003    1    1    2        420    440    18932    <color=#31cefbFF>九阶蓝装: </color>208件/天    <color=#ec4bf6FF>九阶紫装: </color>24件/天    <color=#35e122ff>标准经验:</color> 4.76亿/分钟
67    10070    10701004    1    1    3        430    450    19857    <color=#31cefbFF>九阶蓝装: </color>242件/天    <color=#ec4bf6FF>九阶紫装: </color>26件/天    <color=#35e122ff>标准经验:</color> 5.55亿/分钟
68    10070    10701005    1    1    4        440    460    21459    <color=#31cefbFF>九阶蓝装: </color>363件/天    <color=#ec4bf6FF>九阶紫装: </color>28件/天    <color=#35e122ff>标准经验:</color> 6.05亿/分钟
69    10070    10702001    1    1    5        445    465    24349    <color=#31cefbFF>九阶蓝装: </color>416件/天    <color=#ec4bf6FF>九阶紫装: </color>30件/天    <color=#35e122ff>标准经验:</color> 6.3亿/分钟
70    10100    11003001    0    1    5        0    0    0    0    0    0
71    10110    11101001    1    1    1        450    470    22783    <color=#31cefbFF>十阶蓝装: </color>104件/天    <color=#ec4bf6FF>十阶紫装: </color>20件/天    <color=#35e122ff>标准经验:</color> 8.17亿/分钟
72    10110    11101002    1    1    9        460    480    23635    <color=#31cefbFF>十阶蓝装: </color>113件/天    <color=#ec4bf6FF>十阶紫装: </color>22件/天    <color=#35e122ff>标准经验:</color> 9.09亿/分钟
@@ -198,7 +198,7 @@
195    21310    20403006    0    1    5        530    550    0    0    0    0
196    21310    20403007    0    1    5        540    560    0    0    0    0
197    31360    30301004    1    1    5        390    410    22079    <color=#35e122ff>标准经验:</color> 4.6亿/分钟        
198    31360    30303017    1    0    5        390    390    75896
198    31360    30303017    1    0    5        390    390    75896    g
199    31360    30303018    1    0    5        420    420    86179            
200    31360    30303019    1    0    5        450    450    105152            
201    31360    30303020    1    0    5        500    500    115919            
Tool/RobotTest/DataReader/MapEventPointReader.py
@@ -17,33 +17,19 @@
        
class MapEventPoint():
    def __init__(self):
        #int    int    int    int    int    int    int    int    string    string    string
        self.Key = 0
        self.MapID = 0
        self.NPCID = 0    
        self.IsShowInfo = 0
        self.Colour = 0
        self.LowLV = 0    
        self.HighestLV = 0    
        self.Defense = 0    
        self.Drop1 = ""
        self.Drop2 = ""
        self.EXP = ""
        
        self.count = 12
        
    def ReadFromList(self, curList):
        self.Key = CommFunc.ToIntDef(curList[0])
        self.MapID = CommFunc.ToIntDef(curList[1])
        self.NPCID = CommFunc.ToIntDef(curList[2])
        self.IsShowInfo = CommFunc.ToIntDef(curList[3])
        self.Colour = CommFunc.ToIntDef(curList[4])
        self.LowLV = CommFunc.ToIntDef(curList[5])
        self.HighestLV = CommFunc.ToIntDef(curList[6])
        self.Defense = CommFunc.ToIntDef(curList[7])
        self.Drop1 = CommFunc.ToIntDef(curList[8])
        self.Drop2 = CommFunc.ToIntDef(curList[9])
        self.EXP = CommFunc.ToIntDef(curList[10])
        self.LowLV = CommFunc.ToIntDef(curList[7])
        self.HighestLV = CommFunc.ToIntDef(curList[8])
        self.Defense = CommFunc.ToIntDef(curList[9])
        
        return
@@ -101,6 +87,7 @@
            classObj.ReadFromList(lineList)
            
            self.__NPCPoint[classObj.NPCID] = classObj
        return
    
    
@@ -121,7 +108,6 @@
            if maxlv < point.LowLV:
                maxlv = point.LowLV
                pointNPCID = point.NPCID
        npcPoint = self.__NPCPoint.get(pointNPCID, None)
        if not npcPoint:
Tool/RobotTest/Main.py
@@ -10,7 +10,7 @@
# @note: 
#
#---------------------------------------------------------------------
HaveDEBUG = False
HaveDEBUG = True
#初始化Log模块
Tool/RobotTest/Protocol/PacketsReceived.py
@@ -1028,7 +1028,7 @@
    BackpackLV = 0    #(BYTE BackpackLV)//背包等级
    WarehouseLV = 0    #(BYTE WarehouseLV)//仓库等级
    TeamID = 0    #(DWORD TeamID)//队伍ID
    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
    UseSilverType = 0    #(BYTE UseSilverType)//默认用的银子/银票
    AttackMode = 0    #(BYTE AttackMode)//攻击模式
    LastWeekOnlineTime = 0    #(DWORD LastWeekOnlineTime)//上周在线时间
@@ -5889,7 +5889,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("StartYear", c_ushort),    #年,    如果填写0, 就隐藏此窗口
                  ("StartYear", c_ushort),    #年,    如果填写0, 就隐藏此窗口
                  ("StartMonth", c_ushort),    #月
                  ("StartDate", c_ubyte),    #日
                  ("EndYear", c_ushort),    
@@ -6021,7 +6021,7 @@
    PlayerID = 0    #(DWORD PlayerID)
    FamilyNameLen = 0    #(BYTE FamilyNameLen)
    FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    data = None
    def __init__(self):
@@ -7061,67 +7061,36 @@
#03 09 主角登录时候的简短信息#tagPlayerLoginInfo
class  tagLoginInfoEquip(Structure):
    ItemPlace = 0    #(BYTE ItemPlace)
    ItemID = 0    #(DWORD ItemID)
    IsSuite = 0    #(BYTE IsSuite)//是否已经套装化
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)//size = UserDataLen
    data = None
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        self.ItemPlace,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        return _pos
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.ItemPlace = 0
        self.ItemID = 0
        self.IsSuite = 0
        self.UserDataLen = 0
        self.UserData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 1
        length += 4
        length += len(self.UserData)
        return length
        return sizeof(tagLoginInfoEquip)
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.ItemPlace)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.IsSuite)
        data = CommFunc.WriteDWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        return data
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''
                                ItemPlace:%d,
                                ItemID:%d,
                                IsSuite:%d,
                                UserDataLen:%d,
                                UserData:%s
        DumpString = '''//03 09 主角登录时候的简短信息//tagPlayerLoginInfo:
                                ItemID:%d
                                '''\
                                %(
                                self.ItemPlace,
                                self.ItemID,
                                self.IsSuite,
                                self.UserDataLen,
                                self.UserData
                                self.ItemID
                                )
        return DumpString
@@ -8054,7 +8023,7 @@
class  tagFBEventList(Structure):
    Head = tagHead()
    EventCount = 0    #(BYTE EventCount)//副本活动数
    EventList = list()    #(vector<tagFBEventDetail> EventList)//副本活动列表
    EventList = list()    #(vector<tagFBEventDetail> EventList)//副本活动列表
    data = None
    def __init__(self):
@@ -8593,67 +8562,36 @@
#04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx
class  tagEquipInfo(Structure):
    Place = 0    #(BYTE Place)//装备位置
    ItemID = 0    #(DWORD ItemID)//物品ID
    IsSuite = 0    #(BYTE IsSuite)//是否已经套装化
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)// 附加数据
    data = None
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),    #物品ID
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        self.Place,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        return _pos
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Place = 0
        self.ItemID = 0
        self.IsSuite = 0
        self.UserDataLen = 0
        self.UserData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 1
        length += 4
        length += len(self.UserData)
        return length
        return sizeof(tagEquipInfo)
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Place)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.IsSuite)
        data = CommFunc.WriteDWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        return data
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''
                                Place:%d,
                                ItemID:%d,
                                IsSuite:%d,
                                UserDataLen:%d,
                                UserData:%s
        DumpString = '''//04 34 周围玩家出现合并封包//tagAreaPlayerAppearEx:
                                ItemID:%d
                                '''\
                                %(
                                self.Place,
                                self.ItemID,
                                self.IsSuite,
                                self.UserDataLen,
                                self.UserData
                                self.ItemID
                                )
        return DumpString
@@ -8724,7 +8662,7 @@
    TeamID = 0    #(DWORD TeamID)//组队ID
    HP = 0    #(DWORD HP)
    MaxHP = 0    #(DWORD MaxHP)
    PlayerState = 0    #(BYTE PlayerState)//TClientPlayerState    玩家状态 打坐/马上/人镖合一
    PlayerState = 0    #(BYTE PlayerState)//TClientPlayerState    玩家状态 打坐/马上/人镖合一
    IsHideMask = 0    #(BYTE IsHideMask)
    Country = 0    #(BYTE Country)//玩家国家
    FamilyID = 0    #(DWORD FamilyID)//家族ID
@@ -10132,7 +10070,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    
                  ("FamilyMemberLV", c_ubyte),    #玩家在家族中的职位
                  ("FamilyMemberLV", c_ubyte),    #玩家在家族中的职位
                  ]
    def __init__(self):
@@ -10180,7 +10118,7 @@
#------------------------------------------------------
#04 36    周围玩家家族名刷新#tagPlayerFamilyNameRefresh
#04 36    周围玩家家族名刷新#tagPlayerFamilyNameRefresh
class  tagPlayerFamilyNameRefresh(Structure):
    Head = tagHead()
@@ -10258,7 +10196,7 @@
    PlayerID = 0    #(DWORD PlayerID)
    FamilyNameLen = 0    #(BYTE FamilyNameLen)
    FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位
    data = None
    def __init__(self):
@@ -13602,7 +13540,7 @@
    ByObjID = 0    #(DWORD ByObjID)//物品原本在哪个对象身上
    DropTick = 0    #(DWORD DropTick)//物品掉落Tick
    UserDataLen = 0    #(WORD UserDataLen)//附加属性长度
    UserData = ""    #(String UserData)//附加属性  size = UserDataLen
    UserData = ""    #(String UserData)//附加属性  size = UserDataLen
    data = None
    def __init__(self):
@@ -14020,7 +13958,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MakeType", c_ubyte),    #类型        TMakeItemType
                  ("MakeType", c_ubyte),    #类型        TMakeItemType
                  ("Result", c_ubyte),    #是否成功
                  ]
@@ -15108,7 +15046,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    
                  ("PrepareState", c_ubyte),    #准备类型,    TPreparingState
                  ("PrepareState", c_ubyte),    #准备类型,    TPreparingState
                  ("MaxTime", c_int),    #最大时间
                  ("PrepareID", c_int),    #准备ID, 如果是技能, 则是技能ID
                  ]
@@ -20627,7 +20565,7 @@
    FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
    Job = 0    #(BYTE Job)//ְҵ
    FamilyActiveValue = 0    #(DWORD FamilyActiveValue)//本周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    OfficialRank = 0    #(BYTE OfficialRank)//境界
    Exattr1 = 0    #(DWORD Exattr1)//扩展属性
    Exattr2 = 0    #(DWORD Exattr2)//扩展属性
@@ -20791,7 +20729,7 @@
    Point = 0    #(DWORD Point)//家族战积分
    Broadcast = ""    #(String Broadcast)//size = BroadcastLen
    FamilyActiveValue = 0    #(DWORD FamilyActiveValue)//本周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度
    Member = list()    #(vector<tagRoleFamilyMember> Member)//size = MemberCount
    Extra1 = 0    #(DWORD Extra1)//附加字段1
    Extra2 = 0    #(DWORD Extra2)//附加字段2
@@ -21968,7 +21906,7 @@
class  tagFamilyTechInfo(Structure):
    Head = tagHead()
    TechCount = 0    #(WORD TechCount)//帮会科技数量 
    TechInfoList = list()    #(vector<tagTechInfo> TechInfoList)//科技信息列表
    TechInfoList = list()    #(vector<tagTechInfo> TechInfoList)//科技信息列表
    data = None
    def __init__(self):
@@ -22299,7 +22237,7 @@
#10 01 排行榜信息#tagBillboard 对性能影响比较大, 需要限制tick
class  tagBillboardList(Structure):
    ID = 0    #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID
    ID = 0    #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID
    Name1 = ""    #(char Name1[33])//名字1,用来显示排序对象名字 
    Name2 = ""    #(char Name2[33])//名字2
    Type2 = 0    #(BYTE Type2)//附加类型,用来表示排序对象的类型,比如,玩家所属职业门派,宠物类型等
@@ -23765,7 +23703,7 @@
    MakerNameLen = 0    #(BYTE MakerNameLen)//制造者名字
    MakerName = ""    #(String MakerName)//size = MakerNameLen
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    UserData = ""    #(String UserData)//自定义数据
    data = None
    def __init__(self):
@@ -24365,7 +24303,7 @@
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    #答题类型
                  ("QuestionNO", c_ushort),    # 答题号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ("FunctionOpt1", c_ubyte),    #功能选项1
                  ("FunctionOpt2", c_ubyte),    #功能选项2
                  ("FunctionOpt3", c_ubyte),    #功能选项3
@@ -27054,8 +26992,8 @@
                  ("PlayerID", c_int),    #挂单玩家的id
                  ("FormID", c_int),    # 挂单ID
                  ("UnitPrice", c_int),    #该单购买元宝的银两单价(每组)
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LeftTime", c_ushort),    #该单的剩余在架时间
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LeftTime", c_ushort),    #该单的剩余在架时间
                  ]
    def __init__(self):
@@ -27189,7 +27127,7 @@
                  ("SubCmd", c_ubyte),
                  ("FormID", c_int),    # 挂单ID
                  ("UnitPrice", c_int),    #该单购买元宝的银两单价(每组)
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LefGold", c_int),    #该单的剩余购买元宝组数
                  ("LeftTime", c_ushort),    #该单的剩余在架时间
                  ]
@@ -27478,7 +27416,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("LabelID", c_int),    # 删除标签
                  ("LabelID", c_int),    # 删除标签
                  ]
    def __init__(self):
@@ -28719,7 +28657,7 @@
class  tagHightLadderTopPlayerList(Structure):
    Head = tagHead()
    Size = 0    #(BYTE Size)
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    data = None
    def __init__(self):
@@ -28981,7 +28919,7 @@
class  tagVsTeam(Structure):
    TeamIndex = 0    #(BYTE TeamIndex)// 竞技队Index
    MemberCount = 0    #(WORD MemberCount)// 成员人数
    Members = list()    #(vector<tagVsMemberInfo> Members)// 成员列表
    Members = list()    #(vector<tagVsMemberInfo> Members)// 成员列表
    data = None
    def __init__(self):
@@ -29108,7 +29046,7 @@
    Head = tagHead()
    MyOrder = 0    #(WORD MyOrder)//自身排名
    Size = 0    #(BYTE Size)
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表
    data = None
    def __init__(self):
@@ -29281,7 +29219,7 @@
class  tagBourseItem(Structure):
    ItemGUID = ""    #(char ItemGUID[40])
    PlayerID = 0    #(DWORD PlayerID)//挂单玩家ID
    PlayerID = 0    #(DWORD PlayerID)//挂单玩家ID
    ItemTypeID = 0    #(DWORD ItemTypeID)//物品ID
    PriceType = 0    #(BYTE PriceType)//出售价格类型
    PriceCount = 0    #(DWORD PriceCount)//出售价格
@@ -29668,4 +29606,4 @@
m_NAtagGMCmdAnswer=tagGMCmdAnswer()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer
Tool/RobotTest/Protocol/PacketsReceivedPY.py
Diff too large
Tool/RobotTest/Protocol/PacketsSend.py
@@ -497,10 +497,10 @@
    szSex = ""    #(char szSex[3])//性别
    Age = 0    #(WORD Age)//年龄
    Birthday = ""    #(char Birthday[21])//生日
    QQ = ""    #(char QQ[19])// QQ号
    QQ = ""    #(char QQ[19])// QQ号
    Mail = ""    #(char Mail[41])// 邮箱
    Province = ""    #(char Province[11])//省份
    City = ""    #(char City[11])//城市
    City = ""    #(char City[11])//城市
    data = None
    def __init__(self):
@@ -1064,7 +1064,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    #目标玩家
                  ("MemberLV", c_ubyte),    #玩家队伍等级    TTeamMemberLV
                  ("MemberLV", c_ubyte),    #玩家队伍等级    TTeamMemberLV
                  ]
    def __init__(self):
@@ -2348,7 +2348,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("TecID", c_int),    #科技ID 
                  ("TmpLV", c_ubyte),    #加持等级
                  ("TmpLV", c_ubyte),    #加持等级
                  ]
    def __init__(self):
@@ -3125,7 +3125,7 @@
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    #答题类型
                  ("QuestionNO", c_ushort),    # 答题号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ("FunctionNO", c_ubyte),    # 功能号
                  ]
    def __init__(self):
@@ -3186,7 +3186,7 @@
                  ("SubjectIndex", c_ubyte),    #当前是第几题
                  ("Answer", c_ubyte),    #回答index, 1开始, 小助手回答: EXAM_ANSWER_USE_HELP
                  ("ExtraOpt1", c_ubyte),    #附加选项1
                  ("ExtraOpt2", c_ubyte),    #附加选项2
                  ("ExtraOpt2", c_ubyte),    #附加选项2
                  ("ExtraOpt3", c_ubyte),    #附加选项3
                  ("ExtraOpt4", c_ubyte),    #附加选项4
                  ]
@@ -3580,7 +3580,7 @@
class  tagCAddLabelToFriend(Structure):
    Head = tagHead()
    PlayerID = 0    #(DWORD PlayerID)// 好友ID
    PlayerID = 0    #(DWORD PlayerID)// 好友ID
    LabelContent = ""    #(char LabelContent[21])//标签内容
    data = None
@@ -3704,7 +3704,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),    # 好友ID
                  ("PlayerID", c_int),    # 好友ID
                  ("LabelID", c_int),    # 系统标签ID
                  ]
@@ -4144,7 +4144,7 @@
    RoomType = 0    #(BYTE RoomType)// 房间类型
    VSValueMode = 0    #(BYTE VSValueMode)// 决斗值模式
    VSMode = 0    #(BYTE VSMode)// 决斗模式
    Pws = ""    #(char Pws[7])// 密码
    Pws = ""    #(char Pws[7])// 密码
    data = None
    def __init__(self):
@@ -4274,7 +4274,7 @@
class  tagCJoinVsRoom(Structure):
    Head = tagHead()
    dwRoomId = 0    #(DWORD dwRoomId)// 房间ID
    Pws = ""    #(char Pws[7])// 密码
    Pws = ""    #(char Pws[7])// 密码
    data = None
    def __init__(self):
@@ -7649,7 +7649,7 @@
class  tagCSetSignature(Structure):
    Head = tagHead()
    Signature = ""    #(char Signature[101])// 心情签名
    Signature = ""    #(char Signature[101])// 心情签名
    data = None
    def __init__(self):
@@ -9498,7 +9498,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Type", c_ubyte),    #无意义
                  ("Type", c_ubyte),    #无意义
                  ]
    def __init__(self):
@@ -11229,8 +11229,8 @@
                  ("SrcBackpack", c_ubyte),    #源背包类型
                  ("DesBackPack", c_ubyte),    #目标背包类型
                  ("SrcIndex", c_ushort),    #起始位置
                  ("DestIndex", c_ushort),    #目标位置
                  ("Count", c_ushort),    #物品数量
                  ("DestIndex", c_ushort),    #目标位置
                  ("Count", c_ushort),    #物品数量
                  ]
    def __init__(self):
@@ -11344,7 +11344,7 @@
                  ("SubCmd", c_ubyte),
                  ("OperateType", c_ubyte),    #背包操作类型,由EBackpackOperate定义
                  ("SrcIndex", c_ushort),    #起始位置
                  ("DestIndex", c_ushort),    #目标位置
                  ("DestIndex", c_ushort),    #目标位置
                  ]
    def __init__(self):
@@ -12569,7 +12569,7 @@
                  ("SrcBackpack", c_ubyte),    #源背包类型
                  ("DesBackPack", c_ubyte),    #目标背包类型
                  ("SrcIndex", c_ushort),    #起始位置
                  ("DestIndex", c_ushort),    #目标位置
                  ("DestIndex", c_ushort),    #目标位置
                  ]
    def __init__(self):
@@ -12734,7 +12734,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("RoleEquipType", c_ubyte),    #角色装备类型
                  ("RoleEquipType", c_ubyte),    #角色装备类型
                  ("ItemIndex", c_ubyte),    #物品在物品背包的索引
                  ]
@@ -20889,7 +20889,7 @@
                  ("StuffIndex1", c_int),    #装备索引
                  ("StuffIndex2", c_int),    #装备索引
                  ("StuffIndex3", c_int),    #装备索引
                  ("AutoBuy", c_ubyte),    #是否自动购买结魂灯
                  ("AutoBuy", c_ubyte),    #是否自动购买结魂灯
                  ]
    def __init__(self):
@@ -21162,7 +21162,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("VSOrder", c_int),    #要挑战的排位
                  ("VSOrder", c_int),    #要挑战的排位
                  ]
    def __init__(self):
@@ -21445,4 +21445,4 @@
m_NAtagCGMCMD=tagCGMCMD()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMCMD.Head.Cmd,m_NAtagCGMCMD.Head.SubCmd))] = m_NAtagCGMCMD
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMCMD.Head.Cmd,m_NAtagCGMCMD.Head.SubCmd))] = m_NAtagCGMCMD
Tool/RobotTest/Protocol/PacketsSendPY.py
Diff too large