xdh
2019-06-10 a9e5ae2ed13bffe82038291776ffa68f65becce6
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -829,7 +829,7 @@
    Head = tagHead()
    Type = 0    #(BYTE Type)//类型
    Count = 0    #(WORD Count)//数量
    UniversalGameRec = list()    #(vector<tagUniversalGameRec> UniversalGameRec)///size = Count
    UniversalGameRec = list()    #(vector<tagUniversalGameRec> UniversalGameRec)///size = Count
    data = None
    def __init__(self):
@@ -1133,7 +1133,7 @@
    FamilyID = 0    #(DWORD FamilyID)//家族ID
    ActionType = 0    #(BYTE ActionType)//类型
    Count = 0    #(WORD Count)//数量
    FamilyActionList = list()    #(vector<tagGCFamilyAction> FamilyActionList)//size = Count
    FamilyActionList = list()    #(vector<tagGCFamilyAction> FamilyActionList)//size = Count
    data = None
    def __init__(self):
@@ -2981,8 +2981,8 @@
    IsAlive = 0    #(BYTE IsAlive)// 是否存活
    RecordLen = 0    #(WORD RecordLen)// 长度
    KillRecord = ""    #(String KillRecord)// 最近击杀记录时间玩家名size = RecordLen
    RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒
    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒
    RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒
    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒
    data = None
    def __init__(self):
@@ -3376,8 +3376,8 @@
class  tagGCNotifyEquipClassEquip(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("Star", c_ubyte),
                  ("ItemID", c_int),
                  ("Star", c_ubyte),
                  ]
    def __init__(self):
@@ -3635,7 +3635,7 @@
    OrderIndex = 0    #(DWORD OrderIndex)//名次索引,0代表第一名
    ID = 0    #(DWORD ID)
    ID2 = 0    #(DWORD ID2)
    Name1 = ""    #(char Name1[33])//名字1,用来显示排序对象名字
    Name1 = ""    #(char Name1[33])//名字1,用来显示排序对象名字
    Name2 = ""    #(char Name2[33])//名字2
    Type2 = 0    #(BYTE Type2)//附加类型,用来表示排序对象的类型,比如,玩家所属职业门派,宠物类型等
    Value1 = 0    #(DWORD Value1)//排序依赖的值,比如,等级
@@ -3947,7 +3947,7 @@
    Count = 0    #(DWORD Count)//数量
    IsBind = 0    #(BYTE IsBind)//是否绑定
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)//自定义数据
    UserData = ""    #(String UserData)//自定义数据
    data = None
    def __init__(self):
@@ -4188,7 +4188,7 @@
    Name = ""    #(char Name[33])
    LV = 0    #(DWORD LV)//等级
    Job = 0    #(BYTE Job)
    RealmLV = 0    #(WORD RealmLV)//境界
    RealmLV = 0    #(WORD RealmLV)//境界
    data = None
    def __init__(self):
@@ -5629,7 +5629,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("StartTime", c_int),
                  ("StartTime", c_int),
                  ]
    def __init__(self):
@@ -5738,7 +5738,7 @@
class  tagFamilyArrestOverStateInfo(Structure):
    Head = tagHead()
    Count = 0    #(WORD Count)
    ArrestOverStateInfo = list()    #(vector<tagFamilyArrestOverState> ArrestOverStateInfo)///size = Count
    ArrestOverStateInfo = list()    #(vector<tagFamilyArrestOverState> ArrestOverStateInfo)///size = Count
    data = None
    def __init__(self):
@@ -5888,7 +5888,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("GroupType", c_ubyte),    # 分组 1 最近联系人 2 好友 3 仇人 4 黑名单
                  ("PlayerID", c_int),
                  ("PlayerID", c_int),
                  ("SortValue", c_int),    #最近联系人和仇人按时间排序
                  ]
@@ -6054,7 +6054,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("GroupType", c_ubyte),    # 分组 1 最近联系人 2 好友 3 仇人 4 黑名单
                  ("PlayerID", c_int),
                  ("PlayerID", c_int),
                  ]
    def __init__(self):
