From 80760d7bb7ae12f127bd67613dab8a8a02d4400c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 二月 2026 15:29:30 +0800
Subject: [PATCH] 16 卡牌服务端(删除不需要旧功能:法器、炼体、魅力、情缘、仙宫、神兽、系统特权、印记;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 8251 +----------------------------------------------------------
1 files changed, 175 insertions(+), 8,076 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 4de6d42..f22632b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -1218,742 +1218,6 @@
#------------------------------------------------------
-# A1 12 玩家初始化 #tagMCDBPlayer
-
-class tagMCDBPlayer(Structure):
- Head = tagHead()
- AccID = "" #(char AccID[65])//帐号名, 该角色所在的帐号的用户名
- PlayerID = 0 #(DWORD PlayerID)
- PlayerName = "" #(char PlayerName[33])//size = 14
- AccState = 0 #(BYTE AccState)//0: 未创建, 1: 创建OK,正常登录 2:封号 3:已删除
- GMLevel = 0 #(BYTE GMLevel)//GM等级, 0:不是GM >=1 : GM的等级
- Sex = 0 #(BYTE Sex)//性别
- Job = 0 #(BYTE Job)//职业, 0.新手 1.游侠 2.战士 3.弓箭手 4.术士 5.道士
- ReincarnationLv = 0 #(WORD ReincarnationLv)// 转生等级
- LV = 0 #(WORD LV)//等级
- LVEx = 0 #(WORD LVEx)//玩家等级副本,用于转生
- LV2 = 0 #(WORD LV2)//大师等级
- ExpPoint = 0 #(DWORD ExpPoint)//扩充经验点数
- TotalExp = 0 #(DWORD TotalExp)//总经验
- Family = 0 #(DWORD Family)//家族
- FamilyName = "" #(char FamilyName[33])//家族名称
- TeamHornor = 0 #(int TeamHornor)//组队荣誉
- FamilyHornor = 0 #(int FamilyHornor)//家族荣耀
- FamilyActiveValue = 0 #(int FamilyActiveValue)//家族活跃度
- LastWeekFamilyActiveValue = 0 #(int LastWeekFamilyActiveValue)//上周家族活跃度
- CountryHornor = 0 #(int CountryHornor)//本周国家功勋值
- CountryLastWeekHornor = 0 #(int CountryLastWeekHornor)//上周国家功勋值
- Mate = 0 #(DWORD Mate)
- Gold = 0 #(DWORD Gold)//金子
- GoldPaper = 0 #(DWORD GoldPaper)//金票
- Silver = 0 #(DWORD Silver)//银子
- SilverPaper = 0 #(DWORD SilverPaper)//银票
- FightPoint = 0 #(DWORD FightPoint)//战斗值
- HappyPoint = 0 #(DWORD HappyPoint)//脱机挂时长(秒)
- LineID = 0 #(BYTE LineID)//角色所在线路
- MapID = 0 #(WORD MapID)//角色所在地图
- PosX = 0 #(WORD PosX)//角色坐标
- PosY = 0 #(WORD PosY)
- RebornMapID = 0 #(WORD RebornMapID)//重生点地图ID
- RebornPosX = 0 #(WORD RebornPosX)
- RebornPosY = 0 #(WORD RebornPosY)
- State = 0 #(BYTE State)//角色状态 0.正常在线1.脱机挂在线 2脱机挂死亡
- HP = 0 #(DWORD HP)//当前HP
- XP = 0 #(DWORD XP)//当前XP
- HPRestoreSetting = 0 #(WORD HPRestoreSetting)//少于这个值%自动喝血
- MPRestoreSetting = 0 #(WORD MPRestoreSetting)//少于这个值%自动喝魔
- FreePoint = 0 #(DWORD FreePoint)//未分配点数
- FreeSkillPoint = 0 #(DWORD FreeSkillPoint)//未分配的技能点
- BaseSTR = 0 #(int BaseSTR)//裸体力量
- BasePNE = 0 #(int BasePNE)//裸体真元
- BasePHY = 0 #(int BasePHY)//裸体筋骨
- BaseCON = 0 #(int BaseCON)//裸体体魄
- STR = 0 #(int STR)//力量
- PNE = 0 #(int PNE)//真元
- PHY = 0 #(int PHY)//筋骨
- CON = 0 #(int CON)//体魄
- PKValue = 0 #(WORD PKValue)//衡量PK能力的一项属性,由攻防计算而得
- BackpackLV = 0 #(BYTE BackpackLV)//背包等级
- WarehouseLV = 0 #(BYTE WarehouseLV)//仓库等级
- TeamID = 0 #(DWORD TeamID)//队伍ID
- UseGoldType = 0 #(BYTE UseGoldType)//默认用金子/金票 类型为MoneyType
- UseSilverType = 0 #(BYTE UseSilverType)//默认用的银子/银票
- AttackMode = 0 #(BYTE AttackMode)//攻击模式
- LastWeekOnlineTime = 0 #(DWORD LastWeekOnlineTime)//上周在线时间
- FBID = 0 #(BYTE FBID)//fb id
- FamilyLV = 0 #(BYTE FamilyLV)//家族等级
- FriendFavor = 0 #(DWORD FriendFavor)//好友人气值
- Energy = 0 #(DWORD Energy)//精力值
- EquipShowSwitch = 0 #(DWORD EquipShowSwitch)//装备显示开关
- LuckValue = 0 #(DWORD LuckValue)//幸运值
- ExAttr1 = 0 #(DWORD ExAttr1)//扩展属性1,各项目专用
- ExAttr2 = 0 #(DWORD ExAttr2)//扩展属性2,各项目专用
- ExAttr3 = 0 #(DWORD ExAttr3)//扩展属性3,各项目专用
- ExAttr4 = 0 #(DWORD ExAttr4)//扩展属性4,各项目专用
- ExAttr5 = 0 #(DWORD ExAttr5)//扩展属性5,各项目专用
- Faction = 0 #(BYTE Faction)//阵营
- InfamyValue = 0 #(DWORD InfamyValue)//恶名值
- OfficialRank = 0 #(BYTE OfficialRank)//官阶,官职等级
- ChangeCoinPointTotal = 0 #(DWORD ChangeCoinPointTotal)//兑换的点数总计
- VIPLv = 0 #(BYTE VIPLv)//VIP等级
- VIPLvForPhone = 0 #(BYTE VIPLvForPhone)//移动VIP等级
- ExAttr6 = 0 #(DWORD ExAttr6)//扩展属性6,各项目专用
- ExAttr7 = 0 #(DWORD ExAttr7)//扩展属性7,各项目专用
- ExAttr8 = 0 #(DWORD ExAttr8)//扩展属性8,各项目专用
- ExAttr9 = 0 #(DWORD ExAttr9)//扩展属性9,各项目专用
- ExAttr10 = 0 #(DWORD ExAttr10)//扩展属性10,各项目专用
- ModelMark = 0 #(DWORD ModelMark)// 变形模型mark
- ExAttr11 = 0 #(DWORD ExAttr11)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr12 = 0 #(DWORD ExAttr12)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr13 = 0 #(DWORD ExAttr13)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr14 = 0 #(DWORD ExAttr14)//预留的扩展属性字段,用来存放项目特定的属性
- OperateInfo = 0 #(DWORD OperateInfo)//玩家附加运营商信息
- Operate = "" #(char Operate[15])//所属运营商平台名
- ServerID = 0 #(DWORD ServerID)//所属区服ID
- ExAttr15 = 0 #(DWORD ExAttr15)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr16 = 0 #(DWORD ExAttr16)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr17 = 0 #(DWORD ExAttr17)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr18 = 0 #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr19 = 0 #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
- ExAttr20 = 0 #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
- HPEx = 0 #(DWORD HPEx)//当前血量 超过E的记录
- Face = 0 #(DWORD Face)//基本脸型
- FacePic = 0 #(DWORD FacePic)//头像框
- RoleType = 0 #(DWORD RoleType)//角色类型(各项目可自定义含义,如种族,与职业区分)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA1
- self.Head.SubCmd = 0x12
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.AccID,_pos = CommFunc.ReadString(_lpData, _pos,65)
- self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
- self.AccState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.GMLevel,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Sex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ReincarnationLv,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LVEx,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LV2,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.TotalExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Family,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,33)
- self.TeamHornor,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FamilyHornor,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FamilyActiveValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.LastWeekFamilyActiveValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.CountryHornor,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.CountryLastWeekHornor,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Mate,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Gold,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GoldPaper,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Silver,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SilverPaper,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FightPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.HappyPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.LineID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.MapID,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.PosX,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.PosY,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.RebornMapID,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.RebornPosX,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.RebornPosY,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.State,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.HP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.XP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.HPRestoreSetting,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.MPRestoreSetting,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.FreePoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FreeSkillPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BaseSTR,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BasePNE,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BasePHY,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BaseCON,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.STR,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PNE,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PHY,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.CON,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PKValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.BackpackLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.WarehouseLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.TeamID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.UseGoldType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.UseSilverType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AttackMode,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LastWeekOnlineTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FBID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.FamilyLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.FriendFavor,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Energy,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.LuckValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr1,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr2,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr3,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr4,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr5,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Faction,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.InfamyValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.OfficialRank,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ChangeCoinPointTotal,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.VIPLv,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.VIPLvForPhone,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ExAttr6,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr7,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr8,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr9,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr10,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ModelMark,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr11,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr12,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr13,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr14,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.OperateInfo,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Operate,_pos = CommFunc.ReadString(_lpData, _pos,15)
- self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr15,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr16,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr17,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.HPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.RoleType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA1
- self.Head.SubCmd = 0x12
- self.AccID = ""
- self.PlayerID = 0
- self.PlayerName = ""
- self.AccState = 0
- self.GMLevel = 0
- self.Sex = 0
- self.Job = 0
- self.ReincarnationLv = 0
- self.LV = 0
- self.LVEx = 0
- self.LV2 = 0
- self.ExpPoint = 0
- self.TotalExp = 0
- self.Family = 0
- self.FamilyName = ""
- self.TeamHornor = 0
- self.FamilyHornor = 0
- self.FamilyActiveValue = 0
- self.LastWeekFamilyActiveValue = 0
- self.CountryHornor = 0
- self.CountryLastWeekHornor = 0
- self.Mate = 0
- self.Gold = 0
- self.GoldPaper = 0
- self.Silver = 0
- self.SilverPaper = 0
- self.FightPoint = 0
- self.HappyPoint = 0
- self.LineID = 0
- self.MapID = 0
- self.PosX = 0
- self.PosY = 0
- self.RebornMapID = 0
- self.RebornPosX = 0
- self.RebornPosY = 0
- self.State = 0
- self.HP = 0
- self.XP = 0
- self.HPRestoreSetting = 0
- self.MPRestoreSetting = 0
- self.FreePoint = 0
- self.FreeSkillPoint = 0
- self.BaseSTR = 0
- self.BasePNE = 0
- self.BasePHY = 0
- self.BaseCON = 0
- self.STR = 0
- self.PNE = 0
- self.PHY = 0
- self.CON = 0
- self.PKValue = 0
- self.BackpackLV = 0
- self.WarehouseLV = 0
- self.TeamID = 0
- self.UseGoldType = 0
- self.UseSilverType = 0
- self.AttackMode = 0
- self.LastWeekOnlineTime = 0
- self.FBID = 0
- self.FamilyLV = 0
- self.FriendFavor = 0
- self.Energy = 0
- self.EquipShowSwitch = 0
- self.LuckValue = 0
- self.ExAttr1 = 0
- self.ExAttr2 = 0
- self.ExAttr3 = 0
- self.ExAttr4 = 0
- self.ExAttr5 = 0
- self.Faction = 0
- self.InfamyValue = 0
- self.OfficialRank = 0
- self.ChangeCoinPointTotal = 0
- self.VIPLv = 0
- self.VIPLvForPhone = 0
- self.ExAttr6 = 0
- self.ExAttr7 = 0
- self.ExAttr8 = 0
- self.ExAttr9 = 0
- self.ExAttr10 = 0
- self.ModelMark = 0
- self.ExAttr11 = 0
- self.ExAttr12 = 0
- self.ExAttr13 = 0
- self.ExAttr14 = 0
- self.OperateInfo = 0
- self.Operate = ""
- self.ServerID = 0
- self.ExAttr15 = 0
- self.ExAttr16 = 0
- self.ExAttr17 = 0
- self.ExAttr18 = 0
- self.ExAttr19 = 0
- self.ExAttr20 = 0
- self.HPEx = 0
- self.Face = 0
- self.FacePic = 0
- self.RoleType = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 65
- length += 4
- length += 33
- length += 1
- length += 1
- length += 1
- length += 1
- length += 2
- length += 2
- length += 2
- length += 2
- length += 4
- length += 4
- length += 4
- length += 33
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 1
- length += 2
- length += 2
- length += 2
- length += 2
- length += 2
- length += 2
- length += 1
- length += 4
- length += 4
- length += 2
- length += 2
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 2
- length += 1
- length += 1
- length += 4
- length += 1
- length += 1
- length += 1
- length += 4
- length += 1
- length += 1
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 1
- length += 4
- length += 1
- length += 4
- length += 1
- length += 1
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 15
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 65, self.AccID)
- data = CommFunc.WriteDWORD(data, self.PlayerID)
- data = CommFunc.WriteString(data, 33, self.PlayerName)
- data = CommFunc.WriteBYTE(data, self.AccState)
- data = CommFunc.WriteBYTE(data, self.GMLevel)
- data = CommFunc.WriteBYTE(data, self.Sex)
- data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteWORD(data, self.ReincarnationLv)
- data = CommFunc.WriteWORD(data, self.LV)
- data = CommFunc.WriteWORD(data, self.LVEx)
- data = CommFunc.WriteWORD(data, self.LV2)
- data = CommFunc.WriteDWORD(data, self.ExpPoint)
- data = CommFunc.WriteDWORD(data, self.TotalExp)
- data = CommFunc.WriteDWORD(data, self.Family)
- data = CommFunc.WriteString(data, 33, self.FamilyName)
- data = CommFunc.WriteDWORD(data, self.TeamHornor)
- data = CommFunc.WriteDWORD(data, self.FamilyHornor)
- data = CommFunc.WriteDWORD(data, self.FamilyActiveValue)
- data = CommFunc.WriteDWORD(data, self.LastWeekFamilyActiveValue)
- data = CommFunc.WriteDWORD(data, self.CountryHornor)
- data = CommFunc.WriteDWORD(data, self.CountryLastWeekHornor)
- data = CommFunc.WriteDWORD(data, self.Mate)
- data = CommFunc.WriteDWORD(data, self.Gold)
- data = CommFunc.WriteDWORD(data, self.GoldPaper)
- data = CommFunc.WriteDWORD(data, self.Silver)
- data = CommFunc.WriteDWORD(data, self.SilverPaper)
- data = CommFunc.WriteDWORD(data, self.FightPoint)
- data = CommFunc.WriteDWORD(data, self.HappyPoint)
- data = CommFunc.WriteBYTE(data, self.LineID)
- data = CommFunc.WriteWORD(data, self.MapID)
- data = CommFunc.WriteWORD(data, self.PosX)
- data = CommFunc.WriteWORD(data, self.PosY)
- data = CommFunc.WriteWORD(data, self.RebornMapID)
- data = CommFunc.WriteWORD(data, self.RebornPosX)
- data = CommFunc.WriteWORD(data, self.RebornPosY)
- data = CommFunc.WriteBYTE(data, self.State)
- data = CommFunc.WriteDWORD(data, self.HP)
- data = CommFunc.WriteDWORD(data, self.XP)
- data = CommFunc.WriteWORD(data, self.HPRestoreSetting)
- data = CommFunc.WriteWORD(data, self.MPRestoreSetting)
- data = CommFunc.WriteDWORD(data, self.FreePoint)
- data = CommFunc.WriteDWORD(data, self.FreeSkillPoint)
- data = CommFunc.WriteDWORD(data, self.BaseSTR)
- data = CommFunc.WriteDWORD(data, self.BasePNE)
- data = CommFunc.WriteDWORD(data, self.BasePHY)
- data = CommFunc.WriteDWORD(data, self.BaseCON)
- data = CommFunc.WriteDWORD(data, self.STR)
- data = CommFunc.WriteDWORD(data, self.PNE)
- data = CommFunc.WriteDWORD(data, self.PHY)
- data = CommFunc.WriteDWORD(data, self.CON)
- data = CommFunc.WriteWORD(data, self.PKValue)
- data = CommFunc.WriteBYTE(data, self.BackpackLV)
- data = CommFunc.WriteBYTE(data, self.WarehouseLV)
- data = CommFunc.WriteDWORD(data, self.TeamID)
- data = CommFunc.WriteBYTE(data, self.UseGoldType)
- data = CommFunc.WriteBYTE(data, self.UseSilverType)
- data = CommFunc.WriteBYTE(data, self.AttackMode)
- data = CommFunc.WriteDWORD(data, self.LastWeekOnlineTime)
- data = CommFunc.WriteBYTE(data, self.FBID)
- data = CommFunc.WriteBYTE(data, self.FamilyLV)
- data = CommFunc.WriteDWORD(data, self.FriendFavor)
- data = CommFunc.WriteDWORD(data, self.Energy)
- data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
- data = CommFunc.WriteDWORD(data, self.LuckValue)
- data = CommFunc.WriteDWORD(data, self.ExAttr1)
- data = CommFunc.WriteDWORD(data, self.ExAttr2)
- data = CommFunc.WriteDWORD(data, self.ExAttr3)
- data = CommFunc.WriteDWORD(data, self.ExAttr4)
- data = CommFunc.WriteDWORD(data, self.ExAttr5)
- data = CommFunc.WriteBYTE(data, self.Faction)
- data = CommFunc.WriteDWORD(data, self.InfamyValue)
- data = CommFunc.WriteBYTE(data, self.OfficialRank)
- data = CommFunc.WriteDWORD(data, self.ChangeCoinPointTotal)
- data = CommFunc.WriteBYTE(data, self.VIPLv)
- data = CommFunc.WriteBYTE(data, self.VIPLvForPhone)
- data = CommFunc.WriteDWORD(data, self.ExAttr6)
- data = CommFunc.WriteDWORD(data, self.ExAttr7)
- data = CommFunc.WriteDWORD(data, self.ExAttr8)
- data = CommFunc.WriteDWORD(data, self.ExAttr9)
- data = CommFunc.WriteDWORD(data, self.ExAttr10)
- data = CommFunc.WriteDWORD(data, self.ModelMark)
- data = CommFunc.WriteDWORD(data, self.ExAttr11)
- data = CommFunc.WriteDWORD(data, self.ExAttr12)
- data = CommFunc.WriteDWORD(data, self.ExAttr13)
- data = CommFunc.WriteDWORD(data, self.ExAttr14)
- data = CommFunc.WriteDWORD(data, self.OperateInfo)
- data = CommFunc.WriteString(data, 15, self.Operate)
- data = CommFunc.WriteDWORD(data, self.ServerID)
- data = CommFunc.WriteDWORD(data, self.ExAttr15)
- data = CommFunc.WriteDWORD(data, self.ExAttr16)
- data = CommFunc.WriteDWORD(data, self.ExAttr17)
- data = CommFunc.WriteDWORD(data, self.ExAttr18)
- data = CommFunc.WriteDWORD(data, self.ExAttr19)
- data = CommFunc.WriteDWORD(data, self.ExAttr20)
- data = CommFunc.WriteDWORD(data, self.HPEx)
- data = CommFunc.WriteDWORD(data, self.Face)
- data = CommFunc.WriteDWORD(data, self.FacePic)
- data = CommFunc.WriteDWORD(data, self.RoleType)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- AccID:%s,
- PlayerID:%d,
- PlayerName:%s,
- AccState:%d,
- GMLevel:%d,
- Sex:%d,
- Job:%d,
- ReincarnationLv:%d,
- LV:%d,
- LVEx:%d,
- LV2:%d,
- ExpPoint:%d,
- TotalExp:%d,
- Family:%d,
- FamilyName:%s,
- TeamHornor:%d,
- FamilyHornor:%d,
- FamilyActiveValue:%d,
- LastWeekFamilyActiveValue:%d,
- CountryHornor:%d,
- CountryLastWeekHornor:%d,
- Mate:%d,
- Gold:%d,
- GoldPaper:%d,
- Silver:%d,
- SilverPaper:%d,
- FightPoint:%d,
- HappyPoint:%d,
- LineID:%d,
- MapID:%d,
- PosX:%d,
- PosY:%d,
- RebornMapID:%d,
- RebornPosX:%d,
- RebornPosY:%d,
- State:%d,
- HP:%d,
- XP:%d,
- HPRestoreSetting:%d,
- MPRestoreSetting:%d,
- FreePoint:%d,
- FreeSkillPoint:%d,
- BaseSTR:%d,
- BasePNE:%d,
- BasePHY:%d,
- BaseCON:%d,
- STR:%d,
- PNE:%d,
- PHY:%d,
- CON:%d,
- PKValue:%d,
- BackpackLV:%d,
- WarehouseLV:%d,
- TeamID:%d,
- UseGoldType:%d,
- UseSilverType:%d,
- AttackMode:%d,
- LastWeekOnlineTime:%d,
- FBID:%d,
- FamilyLV:%d,
- FriendFavor:%d,
- Energy:%d,
- EquipShowSwitch:%d,
- LuckValue:%d,
- ExAttr1:%d,
- ExAttr2:%d,
- ExAttr3:%d,
- ExAttr4:%d,
- ExAttr5:%d,
- Faction:%d,
- InfamyValue:%d,
- OfficialRank:%d,
- ChangeCoinPointTotal:%d,
- VIPLv:%d,
- VIPLvForPhone:%d,
- ExAttr6:%d,
- ExAttr7:%d,
- ExAttr8:%d,
- ExAttr9:%d,
- ExAttr10:%d,
- ModelMark:%d,
- ExAttr11:%d,
- ExAttr12:%d,
- ExAttr13:%d,
- ExAttr14:%d,
- OperateInfo:%d,
- Operate:%s,
- ServerID:%d,
- ExAttr15:%d,
- ExAttr16:%d,
- ExAttr17:%d,
- ExAttr18:%d,
- ExAttr19:%d,
- ExAttr20:%d,
- HPEx:%d,
- Face:%d,
- FacePic:%d,
- RoleType:%d
- '''\
- %(
- self.Head.OutputString(),
- self.AccID,
- self.PlayerID,
- self.PlayerName,
- self.AccState,
- self.GMLevel,
- self.Sex,
- self.Job,
- self.ReincarnationLv,
- self.LV,
- self.LVEx,
- self.LV2,
- self.ExpPoint,
- self.TotalExp,
- self.Family,
- self.FamilyName,
- self.TeamHornor,
- self.FamilyHornor,
- self.FamilyActiveValue,
- self.LastWeekFamilyActiveValue,
- self.CountryHornor,
- self.CountryLastWeekHornor,
- self.Mate,
- self.Gold,
- self.GoldPaper,
- self.Silver,
- self.SilverPaper,
- self.FightPoint,
- self.HappyPoint,
- self.LineID,
- self.MapID,
- self.PosX,
- self.PosY,
- self.RebornMapID,
- self.RebornPosX,
- self.RebornPosY,
- self.State,
- self.HP,
- self.XP,
- self.HPRestoreSetting,
- self.MPRestoreSetting,
- self.FreePoint,
- self.FreeSkillPoint,
- self.BaseSTR,
- self.BasePNE,
- self.BasePHY,
- self.BaseCON,
- self.STR,
- self.PNE,
- self.PHY,
- self.CON,
- self.PKValue,
- self.BackpackLV,
- self.WarehouseLV,
- self.TeamID,
- self.UseGoldType,
- self.UseSilverType,
- self.AttackMode,
- self.LastWeekOnlineTime,
- self.FBID,
- self.FamilyLV,
- self.FriendFavor,
- self.Energy,
- self.EquipShowSwitch,
- self.LuckValue,
- self.ExAttr1,
- self.ExAttr2,
- self.ExAttr3,
- self.ExAttr4,
- self.ExAttr5,
- self.Faction,
- self.InfamyValue,
- self.OfficialRank,
- self.ChangeCoinPointTotal,
- self.VIPLv,
- self.VIPLvForPhone,
- self.ExAttr6,
- self.ExAttr7,
- self.ExAttr8,
- self.ExAttr9,
- self.ExAttr10,
- self.ModelMark,
- self.ExAttr11,
- self.ExAttr12,
- self.ExAttr13,
- self.ExAttr14,
- self.OperateInfo,
- self.Operate,
- self.ServerID,
- self.ExAttr15,
- self.ExAttr16,
- self.ExAttr17,
- self.ExAttr18,
- self.ExAttr19,
- self.ExAttr20,
- self.HPEx,
- self.Face,
- self.FacePic,
- self.RoleType
- )
- return DumpString
-
-
-m_NAtagMCDBPlayer=tagMCDBPlayer()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDBPlayer.Head.Cmd,m_NAtagMCDBPlayer.Head.SubCmd))] = m_NAtagMCDBPlayer
-
-
-#------------------------------------------------------
#A1 05 元宝消费记录 #tagMCGoldCostReport
class tagMCGoldCostReport(Structure):
@@ -2383,6 +1647,127 @@
m_NAtagPlayerLeaveBattle=tagPlayerLeaveBattle()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerLeaveBattle.Cmd,m_NAtagPlayerLeaveBattle.SubCmd))] = m_NAtagPlayerLeaveBattle
+
+
+#------------------------------------------------------
+# A1 31 前端自定义保存的设置内容信息 #tagSCSettingDataInfo
+
+class tagSCSettingData(Structure):
+ KeyNum = 0 #(BYTE KeyNum)// 自定义key编号,后端使用数字key存储,前端自行进行转换定义,限制100个
+ DataLen = 0 #(BYTE DataLen)
+ SetData = "" #(String SetData)//自定义保存的内容
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.KeyNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.DataLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.SetData,_pos = CommFunc.ReadString(_lpData, _pos,self.DataLen)
+ return _pos
+
+ def Clear(self):
+ self.KeyNum = 0
+ self.DataLen = 0
+ self.SetData = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 1
+ length += 1
+ length += len(self.SetData)
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteBYTE(data, self.KeyNum)
+ data = CommFunc.WriteBYTE(data, self.DataLen)
+ data = CommFunc.WriteString(data, self.DataLen, self.SetData)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ KeyNum:%d,
+ DataLen:%d,
+ SetData:%s
+ '''\
+ %(
+ self.KeyNum,
+ self.DataLen,
+ self.SetData
+ )
+ return DumpString
+
+
+class tagSCSettingDataInfo(Structure):
+ Head = tagHead()
+ DataCnt = 0 #(WORD DataCnt)
+ SettingDataList = list() #(vector<tagSCSettingData> SettingDataList)
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xA1
+ self.Head.SubCmd = 0x31
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.DataCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ for i in range(self.DataCnt):
+ temSettingDataList = tagSCSettingData()
+ _pos = temSettingDataList.ReadData(_lpData, _pos)
+ self.SettingDataList.append(temSettingDataList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xA1
+ self.Head.SubCmd = 0x31
+ self.DataCnt = 0
+ self.SettingDataList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 2
+ for i in range(self.DataCnt):
+ length += self.SettingDataList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteWORD(data, self.DataCnt)
+ for i in range(self.DataCnt):
+ data = CommFunc.WriteString(data, self.SettingDataList[i].GetLength(), self.SettingDataList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ DataCnt:%d,
+ SettingDataList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.DataCnt,
+ "..."
+ )
+ return DumpString
+
+
+m_NAtagSCSettingDataInfo=tagSCSettingDataInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCSettingDataInfo.Head.Cmd,m_NAtagSCSettingDataInfo.Head.SubCmd))] = m_NAtagSCSettingDataInfo
#------------------------------------------------------
@@ -4274,114 +3659,6 @@
#------------------------------------------------------
-# A3 C1 神兽助战状态刷新 #tagMCDogzHelpbattleState
-
-class tagMCDogzHelpbattleState(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("DogzID", c_ubyte), # 神兽ID
- ("BatteState", c_ubyte), #是否已助战, 0否1是
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0xC1
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0xC1
- self.DogzID = 0
- self.BatteState = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCDogzHelpbattleState)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 C1 神兽助战状态刷新 //tagMCDogzHelpbattleState:
- Cmd:%s,
- SubCmd:%s,
- DogzID:%d,
- BatteState:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.DogzID,
- self.BatteState
- )
- return DumpString
-
-
-m_NAtagMCDogzHelpbattleState=tagMCDogzHelpbattleState()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDogzHelpbattleState.Cmd,m_NAtagMCDogzHelpbattleState.SubCmd))] = m_NAtagMCDogzHelpbattleState
-
-
-#------------------------------------------------------
-# A3 C0 神兽信息 #tagMCDogzInfo
-
-class tagMCDogzInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("BuyHelpbattleCount", c_ubyte), #额外购买的助战数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0xC0
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0xC0
- self.BuyHelpbattleCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCDogzInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 C0 神兽信息 //tagMCDogzInfo:
- Cmd:%s,
- SubCmd:%s,
- BuyHelpbattleCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.BuyHelpbattleCount
- )
- return DumpString
-
-
-m_NAtagMCDogzInfo=tagMCDogzInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDogzInfo.Cmd,m_NAtagMCDogzInfo.SubCmd))] = m_NAtagMCDogzInfo
-
-
-#------------------------------------------------------
# A3 1C 通知装备分解信息 #tagMCEquipDecomposeInfo
class tagMCEquipDecomposeInfo(Structure):
@@ -4902,62 +4179,6 @@
#------------------------------------------------------
-# A3 54 法器信息 #tagMCFaQiInfo
-
-class tagMCFaQiInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LV", c_ubyte), #等阶
- ("EatItemCount", c_int), #当前阶已吃丹个数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x54
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x54
- self.LV = 0
- self.EatItemCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFaQiInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 54 法器信息 //tagMCFaQiInfo:
- Cmd:%s,
- SubCmd:%s,
- LV:%d,
- EatItemCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LV,
- self.EatItemCount
- )
- return DumpString
-
-
-m_NAtagMCFaQiInfo=tagMCFaQiInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFaQiInfo.Cmd,m_NAtagMCFaQiInfo.SubCmd))] = m_NAtagMCFaQiInfo
-
-
-#------------------------------------------------------
# A3 20 玩家副本相关信息 #tagSCFBInfoList
class tagSCFBInfo(Structure):
@@ -5114,121 +4335,6 @@
m_NAtagSCFBInfoList=tagSCFBInfoList()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCFBInfoList.Head.Cmd,m_NAtagSCFBInfoList.Head.SubCmd))] = m_NAtagSCFBInfoList
-
-
-#------------------------------------------------------
-# A3 18 极品白拿信息 #tagMCFreeGoodsInfo
-
-class tagMCFreeGoods(Structure):
- _pack_ = 1
- _fields_ = [
- ("ID", c_ubyte), # 礼包ID
- ("BuyState", c_int), # 购买状态 0-未购买 1-已领返还 time值-购买时间
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ID = 0
- self.BuyState = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFreeGoods)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 18 极品白拿信息 //tagMCFreeGoodsInfo:
- ID:%d,
- BuyState:%d
- '''\
- %(
- self.ID,
- self.BuyState
- )
- return DumpString
-
-
-class tagMCFreeGoodsInfo(Structure):
- Head = tagHead()
- OpenTime = 0 #(DWORD OpenTime)// 活动开启时间
- Count = 0 #(BYTE Count)// 个数
- FreeGoodsList = list() #(vector<tagMCFreeGoods> FreeGoodsList)// 信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x18
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.OpenTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temFreeGoodsList = tagMCFreeGoods()
- _pos = temFreeGoodsList.ReadData(_lpData, _pos)
- self.FreeGoodsList.append(temFreeGoodsList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x18
- self.OpenTime = 0
- self.Count = 0
- self.FreeGoodsList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- for i in range(self.Count):
- length += self.FreeGoodsList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.OpenTime)
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.FreeGoodsList[i].GetLength(), self.FreeGoodsList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- OpenTime:%d,
- Count:%d,
- FreeGoodsList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.OpenTime,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFreeGoodsInfo=tagMCFreeGoodsInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFreeGoodsInfo.Head.Cmd,m_NAtagMCFreeGoodsInfo.Head.SubCmd))] = m_NAtagMCFreeGoodsInfo
#------------------------------------------------------
@@ -5809,62 +4915,6 @@
m_NAtagSCInvestInfo=tagSCInvestInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCInvestInfo.Cmd,m_NAtagSCInvestInfo.SubCmd))] = m_NAtagSCInvestInfo
-
-
-#------------------------------------------------------
-# A3 55 炼体信息 #tagMCLianTiInfo
-
-class tagMCLianTiInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LianTiLV", c_ubyte), #炼体等级
- ("EatItemCount", c_int), #当前等级已吃丹个数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x55
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x55
- self.LianTiLV = 0
- self.EatItemCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCLianTiInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 55 炼体信息 //tagMCLianTiInfo:
- Cmd:%s,
- SubCmd:%s,
- LianTiLV:%d,
- EatItemCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LianTiLV,
- self.EatItemCount
- )
- return DumpString
-
-
-m_NAtagMCLianTiInfo=tagMCLianTiInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLianTiInfo.Cmd,m_NAtagMCLianTiInfo.SubCmd))] = m_NAtagMCLianTiInfo
#------------------------------------------------------
@@ -7040,62 +6090,6 @@
m_NAtagMCPackDownloadRecord=tagMCPackDownloadRecord()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPackDownloadRecord.Cmd,m_NAtagMCPackDownloadRecord.SubCmd))] = m_NAtagMCPackDownloadRecord
-
-
-#------------------------------------------------------
-#A3 0B 玩家等级奖励领取记录信息 #tagMCPlayerLVAwardGetRecord
-
-class tagMCPlayerLVAwardGetRecord(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LVAwardGetRecord", c_int), # 按二进制位标示领取记录,每位对应的等级在配表中配置,服务端客户端对应
- ("VIPAwardRecord", c_int), # 按二进制位标示vip领取记录,每位对应的等级在配表中配置,服务端客户端对应
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x0B
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x0B
- self.LVAwardGetRecord = 0
- self.VIPAwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCPlayerLVAwardGetRecord)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A3 0B 玩家等级奖励领取记录信息 //tagMCPlayerLVAwardGetRecord:
- Cmd:%s,
- SubCmd:%s,
- LVAwardGetRecord:%d,
- VIPAwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LVAwardGetRecord,
- self.VIPAwardRecord
- )
- return DumpString
-
-
-m_NAtagMCPlayerLVAwardGetRecord=tagMCPlayerLVAwardGetRecord()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPlayerLVAwardGetRecord.Cmd,m_NAtagMCPlayerLVAwardGetRecord.SubCmd))] = m_NAtagMCPlayerLVAwardGetRecord
#------------------------------------------------------
@@ -15640,114 +14634,6 @@
#------------------------------------------------------
-# A9 04 通知神兽副本NPC刷新时间 #tagGCDogzNPCRefreshTime
-
-class tagDogzTimeInfoObj(Structure):
- _pack_ = 1
- _fields_ = [
- ("NPCID", c_int), # npcid
- ("RefreshSecond", c_int), # 刷新倒计时, 秒
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.NPCID = 0
- self.RefreshSecond = 0
- return
-
- def GetLength(self):
- return sizeof(tagDogzTimeInfoObj)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A9 04 通知神兽副本NPC刷新时间 //tagGCDogzNPCRefreshTime:
- NPCID:%d,
- RefreshSecond:%d
- '''\
- %(
- self.NPCID,
- self.RefreshSecond
- )
- return DumpString
-
-
-class tagGCDogzNPCRefreshTime(Structure):
- Head = tagHead()
- Cnt = 0 #(BYTE Cnt)//信息个数
- InfoList = list() #(vector<tagDogzTimeInfoObj> InfoList)//信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x04
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Cnt):
- temInfoList = tagDogzTimeInfoObj()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x04
- self.Cnt = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Cnt):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Cnt)
- for i in range(self.Cnt):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Cnt:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Cnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCDogzNPCRefreshTime=tagGCDogzNPCRefreshTime()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCDogzNPCRefreshTime.Head.Cmd,m_NAtagGCDogzNPCRefreshTime.Head.SubCmd))] = m_NAtagGCDogzNPCRefreshTime
-
-
-#------------------------------------------------------
# A9 A9 通知好友互赠精力信息 #tagGCFriendSendEnergyInfo
class tagGCFriendSendEnergyInfo(Structure):
@@ -17173,384 +16059,6 @@
#------------------------------------------------------
-# A9 27 仙宫新晋玩家信息 #tagGCXiangongNewPlayerInfo
-
-class tagGCXiangongNewPlayer(Structure):
- AddTime = 0 #(DWORD AddTime)// 新晋时间戳
- ServerID = 0 #(DWORD ServerID)
- PlayerID = 0 #(DWORD PlayerID)
- NameLen = 0 #(BYTE NameLen)
- Name = "" #(String Name)// 玩家名,size = NameLen
- LV = 0 #(WORD LV)// 玩家等级
- Job = 0 #(BYTE Job)// 玩家职业
- RealmLV = 0 #(WORD RealmLV)// 玩家境界
- Face = 0 #(DWORD Face)//基本脸型
- FacePic = 0 #(DWORD FacePic)//头像框
- EquipShowSwitch = 0 #(DWORD EquipShowSwitch)
- EquipShowIDCount = 0 #(BYTE EquipShowIDCount)
- EquipShowID = list() #(vector<DWORD> EquipShowID)
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.AddTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.EquipShowIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.EquipShowIDCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.EquipShowID.append(value)
- return _pos
-
- def Clear(self):
- self.AddTime = 0
- self.ServerID = 0
- self.PlayerID = 0
- self.NameLen = 0
- self.Name = ""
- self.LV = 0
- self.Job = 0
- self.RealmLV = 0
- self.Face = 0
- self.FacePic = 0
- self.EquipShowSwitch = 0
- self.EquipShowIDCount = 0
- self.EquipShowID = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 4
- length += 4
- length += 1
- length += len(self.Name)
- length += 2
- length += 1
- length += 2
- length += 4
- length += 4
- length += 4
- length += 1
- length += 4 * self.EquipShowIDCount
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.AddTime)
- data = CommFunc.WriteDWORD(data, self.ServerID)
- data = CommFunc.WriteDWORD(data, self.PlayerID)
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.Name)
- data = CommFunc.WriteWORD(data, self.LV)
- data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteWORD(data, self.RealmLV)
- data = CommFunc.WriteDWORD(data, self.Face)
- data = CommFunc.WriteDWORD(data, self.FacePic)
- data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
- data = CommFunc.WriteBYTE(data, self.EquipShowIDCount)
- for i in range(self.EquipShowIDCount):
- data = CommFunc.WriteDWORD(data, self.EquipShowID[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- AddTime:%d,
- ServerID:%d,
- PlayerID:%d,
- NameLen:%d,
- Name:%s,
- LV:%d,
- Job:%d,
- RealmLV:%d,
- Face:%d,
- FacePic:%d,
- EquipShowSwitch:%d,
- EquipShowIDCount:%d,
- EquipShowID:%s
- '''\
- %(
- self.AddTime,
- self.ServerID,
- self.PlayerID,
- self.NameLen,
- self.Name,
- self.LV,
- self.Job,
- self.RealmLV,
- self.Face,
- self.FacePic,
- self.EquipShowSwitch,
- self.EquipShowIDCount,
- "..."
- )
- return DumpString
-
-
-class tagGCXiangongNewPlayerInfo(Structure):
- Head = tagHead()
- XiangongID = 0 #(WORD XiangongID)// 仙宫ID
- NewPlayerCount = 0 #(BYTE NewPlayerCount)
- NewPlayerList = list() #(vector<tagGCXiangongNewPlayer> NewPlayerList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x27
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.XiangongID,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.NewPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.NewPlayerCount):
- temNewPlayerList = tagGCXiangongNewPlayer()
- _pos = temNewPlayerList.ReadData(_lpData, _pos)
- self.NewPlayerList.append(temNewPlayerList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x27
- self.XiangongID = 0
- self.NewPlayerCount = 0
- self.NewPlayerList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- length += 1
- for i in range(self.NewPlayerCount):
- length += self.NewPlayerList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.XiangongID)
- data = CommFunc.WriteBYTE(data, self.NewPlayerCount)
- for i in range(self.NewPlayerCount):
- data = CommFunc.WriteString(data, self.NewPlayerList[i].GetLength(), self.NewPlayerList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- XiangongID:%d,
- NewPlayerCount:%d,
- NewPlayerList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.XiangongID,
- self.NewPlayerCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCXiangongNewPlayerInfo=tagGCXiangongNewPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCXiangongNewPlayerInfo.Head.Cmd,m_NAtagGCXiangongNewPlayerInfo.Head.SubCmd))] = m_NAtagGCXiangongNewPlayerInfo
-
-
-#------------------------------------------------------
-# A9 28 仙宫仙名录玩家信息 #tagGCXiangongRecPlayerInfo
-
-class tagGCXiangongRecPlayer(Structure):
- AddTime = 0 #(DWORD AddTime)// 新晋时间戳
- ServerID = 0 #(DWORD ServerID)
- PlayerID = 0 #(DWORD PlayerID)
- NameLen = 0 #(BYTE NameLen)
- Name = "" #(String Name)// 玩家名,size = NameLen
- LV = 0 #(WORD LV)// 玩家等级
- Job = 0 #(BYTE Job)// 玩家职业
- RealmLV = 0 #(WORD RealmLV)// 玩家境界
- Face = 0 #(DWORD Face)//基本脸型
- FacePic = 0 #(DWORD FacePic)//头像框
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.AddTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.AddTime = 0
- self.ServerID = 0
- self.PlayerID = 0
- self.NameLen = 0
- self.Name = ""
- self.LV = 0
- self.Job = 0
- self.RealmLV = 0
- self.Face = 0
- self.FacePic = 0
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 4
- length += 4
- length += 1
- length += len(self.Name)
- length += 2
- length += 1
- length += 2
- length += 4
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.AddTime)
- data = CommFunc.WriteDWORD(data, self.ServerID)
- data = CommFunc.WriteDWORD(data, self.PlayerID)
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.Name)
- data = CommFunc.WriteWORD(data, self.LV)
- data = CommFunc.WriteBYTE(data, self.Job)
- data = CommFunc.WriteWORD(data, self.RealmLV)
- data = CommFunc.WriteDWORD(data, self.Face)
- data = CommFunc.WriteDWORD(data, self.FacePic)
- return data
-
- def OutputString(self):
- DumpString = '''
- AddTime:%d,
- ServerID:%d,
- PlayerID:%d,
- NameLen:%d,
- Name:%s,
- LV:%d,
- Job:%d,
- RealmLV:%d,
- Face:%d,
- FacePic:%d
- '''\
- %(
- self.AddTime,
- self.ServerID,
- self.PlayerID,
- self.NameLen,
- self.Name,
- self.LV,
- self.Job,
- self.RealmLV,
- self.Face,
- self.FacePic
- )
- return DumpString
-
-
-class tagGCXiangongRecPlayerInfo(Structure):
- Head = tagHead()
- XiangongID = 0 #(WORD XiangongID)// 仙宫ID
- RecPlayerCount = 0 #(BYTE RecPlayerCount)
- RecPlayerList = list() #(vector<tagGCXiangongRecPlayer> RecPlayerList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x28
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.XiangongID,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.RecPlayerCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.RecPlayerCount):
- temRecPlayerList = tagGCXiangongRecPlayer()
- _pos = temRecPlayerList.ReadData(_lpData, _pos)
- self.RecPlayerList.append(temRecPlayerList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA9
- self.Head.SubCmd = 0x28
- self.XiangongID = 0
- self.RecPlayerCount = 0
- self.RecPlayerList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- length += 1
- for i in range(self.RecPlayerCount):
- length += self.RecPlayerList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.XiangongID)
- data = CommFunc.WriteBYTE(data, self.RecPlayerCount)
- for i in range(self.RecPlayerCount):
- data = CommFunc.WriteString(data, self.RecPlayerList[i].GetLength(), self.RecPlayerList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- XiangongID:%d,
- RecPlayerCount:%d,
- RecPlayerList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.XiangongID,
- self.RecPlayerCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCXiangongRecPlayerInfo=tagGCXiangongRecPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCXiangongRecPlayerInfo.Head.Cmd,m_NAtagGCXiangongRecPlayerInfo.Head.SubCmd))] = m_NAtagGCXiangongRecPlayerInfo
-
-
-#------------------------------------------------------
# AA 74 购买次数礼包活动信息 #tagMCActBuyCountGiftInfo
class tagMCActBuyCountGiftItem(Structure):
@@ -18819,1098 +17327,6 @@
m_NAtagMCActFamilyCTGAssistPlayerInfo=tagMCActFamilyCTGAssistPlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActFamilyCTGAssistPlayerInfo.Cmd,m_NAtagMCActFamilyCTGAssistPlayerInfo.SubCmd))] = m_NAtagMCActFamilyCTGAssistPlayerInfo
-
-
-#------------------------------------------------------
-# AA 60 天帝礼包活动信息 #tagMCActGodGiftInfo
-
-class tagMCActGodGiftItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemNum", c_ubyte), # 物品在本库中的编号
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", c_ubyte),
- ("CanChooseTimes", c_ubyte), #可选择次数,0代表不限次数
- ("ChooseTimes", c_ubyte), #已选次数
- ("IsChoose", c_ubyte), #本次奖池是否被选择
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemNum = 0
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- self.CanChooseTimes = 0
- self.ChooseTimes = 0
- self.IsChoose = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActGodGiftItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 60 天帝礼包活动信息 //tagMCActGodGiftInfo:
- ItemNum:%d,
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d,
- CanChooseTimes:%d,
- ChooseTimes:%d,
- IsChoose:%d
- '''\
- %(
- self.ItemNum,
- self.ItemID,
- self.ItemCount,
- self.IsBind,
- self.CanChooseTimes,
- self.ChooseTimes,
- self.IsChoose
- )
- return DumpString
-
-
-class tagMCActGodGiftItemLib(Structure):
- ItemLibType = 0 #(BYTE ItemLibType)//物品库类型
- NeedChooseCount = 0 #(BYTE NeedChooseCount)//需要选择个数
- GodGiftItemCount = 0 #(BYTE GodGiftItemCount)//可选择物品个数
- GodGiftItemList = list() #(vector<tagMCActGodGiftItem> GodGiftItemList)//可选物品列表
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.ItemLibType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedChooseCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.GodGiftItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GodGiftItemCount):
- temGodGiftItemList = tagMCActGodGiftItem()
- _pos = temGodGiftItemList.ReadData(_lpData, _pos)
- self.GodGiftItemList.append(temGodGiftItemList)
- return _pos
-
- def Clear(self):
- self.ItemLibType = 0
- self.NeedChooseCount = 0
- self.GodGiftItemCount = 0
- self.GodGiftItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 1
- length += 1
- for i in range(self.GodGiftItemCount):
- length += self.GodGiftItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.ItemLibType)
- data = CommFunc.WriteBYTE(data, self.NeedChooseCount)
- data = CommFunc.WriteBYTE(data, self.GodGiftItemCount)
- for i in range(self.GodGiftItemCount):
- data = CommFunc.WriteString(data, self.GodGiftItemList[i].GetLength(), self.GodGiftItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- ItemLibType:%d,
- NeedChooseCount:%d,
- GodGiftItemCount:%d,
- GodGiftItemList:%s
- '''\
- %(
- self.ItemLibType,
- self.NeedChooseCount,
- self.GodGiftItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCActGodGiftInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)// 活动编号
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- IsDayReset = 0 #(BYTE IsDayReset)// 是否每日重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- CostMoneyType = 0 #(BYTE CostMoneyType)//消耗货币类型
- CostMoneyValueCount = 0 #(BYTE CostMoneyValueCount)
- CostMoneyValueList = list() #(vector<DWORD> CostMoneyValueList)//消耗货币值列表
- PrizeMoneyType = 0 #(BYTE PrizeMoneyType)//奖励货币类型
- PrizeMoneyValueCount = 0 #(BYTE PrizeMoneyValueCount)
- PrizeMoneyValueList = list() #(vector<DWORD> PrizeMoneyValueList)//奖励货币值列表
- ResetLimitTimes = 0 #(BYTE ResetLimitTimes)//至少抽几次才可重置奖池
- ResetCountMax = 0 #(BYTE ResetCountMax)//最大可重置奖池次数
- IsAwardPoolOK = 0 #(BYTE IsAwardPoolOK)//奖池是否选择完毕,否的话需要先选择奖池才可抽奖
- ItemLibCount = 0 #(BYTE ItemLibCount)//奖池库个数
- ItemLibList = list() #(vector<tagMCActGodGiftItemLib> ItemLibList)//奖池库信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x60
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.CostMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.CostMoneyValueCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.CostMoneyValueCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.CostMoneyValueList.append(value)
- self.PrizeMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PrizeMoneyValueCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.PrizeMoneyValueCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.PrizeMoneyValueList.append(value)
- self.ResetLimitTimes,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ResetCountMax,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsAwardPoolOK,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ItemLibCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ItemLibCount):
- temItemLibList = tagMCActGodGiftItemLib()
- _pos = temItemLibList.ReadData(_lpData, _pos)
- self.ItemLibList.append(temItemLibList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x60
- self.ActNum = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.IsDayReset = 0
- self.LimitLV = 0
- self.CostMoneyType = 0
- self.CostMoneyValueCount = 0
- self.CostMoneyValueList = list()
- self.PrizeMoneyType = 0
- self.PrizeMoneyValueCount = 0
- self.PrizeMoneyValueList = list()
- self.ResetLimitTimes = 0
- self.ResetCountMax = 0
- self.IsAwardPoolOK = 0
- self.ItemLibCount = 0
- self.ItemLibList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 1
- length += 2
- length += 1
- length += 1
- length += 4 * self.CostMoneyValueCount
- length += 1
- length += 1
- length += 4 * self.PrizeMoneyValueCount
- length += 1
- length += 1
- length += 1
- length += 1
- for i in range(self.ItemLibCount):
- length += self.ItemLibList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.CostMoneyType)
- data = CommFunc.WriteBYTE(data, self.CostMoneyValueCount)
- for i in range(self.CostMoneyValueCount):
- data = CommFunc.WriteDWORD(data, self.CostMoneyValueList[i])
- data = CommFunc.WriteBYTE(data, self.PrizeMoneyType)
- data = CommFunc.WriteBYTE(data, self.PrizeMoneyValueCount)
- for i in range(self.PrizeMoneyValueCount):
- data = CommFunc.WriteDWORD(data, self.PrizeMoneyValueList[i])
- data = CommFunc.WriteBYTE(data, self.ResetLimitTimes)
- data = CommFunc.WriteBYTE(data, self.ResetCountMax)
- data = CommFunc.WriteBYTE(data, self.IsAwardPoolOK)
- data = CommFunc.WriteBYTE(data, self.ItemLibCount)
- for i in range(self.ItemLibCount):
- data = CommFunc.WriteString(data, self.ItemLibList[i].GetLength(), self.ItemLibList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- StartDate:%s,
- EndtDate:%s,
- IsDayReset:%d,
- LimitLV:%d,
- CostMoneyType:%d,
- CostMoneyValueCount:%d,
- CostMoneyValueList:%s,
- PrizeMoneyType:%d,
- PrizeMoneyValueCount:%d,
- PrizeMoneyValueList:%s,
- ResetLimitTimes:%d,
- ResetCountMax:%d,
- IsAwardPoolOK:%d,
- ItemLibCount:%d,
- ItemLibList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.StartDate,
- self.EndtDate,
- self.IsDayReset,
- self.LimitLV,
- self.CostMoneyType,
- self.CostMoneyValueCount,
- "...",
- self.PrizeMoneyType,
- self.PrizeMoneyValueCount,
- "...",
- self.ResetLimitTimes,
- self.ResetCountMax,
- self.IsAwardPoolOK,
- self.ItemLibCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActGodGiftInfo=tagMCActGodGiftInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActGodGiftInfo.Head.Cmd,m_NAtagMCActGodGiftInfo.Head.SubCmd))] = m_NAtagMCActGodGiftInfo
-
-
-#------------------------------------------------------
-# AA 61 天帝礼包活动玩家信息 #tagMCActGodGiftPlayerInfo
-
-class tagMCActGodGiftAwardItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemLibType", c_ubyte), #物品库类型
- ("ItemNum", c_ubyte), #物品在本库中的编号
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemLibType = 0
- self.ItemNum = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActGodGiftAwardItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 61 天帝礼包活动玩家信息 //tagMCActGodGiftPlayerInfo:
- ItemLibType:%d,
- ItemNum:%d
- '''\
- %(
- self.ItemLibType,
- self.ItemNum
- )
- return DumpString
-
-
-class tagMCActGodGiftPlayerInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)// 活动编号
- ResetCount = 0 #(BYTE ResetCount)// 本次活动已重置次数
- AwardItemCount = 0 #(BYTE AwardItemCount)// 本次奖池已抽中奖品个数,也代表本次奖池已抽奖次数
- AwardItemList = list() #(vector<tagMCActGodGiftAwardItem> AwardItemList)// 本次奖池已抽中物品列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x61
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ResetCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AwardItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardItemCount):
- temAwardItemList = tagMCActGodGiftAwardItem()
- _pos = temAwardItemList.ReadData(_lpData, _pos)
- self.AwardItemList.append(temAwardItemList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x61
- self.ActNum = 0
- self.ResetCount = 0
- self.AwardItemCount = 0
- self.AwardItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 1
- for i in range(self.AwardItemCount):
- length += self.AwardItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteBYTE(data, self.ResetCount)
- data = CommFunc.WriteBYTE(data, self.AwardItemCount)
- for i in range(self.AwardItemCount):
- data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- ResetCount:%d,
- AwardItemCount:%d,
- AwardItemList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.ResetCount,
- self.AwardItemCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActGodGiftPlayerInfo=tagMCActGodGiftPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActGodGiftPlayerInfo.Head.Cmd,m_NAtagMCActGodGiftPlayerInfo.Head.SubCmd))] = m_NAtagMCActGodGiftPlayerInfo
-
-
-#------------------------------------------------------
-# AA 31 成长必买活动信息 #tagMCActGrowupBuyInfo
-
-class tagMCActGrowupBuyCTGItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActGrowupBuyCTGItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 31 成长必买活动信息 //tagMCActGrowupBuyInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCActGrowupBuyCTGInfo(Structure):
- CTGID = 0 #(WORD CTGID)// 充值表ID
- GainItemCount = 0 #(BYTE GainItemCount)// 获得物品数
- GainItemList = list() #(vector<tagMCActGrowupBuyCTGItem> GainItemList)// 获得物品列表,替换充值表中的 GainItemList 字段信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.CTGID,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.GainItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GainItemCount):
- temGainItemList = tagMCActGrowupBuyCTGItem()
- _pos = temGainItemList.ReadData(_lpData, _pos)
- self.GainItemList.append(temGainItemList)
- return _pos
-
- def Clear(self):
- self.CTGID = 0
- self.GainItemCount = 0
- self.GainItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 2
- length += 1
- for i in range(self.GainItemCount):
- length += self.GainItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteWORD(data, self.CTGID)
- data = CommFunc.WriteBYTE(data, self.GainItemCount)
- for i in range(self.GainItemCount):
- data = CommFunc.WriteString(data, self.GainItemList[i].GetLength(), self.GainItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- CTGID:%d,
- GainItemCount:%d,
- GainItemList:%s
- '''\
- %(
- self.CTGID,
- self.GainItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCActGrowupBuyGroup(Structure):
- BuyCount = 0 #(BYTE BuyCount)// 循环购买礼包数
- BuyCTGIDList = list() #(vector<tagMCActGrowupBuyCTGInfo> BuyCTGIDList)// 循环购买礼包充值ID信息列表
- PlayerBuyIndex = 0 #(BYTE PlayerBuyIndex)// 玩家当前可购买的礼包充值ID在列表中索引
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.BuyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.BuyCount):
- temBuyCTGIDList = tagMCActGrowupBuyCTGInfo()
- _pos = temBuyCTGIDList.ReadData(_lpData, _pos)
- self.BuyCTGIDList.append(temBuyCTGIDList)
- self.PlayerBuyIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.BuyCount = 0
- self.BuyCTGIDList = list()
- self.PlayerBuyIndex = 0
- return
-
- def GetLength(self):
- length = 0
- length += 1
- for i in range(self.BuyCount):
- length += self.BuyCTGIDList[i].GetLength()
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.BuyCount)
- for i in range(self.BuyCount):
- data = CommFunc.WriteString(data, self.BuyCTGIDList[i].GetLength(), self.BuyCTGIDList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.PlayerBuyIndex)
- return data
-
- def OutputString(self):
- DumpString = '''
- BuyCount:%d,
- BuyCTGIDList:%s,
- PlayerBuyIndex:%d
- '''\
- %(
- self.BuyCount,
- "...",
- self.PlayerBuyIndex
- )
- return DumpString
-
-
-class tagMCActGrowupBuyInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- GroupCount = 0 #(BYTE GroupCount)// 循环购买礼包组数
- GroupList = list() #(vector<tagMCActGrowupBuyGroup> GroupList)//循环购买礼包组列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x31
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.GroupCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GroupCount):
- temGroupList = tagMCActGrowupBuyGroup()
- _pos = temGroupList.ReadData(_lpData, _pos)
- self.GroupList.append(temGroupList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x31
- self.StartDate = ""
- self.EndtDate = ""
- self.LimitLV = 0
- self.GroupCount = 0
- self.GroupList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- for i in range(self.GroupCount):
- length += self.GroupList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.GroupCount)
- for i in range(self.GroupCount):
- data = CommFunc.WriteString(data, self.GroupList[i].GetLength(), self.GroupList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- LimitLV:%d,
- GroupCount:%d,
- GroupList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.LimitLV,
- self.GroupCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActGrowupBuyInfo=tagMCActGrowupBuyInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActGrowupBuyInfo.Head.Cmd,m_NAtagMCActGrowupBuyInfo.Head.SubCmd))] = m_NAtagMCActGrowupBuyInfo
-
-
-#------------------------------------------------------
-# AA 0C 登录奖励活动信息 #tagMCActLoginAwardInfo
-
-class tagMCActLoginAwardAction(Structure):
- TemplateID = 0 #(DWORD TemplateID)// 模板ID
- ActionType = 0 #(WORD ActionType)// 活动类别
- TotalTimes = 0 #(DWORD TotalTimes)// 可完成的总次数,0表示不限次数
- SingleTimes = 0 #(DWORD SingleTimes)// 单次领奖需要的次数
- Count = 0 #(WORD Count)// 物品配置长度
- ItemInfo = "" #(String ItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.TemplateID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ActionType,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.TotalTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SingleTimes,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ItemInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Count)
- return _pos
-
- def Clear(self):
- self.TemplateID = 0
- self.ActionType = 0
- self.TotalTimes = 0
- self.SingleTimes = 0
- self.Count = 0
- self.ItemInfo = ""
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 2
- length += 4
- length += 4
- length += 2
- length += len(self.ItemInfo)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.TemplateID)
- data = CommFunc.WriteWORD(data, self.ActionType)
- data = CommFunc.WriteDWORD(data, self.TotalTimes)
- data = CommFunc.WriteDWORD(data, self.SingleTimes)
- data = CommFunc.WriteWORD(data, self.Count)
- data = CommFunc.WriteString(data, self.Count, self.ItemInfo)
- return data
-
- def OutputString(self):
- DumpString = '''
- TemplateID:%d,
- ActionType:%d,
- TotalTimes:%d,
- SingleTimes:%d,
- Count:%d,
- ItemInfo:%s
- '''\
- %(
- self.TemplateID,
- self.ActionType,
- self.TotalTimes,
- self.SingleTimes,
- self.Count,
- self.ItemInfo
- )
- return DumpString
-
-
-class tagMCActLoginAwardDayInfo(Structure):
- ActCnt = 0 #(BYTE ActCnt)// 数量
- TemplateList = list() #(vector<WORD> TemplateList)// 模板列表
- WorldLV = 0 #(WORD WorldLV)// 世界等级
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.ActCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActCnt):
- value,_pos=CommFunc.ReadWORD(_lpData,_pos)
- self.TemplateList.append(value)
- self.WorldLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.ActCnt = 0
- self.TemplateList = list()
- self.WorldLV = 0
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2 * self.ActCnt
- length += 2
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.ActCnt)
- for i in range(self.ActCnt):
- data = CommFunc.WriteWORD(data, self.TemplateList[i])
- data = CommFunc.WriteWORD(data, self.WorldLV)
- return data
-
- def OutputString(self):
- DumpString = '''
- ActCnt:%d,
- TemplateList:%s,
- WorldLV:%d
- '''\
- %(
- self.ActCnt,
- "...",
- self.WorldLV
- )
- return DumpString
-
-
-class tagMCActLoginAwardInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AdvanceMinutes = 0 #(WORD AdvanceMinutes)// 提前显示分钟
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- DayCnt = 0 #(BYTE DayCnt)// 天数
- DayInfoList = list() #(vector<tagMCActLoginAwardDayInfo> DayInfoList)// 每天模板
- TCount = 0 #(BYTE TCount)// 模板数
- ActionInfo = list() #(vector<tagMCActLoginAwardAction> ActionInfo)// 活动模板信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0C
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.DayCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DayCnt):
- temDayInfoList = tagMCActLoginAwardDayInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- self.TCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TCount):
- temActionInfo = tagMCActLoginAwardAction()
- _pos = temActionInfo.ReadData(_lpData, _pos)
- self.ActionInfo.append(temActionInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0C
- self.StartDate = ""
- self.EndtDate = ""
- self.AdvanceMinutes = 0
- self.IsDayReset = 0
- self.ResetType = 0
- self.LimitLV = 0
- self.DayCnt = 0
- self.DayInfoList = list()
- self.TCount = 0
- self.ActionInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- length += 2
- length += 1
- for i in range(self.DayCnt):
- length += self.DayInfoList[i].GetLength()
- length += 1
- for i in range(self.TCount):
- length += self.ActionInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.DayCnt)
- for i in range(self.DayCnt):
- data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.TCount)
- for i in range(self.TCount):
- data = CommFunc.WriteString(data, self.ActionInfo[i].GetLength(), self.ActionInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- AdvanceMinutes:%d,
- IsDayReset:%d,
- ResetType:%d,
- LimitLV:%d,
- DayCnt:%d,
- DayInfoList:%s,
- TCount:%d,
- ActionInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.AdvanceMinutes,
- self.IsDayReset,
- self.ResetType,
- self.LimitLV,
- self.DayCnt,
- "...",
- self.TCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActLoginAwardInfo=tagMCActLoginAwardInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActLoginAwardInfo.Head.Cmd,m_NAtagMCActLoginAwardInfo.Head.SubCmd))] = m_NAtagMCActLoginAwardInfo
-
-
-#------------------------------------------------------
-# AA 0D 登录奖励玩家活动信息 #tagMCActLoginAwardPlayerInfo
-
-class tagMCActLoginAwardTaskInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("TemplateID", c_ushort), # 模板ID
- ("CurTimes", c_ushort), #已完成次数
- ("GotTimes", c_ushort), #已领取次数
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.TemplateID = 0
- self.CurTimes = 0
- self.GotTimes = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActLoginAwardTaskInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 0D 登录奖励玩家活动信息 //tagMCActLoginAwardPlayerInfo:
- TemplateID:%d,
- CurTimes:%d,
- GotTimes:%d
- '''\
- %(
- self.TemplateID,
- self.CurTimes,
- self.GotTimes
- )
- return DumpString
-
-
-class tagMCActLoginAwardDayPlayerInfo(Structure):
- DayIndex = 0 #(DWORD DayIndex)//第X天
- ACount = 0 #(DWORD ACount)//任务条目数
- TaskList = list() #(vector<tagMCActLoginAwardTaskInfo> TaskList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.DayIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.ACount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- for i in range(self.ACount):
- temTaskList = tagMCActLoginAwardTaskInfo()
- _pos = temTaskList.ReadData(_lpData, _pos)
- self.TaskList.append(temTaskList)
- return _pos
-
- def Clear(self):
- self.DayIndex = 0
- self.ACount = 0
- self.TaskList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 4
- for i in range(self.ACount):
- length += self.TaskList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.DayIndex)
- data = CommFunc.WriteDWORD(data, self.ACount)
- for i in range(self.ACount):
- data = CommFunc.WriteString(data, self.TaskList[i].GetLength(), self.TaskList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- DayIndex:%d,
- ACount:%d,
- TaskList:%s
- '''\
- %(
- self.DayIndex,
- self.ACount,
- "..."
- )
- return DumpString
-
-
-class tagMCActLoginAwardPlayerInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)
- DayInfoList = list() #(vector<tagMCActLoginAwardDayPlayerInfo> DayInfoList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0D
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temDayInfoList = tagMCActLoginAwardDayPlayerInfo()
- _pos = temDayInfoList.ReadData(_lpData, _pos)
- self.DayInfoList.append(temDayInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x0D
- self.Count = 0
- self.DayInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.DayInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.DayInfoList[i].GetLength(), self.DayInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- DayInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActLoginAwardPlayerInfo=tagMCActLoginAwardPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActLoginAwardPlayerInfo.Head.Cmd,m_NAtagMCActLoginAwardPlayerInfo.Head.SubCmd))] = m_NAtagMCActLoginAwardPlayerInfo
#------------------------------------------------------
@@ -22226,983 +19642,6 @@
#------------------------------------------------------
-# AA 52 转盘活动信息 #tagMCActTurntableInfo
-
-class tagMCActTurntableItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemNum", c_ubyte), #物品编号 1~n;注意转盘已确定物品编号 与 极品终极物品待选择库编号可能相同,但并不代表同一物品
- ("ItemLibType", c_ubyte), #物品库类型;1-常规,2-极品,3-终极
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemNum = 0
- self.ItemLibType = 0
- self.ItemID = 0
- self.ItemCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActTurntableItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 52 转盘活动信息 //tagMCActTurntableInfo:
- ItemNum:%d,
- ItemLibType:%d,
- ItemID:%d,
- ItemCount:%d
- '''\
- %(
- self.ItemNum,
- self.ItemLibType,
- self.ItemID,
- self.ItemCount
- )
- return DumpString
-
-
-class tagMCActTurntableInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)// 活动编号
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- IsDayReset = 0 #(BYTE IsDayReset)// 是否每天重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- CTGPrizeCount = 0 #(BYTE CTGPrizeCount)
- CTGPrizeList = list() #(vector<DWORD> CTGPrizeList)// 累计充值额度奖励次数列表 [奖励第1次所需累计充值额度, 第2次, ...]
- UseMoneyType = 0 #(BYTE UseMoneyType)// 累计消费货币类型
- UseMoneyPrizeCount = 0 #(BYTE UseMoneyPrizeCount)
- UseMoneyPrizeList = list() #(vector<DWORD> UseMoneyPrizeList)// 累计消费货币奖励次数列表 [奖励第1次所需累计消费货币, 第2次, ...]
- TurnItemCount = 0 #(BYTE TurnItemCount)
- TurnItemList = list() #(vector<tagMCActTurntableItem> TurnItemList)// 转盘已确定的物品列表,包含常规物品+极品物品+终极物品,活动开始时,后端直接随机生成常规物品,已确定的物品不包含极品、终极物品时需要先选择才能使用转盘;
- GoodItemCount = 0 #(BYTE GoodItemCount)
- GoodItemList = list() #(vector<tagMCActTurntableItem> GoodItemList)// 极品物品待选择库,由玩家从库中选择放入转盘的物品;注意此库中的物品编号仅表示在该库中的编号,可能与转盘已确定的物品编号重复,但并不代表同一物品;
- GoodItemCanChooseCount = 0 #(BYTE GoodItemCanChooseCount)// 极品物品可选择个数
- SuperItemCount = 0 #(BYTE SuperItemCount)
- SuperItemList = list() #(vector<tagMCActTurntableItem> SuperItemList)// 终极物品待选择库,由玩家从库中选择放入转盘的物品;注意此库中的物品编号仅表示在该库中的编号,可能与转盘已确定的物品编号重复,但并不代表同一物品;
- SuperItemCanChooseCount = 0 #(BYTE SuperItemCanChooseCount)// 终极物品可选择个数
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x52
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.CTGPrizeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.CTGPrizeCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.CTGPrizeList.append(value)
- self.UseMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.UseMoneyPrizeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.UseMoneyPrizeCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.UseMoneyPrizeList.append(value)
- self.TurnItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TurnItemCount):
- temTurnItemList = tagMCActTurntableItem()
- _pos = temTurnItemList.ReadData(_lpData, _pos)
- self.TurnItemList.append(temTurnItemList)
- self.GoodItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GoodItemCount):
- temGoodItemList = tagMCActTurntableItem()
- _pos = temGoodItemList.ReadData(_lpData, _pos)
- self.GoodItemList.append(temGoodItemList)
- self.GoodItemCanChooseCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SuperItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.SuperItemCount):
- temSuperItemList = tagMCActTurntableItem()
- _pos = temSuperItemList.ReadData(_lpData, _pos)
- self.SuperItemList.append(temSuperItemList)
- self.SuperItemCanChooseCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x52
- self.ActNum = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.IsDayReset = 0
- self.LimitLV = 0
- self.CTGPrizeCount = 0
- self.CTGPrizeList = list()
- self.UseMoneyType = 0
- self.UseMoneyPrizeCount = 0
- self.UseMoneyPrizeList = list()
- self.TurnItemCount = 0
- self.TurnItemList = list()
- self.GoodItemCount = 0
- self.GoodItemList = list()
- self.GoodItemCanChooseCount = 0
- self.SuperItemCount = 0
- self.SuperItemList = list()
- self.SuperItemCanChooseCount = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 1
- length += 2
- length += 1
- length += 4 * self.CTGPrizeCount
- length += 1
- length += 1
- length += 4 * self.UseMoneyPrizeCount
- length += 1
- for i in range(self.TurnItemCount):
- length += self.TurnItemList[i].GetLength()
- length += 1
- for i in range(self.GoodItemCount):
- length += self.GoodItemList[i].GetLength()
- length += 1
- length += 1
- for i in range(self.SuperItemCount):
- length += self.SuperItemList[i].GetLength()
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.CTGPrizeCount)
- for i in range(self.CTGPrizeCount):
- data = CommFunc.WriteDWORD(data, self.CTGPrizeList[i])
- data = CommFunc.WriteBYTE(data, self.UseMoneyType)
- data = CommFunc.WriteBYTE(data, self.UseMoneyPrizeCount)
- for i in range(self.UseMoneyPrizeCount):
- data = CommFunc.WriteDWORD(data, self.UseMoneyPrizeList[i])
- data = CommFunc.WriteBYTE(data, self.TurnItemCount)
- for i in range(self.TurnItemCount):
- data = CommFunc.WriteString(data, self.TurnItemList[i].GetLength(), self.TurnItemList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.GoodItemCount)
- for i in range(self.GoodItemCount):
- data = CommFunc.WriteString(data, self.GoodItemList[i].GetLength(), self.GoodItemList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.GoodItemCanChooseCount)
- data = CommFunc.WriteBYTE(data, self.SuperItemCount)
- for i in range(self.SuperItemCount):
- data = CommFunc.WriteString(data, self.SuperItemList[i].GetLength(), self.SuperItemList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.SuperItemCanChooseCount)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- StartDate:%s,
- EndtDate:%s,
- IsDayReset:%d,
- LimitLV:%d,
- CTGPrizeCount:%d,
- CTGPrizeList:%s,
- UseMoneyType:%d,
- UseMoneyPrizeCount:%d,
- UseMoneyPrizeList:%s,
- TurnItemCount:%d,
- TurnItemList:%s,
- GoodItemCount:%d,
- GoodItemList:%s,
- GoodItemCanChooseCount:%d,
- SuperItemCount:%d,
- SuperItemList:%s,
- SuperItemCanChooseCount:%d
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.StartDate,
- self.EndtDate,
- self.IsDayReset,
- self.LimitLV,
- self.CTGPrizeCount,
- "...",
- self.UseMoneyType,
- self.UseMoneyPrizeCount,
- "...",
- self.TurnItemCount,
- "...",
- self.GoodItemCount,
- "...",
- self.GoodItemCanChooseCount,
- self.SuperItemCount,
- "...",
- self.SuperItemCanChooseCount
- )
- return DumpString
-
-
-m_NAtagMCActTurntableInfo=tagMCActTurntableInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActTurntableInfo.Head.Cmd,m_NAtagMCActTurntableInfo.Head.SubCmd))] = m_NAtagMCActTurntableInfo
-
-
-#------------------------------------------------------
-# AA 53 转盘活动玩家信息 #tagMCActTurntablePlayerInfo
-
-class tagMCActTurntablePlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActNum", c_ubyte), #活动编号
- ("CanUseCount", c_ubyte), #可转盘次数
- ("CTGTotal", c_int), #累计充值额度
- ("UseMoneyTotal", c_int), #累计消费货币额度
- ("TurnItemState", c_int), #转盘物品已抽中记录,按转盘物品编号二进制位代表是否已抽中
- ("GetItemNum", c_ubyte), #本次抽中的物品编号,非转盘结果时为0,大于0时为通知本次转到的物品编号
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x53
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x53
- self.ActNum = 0
- self.CanUseCount = 0
- self.CTGTotal = 0
- self.UseMoneyTotal = 0
- self.TurnItemState = 0
- self.GetItemNum = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCActTurntablePlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 53 转盘活动玩家信息 //tagMCActTurntablePlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- ActNum:%d,
- CanUseCount:%d,
- CTGTotal:%d,
- UseMoneyTotal:%d,
- TurnItemState:%d,
- GetItemNum:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActNum,
- self.CanUseCount,
- self.CTGTotal,
- self.UseMoneyTotal,
- self.TurnItemState,
- self.GetItemNum
- )
- return DumpString
-
-
-m_NAtagMCActTurntablePlayerInfo=tagMCActTurntablePlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActTurntablePlayerInfo.Cmd,m_NAtagMCActTurntablePlayerInfo.SubCmd))] = m_NAtagMCActTurntablePlayerInfo
-
-
-#------------------------------------------------------
-# AA 1B 许愿池拖动结果 #tagMCActWishingDragResult
-
-class tagMCPlayerWishingDragInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("WellType", c_ubyte), # 库 0-可选库 1-结果库
- ("Index", c_ubyte), # 索引
- ("ItemID", c_int), # 物品ID
- ("ItemCnt", c_ushort), # 物品数量
- ("IsBind", c_ubyte), # 是否绑定
- ("IsSpecial", c_ubyte), # 是否极品
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.WellType = 0
- self.Index = 0
- self.ItemID = 0
- self.ItemCnt = 0
- self.IsBind = 0
- self.IsSpecial = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCPlayerWishingDragInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 1B 许愿池拖动结果 //tagMCActWishingDragResult:
- WellType:%d,
- Index:%d,
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d,
- IsSpecial:%d
- '''\
- %(
- self.WellType,
- self.Index,
- self.ItemID,
- self.ItemCnt,
- self.IsBind,
- self.IsSpecial
- )
- return DumpString
-
-
-class tagMCActWishingDragResult(Structure):
- Head = tagHead()
- Cnt = 0 #(BYTE Cnt)
- InfoList = list() #(vector<tagMCPlayerWishingDragInfo> InfoList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x1B
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Cnt):
- temInfoList = tagMCPlayerWishingDragInfo()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x1B
- self.Cnt = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Cnt):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Cnt)
- for i in range(self.Cnt):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Cnt:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Cnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActWishingDragResult=tagMCActWishingDragResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActWishingDragResult.Head.Cmd,m_NAtagMCActWishingDragResult.Head.SubCmd))] = m_NAtagMCActWishingDragResult
-
-
-#------------------------------------------------------
-# AA 19 许愿池活动信息 #tagMCActWishingWellInfo
-
-class tagMCWishingWellItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int), # 物品ID
- ("ItemCnt", c_ushort), # 物品数量
- ("IsBind", c_ubyte), # 是否绑定
- ("Mark", c_int), # 排序标识
- ("Rare", c_ubyte), # 珍稀值
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCnt = 0
- self.IsBind = 0
- self.Mark = 0
- self.Rare = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCWishingWellItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 19 许愿池活动信息 //tagMCActWishingWellInfo:
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d,
- Mark:%d,
- Rare:%d
- '''\
- %(
- self.ItemID,
- self.ItemCnt,
- self.IsBind,
- self.Mark,
- self.Rare
- )
- return DumpString
-
-
-class tagMCActWishingWellInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- Count = 0 #(WORD Count)// 物品数
- WellItemInfo = list() #(vector<tagMCWishingWellItem> WellItemInfo)// 随机库物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x19
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
- for i in range(self.Count):
- temWellItemInfo = tagMCWishingWellItem()
- _pos = temWellItemInfo.ReadData(_lpData, _pos)
- self.WellItemInfo.append(temWellItemInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x19
- self.StartDate = ""
- self.EndtDate = ""
- self.IsDayReset = 0
- self.ResetType = 0
- self.LimitLV = 0
- self.Count = 0
- self.WellItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 1
- length += 1
- length += 2
- length += 2
- for i in range(self.Count):
- length += self.WellItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteWORD(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.WellItemInfo[i].GetLength(), self.WellItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- IsDayReset:%d,
- ResetType:%d,
- LimitLV:%d,
- Count:%d,
- WellItemInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.IsDayReset,
- self.ResetType,
- self.LimitLV,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActWishingWellInfo=tagMCActWishingWellInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActWishingWellInfo.Head.Cmd,m_NAtagMCActWishingWellInfo.Head.SubCmd))] = m_NAtagMCActWishingWellInfo
-
-
-#------------------------------------------------------
-# AA 1A 许愿池活动玩家信息 #tagMCActWishingWellPlayerInfo
-
-class tagMCPlayerWishingWellItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int), # 物品ID
- ("ItemCnt", c_ushort), # 物品数量
- ("IsBind", c_ubyte), # 是否绑定
- ("IsSpecial", c_ubyte), # 是否极品
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCnt = 0
- self.IsBind = 0
- self.IsSpecial = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCPlayerWishingWellItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 1A 许愿池活动玩家信息 //tagMCActWishingWellPlayerInfo:
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d,
- IsSpecial:%d
- '''\
- %(
- self.ItemID,
- self.ItemCnt,
- self.IsBind,
- self.IsSpecial
- )
- return DumpString
-
-
-class tagMCActWishingWellPlayerInfo(Structure):
- Head = tagHead()
- FreeStartTime = 0 #(DWORD FreeStartTime)// 免费开始倒计时时间
- WishCnt = 0 #(DWORD WishCnt)// 许愿付费刷新次数
- WellItemCnt = 0 #(BYTE WellItemCnt)//许愿池物品数量
- WellItemInfo = list() #(vector<tagMCPlayerWishingWellItem> WellItemInfo)// 随机库物品信息
- CurAwardCnt = 0 #(BYTE CurAwardCnt)// 当前奖励物品数量
- CurAwardItemInfo = list() #(vector<tagMCPlayerWishingWellItem> CurAwardItemInfo)// 当前奖励物品
- LastAwardCnt = 0 #(BYTE LastAwardCnt)// 可领取奖励物品数量
- LastAwardItemInfo = list() #(vector<tagMCPlayerWishingWellItem> LastAwardItemInfo)// 可领取奖励物品
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x1A
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.FreeStartTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.WishCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.WellItemCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.WellItemCnt):
- temWellItemInfo = tagMCPlayerWishingWellItem()
- _pos = temWellItemInfo.ReadData(_lpData, _pos)
- self.WellItemInfo.append(temWellItemInfo)
- self.CurAwardCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.CurAwardCnt):
- temCurAwardItemInfo = tagMCPlayerWishingWellItem()
- _pos = temCurAwardItemInfo.ReadData(_lpData, _pos)
- self.CurAwardItemInfo.append(temCurAwardItemInfo)
- self.LastAwardCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.LastAwardCnt):
- temLastAwardItemInfo = tagMCPlayerWishingWellItem()
- _pos = temLastAwardItemInfo.ReadData(_lpData, _pos)
- self.LastAwardItemInfo.append(temLastAwardItemInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x1A
- self.FreeStartTime = 0
- self.WishCnt = 0
- self.WellItemCnt = 0
- self.WellItemInfo = list()
- self.CurAwardCnt = 0
- self.CurAwardItemInfo = list()
- self.LastAwardCnt = 0
- self.LastAwardItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- for i in range(self.WellItemCnt):
- length += self.WellItemInfo[i].GetLength()
- length += 1
- for i in range(self.CurAwardCnt):
- length += self.CurAwardItemInfo[i].GetLength()
- length += 1
- for i in range(self.LastAwardCnt):
- length += self.LastAwardItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.FreeStartTime)
- data = CommFunc.WriteDWORD(data, self.WishCnt)
- data = CommFunc.WriteBYTE(data, self.WellItemCnt)
- for i in range(self.WellItemCnt):
- data = CommFunc.WriteString(data, self.WellItemInfo[i].GetLength(), self.WellItemInfo[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.CurAwardCnt)
- for i in range(self.CurAwardCnt):
- data = CommFunc.WriteString(data, self.CurAwardItemInfo[i].GetLength(), self.CurAwardItemInfo[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.LastAwardCnt)
- for i in range(self.LastAwardCnt):
- data = CommFunc.WriteString(data, self.LastAwardItemInfo[i].GetLength(), self.LastAwardItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- FreeStartTime:%d,
- WishCnt:%d,
- WellItemCnt:%d,
- WellItemInfo:%s,
- CurAwardCnt:%d,
- CurAwardItemInfo:%s,
- LastAwardCnt:%d,
- LastAwardItemInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.FreeStartTime,
- self.WishCnt,
- self.WellItemCnt,
- "...",
- self.CurAwardCnt,
- "...",
- self.LastAwardCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCActWishingWellPlayerInfo=tagMCActWishingWellPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActWishingWellPlayerInfo.Head.Cmd,m_NAtagMCActWishingWellPlayerInfo.Head.SubCmd))] = m_NAtagMCActWishingWellPlayerInfo
-
-
-#------------------------------------------------------
-# AA 87 运势活动信息 #tagMCActYunshiInfo
-
-class tagMCActYunshiInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)// 活动编号
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- TreasureType = 0 #(BYTE TreasureType)// 活动寻宝类型
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x87
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.TreasureType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x87
- self.ActNum = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.ResetType = 0
- self.LimitLV = 0
- self.TreasureType = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 1
- length += 2
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.TreasureType)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- StartDate:%s,
- EndtDate:%s,
- ResetType:%d,
- LimitLV:%d,
- TreasureType:%d
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.StartDate,
- self.EndtDate,
- self.ResetType,
- self.LimitLV,
- self.TreasureType
- )
- return DumpString
-
-
-m_NAtagMCActYunshiInfo=tagMCActYunshiInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCActYunshiInfo.Head.Cmd,m_NAtagMCActYunshiInfo.Head.SubCmd))] = m_NAtagMCActYunshiInfo
-
-
-#------------------------------------------------------
-# AA 15 仙界盛典全民来嗨玩家信息 #tagMCAllPeoplePartyInfo
-
-class tagMCAllPeoplePartyCount(Structure):
- _pack_ = 1
- _fields_ = [
- ("ActID", c_int), #活动ID
- ("CurTimes", c_ushort), #已完成次数
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ActID = 0
- self.CurTimes = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCAllPeoplePartyCount)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 15 仙界盛典全民来嗨玩家信息 //tagMCAllPeoplePartyInfo:
- ActID:%d,
- CurTimes:%d
- '''\
- %(
- self.ActID,
- self.CurTimes
- )
- return DumpString
-
-
-class tagMCAllPeoplePartyInfo(Structure):
- Head = tagHead()
- CurPoint = 0 #(DWORD CurPoint)//当前总点数
- AwardRecord = 0 #(DWORD AwardRecord)//领奖记录 按奖励索引二进制位存储是否已领取
- Count = 0 #(BYTE Count)
- BuyCountList = list() #(vector<tagMCAllPeoplePartyCount> BuyCountList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x15
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.CurPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardRecord,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temBuyCountList = tagMCAllPeoplePartyCount()
- _pos = temBuyCountList.ReadData(_lpData, _pos)
- self.BuyCountList.append(temBuyCountList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x15
- self.CurPoint = 0
- self.AwardRecord = 0
- self.Count = 0
- self.BuyCountList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- for i in range(self.Count):
- length += self.BuyCountList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.CurPoint)
- data = CommFunc.WriteDWORD(data, self.AwardRecord)
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.BuyCountList[i].GetLength(), self.BuyCountList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- CurPoint:%d,
- AwardRecord:%d,
- Count:%d,
- BuyCountList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.CurPoint,
- self.AwardRecord,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCAllPeoplePartyInfo=tagMCAllPeoplePartyInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAllPeoplePartyInfo.Head.Cmd,m_NAtagMCAllPeoplePartyInfo.Head.SubCmd))] = m_NAtagMCAllPeoplePartyInfo
-
-
-#------------------------------------------------------
# AA 90 炼器跨服活动信息 #tagMCCrossActLianqiInfo
class tagMCCrossActLianqiItem(Structure):
@@ -23707,321 +20146,6 @@
#------------------------------------------------------
-# AA 25 每日礼包活动信息 #tagMCDailyGiftbagInfo
-
-class tagMCDailyGiftbagItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCDailyGiftbagItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 25 每日礼包活动信息 //tagMCDailyGiftbagInfo:
- ItemID:%d,
- ItemCount:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount
- )
- return DumpString
-
-
-class tagMCDailyGiftbag(Structure):
- GiftID = 0 #(DWORD GiftID)//礼包ID,0为免费
- OrderInfoLen = 0 #(BYTE OrderInfoLen)
- OrderInfo = "" #(String OrderInfo)//商品编号
- BuyCountLimit = 0 #(BYTE BuyCountLimit)//限购数
- RMB = 0 #(DWORD RMB)//所需RMB,元
- GiftItemCount = 0 #(BYTE GiftItemCount)// 礼包物品数
- ItemInfo = list() #(vector<tagMCDailyGiftbagItem> ItemInfo)// 物品信息
- Discount = 0 #(WORD Discount)// 折扣力度百分比
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.GiftID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.OrderInfoLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.OrderInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.OrderInfoLen)
- self.BuyCountLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.RMB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiftItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftItemCount):
- temItemInfo = tagMCDailyGiftbagItem()
- _pos = temItemInfo.ReadData(_lpData, _pos)
- self.ItemInfo.append(temItemInfo)
- self.Discount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.GiftID = 0
- self.OrderInfoLen = 0
- self.OrderInfo = ""
- self.BuyCountLimit = 0
- self.RMB = 0
- self.GiftItemCount = 0
- self.ItemInfo = list()
- self.Discount = 0
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 1
- length += len(self.OrderInfo)
- length += 1
- length += 4
- length += 1
- for i in range(self.GiftItemCount):
- length += self.ItemInfo[i].GetLength()
- length += 2
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.GiftID)
- data = CommFunc.WriteBYTE(data, self.OrderInfoLen)
- data = CommFunc.WriteString(data, self.OrderInfoLen, self.OrderInfo)
- data = CommFunc.WriteBYTE(data, self.BuyCountLimit)
- data = CommFunc.WriteDWORD(data, self.RMB)
- data = CommFunc.WriteBYTE(data, self.GiftItemCount)
- for i in range(self.GiftItemCount):
- data = CommFunc.WriteString(data, self.ItemInfo[i].GetLength(), self.ItemInfo[i].GetBuffer())
- data = CommFunc.WriteWORD(data, self.Discount)
- return data
-
- def OutputString(self):
- DumpString = '''
- GiftID:%d,
- OrderInfoLen:%d,
- OrderInfo:%s,
- BuyCountLimit:%d,
- RMB:%d,
- GiftItemCount:%d,
- ItemInfo:%s,
- Discount:%d
- '''\
- %(
- self.GiftID,
- self.OrderInfoLen,
- self.OrderInfo,
- self.BuyCountLimit,
- self.RMB,
- self.GiftItemCount,
- "...",
- self.Discount
- )
- return DumpString
-
-
-class tagMCDailyGiftbagInfo(Structure):
- Head = tagHead()
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- GiftbagCount = 0 #(BYTE GiftbagCount)// 礼包数
- GiftbagInfo = list() #(vector<tagMCDailyGiftbag> GiftbagInfo)// 礼包信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x25
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.GiftbagCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftbagCount):
- temGiftbagInfo = tagMCDailyGiftbag()
- _pos = temGiftbagInfo.ReadData(_lpData, _pos)
- self.GiftbagInfo.append(temGiftbagInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x25
- self.LimitLV = 0
- self.GiftbagCount = 0
- self.GiftbagInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- length += 1
- for i in range(self.GiftbagCount):
- length += self.GiftbagInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.GiftbagCount)
- for i in range(self.GiftbagCount):
- data = CommFunc.WriteString(data, self.GiftbagInfo[i].GetLength(), self.GiftbagInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- LimitLV:%d,
- GiftbagCount:%d,
- GiftbagInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.LimitLV,
- self.GiftbagCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCDailyGiftbagInfo=tagMCDailyGiftbagInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDailyGiftbagInfo.Head.Cmd,m_NAtagMCDailyGiftbagInfo.Head.SubCmd))] = m_NAtagMCDailyGiftbagInfo
-
-
-#------------------------------------------------------
-# AA 26 每日礼包玩家活动信息 #tagMCDailyGiftbagPlayerInfo
-
-class tagMCDailyGiftbagBuyCount(Structure):
- _pack_ = 1
- _fields_ = [
- ("GiftbagID", c_int), #礼包ID
- ("BuyCount", c_ushort), #本次活动已购买次数
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.GiftbagID = 0
- self.BuyCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCDailyGiftbagBuyCount)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 26 每日礼包玩家活动信息 //tagMCDailyGiftbagPlayerInfo:
- GiftbagID:%d,
- BuyCount:%d
- '''\
- %(
- self.GiftbagID,
- self.BuyCount
- )
- return DumpString
-
-
-class tagMCDailyGiftbagPlayerInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)
- BuyCountList = list() #(vector<tagMCDailyGiftbagBuyCount> BuyCountList)//礼包购买次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x26
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temBuyCountList = tagMCDailyGiftbagBuyCount()
- _pos = temBuyCountList.ReadData(_lpData, _pos)
- self.BuyCountList.append(temBuyCountList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x26
- self.Count = 0
- self.BuyCountList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.BuyCountList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.BuyCountList[i].GetLength(), self.BuyCountList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- BuyCountList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCDailyGiftbagPlayerInfo=tagMCDailyGiftbagPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDailyGiftbagPlayerInfo.Head.Cmd,m_NAtagMCDailyGiftbagPlayerInfo.Head.SubCmd))] = m_NAtagMCDailyGiftbagPlayerInfo
-
-
-#------------------------------------------------------
# AA 03 每日打包直购礼包 #tagMCDailyPackBuyGiftInfo
class tagMCDailyPackBuyGiftInfo(Structure):
@@ -24079,667 +20203,6 @@
m_NAtagMCDailyPackBuyGiftInfo=tagMCDailyPackBuyGiftInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDailyPackBuyGiftInfo.Cmd,m_NAtagMCDailyPackBuyGiftInfo.SubCmd))] = m_NAtagMCDailyPackBuyGiftInfo
-
-
-#------------------------------------------------------
-# AA 42 节日登录奖励活动信息 #tagMCFeastLoginInfo
-
-class tagMCFeastLoginDayAwardItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastLoginDayAwardItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 42 节日登录奖励活动信息 //tagMCFeastLoginInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCFeastLoginDayAward(Structure):
- DayNum = 0 #(BYTE DayNum)//天编号,从1开始,活动第X天只能领对应第X天的奖励
- AwardCount = 0 #(BYTE AwardCount)
- AwardItemList = list() #(vector<tagMCFeastLoginDayAwardItem> AwardItemList)// 奖励物品列表
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.DayNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardCount):
- temAwardItemList = tagMCFeastLoginDayAwardItem()
- _pos = temAwardItemList.ReadData(_lpData, _pos)
- self.AwardItemList.append(temAwardItemList)
- return _pos
-
- def Clear(self):
- self.DayNum = 0
- self.AwardCount = 0
- self.AwardItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 1
- for i in range(self.AwardCount):
- length += self.AwardItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.DayNum)
- data = CommFunc.WriteBYTE(data, self.AwardCount)
- for i in range(self.AwardCount):
- data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- DayNum:%d,
- AwardCount:%d,
- AwardItemList:%s
- '''\
- %(
- self.DayNum,
- self.AwardCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFeastLoginInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- DayCount = 0 #(BYTE DayCount)// 总共几天
- DayAwardList = list() #(vector<tagMCFeastLoginDayAward> DayAwardList)//登录天奖励列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x42
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.DayCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DayCount):
- temDayAwardList = tagMCFeastLoginDayAward()
- _pos = temDayAwardList.ReadData(_lpData, _pos)
- self.DayAwardList.append(temDayAwardList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x42
- self.StartDate = ""
- self.EndtDate = ""
- self.LimitLV = 0
- self.DayCount = 0
- self.DayAwardList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- for i in range(self.DayCount):
- length += self.DayAwardList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.DayCount)
- for i in range(self.DayCount):
- data = CommFunc.WriteString(data, self.DayAwardList[i].GetLength(), self.DayAwardList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- LimitLV:%d,
- DayCount:%d,
- DayAwardList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.LimitLV,
- self.DayCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastLoginInfo=tagMCFeastLoginInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastLoginInfo.Head.Cmd,m_NAtagMCFeastLoginInfo.Head.SubCmd))] = m_NAtagMCFeastLoginInfo
-
-
-#------------------------------------------------------
-# AA 39 节日登录奖励活动玩家信息 #tagMCFeastLoginPlayerInfo
-
-class tagMCFeastLoginPlayerInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LoginState", c_int), # 是否已登录,按天索引0代表第1天记录当天是否已登录
- ("LoginAward", c_int), # 是否已领取,按天索引0代表第1天记录当天是否已领取
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x39
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x39
- self.LoginState = 0
- self.LoginAward = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastLoginPlayerInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 39 节日登录奖励活动玩家信息 //tagMCFeastLoginPlayerInfo:
- Cmd:%s,
- SubCmd:%s,
- LoginState:%d,
- LoginAward:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LoginState,
- self.LoginAward
- )
- return DumpString
-
-
-m_NAtagMCFeastLoginPlayerInfo=tagMCFeastLoginPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastLoginPlayerInfo.Cmd,m_NAtagMCFeastLoginPlayerInfo.SubCmd))] = m_NAtagMCFeastLoginPlayerInfo
-
-
-#------------------------------------------------------
-# AA 43 节日祝福活动信息 #tagMCFeastWishInfo
-
-class tagMCFeastWishBottleItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("RecordIndex", c_ubyte), #物品索引,用于选择及记录是否已选择
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.RecordIndex = 0
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastWishBottleItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 43 节日祝福活动信息 //tagMCFeastWishInfo:
- RecordIndex:%d,
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.RecordIndex,
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCFeastWishBottleInfo(Structure):
- BottleNum = 0 #(BYTE BottleNum)//瓶子编号
- NeedWishValue = 0 #(WORD NeedWishValue)//单次领奖所需祝福值
- ChooseTimeMax = 0 #(BYTE ChooseTimeMax)//最大可领奖次数
- ChoosePrizeCount = 0 #(BYTE ChoosePrizeCount)//可选择奖励个数
- ChoosePrizeList = list() #(vector<tagMCFeastWishBottleItem> ChoosePrizeList)// 选择奖励物品列表,已选过的无法再选
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.BottleNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.NeedWishValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ChooseTimeMax,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ChoosePrizeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ChoosePrizeCount):
- temChoosePrizeList = tagMCFeastWishBottleItem()
- _pos = temChoosePrizeList.ReadData(_lpData, _pos)
- self.ChoosePrizeList.append(temChoosePrizeList)
- return _pos
-
- def Clear(self):
- self.BottleNum = 0
- self.NeedWishValue = 0
- self.ChooseTimeMax = 0
- self.ChoosePrizeCount = 0
- self.ChoosePrizeList = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2
- length += 1
- length += 1
- for i in range(self.ChoosePrizeCount):
- length += self.ChoosePrizeList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.BottleNum)
- data = CommFunc.WriteWORD(data, self.NeedWishValue)
- data = CommFunc.WriteBYTE(data, self.ChooseTimeMax)
- data = CommFunc.WriteBYTE(data, self.ChoosePrizeCount)
- for i in range(self.ChoosePrizeCount):
- data = CommFunc.WriteString(data, self.ChoosePrizeList[i].GetLength(), self.ChoosePrizeList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- BottleNum:%d,
- NeedWishValue:%d,
- ChooseTimeMax:%d,
- ChoosePrizeCount:%d,
- ChoosePrizeList:%s
- '''\
- %(
- self.BottleNum,
- self.NeedWishValue,
- self.ChooseTimeMax,
- self.ChoosePrizeCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFeastWishInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点开,5点重置;2-5点开,0点重置
- WishPoolShowCount = 0 #(BYTE WishPoolShowCount)//祝福池展示物品数
- WishPoolShowItemList = list() #(vector<DWORD> WishPoolShowItemList)//祝福池展示物品ID列表
- BottleCount = 0 #(BYTE BottleCount)// 祝福瓶个数
- BottleInfoList = list() #(vector<tagMCFeastWishBottleInfo> BottleInfoList)// 祝福瓶信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x43
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.WishPoolShowCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.WishPoolShowCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.WishPoolShowItemList.append(value)
- self.BottleCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.BottleCount):
- temBottleInfoList = tagMCFeastWishBottleInfo()
- _pos = temBottleInfoList.ReadData(_lpData, _pos)
- self.BottleInfoList.append(temBottleInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x43
- self.StartDate = ""
- self.EndtDate = ""
- self.LimitLV = 0
- self.ResetType = 0
- self.WishPoolShowCount = 0
- self.WishPoolShowItemList = list()
- self.BottleCount = 0
- self.BottleInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 2
- length += 1
- length += 1
- length += 4 * self.WishPoolShowCount
- length += 1
- for i in range(self.BottleCount):
- length += self.BottleInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteBYTE(data, self.WishPoolShowCount)
- for i in range(self.WishPoolShowCount):
- data = CommFunc.WriteDWORD(data, self.WishPoolShowItemList[i])
- data = CommFunc.WriteBYTE(data, self.BottleCount)
- for i in range(self.BottleCount):
- data = CommFunc.WriteString(data, self.BottleInfoList[i].GetLength(), self.BottleInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- LimitLV:%d,
- ResetType:%d,
- WishPoolShowCount:%d,
- WishPoolShowItemList:%s,
- BottleCount:%d,
- BottleInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.LimitLV,
- self.ResetType,
- self.WishPoolShowCount,
- "...",
- self.BottleCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastWishInfo=tagMCFeastWishInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishInfo.Head.Cmd,m_NAtagMCFeastWishInfo.Head.SubCmd))] = m_NAtagMCFeastWishInfo
-
-
-#------------------------------------------------------
-# AA 44 节日祝福活动玩家信息 #tagMCFeastWishPlayerInfo
-
-class tagMCFeastWishPlayerBottle(Structure):
- _pack_ = 1
- _fields_ = [
- ("BottleNum", c_ubyte), #瓶子编号
- ("WishValue", c_ushort), #当前可用祝福值
- ("ChooseRecord", c_int), #已选物品索引记录,与记录索引位运算判断是否已选择;累计已选择次数前端自己计算,通过该值可算出
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.BottleNum = 0
- self.WishValue = 0
- self.ChooseRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFeastWishPlayerBottle)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 44 节日祝福活动玩家信息 //tagMCFeastWishPlayerInfo:
- BottleNum:%d,
- WishValue:%d,
- ChooseRecord:%d
- '''\
- %(
- self.BottleNum,
- self.WishValue,
- self.ChooseRecord
- )
- return DumpString
-
-
-class tagMCFeastWishPlayerInfo(Structure):
- Head = tagHead()
- BottleCount = 0 #(BYTE BottleCount)// 祝福瓶个数
- PlayerBottleInfo = list() #(vector<tagMCFeastWishPlayerBottle> PlayerBottleInfo)// 祝福瓶信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x44
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.BottleCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.BottleCount):
- temPlayerBottleInfo = tagMCFeastWishPlayerBottle()
- _pos = temPlayerBottleInfo.ReadData(_lpData, _pos)
- self.PlayerBottleInfo.append(temPlayerBottleInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x44
- self.BottleCount = 0
- self.PlayerBottleInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.BottleCount):
- length += self.PlayerBottleInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.BottleCount)
- for i in range(self.BottleCount):
- data = CommFunc.WriteString(data, self.PlayerBottleInfo[i].GetLength(), self.PlayerBottleInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- BottleCount:%d,
- PlayerBottleInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.BottleCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFeastWishPlayerInfo=tagMCFeastWishPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishPlayerInfo.Head.Cmd,m_NAtagMCFeastWishPlayerInfo.Head.SubCmd))] = m_NAtagMCFeastWishPlayerInfo
-
-
-#------------------------------------------------------
-# AA 45 节日祝福祝福结果 #tagMCFeastWishResult
-
-class tagMCFeastWishResult(Structure):
- Head = tagHead()
- AddWishValue = 0 #(WORD AddWishValue)// 本次增加的祝福值
- WishResultLen = 0 #(WORD WishResultLen)
- WishResult = "" #(String WishResult)// 获得物品结果[[物品ID,个数,是否绑定], ...]
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x45
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.AddWishValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.WishResultLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.WishResult,_pos = CommFunc.ReadString(_lpData, _pos,self.WishResultLen)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x45
- self.AddWishValue = 0
- self.WishResultLen = 0
- self.WishResult = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- length += 2
- length += len(self.WishResult)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.AddWishValue)
- data = CommFunc.WriteWORD(data, self.WishResultLen)
- data = CommFunc.WriteString(data, self.WishResultLen, self.WishResult)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- AddWishValue:%d,
- WishResultLen:%d,
- WishResult:%s
- '''\
- %(
- self.Head.OutputString(),
- self.AddWishValue,
- self.WishResultLen,
- self.WishResult
- )
- return DumpString
-
-
-m_NAtagMCFeastWishResult=tagMCFeastWishResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFeastWishResult.Head.Cmd,m_NAtagMCFeastWishResult.Head.SubCmd))] = m_NAtagMCFeastWishResult
#------------------------------------------------------
@@ -24855,1659 +20318,6 @@
#------------------------------------------------------
-# AA 12 限时礼包活动信息 #tagMCFlashGiftbagInfo
-
-class tagMCFlashGiftbagItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", c_ubyte),
- ("IsMainItem", c_ubyte), #是否标的物
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- self.IsMainItem = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFlashGiftbagItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 12 限时礼包活动信息 //tagMCFlashGiftbagInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d,
- IsMainItem:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind,
- self.IsMainItem
- )
- return DumpString
-
-
-class tagMCFlashGiftbag(Structure):
- GiftID = 0 #(DWORD GiftID)//礼包ID
- OrderInfoLen = 0 #(BYTE OrderInfoLen)
- OrderInfo = "" #(String OrderInfo)//商品编号
- BuyCountLimit = 0 #(BYTE BuyCountLimit)//限购数
- RMB = 0 #(DWORD RMB)//所需RMB,元
- RMBOriginal = 0 #(DWORD RMBOriginal)//原价
- GiftItemCount = 0 #(BYTE GiftItemCount)// 礼包物品数
- ItemInfo = list() #(vector<tagMCFlashGiftbagItem> ItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.GiftID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.OrderInfoLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.OrderInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.OrderInfoLen)
- self.BuyCountLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.RMB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.RMBOriginal,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiftItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftItemCount):
- temItemInfo = tagMCFlashGiftbagItem()
- _pos = temItemInfo.ReadData(_lpData, _pos)
- self.ItemInfo.append(temItemInfo)
- return _pos
-
- def Clear(self):
- self.GiftID = 0
- self.OrderInfoLen = 0
- self.OrderInfo = ""
- self.BuyCountLimit = 0
- self.RMB = 0
- self.RMBOriginal = 0
- self.GiftItemCount = 0
- self.ItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 1
- length += len(self.OrderInfo)
- length += 1
- length += 4
- length += 4
- length += 1
- for i in range(self.GiftItemCount):
- length += self.ItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.GiftID)
- data = CommFunc.WriteBYTE(data, self.OrderInfoLen)
- data = CommFunc.WriteString(data, self.OrderInfoLen, self.OrderInfo)
- data = CommFunc.WriteBYTE(data, self.BuyCountLimit)
- data = CommFunc.WriteDWORD(data, self.RMB)
- data = CommFunc.WriteDWORD(data, self.RMBOriginal)
- data = CommFunc.WriteBYTE(data, self.GiftItemCount)
- for i in range(self.GiftItemCount):
- data = CommFunc.WriteString(data, self.ItemInfo[i].GetLength(), self.ItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- GiftID:%d,
- OrderInfoLen:%d,
- OrderInfo:%s,
- BuyCountLimit:%d,
- RMB:%d,
- RMBOriginal:%d,
- GiftItemCount:%d,
- ItemInfo:%s
- '''\
- %(
- self.GiftID,
- self.OrderInfoLen,
- self.OrderInfo,
- self.BuyCountLimit,
- self.RMB,
- self.RMBOriginal,
- self.GiftItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFlashGiftbagType(Structure):
- GiftbagCount = 0 #(BYTE GiftbagCount)// 礼包数
- GiftbagInfo = list() #(vector<tagMCFlashGiftbag> GiftbagInfo)// 礼包信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.GiftbagCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftbagCount):
- temGiftbagInfo = tagMCFlashGiftbag()
- _pos = temGiftbagInfo.ReadData(_lpData, _pos)
- self.GiftbagInfo.append(temGiftbagInfo)
- return _pos
-
- def Clear(self):
- self.GiftbagCount = 0
- self.GiftbagInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- for i in range(self.GiftbagCount):
- length += self.GiftbagInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.GiftbagCount)
- for i in range(self.GiftbagCount):
- data = CommFunc.WriteString(data, self.GiftbagInfo[i].GetLength(), self.GiftbagInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- GiftbagCount:%d,
- GiftbagInfo:%s
- '''\
- %(
- self.GiftbagCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFlashGiftbagTime(Structure):
- StartTime = "" #(char StartTime[5])// 开始时间 H:M
- EndtTime = "" #(char EndtTime[5])// 结束时间 H:M
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.StartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- self.EndtTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- return _pos
-
- def Clear(self):
- self.StartTime = ""
- self.EndtTime = ""
- return
-
- def GetLength(self):
- length = 0
- length += 5
- length += 5
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, 5, self.StartTime)
- data = CommFunc.WriteString(data, 5, self.EndtTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- StartTime:%s,
- EndtTime:%s
- '''\
- %(
- self.StartTime,
- self.EndtTime
- )
- return DumpString
-
-
-class tagMCFlashGiftbagInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AdvanceMinutes = 0 #(WORD AdvanceMinutes)// 提前显示分钟
- ActivityTimeCount = 0 #(BYTE ActivityTimeCount)
- ActivityTime = list() #(vector<tagMCFlashGiftbagTime> ActivityTime)//活动时间
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- GiftbagTypeCount = 0 #(BYTE GiftbagTypeCount)// 礼包类型数
- GiftbagTypeInfo = list() #(vector<tagMCFlashGiftbagType> GiftbagTypeInfo)// 礼包类型信息, 当有多个且有多个活动时间段时则每个时间段对应一个礼包类型;
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x12
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ActivityTimeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActivityTimeCount):
- temActivityTime = tagMCFlashGiftbagTime()
- _pos = temActivityTime.ReadData(_lpData, _pos)
- self.ActivityTime.append(temActivityTime)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.GiftbagTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftbagTypeCount):
- temGiftbagTypeInfo = tagMCFlashGiftbagType()
- _pos = temGiftbagTypeInfo.ReadData(_lpData, _pos)
- self.GiftbagTypeInfo.append(temGiftbagTypeInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x12
- self.ActNum = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.AdvanceMinutes = 0
- self.ActivityTimeCount = 0
- self.ActivityTime = list()
- self.IsDayReset = 0
- self.LimitLV = 0
- self.GiftbagTypeCount = 0
- self.GiftbagTypeInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 2
- length += 1
- for i in range(self.ActivityTimeCount):
- length += self.ActivityTime[i].GetLength()
- length += 1
- length += 2
- length += 1
- for i in range(self.GiftbagTypeCount):
- length += self.GiftbagTypeInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
- data = CommFunc.WriteBYTE(data, self.ActivityTimeCount)
- for i in range(self.ActivityTimeCount):
- data = CommFunc.WriteString(data, self.ActivityTime[i].GetLength(), self.ActivityTime[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.GiftbagTypeCount)
- for i in range(self.GiftbagTypeCount):
- data = CommFunc.WriteString(data, self.GiftbagTypeInfo[i].GetLength(), self.GiftbagTypeInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- StartDate:%s,
- EndtDate:%s,
- AdvanceMinutes:%d,
- ActivityTimeCount:%d,
- ActivityTime:%s,
- IsDayReset:%d,
- LimitLV:%d,
- GiftbagTypeCount:%d,
- GiftbagTypeInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.StartDate,
- self.EndtDate,
- self.AdvanceMinutes,
- self.ActivityTimeCount,
- "...",
- self.IsDayReset,
- self.LimitLV,
- self.GiftbagTypeCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFlashGiftbagInfo=tagMCFlashGiftbagInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFlashGiftbagInfo.Head.Cmd,m_NAtagMCFlashGiftbagInfo.Head.SubCmd))] = m_NAtagMCFlashGiftbagInfo
-
-
-#------------------------------------------------------
-# AA 13 限时礼包玩家活动信息 #tagMCFlashGiftbagPlayerInfo
-
-class tagMCFlashGiftbagBuyCount(Structure):
- _pack_ = 1
- _fields_ = [
- ("GiftbagID", c_int), #礼包ID
- ("BuyCount", c_ushort), #本次活动已购买次数
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.GiftbagID = 0
- self.BuyCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFlashGiftbagBuyCount)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 13 限时礼包玩家活动信息 //tagMCFlashGiftbagPlayerInfo:
- GiftbagID:%d,
- BuyCount:%d
- '''\
- %(
- self.GiftbagID,
- self.BuyCount
- )
- return DumpString
-
-
-class tagMCFlashGiftbagPlayerInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- Count = 0 #(BYTE Count)
- BuyCountList = list() #(vector<tagMCFlashGiftbagBuyCount> BuyCountList)//礼包购买次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x13
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temBuyCountList = tagMCFlashGiftbagBuyCount()
- _pos = temBuyCountList.ReadData(_lpData, _pos)
- self.BuyCountList.append(temBuyCountList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x13
- self.ActNum = 0
- self.Count = 0
- self.BuyCountList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- for i in range(self.Count):
- length += self.BuyCountList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.BuyCountList[i].GetLength(), self.BuyCountList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- Count:%d,
- BuyCountList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFlashGiftbagPlayerInfo=tagMCFlashGiftbagPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFlashGiftbagPlayerInfo.Head.Cmd,m_NAtagMCFlashGiftbagPlayerInfo.Head.SubCmd))] = m_NAtagMCFlashGiftbagPlayerInfo
-
-
-#------------------------------------------------------
-# AA 18 限时抢购活动玩家预约信息 #tagMCFlashSaleAppointmentInfo
-
-class tagMCFlashSaleAppointmentState(Structure):
- _pack_ = 1
- _fields_ = [
- ("GoodsMark", c_int), # 商品标识
- ("State", c_ubyte), # 是否预约
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.GoodsMark = 0
- self.State = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFlashSaleAppointmentState)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 18 限时抢购活动玩家预约信息 //tagMCFlashSaleAppointmentInfo:
- GoodsMark:%d,
- State:%d
- '''\
- %(
- self.GoodsMark,
- self.State
- )
- return DumpString
-
-
-class tagMCFlashSaleAppointmentInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- IsAll = 0 #(BYTE IsAll)// 是否全部
- GoodsCount = 0 #(WORD GoodsCount)// 商品数
- GoodsList = list() #(vector<tagMCFlashSaleAppointmentState> GoodsList)// 预约的商品
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x18
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.IsAll,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.GoodsCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- for i in range(self.GoodsCount):
- temGoodsList = tagMCFlashSaleAppointmentState()
- _pos = temGoodsList.ReadData(_lpData, _pos)
- self.GoodsList.append(temGoodsList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x18
- self.ActNum = 0
- self.IsAll = 0
- self.GoodsCount = 0
- self.GoodsList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 2
- for i in range(self.GoodsCount):
- length += self.GoodsList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteBYTE(data, self.IsAll)
- data = CommFunc.WriteWORD(data, self.GoodsCount)
- for i in range(self.GoodsCount):
- data = CommFunc.WriteString(data, self.GoodsList[i].GetLength(), self.GoodsList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- IsAll:%d,
- GoodsCount:%d,
- GoodsList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.IsAll,
- self.GoodsCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFlashSaleAppointmentInfo=tagMCFlashSaleAppointmentInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFlashSaleAppointmentInfo.Head.Cmd,m_NAtagMCFlashSaleAppointmentInfo.Head.SubCmd))] = m_NAtagMCFlashSaleAppointmentInfo
-
-
-#------------------------------------------------------
-# AA 17 限时抢购活动信息 #tagMCFlashSaleInfo
-
-class tagMCFlashSaleGiftbag(Structure):
- _pack_ = 1
- _fields_ = [
- ("GiftID", c_int), #商城表的物品ID
- ("BuyCountLimit", c_ubyte), #限购数
- ("ServerBuyCountLimit", c_ushort), #全服限购数
- ("MoneyType", c_ubyte), #消耗货币类型
- ("MoneyNumber", c_int), #消耗货币数量
- ("MoneyOriginal", c_int), #原价
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.GiftID = 0
- self.BuyCountLimit = 0
- self.ServerBuyCountLimit = 0
- self.MoneyType = 0
- self.MoneyNumber = 0
- self.MoneyOriginal = 0
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFlashSaleGiftbag)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 17 限时抢购活动信息 //tagMCFlashSaleInfo:
- GiftID:%d,
- BuyCountLimit:%d,
- ServerBuyCountLimit:%d,
- MoneyType:%d,
- MoneyNumber:%d,
- MoneyOriginal:%d,
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.GiftID,
- self.BuyCountLimit,
- self.ServerBuyCountLimit,
- self.MoneyType,
- self.MoneyNumber,
- self.MoneyOriginal,
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCFlashSaleShop(Structure):
- DayIndex = 0 #(BYTE DayIndex)// 活动第几天
- TimeIndex = 0 #(BYTE TimeIndex)// 第几个时间段
- GiftbagCount = 0 #(BYTE GiftbagCount)// 商店礼包数
- GiftbagInfo = list() #(vector<tagMCFlashSaleGiftbag> GiftbagInfo)// 礼包信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.DayIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.TimeIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.GiftbagCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftbagCount):
- temGiftbagInfo = tagMCFlashSaleGiftbag()
- _pos = temGiftbagInfo.ReadData(_lpData, _pos)
- self.GiftbagInfo.append(temGiftbagInfo)
- return _pos
-
- def Clear(self):
- self.DayIndex = 0
- self.TimeIndex = 0
- self.GiftbagCount = 0
- self.GiftbagInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 1
- length += 1
- for i in range(self.GiftbagCount):
- length += self.GiftbagInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.DayIndex)
- data = CommFunc.WriteBYTE(data, self.TimeIndex)
- data = CommFunc.WriteBYTE(data, self.GiftbagCount)
- for i in range(self.GiftbagCount):
- data = CommFunc.WriteString(data, self.GiftbagInfo[i].GetLength(), self.GiftbagInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- DayIndex:%d,
- TimeIndex:%d,
- GiftbagCount:%d,
- GiftbagInfo:%s
- '''\
- %(
- self.DayIndex,
- self.TimeIndex,
- self.GiftbagCount,
- "..."
- )
- return DumpString
-
-
-class tagMCFlashSaleTime(Structure):
- StartTime = "" #(char StartTime[5])// 开始时间 H:M
- EndtTime = "" #(char EndtTime[5])// 结束时间 H:M
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.StartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- self.EndtTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- return _pos
-
- def Clear(self):
- self.StartTime = ""
- self.EndtTime = ""
- return
-
- def GetLength(self):
- length = 0
- length += 5
- length += 5
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, 5, self.StartTime)
- data = CommFunc.WriteString(data, 5, self.EndtTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- StartTime:%s,
- EndtTime:%s
- '''\
- %(
- self.StartTime,
- self.EndtTime
- )
- return DumpString
-
-
-class tagMCFlashSaleInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AdvanceMinutes = 0 #(WORD AdvanceMinutes)// 提前显示分钟
- ActivityTimeCount = 0 #(BYTE ActivityTimeCount)
- ActivityTime = list() #(vector<tagMCFlashSaleTime> ActivityTime)//活动时间
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- ShopCount = 0 #(BYTE ShopCount)// 商店数
- ShopInfo = list() #(vector<tagMCFlashSaleShop> ShopInfo)// 商店信息, 当有多个商店且有多个活动时间段时则每个时间段对应一个商店;
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x17
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ActivityTimeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActivityTimeCount):
- temActivityTime = tagMCFlashSaleTime()
- _pos = temActivityTime.ReadData(_lpData, _pos)
- self.ActivityTime.append(temActivityTime)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ShopCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ShopCount):
- temShopInfo = tagMCFlashSaleShop()
- _pos = temShopInfo.ReadData(_lpData, _pos)
- self.ShopInfo.append(temShopInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x17
- self.ActNum = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.AdvanceMinutes = 0
- self.ActivityTimeCount = 0
- self.ActivityTime = list()
- self.IsDayReset = 0
- self.LimitLV = 0
- self.ShopCount = 0
- self.ShopInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 2
- length += 1
- for i in range(self.ActivityTimeCount):
- length += self.ActivityTime[i].GetLength()
- length += 1
- length += 2
- length += 1
- for i in range(self.ShopCount):
- length += self.ShopInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
- data = CommFunc.WriteBYTE(data, self.ActivityTimeCount)
- for i in range(self.ActivityTimeCount):
- data = CommFunc.WriteString(data, self.ActivityTime[i].GetLength(), self.ActivityTime[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.ShopCount)
- for i in range(self.ShopCount):
- data = CommFunc.WriteString(data, self.ShopInfo[i].GetLength(), self.ShopInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- StartDate:%s,
- EndtDate:%s,
- AdvanceMinutes:%d,
- ActivityTimeCount:%d,
- ActivityTime:%s,
- IsDayReset:%d,
- LimitLV:%d,
- ShopCount:%d,
- ShopInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.StartDate,
- self.EndtDate,
- self.AdvanceMinutes,
- self.ActivityTimeCount,
- "...",
- self.IsDayReset,
- self.LimitLV,
- self.ShopCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFlashSaleInfo=tagMCFlashSaleInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFlashSaleInfo.Head.Cmd,m_NAtagMCFlashSaleInfo.Head.SubCmd))] = m_NAtagMCFlashSaleInfo
-
-
-#------------------------------------------------------
-# AA 1F 幸运鉴宝活动信息 #tagMCLuckyTreasureInfo
-
-class tagMCLuckyTreasureItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int), # 物品ID
- ("ItemCnt", c_ushort), # 物品数量
- ("IsBind", c_ubyte), # 是否绑定
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCnt = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCLuckyTreasureItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 1F 幸运鉴宝活动信息 //tagMCLuckyTreasureInfo:
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCnt,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCLuckyTreasureInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- LuckyPoint = 0 #(WORD LuckyPoint)// 总幸运值
- Count = 0 #(WORD Count)// 物品数
- ItemList = list() #(vector<tagMCLuckyTreasureItem> ItemList)// 随机库物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x1F
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LuckyPoint,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
- for i in range(self.Count):
- temItemList = tagMCLuckyTreasureItem()
- _pos = temItemList.ReadData(_lpData, _pos)
- self.ItemList.append(temItemList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x1F
- self.StartDate = ""
- self.EndtDate = ""
- self.ResetType = 0
- self.LimitLV = 0
- self.LuckyPoint = 0
- self.Count = 0
- self.ItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 1
- length += 2
- length += 2
- length += 2
- for i in range(self.Count):
- length += self.ItemList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteWORD(data, self.LuckyPoint)
- data = CommFunc.WriteWORD(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.ItemList[i].GetLength(), self.ItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- ResetType:%d,
- LimitLV:%d,
- LuckyPoint:%d,
- Count:%d,
- ItemList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.ResetType,
- self.LimitLV,
- self.LuckyPoint,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCLuckyTreasureInfo=tagMCLuckyTreasureInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLuckyTreasureInfo.Head.Cmd,m_NAtagMCLuckyTreasureInfo.Head.SubCmd))] = m_NAtagMCLuckyTreasureInfo
-
-
-#------------------------------------------------------
-# AA 1E 幸运鉴宝结果信息 #tagMCLuckyTreasureResultInfo
-
-class tagMCLuckyTreasureResultInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("LuckyPoint", c_ushort), # 当前幸运点
- ("HasFree", c_ubyte), # 是否免费过
- ("ItemID", c_int), # 物品ID
- ("ItemCnt", c_ushort), #物品数量
- ("IsBind", c_ubyte), # 是否绑定
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x1E
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x1E
- self.LuckyPoint = 0
- self.HasFree = 0
- self.ItemID = 0
- self.ItemCnt = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCLuckyTreasureResultInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 1E 幸运鉴宝结果信息 //tagMCLuckyTreasureResultInfo:
- Cmd:%s,
- SubCmd:%s,
- LuckyPoint:%d,
- HasFree:%d,
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.LuckyPoint,
- self.HasFree,
- self.ItemID,
- self.ItemCnt,
- self.IsBind
- )
- return DumpString
-
-
-m_NAtagMCLuckyTreasureResultInfo=tagMCLuckyTreasureResultInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLuckyTreasureResultInfo.Cmd,m_NAtagMCLuckyTreasureResultInfo.SubCmd))] = m_NAtagMCLuckyTreasureResultInfo
-
-
-#------------------------------------------------------
-# AA 23 新仙界盛典全民来嗨玩家信息 #tagMCNewAllPeoplePartyInfo
-
-class tagMCNewAllPeoplePartyCount(Structure):
- _pack_ = 1
- _fields_ = [
- ("ActID", c_int), #活动ID
- ("CurTimes", c_ushort), #已完成次数
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ActID = 0
- self.CurTimes = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCNewAllPeoplePartyCount)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 23 新仙界盛典全民来嗨玩家信息 //tagMCNewAllPeoplePartyInfo:
- ActID:%d,
- CurTimes:%d
- '''\
- %(
- self.ActID,
- self.CurTimes
- )
- return DumpString
-
-
-class tagMCNewAllPeoplePartyInfo(Structure):
- Head = tagHead()
- CurPoint = 0 #(DWORD CurPoint)//当前总点数
- AwardRecord = 0 #(DWORD AwardRecord)//领奖记录 按奖励索引二进制位存储是否已领取
- Count = 0 #(BYTE Count)
- BuyCountList = list() #(vector<tagMCNewAllPeoplePartyCount> BuyCountList)//活动完成次数信息
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x23
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.CurPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardRecord,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temBuyCountList = tagMCNewAllPeoplePartyCount()
- _pos = temBuyCountList.ReadData(_lpData, _pos)
- self.BuyCountList.append(temBuyCountList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x23
- self.CurPoint = 0
- self.AwardRecord = 0
- self.Count = 0
- self.BuyCountList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- for i in range(self.Count):
- length += self.BuyCountList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.CurPoint)
- data = CommFunc.WriteDWORD(data, self.AwardRecord)
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.BuyCountList[i].GetLength(), self.BuyCountList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- CurPoint:%d,
- AwardRecord:%d,
- Count:%d,
- BuyCountList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.CurPoint,
- self.AwardRecord,
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCNewAllPeoplePartyInfo=tagMCNewAllPeoplePartyInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCNewAllPeoplePartyInfo.Head.Cmd,m_NAtagMCNewAllPeoplePartyInfo.Head.SubCmd))] = m_NAtagMCNewAllPeoplePartyInfo
-
-
-#------------------------------------------------------
-# AA 22 新仙界盛典充值大礼 #tagMCNewXJSDRecharge
-
-class tagMCNewXJSDRecharge(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("State", c_ubyte), #0-不可领 1-可领 2-已领取
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x22
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x22
- self.State = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCNewXJSDRecharge)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 22 新仙界盛典充值大礼 //tagMCNewXJSDRecharge:
- Cmd:%s,
- SubCmd:%s,
- State:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.State
- )
- return DumpString
-
-
-m_NAtagMCNewXJSDRecharge=tagMCNewXJSDRecharge()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCNewXJSDRecharge.Cmd,m_NAtagMCNewXJSDRecharge.SubCmd))] = m_NAtagMCNewXJSDRecharge
-
-
-#------------------------------------------------------
-# AA 11 限时特惠活动信息 #tagMCSpringSaleInfo
-
-class tagMCSpringSaleItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", c_ubyte),
- ("IsMainItem", c_ubyte), #是否标的物
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- self.IsMainItem = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCSpringSaleItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 11 限时特惠活动信息 //tagMCSpringSaleInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d,
- IsMainItem:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind,
- self.IsMainItem
- )
- return DumpString
-
-
-class tagMCSpringSaleGiftbag(Structure):
- GiftID = 0 #(DWORD GiftID)//商城表的物品ID
- BuyCountLimit = 0 #(BYTE BuyCountLimit)//限购数
- MoneyType = 0 #(BYTE MoneyType)//消耗货币类型
- MoneyNumber = 0 #(DWORD MoneyNumber)//消耗货币数量
- MoneyOriginal = 0 #(DWORD MoneyOriginal)//原价
- GiftItemCount = 0 #(BYTE GiftItemCount)// 礼包物品数
- ItemInfo = list() #(vector<tagMCSpringSaleItem> ItemInfo)// 物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.GiftID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BuyCountLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.MoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.MoneyNumber,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.MoneyOriginal,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiftItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftItemCount):
- temItemInfo = tagMCSpringSaleItem()
- _pos = temItemInfo.ReadData(_lpData, _pos)
- self.ItemInfo.append(temItemInfo)
- return _pos
-
- def Clear(self):
- self.GiftID = 0
- self.BuyCountLimit = 0
- self.MoneyType = 0
- self.MoneyNumber = 0
- self.MoneyOriginal = 0
- self.GiftItemCount = 0
- self.ItemInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 1
- length += 1
- length += 4
- length += 4
- length += 1
- for i in range(self.GiftItemCount):
- length += self.ItemInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.GiftID)
- data = CommFunc.WriteBYTE(data, self.BuyCountLimit)
- data = CommFunc.WriteBYTE(data, self.MoneyType)
- data = CommFunc.WriteDWORD(data, self.MoneyNumber)
- data = CommFunc.WriteDWORD(data, self.MoneyOriginal)
- data = CommFunc.WriteBYTE(data, self.GiftItemCount)
- for i in range(self.GiftItemCount):
- data = CommFunc.WriteString(data, self.ItemInfo[i].GetLength(), self.ItemInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- GiftID:%d,
- BuyCountLimit:%d,
- MoneyType:%d,
- MoneyNumber:%d,
- MoneyOriginal:%d,
- GiftItemCount:%d,
- ItemInfo:%s
- '''\
- %(
- self.GiftID,
- self.BuyCountLimit,
- self.MoneyType,
- self.MoneyNumber,
- self.MoneyOriginal,
- self.GiftItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCSpringSaleShop(Structure):
- GiftbagCount = 0 #(BYTE GiftbagCount)// 商店礼包数
- GiftbagInfo = list() #(vector<tagMCSpringSaleGiftbag> GiftbagInfo)// 礼包信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.GiftbagCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.GiftbagCount):
- temGiftbagInfo = tagMCSpringSaleGiftbag()
- _pos = temGiftbagInfo.ReadData(_lpData, _pos)
- self.GiftbagInfo.append(temGiftbagInfo)
- return _pos
-
- def Clear(self):
- self.GiftbagCount = 0
- self.GiftbagInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- for i in range(self.GiftbagCount):
- length += self.GiftbagInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.GiftbagCount)
- for i in range(self.GiftbagCount):
- data = CommFunc.WriteString(data, self.GiftbagInfo[i].GetLength(), self.GiftbagInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- GiftbagCount:%d,
- GiftbagInfo:%s
- '''\
- %(
- self.GiftbagCount,
- "..."
- )
- return DumpString
-
-
-class tagMCSpringSaleTime(Structure):
- StartTime = "" #(char StartTime[5])// 开始时间 H:M
- EndtTime = "" #(char EndtTime[5])// 结束时间 H:M
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.StartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- self.EndtTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- return _pos
-
- def Clear(self):
- self.StartTime = ""
- self.EndtTime = ""
- return
-
- def GetLength(self):
- length = 0
- length += 5
- length += 5
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, 5, self.StartTime)
- data = CommFunc.WriteString(data, 5, self.EndtTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- StartTime:%s,
- EndtTime:%s
- '''\
- %(
- self.StartTime,
- self.EndtTime
- )
- return DumpString
-
-
-class tagMCSpringSaleInfo(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- AdvanceMinutes = 0 #(WORD AdvanceMinutes)// 提前显示分钟
- ActivityTimeCount = 0 #(BYTE ActivityTimeCount)
- ActivityTime = list() #(vector<tagMCSpringSaleTime> ActivityTime)//活动时间
- IsDayReset = 0 #(BYTE IsDayReset)//是否每天重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- ShopCount = 0 #(BYTE ShopCount)// 商店数
- ShopInfo = list() #(vector<tagMCSpringSaleShop> ShopInfo)// 商店信息, 当有多个商店且有多个活动时间段时则每个时间段对应一个商店;
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x11
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.AdvanceMinutes,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ActivityTimeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActivityTimeCount):
- temActivityTime = tagMCSpringSaleTime()
- _pos = temActivityTime.ReadData(_lpData, _pos)
- self.ActivityTime.append(temActivityTime)
- self.IsDayReset,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.ShopCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ShopCount):
- temShopInfo = tagMCSpringSaleShop()
- _pos = temShopInfo.ReadData(_lpData, _pos)
- self.ShopInfo.append(temShopInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x11
- self.ActNum = 0
- self.StartDate = ""
- self.EndtDate = ""
- self.AdvanceMinutes = 0
- self.ActivityTimeCount = 0
- self.ActivityTime = list()
- self.IsDayReset = 0
- self.LimitLV = 0
- self.ShopCount = 0
- self.ShopInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 10
- length += 10
- length += 2
- length += 1
- for i in range(self.ActivityTimeCount):
- length += self.ActivityTime[i].GetLength()
- length += 1
- length += 2
- length += 1
- for i in range(self.ShopCount):
- length += self.ShopInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteWORD(data, self.AdvanceMinutes)
- data = CommFunc.WriteBYTE(data, self.ActivityTimeCount)
- for i in range(self.ActivityTimeCount):
- data = CommFunc.WriteString(data, self.ActivityTime[i].GetLength(), self.ActivityTime[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.IsDayReset)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.ShopCount)
- for i in range(self.ShopCount):
- data = CommFunc.WriteString(data, self.ShopInfo[i].GetLength(), self.ShopInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- StartDate:%s,
- EndtDate:%s,
- AdvanceMinutes:%d,
- ActivityTimeCount:%d,
- ActivityTime:%s,
- IsDayReset:%d,
- LimitLV:%d,
- ShopCount:%d,
- ShopInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.StartDate,
- self.EndtDate,
- self.AdvanceMinutes,
- self.ActivityTimeCount,
- "...",
- self.IsDayReset,
- self.LimitLV,
- self.ShopCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCSpringSaleInfo=tagMCSpringSaleInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSpringSaleInfo.Head.Cmd,m_NAtagMCSpringSaleInfo.Head.SubCmd))] = m_NAtagMCSpringSaleInfo
-
-
-#------------------------------------------------------
# AA 16 通知超值礼包信息 #tagMCSuperGiftInfo
class tagMCSuperGiftInfo(Structure):
@@ -26557,62 +20367,6 @@
m_NAtagMCSuperGiftInfo=tagMCSuperGiftInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSuperGiftInfo.Cmd,m_NAtagMCSuperGiftInfo.SubCmd))] = m_NAtagMCSuperGiftInfo
-
-
-#------------------------------------------------------
-#AA 01 累计登陆天数信息 #tagMCTotalLoginDayCntInfo
-
-class tagMCTotalLoginDayCntInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("DayCnt", c_ushort), #累计登陆天数
- ("AwardInfo", c_ushort), #登陆领取情况
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x01
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x01
- self.DayCnt = 0
- self.AwardInfo = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCTotalLoginDayCntInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//AA 01 累计登陆天数信息 //tagMCTotalLoginDayCntInfo:
- Cmd:%s,
- SubCmd:%s,
- DayCnt:%d,
- AwardInfo:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.DayCnt,
- self.AwardInfo
- )
- return DumpString
-
-
-m_NAtagMCTotalLoginDayCntInfo=tagMCTotalLoginDayCntInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTotalLoginDayCntInfo.Cmd,m_NAtagMCTotalLoginDayCntInfo.SubCmd))] = m_NAtagMCTotalLoginDayCntInfo
#------------------------------------------------------
@@ -26673,70 +20427,6 @@
m_NAtagMCTotalRechargePlayerInfo=tagMCTotalRechargePlayerInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTotalRechargePlayerInfo.Cmd,m_NAtagMCTotalRechargePlayerInfo.SubCmd))] = m_NAtagMCTotalRechargePlayerInfo
-
-
-#------------------------------------------------------
-# AA 14 仙界盛典充值大礼 #tagMCXJSDRecharge
-
-class tagMCXJSDRecharge(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("State", c_ubyte), #0-不可领 1-可领 2-已领取
- ("CTGTotal", c_int), #本次活动已累计充值,单位元
- ("FireworksBuyCount", c_ushort), #已购买高级烟花数
- ("FirewordsScore", c_int), #当前累计所有烟花总积分
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x14
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAA
- self.SubCmd = 0x14
- self.State = 0
- self.CTGTotal = 0
- self.FireworksBuyCount = 0
- self.FirewordsScore = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCXJSDRecharge)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 14 仙界盛典充值大礼 //tagMCXJSDRecharge:
- Cmd:%s,
- SubCmd:%s,
- State:%d,
- CTGTotal:%d,
- FireworksBuyCount:%d,
- FirewordsScore:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.State,
- self.CTGTotal,
- self.FireworksBuyCount,
- self.FirewordsScore
- )
- return DumpString
-
-
-m_NAtagMCXJSDRecharge=tagMCXJSDRecharge()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCXJSDRecharge.Cmd,m_NAtagMCXJSDRecharge.SubCmd))] = m_NAtagMCXJSDRecharge
#------------------------------------------------------
@@ -26857,233 +20547,6 @@
m_NAtagGCCrossActEnd=tagGCCrossActEnd()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCrossActEnd.Head.Cmd,m_NAtagGCCrossActEnd.Head.SubCmd))] = m_NAtagGCCrossActEnd
-
-
-#------------------------------------------------------
-# AC 06 多倍经验活动信息 #tagGCMultiExpRateInfo
-
-class tagGCMultiExpRateTime(Structure):
- StartTime = "" #(char StartTime[5])// 开始时间 H:M
- EndtTime = "" #(char EndtTime[5])// 结束时间 H:M
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.StartTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- self.EndtTime,_pos = CommFunc.ReadString(_lpData, _pos,5)
- return _pos
-
- def Clear(self):
- self.StartTime = ""
- self.EndtTime = ""
- return
-
- def GetLength(self):
- length = 0
- length += 5
- length += 5
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, 5, self.StartTime)
- data = CommFunc.WriteString(data, 5, self.EndtTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- StartTime:%s,
- EndtTime:%s
- '''\
- %(
- self.StartTime,
- self.EndtTime
- )
- return DumpString
-
-
-class tagGCMultiExpRateInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- ActivityTimeCount = 0 #(BYTE ActivityTimeCount)
- ActivityTime = list() #(vector<tagGCMultiExpRateTime> ActivityTime)//活动时间
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- AddExpRate = 0 #(DWORD AddExpRate)// 增加的经验倍率,万分率
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x06
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.ActivityTimeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ActivityTimeCount):
- temActivityTime = tagGCMultiExpRateTime()
- _pos = temActivityTime.ReadData(_lpData, _pos)
- self.ActivityTime.append(temActivityTime)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.AddExpRate,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x06
- self.StartDate = ""
- self.EndtDate = ""
- self.ActivityTimeCount = 0
- self.ActivityTime = list()
- self.LimitLV = 0
- self.AddExpRate = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 1
- for i in range(self.ActivityTimeCount):
- length += self.ActivityTime[i].GetLength()
- length += 2
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.ActivityTimeCount)
- for i in range(self.ActivityTimeCount):
- data = CommFunc.WriteString(data, self.ActivityTime[i].GetLength(), self.ActivityTime[i].GetBuffer())
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteDWORD(data, self.AddExpRate)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- ActivityTimeCount:%d,
- ActivityTime:%s,
- LimitLV:%d,
- AddExpRate:%d
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.ActivityTimeCount,
- "...",
- self.LimitLV,
- self.AddExpRate
- )
- return DumpString
-
-
-m_NAtagGCMultiExpRateInfo=tagGCMultiExpRateInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMultiExpRateInfo.Head.Cmd,m_NAtagGCMultiExpRateInfo.Head.SubCmd))] = m_NAtagGCMultiExpRateInfo
-
-
-#------------------------------------------------------
-# AC 0A 多倍修行点活动信息 #tagGCMultiRealmPointInfo
-
-class tagGCMultiRealmPointInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- Multiple = 0 #(BYTE Multiple)// 倍数
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- LimitPoint = 0 #(DWORD LimitPoint)// 限制获得修行点
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x0A
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.Multiple,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LimitPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x0A
- self.StartDate = ""
- self.EndtDate = ""
- self.Multiple = 0
- self.LimitLV = 0
- self.LimitPoint = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 1
- length += 2
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.Multiple)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteDWORD(data, self.LimitPoint)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- Multiple:%d,
- LimitLV:%d,
- LimitPoint:%d
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.Multiple,
- self.LimitLV,
- self.LimitPoint
- )
- return DumpString
-
-
-m_NAtagGCMultiRealmPointInfo=tagGCMultiRealmPointInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMultiRealmPointInfo.Head.Cmd,m_NAtagGCMultiRealmPointInfo.Head.SubCmd))] = m_NAtagGCMultiRealmPointInfo
#------------------------------------------------------
@@ -27476,7 +20939,7 @@
class tagSCTravelInfo(Structure):
Head = tagHead()
- Energy = 0 #(BYTE Energy)//剩余体力
+ Energy = 0 #(DWORD Energy)//剩余体力
EnergyTime = 0 #(DWORD EnergyTime)//上次恢复体力时间戳
TravelCnt = 0 #(DWORD TravelCnt)//累计游历次数
SceneryType = 0 #(BYTE SceneryType)//景观类型
@@ -27497,7 +20960,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.Energy,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.Energy,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.EnergyTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.TravelCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.SceneryType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -27532,7 +20995,7 @@
def GetLength(self):
length = 0
length += self.Head.GetLength()
- length += 1
+ length += 4
length += 4
length += 4
length += 1
@@ -27549,7 +21012,7 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Energy)
+ data = CommFunc.WriteDWORD(data, self.Energy)
data = CommFunc.WriteDWORD(data, self.EnergyTime)
data = CommFunc.WriteDWORD(data, self.TravelCnt)
data = CommFunc.WriteBYTE(data, self.SceneryType)
@@ -28986,118 +22449,6 @@
#------------------------------------------------------
-# B1 11 功能系统特权信息 #tagMCFuncSysPrivilegeInfoList
-
-class tagMCFuncSysPrivilegeInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("FuncSysID", c_ubyte), # 功能系统ID
- ("ActivateTime", c_int), # 激活时间戳
- ("AwardState", c_int), # 领奖状态,按天对应二进制位计算是否领奖
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.FuncSysID = 0
- self.ActivateTime = 0
- self.AwardState = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFuncSysPrivilegeInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B1 11 功能系统特权信息 //tagMCFuncSysPrivilegeInfoList:
- FuncSysID:%d,
- ActivateTime:%d,
- AwardState:%d
- '''\
- %(
- self.FuncSysID,
- self.ActivateTime,
- self.AwardState
- )
- return DumpString
-
-
-class tagMCFuncSysPrivilegeInfoList(Structure):
- Head = tagHead()
- PrivilegeCount = 0 #(BYTE PrivilegeCount)// 特权个数
- PrivilegeInfoList = list() #(vector<tagMCFuncSysPrivilegeInfo> PrivilegeInfoList)// 特权信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB1
- self.Head.SubCmd = 0x11
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.PrivilegeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.PrivilegeCount):
- temPrivilegeInfoList = tagMCFuncSysPrivilegeInfo()
- _pos = temPrivilegeInfoList.ReadData(_lpData, _pos)
- self.PrivilegeInfoList.append(temPrivilegeInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB1
- self.Head.SubCmd = 0x11
- self.PrivilegeCount = 0
- self.PrivilegeInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.PrivilegeCount):
- length += self.PrivilegeInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.PrivilegeCount)
- for i in range(self.PrivilegeCount):
- data = CommFunc.WriteString(data, self.PrivilegeInfoList[i].GetLength(), self.PrivilegeInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- PrivilegeCount:%d,
- PrivilegeInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.PrivilegeCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFuncSysPrivilegeInfoList=tagMCFuncSysPrivilegeInfoList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFuncSysPrivilegeInfoList.Head.Cmd,m_NAtagMCFuncSysPrivilegeInfoList.Head.SubCmd))] = m_NAtagMCFuncSysPrivilegeInfoList
-
-
-#------------------------------------------------------
# B1 31 宿缘信息 #tagSCHeroFatesInfo
class tagSCHeroFates(Structure):
@@ -30271,54 +23622,6 @@
#------------------------------------------------------
-#B1 08 开始印记流失时间 #tagMCYinjiStartTime
-
-class tagMCYinjiStartTime(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB1
- self.SubCmd = 0x08
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xB1
- self.SubCmd = 0x08
- return
-
- def GetLength(self):
- return sizeof(tagMCYinjiStartTime)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//B1 08 开始印记流失时间 //tagMCYinjiStartTime:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagMCYinjiStartTime=tagMCYinjiStartTime()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCYinjiStartTime.Cmd,m_NAtagMCYinjiStartTime.SubCmd))] = m_NAtagMCYinjiStartTime
-
-
-#------------------------------------------------------
# B1 10 当前任务信息 #tagMCTaskInfo
class tagMCTask(Structure):
@@ -30432,80 +23735,6 @@
m_NAtagMCTaskInfo=tagMCTaskInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTaskInfo.Head.Cmd,m_NAtagMCTaskInfo.Head.SubCmd))] = m_NAtagMCTaskInfo
-
-
-#------------------------------------------------------
-# B1 15 天道树信息 #tagMCTiandaoTreeInfo
-
-class tagMCTiandaoTreeInfo(Structure):
- Head = tagHead()
- Qiyun = 0 #(DWORD Qiyun)// 当前气运值
- AwardCount = 0 #(BYTE AwardCount)// 天道果领取记录值个数
- AwardStateList = list() #(vector<DWORD> AwardStateList)// 天道果领取记录值列表,按奖励索引位二进制记录是否已领取,一个值可存31位,如值1存0~30,值2存31~61,...
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB1
- self.Head.SubCmd = 0x15
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Qiyun,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.AwardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.AwardStateList.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB1
- self.Head.SubCmd = 0x15
- self.Qiyun = 0
- self.AwardCount = 0
- self.AwardStateList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- length += 4 * self.AwardCount
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.Qiyun)
- data = CommFunc.WriteBYTE(data, self.AwardCount)
- for i in range(self.AwardCount):
- data = CommFunc.WriteDWORD(data, self.AwardStateList[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Qiyun:%d,
- AwardCount:%d,
- AwardStateList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Qiyun,
- self.AwardCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCTiandaoTreeInfo=tagMCTiandaoTreeInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTiandaoTreeInfo.Head.Cmd,m_NAtagMCTiandaoTreeInfo.Head.SubCmd))] = m_NAtagMCTiandaoTreeInfo
#------------------------------------------------------
@@ -30906,121 +24135,6 @@
m_NAtagMCUseMoneyTotalInfo=tagMCUseMoneyTotalInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCUseMoneyTotalInfo.Head.Cmd,m_NAtagMCUseMoneyTotalInfo.Head.SubCmd))] = m_NAtagMCUseMoneyTotalInfo
-
-
-#------------------------------------------------------
-# B1 14 仙宫信息 #tagMCXiangongInfo
-
-class tagMCXiangong(Structure):
- _pack_ = 1
- _fields_ = [
- ("XiangongID", c_ushort), # 仙宫ID
- ("LikeStateToday", c_ubyte), # 今日是否已点赞
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.XiangongID = 0
- self.LikeStateToday = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCXiangong)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B1 14 仙宫信息 //tagMCXiangongInfo:
- XiangongID:%d,
- LikeStateToday:%d
- '''\
- %(
- self.XiangongID,
- self.LikeStateToday
- )
- return DumpString
-
-
-class tagMCXiangongInfo(Structure):
- Head = tagHead()
- LikeStateToday = 0 #(BYTE LikeStateToday)// 今日是否已点赞,指仙宫的外层点赞,非某个指定仙宫
- XiangongCount = 0 #(BYTE XiangongCount)
- XiangongList = list() #(vector<tagMCXiangong> XiangongList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB1
- self.Head.SubCmd = 0x14
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.LikeStateToday,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.XiangongCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.XiangongCount):
- temXiangongList = tagMCXiangong()
- _pos = temXiangongList.ReadData(_lpData, _pos)
- self.XiangongList.append(temXiangongList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB1
- self.Head.SubCmd = 0x14
- self.LikeStateToday = 0
- self.XiangongCount = 0
- self.XiangongList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- for i in range(self.XiangongCount):
- length += self.XiangongList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.LikeStateToday)
- data = CommFunc.WriteBYTE(data, self.XiangongCount)
- for i in range(self.XiangongCount):
- data = CommFunc.WriteString(data, self.XiangongList[i].GetLength(), self.XiangongList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- LikeStateToday:%d,
- XiangongCount:%d,
- XiangongList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.LikeStateToday,
- self.XiangongCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCXiangongInfo=tagMCXiangongInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCXiangongInfo.Head.Cmd,m_NAtagMCXiangongInfo.Head.SubCmd))] = m_NAtagMCXiangongInfo
#------------------------------------------------------
@@ -31502,904 +24616,6 @@
#------------------------------------------------------
-# B3 24 喜糖列表 #tagGCCandyList
-
-class tagGCCandyInfo(Structure):
- PlayerIDA = 0 #(DWORD PlayerIDA)// 玩家ID - 请求方
- NameALen = 0 #(BYTE NameALen)
- PlayerNameA = "" #(String PlayerNameA)
- PlayerIDB = 0 #(DWORD PlayerIDB)// 玩家ID - 接受方
- NameBLen = 0 #(BYTE NameBLen)
- PlayerNameB = "" #(String PlayerNameB)
- BridePriceID = 0 #(BYTE BridePriceID)// 聘礼ID
- MarryTime = 0 #(DWORD MarryTime)// 成亲时间戳,秒
- EndTime = 0 #(DWORD EndTime)// 结束时间戳,秒
- Prosperity = 0 #(DWORD Prosperity)// 当前繁荣度
- FireworksTotalBuyCount = 0 #(BYTE FireworksTotalBuyCount)// 烟花总已购买次数
- FireworksPlayerBuyCount = 0 #(BYTE FireworksPlayerBuyCount)// 烟花玩家已购买次数
- PlayerFreeEatCandyCount = 0 #(BYTE PlayerFreeEatCandyCount)// 玩家已免费吃该喜糖总次数,包含免费次数、烟花赠送次数
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.PlayerIDA,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameALen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerNameA,_pos = CommFunc.ReadString(_lpData, _pos,self.NameALen)
- self.PlayerIDB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameBLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerNameB,_pos = CommFunc.ReadString(_lpData, _pos,self.NameBLen)
- self.BridePriceID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.MarryTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.EndTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.Prosperity,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FireworksTotalBuyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.FireworksPlayerBuyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerFreeEatCandyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.PlayerIDA = 0
- self.NameALen = 0
- self.PlayerNameA = ""
- self.PlayerIDB = 0
- self.NameBLen = 0
- self.PlayerNameB = ""
- self.BridePriceID = 0
- self.MarryTime = 0
- self.EndTime = 0
- self.Prosperity = 0
- self.FireworksTotalBuyCount = 0
- self.FireworksPlayerBuyCount = 0
- self.PlayerFreeEatCandyCount = 0
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 1
- length += len(self.PlayerNameA)
- length += 4
- length += 1
- length += len(self.PlayerNameB)
- length += 1
- length += 4
- length += 4
- length += 4
- length += 1
- length += 1
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.PlayerIDA)
- data = CommFunc.WriteBYTE(data, self.NameALen)
- data = CommFunc.WriteString(data, self.NameALen, self.PlayerNameA)
- data = CommFunc.WriteDWORD(data, self.PlayerIDB)
- data = CommFunc.WriteBYTE(data, self.NameBLen)
- data = CommFunc.WriteString(data, self.NameBLen, self.PlayerNameB)
- data = CommFunc.WriteBYTE(data, self.BridePriceID)
- data = CommFunc.WriteDWORD(data, self.MarryTime)
- data = CommFunc.WriteDWORD(data, self.EndTime)
- data = CommFunc.WriteDWORD(data, self.Prosperity)
- data = CommFunc.WriteBYTE(data, self.FireworksTotalBuyCount)
- data = CommFunc.WriteBYTE(data, self.FireworksPlayerBuyCount)
- data = CommFunc.WriteBYTE(data, self.PlayerFreeEatCandyCount)
- return data
-
- def OutputString(self):
- DumpString = '''
- PlayerIDA:%d,
- NameALen:%d,
- PlayerNameA:%s,
- PlayerIDB:%d,
- NameBLen:%d,
- PlayerNameB:%s,
- BridePriceID:%d,
- MarryTime:%d,
- EndTime:%d,
- Prosperity:%d,
- FireworksTotalBuyCount:%d,
- FireworksPlayerBuyCount:%d,
- PlayerFreeEatCandyCount:%d
- '''\
- %(
- self.PlayerIDA,
- self.NameALen,
- self.PlayerNameA,
- self.PlayerIDB,
- self.NameBLen,
- self.PlayerNameB,
- self.BridePriceID,
- self.MarryTime,
- self.EndTime,
- self.Prosperity,
- self.FireworksTotalBuyCount,
- self.FireworksPlayerBuyCount,
- self.PlayerFreeEatCandyCount
- )
- return DumpString
-
-
-class tagGCCandyList(Structure):
- Head = tagHead()
- CandyCount = 0 #(WORD CandyCount)
- CandyInfoList = list() #(vector<tagGCCandyInfo> CandyInfoList)// 可吃喜糖列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x24
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.CandyCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
- for i in range(self.CandyCount):
- temCandyInfoList = tagGCCandyInfo()
- _pos = temCandyInfoList.ReadData(_lpData, _pos)
- self.CandyInfoList.append(temCandyInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x24
- self.CandyCount = 0
- self.CandyInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- for i in range(self.CandyCount):
- length += self.CandyInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.CandyCount)
- for i in range(self.CandyCount):
- data = CommFunc.WriteString(data, self.CandyInfoList[i].GetLength(), self.CandyInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- CandyCount:%d,
- CandyInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.CandyCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCCandyList=tagGCCandyList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCandyList.Head.Cmd,m_NAtagGCCandyList.Head.SubCmd))] = m_NAtagGCCandyList
-
-
-#------------------------------------------------------
-# B3 19 魅力贡献榜 #tagGCCharmOfferBillboardDataList
-
-class tagGCCharmOfferBillboardData(Structure):
- OrderIndex = 0 #(DWORD OrderIndex)//名次索引,0代表第一名
- PlayerID = 0 #(DWORD PlayerID)// 玩家ID - 贡献者
- NameLen = 0 #(BYTE NameLen)
- PlayerName = "" #(String PlayerName)
- CharmValue = 0 #(DWORD CharmValue)//贡献魅力值
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.OrderIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.CharmValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.OrderIndex = 0
- self.PlayerID = 0
- self.NameLen = 0
- self.PlayerName = ""
- self.CharmValue = 0
- return
-
- def GetLength(self):
- length = 0
- length += 4
- length += 4
- length += 1
- length += len(self.PlayerName)
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteDWORD(data, self.OrderIndex)
- data = CommFunc.WriteDWORD(data, self.PlayerID)
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.PlayerName)
- data = CommFunc.WriteDWORD(data, self.CharmValue)
- return data
-
- def OutputString(self):
- DumpString = '''
- OrderIndex:%d,
- PlayerID:%d,
- NameLen:%d,
- PlayerName:%s,
- CharmValue:%d
- '''\
- %(
- self.OrderIndex,
- self.PlayerID,
- self.NameLen,
- self.PlayerName,
- self.CharmValue
- )
- return DumpString
-
-
-class tagGCCharmOfferBillboardDataList(Structure):
- Head = tagHead()
- PlayerID = 0 #(DWORD PlayerID)// 魅力玩家ID
- QueryType = 0 #(BYTE QueryType)// 查看类型: 1-总榜,2-周榜,3-日榜
- DataCount = 0 #(BYTE DataCount)
- OfferBillboardDataList = list() #(vector<tagGCCharmOfferBillboardData> OfferBillboardDataList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x19
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.QueryType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.DataCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.DataCount):
- temOfferBillboardDataList = tagGCCharmOfferBillboardData()
- _pos = temOfferBillboardDataList.ReadData(_lpData, _pos)
- self.OfferBillboardDataList.append(temOfferBillboardDataList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x19
- self.PlayerID = 0
- self.QueryType = 0
- self.DataCount = 0
- self.OfferBillboardDataList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- length += 1
- for i in range(self.DataCount):
- length += self.OfferBillboardDataList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.PlayerID)
- data = CommFunc.WriteBYTE(data, self.QueryType)
- data = CommFunc.WriteBYTE(data, self.DataCount)
- for i in range(self.DataCount):
- data = CommFunc.WriteString(data, self.OfferBillboardDataList[i].GetLength(), self.OfferBillboardDataList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- PlayerID:%d,
- QueryType:%d,
- DataCount:%d,
- OfferBillboardDataList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.PlayerID,
- self.QueryType,
- self.DataCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCCharmOfferBillboardDataList=tagGCCharmOfferBillboardDataList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCharmOfferBillboardDataList.Head.Cmd,m_NAtagGCCharmOfferBillboardDataList.Head.SubCmd))] = m_NAtagGCCharmOfferBillboardDataList
-
-
-#------------------------------------------------------
-# B3 26 伴侣信息 #tagGCCoupleInfo
-
-class tagGCCoupleInfo(Structure):
- Head = tagHead()
- CoupleID = 0 #(DWORD CoupleID)// 伴侣玩家ID,一定是好友,社交信息从好友系统中获取
- NameLen = 0 #(BYTE NameLen)
- CoupleName = "" #(String CoupleName)
- NewMarryTime = 0 #(DWORD NewMarryTime)// 新婚时间戳, 秒,计算结婚天数按该时间计算
- MarryTime = 0 #(DWORD MarryTime)// 最近一次提亲成功时间戳, 秒,计算可离婚时间按该时间计算
- BridePriceState = 0 #(DWORD BridePriceState)// 聘礼状态,按位存储已购买次数,如205代表ID1买了5次,ID2买了0次,ID3买了2次,最高9次
- BreakRequestID = 0 #(DWORD BreakRequestID)// 当前请求中的和离时间戳 - 请求方ID,0代表没人发起请求
- BreakRequestTime = 0 #(DWORD BreakRequestTime)// 当前请求中的和离时间戳, 秒,用于计算和离回应有效期
- PlayerBreakRequestTime = 0 #(DWORD PlayerBreakRequestTime)// 玩家最近一次和离请求时间戳, 秒,用于计算自身的请求和离CD
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x26
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.CoupleID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.CoupleName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.NewMarryTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.MarryTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BridePriceState,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BreakRequestID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.BreakRequestTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PlayerBreakRequestTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x26
- self.CoupleID = 0
- self.NameLen = 0
- self.CoupleName = ""
- self.NewMarryTime = 0
- self.MarryTime = 0
- self.BridePriceState = 0
- self.BreakRequestID = 0
- self.BreakRequestTime = 0
- self.PlayerBreakRequestTime = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- length += len(self.CoupleName)
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.CoupleID)
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.CoupleName)
- data = CommFunc.WriteDWORD(data, self.NewMarryTime)
- data = CommFunc.WriteDWORD(data, self.MarryTime)
- data = CommFunc.WriteDWORD(data, self.BridePriceState)
- data = CommFunc.WriteDWORD(data, self.BreakRequestID)
- data = CommFunc.WriteDWORD(data, self.BreakRequestTime)
- data = CommFunc.WriteDWORD(data, self.PlayerBreakRequestTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- CoupleID:%d,
- NameLen:%d,
- CoupleName:%s,
- NewMarryTime:%d,
- MarryTime:%d,
- BridePriceState:%d,
- BreakRequestID:%d,
- BreakRequestTime:%d,
- PlayerBreakRequestTime:%d
- '''\
- %(
- self.Head.OutputString(),
- self.CoupleID,
- self.NameLen,
- self.CoupleName,
- self.NewMarryTime,
- self.MarryTime,
- self.BridePriceState,
- self.BreakRequestID,
- self.BreakRequestTime,
- self.PlayerBreakRequestTime
- )
- return DumpString
-
-
-m_NAtagGCCoupleInfo=tagGCCoupleInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCoupleInfo.Head.Cmd,m_NAtagGCCoupleInfo.Head.SubCmd))] = m_NAtagGCCoupleInfo
-
-
-#------------------------------------------------------
-# B3 30 情缘相关信息 #tagMCLoveInfo
-
-class tagMCLoveInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("EatCandyToday", c_int), # 今日已吃喜糖次数,包含免费及付费的所有次数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x30
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xB3
- self.SubCmd = 0x30
- self.EatCandyToday = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCLoveInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 30 情缘相关信息 //tagMCLoveInfo:
- Cmd:%s,
- SubCmd:%s,
- EatCandyToday:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.EatCandyToday
- )
- return DumpString
-
-
-m_NAtagMCLoveInfo=tagMCLoveInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLoveInfo.Cmd,m_NAtagMCLoveInfo.SubCmd))] = m_NAtagMCLoveInfo
-
-
-#------------------------------------------------------
-# B3 27 情戒信息 #tagMCLoveRingInfo
-
-class tagMCLoveRingInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ClassLV", c_ubyte), # 阶
- ("StarLV", c_ubyte), # 星
- ("EatCount", c_int), # 本星已淬炼道具数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x27
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xB3
- self.SubCmd = 0x27
- self.ClassLV = 0
- self.StarLV = 0
- self.EatCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCLoveRingInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 27 情戒信息 //tagMCLoveRingInfo:
- Cmd:%s,
- SubCmd:%s,
- ClassLV:%d,
- StarLV:%d,
- EatCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ClassLV,
- self.StarLV,
- self.EatCount
- )
- return DumpString
-
-
-m_NAtagMCLoveRingInfo=tagMCLoveRingInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLoveRingInfo.Cmd,m_NAtagMCLoveRingInfo.SubCmd))] = m_NAtagMCLoveRingInfo
-
-
-#------------------------------------------------------
-# B3 29 情戒解锁成功 #tagMCLoveRingUnlockOK
-
-class tagMCLoveRingUnlockOK(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x29
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xB3
- self.SubCmd = 0x29
- return
-
- def GetLength(self):
- return sizeof(tagMCLoveRingUnlockOK)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 29 情戒解锁成功 //tagMCLoveRingUnlockOK:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagMCLoveRingUnlockOK=tagMCLoveRingUnlockOK()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLoveRingUnlockOK.Cmd,m_NAtagMCLoveRingUnlockOK.SubCmd))] = m_NAtagMCLoveRingUnlockOK
-
-
-#------------------------------------------------------
-# B3 22 收到提亲信息 #tagGCMarryReqInfo
-
-class tagGCMarryReqInfo(Structure):
- Head = tagHead()
- PlayerID = 0 #(DWORD PlayerID)// 同一个玩家ID多次提亲时可能同步多次,前端覆盖数据即可
- NameLen = 0 #(BYTE NameLen)
- PlayerName = "" #(String PlayerName)
- BridePriceID = 0 #(BYTE BridePriceID)// 聘礼ID
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x22
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.BridePriceID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x22
- self.PlayerID = 0
- self.NameLen = 0
- self.PlayerName = ""
- self.BridePriceID = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- length += len(self.PlayerName)
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.PlayerID)
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.PlayerName)
- data = CommFunc.WriteBYTE(data, self.BridePriceID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- PlayerID:%d,
- NameLen:%d,
- PlayerName:%s,
- BridePriceID:%d
- '''\
- %(
- self.Head.OutputString(),
- self.PlayerID,
- self.NameLen,
- self.PlayerName,
- self.BridePriceID
- )
- return DumpString
-
-
-m_NAtagGCMarryReqInfo=tagGCMarryReqInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMarryReqInfo.Head.Cmd,m_NAtagGCMarryReqInfo.Head.SubCmd))] = m_NAtagGCMarryReqInfo
-
-
-#------------------------------------------------------
-# B3 21 提亲发送成功 #tagGCMarryReqOK
-
-class tagGCMarryReqOK(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x21
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xB3
- self.SubCmd = 0x21
- return
-
- def GetLength(self):
- return sizeof(tagGCMarryReqOK)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 21 提亲发送成功 //tagGCMarryReqOK:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagGCMarryReqOK=tagGCMarryReqOK()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMarryReqOK.Cmd,m_NAtagGCMarryReqOK.SubCmd))] = m_NAtagGCMarryReqOK
-
-
-#------------------------------------------------------
-# B3 23 提亲回应结果 #tagGCMarryResponseRet
-
-class tagGCMarryResponseRet(Structure):
- Head = tagHead()
- PlayerIDA = 0 #(DWORD PlayerIDA)// 玩家ID - 请求方
- NameALen = 0 #(BYTE NameALen)
- PlayerNameA = "" #(String PlayerNameA)
- PlayerIDB = 0 #(DWORD PlayerIDB)// 玩家ID - 接受方
- NameBLen = 0 #(BYTE NameBLen)
- PlayerNameB = "" #(String PlayerNameB)
- IsOK = 0 #(BYTE IsOK)// 是否同意,0-否,1-是; 如果同意则双方都会收到该包,根据玩家ID判断自己是请求或接受方,显示不同的同意结果界面;不同意只有请求方会收到
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x23
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.PlayerIDA,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameALen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerNameA,_pos = CommFunc.ReadString(_lpData, _pos,self.NameALen)
- self.PlayerIDB,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.NameBLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.PlayerNameB,_pos = CommFunc.ReadString(_lpData, _pos,self.NameBLen)
- self.IsOK,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x23
- self.PlayerIDA = 0
- self.NameALen = 0
- self.PlayerNameA = ""
- self.PlayerIDB = 0
- self.NameBLen = 0
- self.PlayerNameB = ""
- self.IsOK = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- length += len(self.PlayerNameA)
- length += 4
- length += 1
- length += len(self.PlayerNameB)
- length += 1
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.PlayerIDA)
- data = CommFunc.WriteBYTE(data, self.NameALen)
- data = CommFunc.WriteString(data, self.NameALen, self.PlayerNameA)
- data = CommFunc.WriteDWORD(data, self.PlayerIDB)
- data = CommFunc.WriteBYTE(data, self.NameBLen)
- data = CommFunc.WriteString(data, self.NameBLen, self.PlayerNameB)
- data = CommFunc.WriteBYTE(data, self.IsOK)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- PlayerIDA:%d,
- NameALen:%d,
- PlayerNameA:%s,
- PlayerIDB:%d,
- NameBLen:%d,
- PlayerNameB:%s,
- IsOK:%d
- '''\
- %(
- self.Head.OutputString(),
- self.PlayerIDA,
- self.NameALen,
- self.PlayerNameA,
- self.PlayerIDB,
- self.NameBLen,
- self.PlayerNameB,
- self.IsOK
- )
- return DumpString
-
-
-m_NAtagGCMarryResponseRet=tagGCMarryResponseRet()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMarryResponseRet.Head.Cmd,m_NAtagGCMarryResponseRet.Head.SubCmd))] = m_NAtagGCMarryResponseRet
-
-
-#------------------------------------------------------
-# B3 25 玩家魅力值信息 #tagGCPlayerCharmValueInfo
-
-class tagGCPlayerCharmValueInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("CharmValueTotal", c_int), #当前魅力值 - 总
- ("CharmValueWeek", c_int), #当前魅力值 - 周
- ("CharmValueDay", c_int), #当前魅力值 - 日
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB3
- self.SubCmd = 0x25
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xB3
- self.SubCmd = 0x25
- self.CharmValueTotal = 0
- self.CharmValueWeek = 0
- self.CharmValueDay = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCPlayerCharmValueInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B3 25 玩家魅力值信息 //tagGCPlayerCharmValueInfo:
- Cmd:%s,
- SubCmd:%s,
- CharmValueTotal:%d,
- CharmValueWeek:%d,
- CharmValueDay:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.CharmValueTotal,
- self.CharmValueWeek,
- self.CharmValueDay
- )
- return DumpString
-
-
-m_NAtagGCPlayerCharmValueInfo=tagGCPlayerCharmValueInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCPlayerCharmValueInfo.Cmd,m_NAtagGCPlayerCharmValueInfo.SubCmd))] = m_NAtagGCPlayerCharmValueInfo
-
-
-#------------------------------------------------------
# B3 15 相关玩家在线状态变更同步 #tagGCRelatedPlayerOnlineState
class tagGCRelatedPlayerOnlineState(Structure):
@@ -32457,148 +24673,6 @@
m_NAtagGCRelatedPlayerOnlineState=tagGCRelatedPlayerOnlineState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRelatedPlayerOnlineState.Cmd,m_NAtagGCRelatedPlayerOnlineState.SubCmd))] = m_NAtagGCRelatedPlayerOnlineState
-
-
-#------------------------------------------------------
-# B3 20 送礼物成功通知 #tagGCSendGiftsOKList
-
-class tagGCSendGiftsOK(Structure):
- NameLen = 0 #(BYTE NameLen)
- Name = "" #(String Name)// 赠送方玩家名
- PlayerID = 0 #(DWORD PlayerID)// 赠送方玩家ID
- GiftNum = 0 #(WORD GiftNum)// 赠送礼物编号
- GiftCount = 0 #(DWORD GiftCount)// 赠送礼物数量
- SendTime = 0 #(DWORD SendTime)// 赠送时间戳
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
- self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiftNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.GiftCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SendTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.NameLen = 0
- self.Name = ""
- self.PlayerID = 0
- self.GiftNum = 0
- self.GiftCount = 0
- self.SendTime = 0
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += len(self.Name)
- length += 4
- length += 2
- length += 4
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.NameLen)
- data = CommFunc.WriteString(data, self.NameLen, self.Name)
- data = CommFunc.WriteDWORD(data, self.PlayerID)
- data = CommFunc.WriteWORD(data, self.GiftNum)
- data = CommFunc.WriteDWORD(data, self.GiftCount)
- data = CommFunc.WriteDWORD(data, self.SendTime)
- return data
-
- def OutputString(self):
- DumpString = '''
- NameLen:%d,
- Name:%s,
- PlayerID:%d,
- GiftNum:%d,
- GiftCount:%d,
- SendTime:%d
- '''\
- %(
- self.NameLen,
- self.Name,
- self.PlayerID,
- self.GiftNum,
- self.GiftCount,
- self.SendTime
- )
- return DumpString
-
-
-class tagGCSendGiftsOKList(Structure):
- Head = tagHead()
- Count = 0 #(WORD Count)
- SendGiftsOKList = list() #(vector<tagGCSendGiftsOK> SendGiftsOKList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x20
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
- for i in range(self.Count):
- temSendGiftsOKList = tagGCSendGiftsOK()
- _pos = temSendGiftsOKList.ReadData(_lpData, _pos)
- self.SendGiftsOKList.append(temSendGiftsOKList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB3
- self.Head.SubCmd = 0x20
- self.Count = 0
- self.SendGiftsOKList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 2
- for i in range(self.Count):
- length += self.SendGiftsOKList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteWORD(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.SendGiftsOKList[i].GetLength(), self.SendGiftsOKList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- SendGiftsOKList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCSendGiftsOKList=tagGCSendGiftsOKList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCSendGiftsOKList.Head.Cmd,m_NAtagGCSendGiftsOKList.Head.SubCmd))] = m_NAtagGCSendGiftsOKList
#------------------------------------------------------
@@ -45593,60 +37667,85 @@
# C2 03 跨服中心事件同步 #tagSSCrossCenterEvent
class tagSSCrossCenterEvent(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ServerID", c_int),
- ("ServerType", c_ubyte), #服务器类型
- ("EventValue", c_int), #事件值,yyyyMMddhh用于判断过天等
- ]
+ Head = tagHead()
+ ServerID = 0 #(DWORD ServerID)
+ ServerType = 0 #(BYTE ServerType)//服务器类型
+ EventValue = 0 #(DWORD EventValue)//事件值,yyyyMMddhh用于判断过天等
+ GMLen = 0 #(BYTE GMLen)
+ GMEvent = "" #(String GMEvent)
+ data = None
def __init__(self):
self.Clear()
- self.Cmd = 0xC2
- self.SubCmd = 0x03
+ self.Head.Cmd = 0xC2
+ self.Head.SubCmd = 0x03
return
- def ReadData(self, stringData, _pos=0, _len=0):
+ def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.ServerType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.EventValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.GMLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.GMEvent,_pos = CommFunc.ReadString(_lpData, _pos,self.GMLen)
+ return _pos
def Clear(self):
- self.Cmd = 0xC2
- self.SubCmd = 0x03
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xC2
+ self.Head.SubCmd = 0x03
self.ServerID = 0
self.ServerType = 0
self.EventValue = 0
+ self.GMLen = 0
+ self.GMEvent = ""
return
def GetLength(self):
- return sizeof(tagSSCrossCenterEvent)
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 1
+ length += 4
+ length += 1
+ length += len(self.GMEvent)
+
+ return length
def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteDWORD(data, self.ServerID)
+ data = CommFunc.WriteBYTE(data, self.ServerType)
+ data = CommFunc.WriteDWORD(data, self.EventValue)
+ data = CommFunc.WriteBYTE(data, self.GMLen)
+ data = CommFunc.WriteString(data, self.GMLen, self.GMEvent)
+ return data
def OutputString(self):
- DumpString = '''// C2 03 跨服中心事件同步 //tagSSCrossCenterEvent:
- Cmd:%s,
- SubCmd:%s,
+ DumpString = '''
+ Head:%s,
ServerID:%d,
ServerType:%d,
- EventValue:%d
+ EventValue:%d,
+ GMLen:%d,
+ GMEvent:%s
'''\
%(
- self.Cmd,
- self.SubCmd,
+ self.Head.OutputString(),
self.ServerID,
self.ServerType,
- self.EventValue
+ self.EventValue,
+ self.GMLen,
+ self.GMEvent
)
return DumpString
m_NAtagSSCrossCenterEvent=tagSSCrossCenterEvent()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSSCrossCenterEvent.Cmd,m_NAtagSSCrossCenterEvent.SubCmd))] = m_NAtagSSCrossCenterEvent
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSSCrossCenterEvent.Head.Cmd,m_NAtagSSCrossCenterEvent.Head.SubCmd))] = m_NAtagSSCrossCenterEvent
#------------------------------------------------------
--
Gitblit v1.8.0