| | |
| | | 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:
|
| | |
| | | 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()
|
| | |
| | | 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)//上周在线时间
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("StartYear", c_ushort), #年, 如果填写0, 就隐藏此窗口
|
| | | ("StartYear", c_ushort), #年, 如果填写0, 就隐藏此窗口
|
| | | ("StartMonth", c_ushort), #月
|
| | | ("StartDate", c_ubyte), #日
|
| | | ("EndYear", c_ushort),
|
| | |
| | | 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):
|
| | |
| | | #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
|
| | |
|
| | |
| | | class tagFBEventList(Structure):
|
| | | Head = tagHead()
|
| | | EventCount = 0 #(BYTE EventCount)//副本活动数
|
| | | EventList = list() #(vector<tagFBEventDetail> EventList)//副本活动列表 |
| | | EventList = list() #(vector<tagFBEventDetail> EventList)//副本活动列表 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | #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
|
| | |
|
| | |
| | | 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
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("PlayerID", c_int),
|
| | | ("FamilyMemberLV", c_ubyte), #玩家在家族中的职位 |
| | | ("FamilyMemberLV", c_ubyte), #玩家在家族中的职位 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #04 36 周围玩家家族名刷新#tagPlayerFamilyNameRefresh
|
| | | #04 36 周围玩家家族名刷新#tagPlayerFamilyNameRefresh
|
| | |
|
| | | class tagPlayerFamilyNameRefresh(Structure):
|
| | | Head = tagHead()
|
| | |
| | | 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):
|
| | |
| | | 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):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("MakeType", c_ubyte), #类型 TMakeItemType
|
| | | ("MakeType", c_ubyte), #类型 TMakeItemType
|
| | | ("Result", c_ubyte), #是否成功
|
| | | ]
|
| | |
|
| | |
| | | ("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
|
| | | ]
|
| | |
| | | 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)//扩展属性
|
| | |
| | | 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
|
| | |
| | | class tagFamilyTechInfo(Structure):
|
| | | Head = tagHead()
|
| | | TechCount = 0 #(WORD TechCount)//帮会科技数量
|
| | | TechInfoList = list() #(vector<tagTechInfo> TechInfoList)//科技信息列表 |
| | | TechInfoList = list() #(vector<tagTechInfo> TechInfoList)//科技信息列表 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | #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)//附加类型,用来表示排序对象的类型,比如,玩家所属职业门派,宠物类型等
|
| | |
| | | MakerNameLen = 0 #(BYTE MakerNameLen)//制造者名字
|
| | | MakerName = "" #(String MakerName)//size = MakerNameLen
|
| | | UserDataLen = 0 #(DWORD UserDataLen)
|
| | | UserData = "" #(String UserData)//自定义数据 |
| | | UserData = "" #(String UserData)//自定义数据 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("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
|
| | |
| | | ("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):
|
| | |
| | | ("SubCmd", c_ubyte),
|
| | | ("FormID", c_int), # 挂单ID
|
| | | ("UnitPrice", c_int), #该单购买元宝的银两单价(每组)
|
| | | ("LefGold", c_int), #该单的剩余购买元宝组数 |
| | | ("LefGold", c_int), #该单的剩余购买元宝组数 |
| | | ("LeftTime", c_ushort), #该单的剩余在架时间
|
| | | ]
|
| | |
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("LabelID", c_int), # 删除标签 |
| | | ("LabelID", c_int), # 删除标签 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | class tagHightLadderTopPlayerList(Structure):
|
| | | Head = tagHead()
|
| | | Size = 0 #(BYTE Size)
|
| | | PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 |
| | | PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | 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):
|
| | |
| | | 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):
|
| | |
| | |
|
| | | 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)//出售价格
|
| | |
| | |
|
| | |
|
| | | 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
|
| | |
| | | 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):
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("PlayerID", c_int), #目标玩家
|
| | | ("MemberLV", c_ubyte), #玩家队伍等级 TTeamMemberLV
|
| | | ("MemberLV", c_ubyte), #玩家队伍等级 TTeamMemberLV
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("TecID", c_int), #科技ID
|
| | | ("TmpLV", c_ubyte), #加持等级 |
| | | ("TmpLV", c_ubyte), #加持等级 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SubCmd", c_ubyte),
|
| | | ("Type", c_ubyte), #答题类型
|
| | | ("QuestionNO", c_ushort), # 答题号
|
| | | ("FunctionNO", c_ubyte), # 功能号 |
| | | ("FunctionNO", c_ubyte), # 功能号 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("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
|
| | | ]
|
| | |
| | |
|
| | | class tagCAddLabelToFriend(Structure):
|
| | | Head = tagHead()
|
| | | PlayerID = 0 #(DWORD PlayerID)// 好友ID |
| | | PlayerID = 0 #(DWORD PlayerID)// 好友ID |
| | | LabelContent = "" #(char LabelContent[21])//标签内容
|
| | | data = None
|
| | |
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("PlayerID", c_int), # 好友ID |
| | | ("PlayerID", c_int), # 好友ID |
| | | ("LabelID", c_int), # 系统标签ID
|
| | | ]
|
| | |
|
| | |
| | | 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):
|
| | |
| | | class tagCJoinVsRoom(Structure):
|
| | | Head = tagHead()
|
| | | dwRoomId = 0 #(DWORD dwRoomId)// 房间ID
|
| | | Pws = "" #(char Pws[7])// 密码 |
| | | Pws = "" #(char Pws[7])// 密码 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | |
|
| | | class tagCSetSignature(Structure):
|
| | | Head = tagHead()
|
| | | Signature = "" #(char Signature[101])// 心情签名 |
| | | Signature = "" #(char Signature[101])// 心情签名 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("Type", c_ubyte), #无意义 |
| | | ("Type", c_ubyte), #无意义 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SrcBackpack", c_ubyte), #源背包类型
|
| | | ("DesBackPack", c_ubyte), #目标背包类型
|
| | | ("SrcIndex", c_ushort), #起始位置
|
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("Count", c_ushort), #物品数量 |
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("Count", c_ushort), #物品数量 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SubCmd", c_ubyte),
|
| | | ("OperateType", c_ubyte), #背包操作类型,由EBackpackOperate定义
|
| | | ("SrcIndex", c_ushort), #起始位置
|
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SrcBackpack", c_ubyte), #源背包类型
|
| | | ("DesBackPack", c_ubyte), #目标背包类型
|
| | | ("SrcIndex", c_ushort), #起始位置
|
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("RoleEquipType", c_ubyte), #角色装备类型 |
| | | ("RoleEquipType", c_ubyte), #角色装备类型 |
| | | ("ItemIndex", c_ubyte), #物品在物品背包的索引
|
| | | ]
|
| | |
|
| | |
| | | ("StuffIndex1", c_int), #装备索引
|
| | | ("StuffIndex2", c_int), #装备索引
|
| | | ("StuffIndex3", c_int), #装备索引
|
| | | ("AutoBuy", c_ubyte), #是否自动购买结魂灯 |
| | | ("AutoBuy", c_ubyte), #是否自动购买结魂灯 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("VSOrder", c_int), #要挑战的排位 |
| | | ("VSOrder", c_int), #要挑战的排位 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | |
|
| | |
|
| | | 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
|
| | |
| | |
|
| | |
|
| | | 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)
|
| | |
| | | 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亿/分钟
|
| | |
| | | 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
|
| | |
| | |
|
| | | 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
|
| | |
|
| | |
| | | classObj.ReadFromList(lineList)
|
| | |
|
| | | self.__NPCPoint[classObj.NPCID] = classObj
|
| | | |
| | | return
|
| | |
|
| | |
|
| | |
| | | if maxlv < point.LowLV:
|
| | | maxlv = point.LowLV
|
| | | pointNPCID = point.NPCID
|
| | |
|
| | |
|
| | | npcPoint = self.__NPCPoint.get(pointNPCID, None)
|
| | | if not npcPoint:
|
| | |
| | | # @note:
|
| | | #
|
| | | #---------------------------------------------------------------------
|
| | | HaveDEBUG = False
|
| | | HaveDEBUG = True
|
| | |
|
| | |
|
| | | #初始化Log模块
|
| | |
| | | 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)//上周在线时间
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("StartYear", c_ushort), #年, 如果填写0, 就隐藏此窗口
|
| | | ("StartYear", c_ushort), #年, 如果填写0, 就隐藏此窗口
|
| | | ("StartMonth", c_ushort), #月
|
| | | ("StartDate", c_ubyte), #日
|
| | | ("EndYear", c_ushort),
|
| | |
| | | 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):
|
| | |
| | | #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
|
| | |
|
| | |
| | | class tagFBEventList(Structure):
|
| | | Head = tagHead()
|
| | | EventCount = 0 #(BYTE EventCount)//副本活动数
|
| | | EventList = list() #(vector<tagFBEventDetail> EventList)//副本活动列表 |
| | | EventList = list() #(vector<tagFBEventDetail> EventList)//副本活动列表 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | #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
|
| | |
|
| | |
| | | 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
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("PlayerID", c_int),
|
| | | ("FamilyMemberLV", c_ubyte), #玩家在家族中的职位 |
| | | ("FamilyMemberLV", c_ubyte), #玩家在家族中的职位 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #04 36 周围玩家家族名刷新#tagPlayerFamilyNameRefresh
|
| | | #04 36 周围玩家家族名刷新#tagPlayerFamilyNameRefresh
|
| | |
|
| | | class tagPlayerFamilyNameRefresh(Structure):
|
| | | Head = tagHead()
|
| | |
| | | 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):
|
| | |
| | | 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):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("MakeType", c_ubyte), #类型 TMakeItemType
|
| | | ("MakeType", c_ubyte), #类型 TMakeItemType
|
| | | ("Result", c_ubyte), #是否成功
|
| | | ]
|
| | |
|
| | |
| | | ("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
|
| | | ]
|
| | |
| | | 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)//扩展属性
|
| | |
| | | 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
|
| | |
| | | class tagFamilyTechInfo(Structure):
|
| | | Head = tagHead()
|
| | | TechCount = 0 #(WORD TechCount)//帮会科技数量
|
| | | TechInfoList = list() #(vector<tagTechInfo> TechInfoList)//科技信息列表 |
| | | TechInfoList = list() #(vector<tagTechInfo> TechInfoList)//科技信息列表 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | #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)//附加类型,用来表示排序对象的类型,比如,玩家所属职业门派,宠物类型等
|
| | |
| | | MakerNameLen = 0 #(BYTE MakerNameLen)//制造者名字
|
| | | MakerName = "" #(String MakerName)//size = MakerNameLen
|
| | | UserDataLen = 0 #(DWORD UserDataLen)
|
| | | UserData = "" #(String UserData)//自定义数据 |
| | | UserData = "" #(String UserData)//自定义数据 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("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
|
| | |
| | | ("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):
|
| | |
| | | ("SubCmd", c_ubyte),
|
| | | ("FormID", c_int), # 挂单ID
|
| | | ("UnitPrice", c_int), #该单购买元宝的银两单价(每组)
|
| | | ("LefGold", c_int), #该单的剩余购买元宝组数 |
| | | ("LefGold", c_int), #该单的剩余购买元宝组数 |
| | | ("LeftTime", c_ushort), #该单的剩余在架时间
|
| | | ]
|
| | |
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("LabelID", c_int), # 删除标签 |
| | | ("LabelID", c_int), # 删除标签 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | class tagHightLadderTopPlayerList(Structure):
|
| | | Head = tagHead()
|
| | | Size = 0 #(BYTE Size)
|
| | | PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 |
| | | PlayerList = list() #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | 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):
|
| | |
| | | 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):
|
| | |
| | |
|
| | | 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)//出售价格
|
| | |
| | |
|
| | |
|
| | | 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
|
| | |
| | | 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):
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("PlayerID", c_int), #目标玩家
|
| | | ("MemberLV", c_ubyte), #玩家队伍等级 TTeamMemberLV
|
| | | ("MemberLV", c_ubyte), #玩家队伍等级 TTeamMemberLV
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("TecID", c_int), #科技ID
|
| | | ("TmpLV", c_ubyte), #加持等级 |
| | | ("TmpLV", c_ubyte), #加持等级 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SubCmd", c_ubyte),
|
| | | ("Type", c_ubyte), #答题类型
|
| | | ("QuestionNO", c_ushort), # 答题号
|
| | | ("FunctionNO", c_ubyte), # 功能号 |
| | | ("FunctionNO", c_ubyte), # 功能号 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("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
|
| | | ]
|
| | |
| | |
|
| | | class tagCAddLabelToFriend(Structure):
|
| | | Head = tagHead()
|
| | | PlayerID = 0 #(DWORD PlayerID)// 好友ID |
| | | PlayerID = 0 #(DWORD PlayerID)// 好友ID |
| | | LabelContent = "" #(char LabelContent[21])//标签内容
|
| | | data = None
|
| | |
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("PlayerID", c_int), # 好友ID |
| | | ("PlayerID", c_int), # 好友ID |
| | | ("LabelID", c_int), # 系统标签ID
|
| | | ]
|
| | |
|
| | |
| | | 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):
|
| | |
| | | class tagCJoinVsRoom(Structure):
|
| | | Head = tagHead()
|
| | | dwRoomId = 0 #(DWORD dwRoomId)// 房间ID
|
| | | Pws = "" #(char Pws[7])// 密码 |
| | | Pws = "" #(char Pws[7])// 密码 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | |
|
| | | class tagCSetSignature(Structure):
|
| | | Head = tagHead()
|
| | | Signature = "" #(char Signature[101])// 心情签名 |
| | | Signature = "" #(char Signature[101])// 心情签名 |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("Type", c_ubyte), #无意义 |
| | | ("Type", c_ubyte), #无意义 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SrcBackpack", c_ubyte), #源背包类型
|
| | | ("DesBackPack", c_ubyte), #目标背包类型
|
| | | ("SrcIndex", c_ushort), #起始位置
|
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("Count", c_ushort), #物品数量 |
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("Count", c_ushort), #物品数量 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SubCmd", c_ubyte),
|
| | | ("OperateType", c_ubyte), #背包操作类型,由EBackpackOperate定义
|
| | | ("SrcIndex", c_ushort), #起始位置
|
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("SrcBackpack", c_ubyte), #源背包类型
|
| | | ("DesBackPack", c_ubyte), #目标背包类型
|
| | | ("SrcIndex", c_ushort), #起始位置
|
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ("DestIndex", c_ushort), #目标位置 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("RoleEquipType", c_ubyte), #角色装备类型 |
| | | ("RoleEquipType", c_ubyte), #角色装备类型 |
| | | ("ItemIndex", c_ubyte), #物品在物品背包的索引
|
| | | ]
|
| | |
|
| | |
| | | ("StuffIndex1", c_int), #装备索引
|
| | | ("StuffIndex2", c_int), #装备索引
|
| | | ("StuffIndex3", c_int), #装备索引
|
| | | ("AutoBuy", c_ubyte), #是否自动购买结魂灯 |
| | | ("AutoBuy", c_ubyte), #是否自动购买结魂灯 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("VSOrder", c_int), #要挑战的排位 |
| | | ("VSOrder", c_int), #要挑战的排位 |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | |
|
| | |
|
| | | 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
|