@@ -6249,8 +6249,8 @@
class  tagGCGroupPlayer(Structure):
    _pack_ = 1
    _fields_ = [
                  ("PlayerID", c_int),
                  ("SortValue", c_int),
                  ("PlayerID", c_int),
                  ("SortValue", c_int),
                  ]
    def __init__(self):
@@ -6430,7 +6430,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),
                  ("PlayerID", c_int),
                  ("OnlineType", c_ubyte),    #0不在线 1在线 2脱机在线
                  ]
@@ -6486,9 +6486,9 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),
                  ("RefreshType", c_ubyte),    #参考CDBPlayerRefresh__
                  ("Value", c_int),
                  ("PlayerID", c_int),
                  ("RefreshType", c_ubyte),    #参考CDBPlayerRefresh__
                  ("Value", c_int),
                  ]
    def __init__(self):
@@ -6543,7 +6543,7 @@
class  tagGCVoiceChat(Structure):
    Head = tagHead()
    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 5 区域
    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 5 区域
    SrcNameLen = 0    #(BYTE SrcNameLen)
    SrcName = ""    #(String SrcName)//size = SrcNameLen
    PlayerID = 0    #(DWORD PlayerID)
@@ -8059,7 +8059,7 @@
    ItemGUID = ""    #(char ItemGUID[40])
    AuctionType = 0    #(BYTE AuctionType)//拍品类型,0-全服拍品,1-仙盟拍品
    AddTime = ""    #(char AddTime[19])//上架时间
    BidderID = 0    #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID
    BidderID = 0    #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID
    BidderPrice = 0    #(DWORD BidderPrice)//最高竞拍价格
    BiddingTime = ""    #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
    data = None
@@ -9003,7 +9003,7 @@
class  tagGCTeamMemPrepareState(Structure):
    _pack_ = 1
    _fields_ = [
                  ("PlayerID", c_int),
                  ("PlayerID", c_int),
                  ("PrepareState", c_ubyte),    # 状态,0-未准备,1-已准备,2-拒绝
                  ]
@@ -9469,9 +9469,9 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PlayerID", c_int),
                  ("PlayerID", c_int),
                  ("RefreshType", c_ubyte),    #刷新类型,同0418属性类型
                  ("Value", c_int),
                  ("Value", c_int),
                  ]
    def __init__(self):
@@ -9741,8 +9741,8 @@
class  tagGCCrossRealmPKBillboardInfo(Structure):
    Head = tagHead()
    ZoneID = 0    #(BYTE ZoneID)// 赛区ID
    SeasonID = 0    #(BYTE SeasonID)// 赛季ID
    ZoneID = 0    #(BYTE ZoneID)// 赛区ID
    SeasonID = 0    #(BYTE SeasonID)// 赛季ID
    Count = 0    #(WORD Count)
    PKBillboardList = list()    #(vector<tagGCCrossRealmPKBillboardData> PKBillboardList)
    data = None
@@ -10519,7 +10519,7 @@
class  tagMCCoinToGoldCount(Structure):
    _pack_ = 1
    _fields_ = [
                  ("RecordID", c_ubyte),
                  ("RecordID", c_ubyte),
                  ("TodayPayCount", c_ushort),    # 今日已购买次数
                  ("TotalPayCount", c_int),    # 累计总购买次数
                  ]
@@ -10755,7 +10755,7 @@
    BackpackLV = 0    #(BYTE BackpackLV)//背包等级
    WarehouseLV = 0    #(BYTE WarehouseLV)//仓库等级
    TeamID = 0    #(DWORD TeamID)//队伍ID
    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票      类型为MoneyType
    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
    UseSilverType = 0    #(BYTE UseSilverType)//默认用的银子/银票
    AttackMode = 0    #(BYTE AttackMode)//攻击模式
    LastWeekOnlineTime = 0    #(DWORD LastWeekOnlineTime)//上周在线时间
@@ -11748,7 +11748,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MapID", c_ushort),
                  ("MapID", c_ushort),
                  ("FuncLineID", c_ushort),    #功能线路ID
                  ]
