From a9e5ae2ed13bffe82038291776ffa68f65becce6 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 10 六月 2019 10:57:18 +0800
Subject: [PATCH] 7145 【2.0】【后端】仙盟新增兑换活跃令功能

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py |  129 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 103 insertions(+), 26 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index aa0e755..82e2247 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -2228,7 +2228,7 @@
 
 class  tagCGVoiceChat(Structure):
     Head = tagHead()
-    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域
+    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域    
     TargetNameLen = 0    #(BYTE TargetNameLen)
     TargetName = ""    #(String TargetName)//size = TargetNameLen
     TargetID = 0    #(DWORD TargetID)// 默认发玩家ID,没有ID才发名称
@@ -2326,7 +2326,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("TagID", c_int),
+                  ("TagID", c_int),    
                   ("Answer", c_ubyte),    #0: 拒绝 1: 接受
                   ]
 
@@ -2382,7 +2382,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("ItemID", c_int),
+                  ("ItemID", c_int),    
                   ("IsAttention", c_ubyte),    #是否关注,取消关注发0
                   ]
 
@@ -3396,8 +3396,8 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("ZoneID", c_ubyte),    # 赛区ID
-                  ("SeasonID", c_ubyte),    # 赛季ID
+                  ("ZoneID", c_ubyte),    # 赛区ID    
+                  ("SeasonID", c_ubyte),    # 赛季ID    
                   ]
 
     def __init__(self):
@@ -3676,7 +3676,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("Adult", c_ubyte),
+                  ("Adult", c_ubyte),    
                   ]
 
     def __init__(self):
@@ -4029,7 +4029,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MapID", c_int),
+                  ("MapID", c_int),    
                   ]
 
     def __init__(self):
@@ -4129,8 +4129,8 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MapID", c_int),
-                  ("FuncLineID", c_ushort),
+                  ("MapID", c_int),    
+                  ("FuncLineID", c_ushort),    
                   ]
 
     def __init__(self):
@@ -4185,7 +4185,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("ObjID", c_int),
+                  ("ObjID", c_int),    
                   ]
 
     def __init__(self):
@@ -4341,7 +4341,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("TaskID", c_int),
+                  ("TaskID", c_int),    
                   ("RewardPer", c_ushort),    # 奖励百分比, 默认100;  150则代表1.5倍
                   ]
 
@@ -4397,7 +4397,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("NPCID", c_int),
+                  ("NPCID", c_int),    
                   ("EndType", c_ubyte),    # 0-默认;1-跳过
                   ]
 
@@ -4781,8 +4781,8 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("ObjID", c_int),
-                  ("BossID", c_int),
+                  ("ObjID", c_int),    
+                  ("BossID", c_int),    
                   ]
 
     def __init__(self):
@@ -4837,8 +4837,8 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("ObjID", c_int),
-                  ("NPCID", c_int),
+                  ("ObjID", c_int),    
+                  ("NPCID", c_int),    
                   ("QueryType", c_ubyte),    # 0-实时仙盟伤血,1-历史仙盟伤血,2-实时玩家伤血,3-历史玩家伤血
                   ]
 
@@ -5119,7 +5119,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MissionID", c_int),
+                  ("MissionID", c_int),    
                   ("DoType", c_ubyte),    # 0-只完成本次;1-完成所有环任务
                   ]
 
@@ -5336,7 +5336,7 @@
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
                   ("GuideIndex", c_ubyte),    # 记录位索引, 发送255时,代表设置全部
-                  ("IsOK", c_ubyte),
+                  ("IsOK", c_ubyte),    
                   ]
 
     def __init__(self):
@@ -5467,7 +5467,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MissionID", c_int),
+                  ("MissionID", c_int),    
                   ]
 
     def __init__(self):
@@ -5666,7 +5666,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("PlayerID", c_int),
+                  ("PlayerID", c_int),    
                   ("EquipClassLV", c_ubyte),    #大于0为查看指定境界阶装备信息,  0为查看默认信息
                   ]
 
@@ -5898,7 +5898,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("Seting", c_int),
+                  ("Seting", c_int),    
                   ]
 
     def __init__(self):
@@ -5953,7 +5953,7 @@
                   ("SrcBackpack", c_ubyte),    #源背包类型
                   ("DesBackPack", c_ubyte),    #目标背包类型
                   ("SrcIndex", c_ushort),    #转移物品索引位置;当全部转移时此值无效
-                  ("IsAll", c_ubyte),    #是否全部转移
+                  ("IsAll", c_ubyte),    #是否全部转移        
                   ]
 
     def __init__(self):
@@ -6839,7 +6839,7 @@
                   ("SubCmd", c_ubyte),
                   ("PackType", c_ubyte),    #背包类型
                   ("ItemIndex", c_ushort),    #物品在背包中索引
-                  ("DropPosX", c_ushort),
+                  ("DropPosX", c_ushort),    
                   ("DropPosY", c_ushort),    #掉落物品
                   ]
 
@@ -7895,8 +7895,8 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MapID", c_int),
-                  ("LineID", c_ushort),
+                  ("MapID", c_int),    
+                  ("LineID", c_ushort),    
                   ("Cnt", c_ubyte),    # 扫荡次数
                   ("IsFinish", c_ubyte),    # 是否立即完成; 0-否;1-花钱立即完成;2-客户端自行倒计时间到后发送2代表领取扫荡完成奖励
                   ("DataEx", c_int),    #附带信息
@@ -10073,7 +10073,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MWID", c_int),
+                  ("MWID", c_int),    
                   ]
 
     def __init__(self):
@@ -11660,6 +11660,83 @@
 
 
 #------------------------------------------------------
+# A6 06 家族兑换活跃令 #tagCMFamilyActivityExchange
+
+class  tagCMFamilyActivityExchange(Structure):
+    Head = tagHead()
+    Count = 0    #(BYTE Count)//材料所在背包索引的数量
+    IndexList = list()    #(vector<WORD> IndexList)//材料所在背包索引列表
+    ItemIDList = list()    #(vector<DWORD> ItemIDList)//材料所在背包物品ID列表
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xA6
+        self.Head.SubCmd = 0x06
+        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):
+            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
+            self.IndexList.append(value)
+        for i in range(self.Count):
+            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+            self.ItemIDList.append(value)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xA6
+        self.Head.SubCmd = 0x06
+        self.Count = 0
+        self.IndexList = list()
+        self.ItemIDList = list()
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 1
+        length += 2 * self.Count
+        length += 4 * self.Count
+
+        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.WriteWORD(data, self.IndexList[i])
+        for i in range(self.Count):
+            data = CommFunc.WriteDWORD(data, self.ItemIDList[i])
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                Count:%d,
+                                IndexList:%s,
+                                ItemIDList:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.Count,
+                                "...",
+                                "..."
+                                )
+        return DumpString
+
+
+m_NAtagCMFamilyActivityExchange=tagCMFamilyActivityExchange()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyActivityExchange.Head.Cmd,m_NAtagCMFamilyActivityExchange.Head.SubCmd))] = m_NAtagCMFamilyActivityExchange
+
+
+#------------------------------------------------------
 # A6 05  家族捐献兽粮 #tagCMFamilyDonate
 
 class  tagCMFamilyDonate(Structure):

--
Gitblit v1.8.0