@@ -11804,7 +11804,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MapID", c_int),
                  ("MapID", c_int),
                  ("FuncLineID", c_ushort),    #功能线路ID
                  ]
@@ -11912,7 +11912,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Mode", c_ubyte),
                  ("Mode", c_ubyte),
                  ]
    def __init__(self):
@@ -12209,7 +12209,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("LockState", c_ubyte),
                  ("LockState", c_ubyte),
                  ]
    def __init__(self):
@@ -13577,7 +13577,7 @@
    Seting = 0    #(DWORD Seting)// 操作数据记录
    DecomposeCnt = 0    #(BYTE DecomposeCnt)// 分解件数进度
    GetItemLen = 0    #(WORD GetItemLen)
    GetItemData = ""    #(String GetItemData)//  获得物品信息 [[itemID,itemCount,isBind], [或itemID,itemCount,isBind,isAppoint], {或物品信息字典}, ...]
    GetItemData = ""    #(String GetItemData)//  获得物品信息 [[itemID,itemCount,isBind], [或itemID,itemCount,isBind,isAppoint], {或物品信息字典}, ...]
    data = None
    def __init__(self):
@@ -13665,8 +13665,8 @@
class  tagMCEquipPartStar(Structure):
    _pack_ = 1
    _fields_ = [
                  ("EquipPackIndex", c_ushort),
                  ("Star", c_ubyte),
                  ("EquipPackIndex", c_ushort),
                  ("Star", c_ubyte),
                  ]
    def __init__(self):
@@ -13810,7 +13810,7 @@
class  tagMCEquipPartXLAttr(Structure):
    EquipPlace = 0    #(BYTE EquipPlace)// 装备位
    EquipPlace = 0    #(BYTE EquipPlace)// 装备位
    XLAttrLV = 0    #(BYTE XLAttrLV)// 洗练等级
    XLAttrCnt = 0    #(BYTE XLAttrCnt)// 属性条数
    XLAttrList = list()    #(vector<tagMCEquipPartXLAttrValue> XLAttrList)// 属性列表,索引0的代表属性1,依次递增
@@ -13945,7 +13945,7 @@
class  tagMCFairyAdventuresData(Structure):
    _pack_ = 1
    _fields_ = [
                  ("EventID", c_ubyte),
                  ("EventID", c_ubyte),
                  ("Gear", c_ubyte),    #第几档
                  ("Condition", c_int),    #条件
                  ]
@@ -14346,7 +14346,7 @@
class  tagMCFBEncourageInfo(Structure):
    Head = tagHead()
    Cnt = 0    #(BYTE Cnt)//
    Cnt = 0    #(BYTE Cnt)//
    InfoList = list()    #(vector<tagMCFBEncourageCnt> InfoList)// 次数信息
    data = None
@@ -15136,7 +15136,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Cnt", c_int),
                  ("Cnt", c_int),
                  ]
    def __init__(self):
@@ -15186,9 +15186,9 @@
class  tagMCMagicWeaponInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("MWID", c_int),
                  ("LV", c_ubyte),
                  ("Exp", c_int),
                  ("MWID", c_int),
                  ("LV", c_ubyte),
                  ("Exp", c_int),
                  ("FBPassLV", c_ubyte),    #副本关卡
                  ("IsWear", c_ubyte),    #是否佩戴(仅适用王者法宝)
                  ]
@@ -15426,11 +15426,11 @@
class  tagMCEquipPartPlusLV(Structure):
    _pack_ = 1
    _fields_ = [
                  ("PackType", c_ubyte),
                  ("EquipIndex", c_ubyte),
                  ("EquipPartStarLV", c_ushort),
                  ("Proficiency", c_int),
                  ("EvolveLV", c_ubyte),
                  ("PackType", c_ubyte),
                  ("EquipIndex", c_ubyte),
                  ("EquipPartStarLV", c_ushort),
                  ("Proficiency", c_int),
                  ("EvolveLV", c_ubyte),
                  ]
    def __init__(self):
@@ -15725,7 +15725,7 @@
class  tagMCNPCAttackCount(Structure):
    _pack_ = 1
    _fields_ = [
                  ("NPCID", c_int),
                  ("NPCID", c_int),
                  ("AttackCount", c_ubyte),    #已攻击次数
                  ]
@@ -16017,7 +16017,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Record", c_ubyte),    #0-未领取 1-已领取
                  ("Record", c_ubyte),    #0-未领取 1-已领取
                  ]
    def __init__(self):
@@ -16270,8 +16270,8 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PrizeItem", c_int),
                  ("ItemCount", c_ubyte),
                  ("PrizeItem", c_int),
                  ("ItemCount", c_ubyte),
                  ]
    def __init__(self):
@@ -16317,7 +16317,7 @@
class  tagMCPlayerOnlinePrizeInfo(Structure):
    Head = tagHead()
    RemaindTime = 0    #(DWORD RemaindTime)//产生奖励剩余时间
    HasPrize = 0    #(BYTE HasPrize)//是否可以领取
    HasPrize = 0    #(BYTE HasPrize)//是否可以领取
    PrizeType = 0    #(BYTE PrizeType)//在线奖励类型
    PrizeCnt = 0    #(BYTE PrizeCnt)//在线奖励类型
    PrizeInfo = list()    #(vector<tagMCOnlinePrizeItem> PrizeInfo)//在线奖励类型
@@ -16464,7 +16464,7 @@
    _pack_ = 1
    _fields_ = [
                  ("AlchemyID", c_int),    # 丹 ID
                  ("StartTime", c_int),    # 开始炼的时间
                  ("StartTime", c_int),    # 开始炼的时间
                  ("AlchemyTimes", c_ushort),    # 炼的次数
                  ]
@@ -17147,7 +17147,7 @@
# A3 BC 通知装备位孔位宝石ID #tagMCStoneInfo
class  tagMCStoneMsg(Structure):
    EquipPlace = 0    #(BYTE EquipPlace)// 装备位
    EquipPlace = 0    #(BYTE EquipPlace)// 装备位
    MaxStoneCount = 0    #(BYTE MaxStoneCount)// 最大孔数
    StoneInfo = list()    #(vector<DWORD> StoneInfo)// 孔内宝石信息
    StoneBind = list()    #(vector<BYTE> StoneBind)// 孔内宝石是否绑定
@@ -18135,8 +18135,8 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PassLV", c_int),
                  ("YesterDayPassLV", c_int),
                  ("PassLV", c_int),
                  ("YesterDayPassLV", c_int),
                  ]
    def __init__(self):
@@ -18543,6 +18543,58 @@
m_NAtagMCChampionFamilyDailyReward=tagMCChampionFamilyDailyReward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCChampionFamilyDailyReward.Cmd,m_NAtagMCChampionFamilyDailyReward.SubCmd))] = m_NAtagMCChampionFamilyDailyReward
#------------------------------------------------------
# A5 02 家族活跃令兑换结果 #tagMCFamilyActivityExchangeResult
class  tagMCFamilyActivityExchangeResult(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Point", c_int),    # 活跃令
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        self.SubCmd = 0x02
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA5
        self.SubCmd = 0x02
        self.Point = 0
        return
    def GetLength(self):
        return sizeof(tagMCFamilyActivityExchangeResult)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 02 家族活跃令兑换结果 //tagMCFamilyActivityExchangeResult:
                                Cmd:%s,
                                SubCmd:%s,
                                Point:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Point
                                )
        return DumpString
m_NAtagMCFamilyActivityExchangeResult=tagMCFamilyActivityExchangeResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFamilyActivityExchangeResult.Cmd,m_NAtagMCFamilyActivityExchangeResult.SubCmd))] = m_NAtagMCFamilyActivityExchangeResult
#------------------------------------------------------
@@ -19118,7 +19170,7 @@
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("Exp", c_int),    # 当前VIP等级经验
                  ("VIPLV", c_int),    #vip等级
                  ("VIPLV", c_int),    #vip等级
                  ]
    def __init__(self):
@@ -19444,8 +19496,8 @@
class  tagMCCollectAwardItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("Count", c_ubyte),
                  ("ItemID", c_int),
                  ("Count", c_ubyte),
                  ("IsAuctionItem", c_ubyte),    #是否拍品
                  ]
@@ -19563,11 +19615,11 @@
class  tagMCDynamicBarrier(Structure):
    _pack_ = 1
    _fields_ = [
                  ("APosX", c_ushort),
                  ("APosY", c_ushort),
                  ("BPosX", c_ushort),
                  ("BPosY", c_ushort),
                  ("Angle", c_ushort),
                  ("APosX", c_ushort),
                  ("APosY", c_ushort),
                  ("BPosX", c_ushort),
                  ("BPosY", c_ushort),
                  ("Angle", c_ushort),
                  ]
    def __init__(self):
@@ -20170,8 +20222,8 @@
class  tagMCNPCCntInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("NPCID", c_int),
                  ("Cnt", c_int),
                  ("NPCID", c_int),
                  ("Cnt", c_int),
                  ]
    def __init__(self):
@@ -20345,13 +20397,13 @@
class  tagMCNPCInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ObjID", c_int),
                  ("NPCID", c_int),
                  ("NPCHP", c_int),
                  ("MaxHP", c_int),
                  ("ObjID", c_int),
                  ("NPCID", c_int),
                  ("NPCHP", c_int),
                  ("MaxHP", c_int),
                  ("IsActive", c_ubyte),    #这个NPC是否活着
                  ("PosX", c_ushort),
                  ("PosY", c_ushort),
                  ("PosX", c_ushort),
                  ("PosY", c_ushort),
                  ("RefreshSecond", c_int),    # 剩余多少秒刷新
                  ]
@@ -20493,9 +20545,9 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("NPCID", c_int),
                  ("PosX", c_ushort),
                  ("PosY", c_ushort),
                  ("NPCID", c_int),
                  ("PosX", c_ushort),
                  ("PosY", c_ushort),
                  ]
    def __init__(self):
@@ -20553,7 +20605,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("NPCID", c_int),
                  ("NPCID", c_int),
                  ]
    def __init__(self):
@@ -20605,7 +20657,7 @@
    PlayerID = 0    #(DWORD PlayerID)//玩家ID
    EquipClassLV = 0    #(BYTE EquipClassLV)
    ItemDataSize = 0    #(WORD ItemDataSize)
    ItemData = ""    #(String ItemData)//物品记录
    ItemData = ""    #(String ItemData)//物品记录
    data = None
    def __init__(self):
@@ -20787,9 +20839,9 @@
class  tagMCRunTaskAwardRecord(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Type", c_ubyte),
                  ("Num", c_int),
                  ("AwardState", c_ubyte),
                  ("Type", c_ubyte),
                  ("Num", c_int),
                  ("AwardState", c_ubyte),
                  ]
    def __init__(self):
@@ -20904,7 +20956,7 @@
    ItemDataSize = 0    #(DWORD ItemDataSize)
    ItemData = ""    #(String ItemData)//物品记录
    PlusDataSize = 0    #(DWORD PlusDataSize)
    PlusData = ""    #(String PlusData)//扩展记录
    PlusData = ""    #(String PlusData)//扩展记录
    data = None
    def __init__(self):
@@ -21000,7 +21052,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("GuideID", c_ushort),
                  ("GuideID", c_ushort),
                  ]
    def __init__(self):
@@ -21050,8 +21102,8 @@
class  tagRefreshType(Structure):
    _pack_ = 1
    _fields_ = [
                  ("RefreshType", c_ubyte),
                  ("Value", c_int),
                  ("RefreshType", c_ubyte),
                  ("Value", c_int),
                  ]
    def __init__(self):
@@ -21239,7 +21291,7 @@
class  tagMCItemDayUseCnt(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ("ItemID", c_int),
                  ("UseCnt", c_ushort),    # 今日已使用次数
                  ]
@@ -21349,7 +21401,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MakeType", c_ubyte),    #类型      TMakeItemType
                  ("MakeType", c_ubyte),    #类型        TMakeItemType
                  ("Result", c_ubyte),    #是否成功
                  ("MakeItemID", c_int),    #合成的物品ID
                  ]