From 0574c6ba2197a64da47204ad1678ed74c901d3c7 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 04 七月 2019 16:04:58 +0800
Subject: [PATCH] 4393 【主干】【2.0.100】仙缘币2138支持物品使用获得仙缘币
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 364 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 238 insertions(+), 126 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 7d7bafe..aac90ff 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -2121,6 +2121,58 @@
#------------------------------------------------------
+# A4 0D 通知建盟次数 #tagGCServerCreatFamilyTimes
+
+class tagGCServerCreatFamilyTimes(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("Times", c_int), #建盟次数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x0D
+ 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 = 0xA4
+ self.SubCmd = 0x0D
+ self.Times = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCServerCreatFamilyTimes)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 0D 通知建盟次数 //tagGCServerCreatFamilyTimes:
+ Cmd:%s,
+ SubCmd:%s,
+ Times:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.Times
+ )
+ return DumpString
+
+
+m_NAtagGCServerCreatFamilyTimes=tagGCServerCreatFamilyTimes()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCServerCreatFamilyTimes.Cmd,m_NAtagGCServerCreatFamilyTimes.SubCmd))] = m_NAtagGCServerCreatFamilyTimes
+
+
+#------------------------------------------------------
#A4 01 查看申请入会的玩家信息 #tagGCViewFamilyRequestInfo
class tagtMemberInfo(Structure):
@@ -4774,6 +4826,58 @@
m_NAtagGCFairyCeremonyInfo=tagGCFairyCeremonyInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFairyCeremonyInfo.Head.Cmd,m_NAtagGCFairyCeremonyInfo.Head.SubCmd))] = m_NAtagGCFairyCeremonyInfo
+
+
+#------------------------------------------------------
+# AC 01 仙盟联赛信息通知 #tagGCFamilyWarInfo
+
+class tagGCFamilyWarInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("WorldLV", c_ushort), # 当前进行中的联赛世界等级
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAC
+ 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 = 0xAC
+ self.SubCmd = 0x01
+ self.WorldLV = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCFamilyWarInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AC 01 仙盟联赛信息通知 //tagGCFamilyWarInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ WorldLV:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.WorldLV
+ )
+ return DumpString
+
+
+m_NAtagGCFamilyWarInfo=tagGCFamilyWarInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyWarInfo.Cmd,m_NAtagGCFamilyWarInfo.SubCmd))] = m_NAtagGCFamilyWarInfo
#------------------------------------------------------
@@ -12573,7 +12677,8 @@
_fields_ = [
("ItemID", c_int), #果实物品ID
("EatCnt", c_ushort), #已使用个数
- ("AddItemCnt", c_int), #增幅丹使用个数
+ ("ItemAddCnt", c_int), #增幅丹增加上限
+ ("ItemBreakCnt", c_int), #增幅丹突破次数
]
def __init__(self):
@@ -12588,7 +12693,8 @@
def Clear(self):
self.ItemID = 0
self.EatCnt = 0
- self.AddItemCnt = 0
+ self.ItemAddCnt = 0
+ self.ItemBreakCnt = 0
return
def GetLength(self):
@@ -12601,12 +12707,14 @@
DumpString = '''// A3 39 玩家属性果实已使用个数信息//tagMCAttrFruitEatCntList:
ItemID:%d,
EatCnt:%d,
- AddItemCnt:%d
+ ItemAddCnt:%d,
+ ItemBreakCnt:%d
'''\
%(
self.ItemID,
self.EatCnt,
- self.AddItemCnt
+ self.ItemAddCnt,
+ self.ItemBreakCnt
)
return DumpString
@@ -12742,6 +12850,7 @@
("BossType", c_ubyte), #编号类型0-世界boss 1-boss之家
("KillCnt", c_int), #击杀次数
("ItemAddCnt", c_int), #物品增加次数
+ ("BuyCnt", c_ubyte), #购买次数
]
def __init__(self):
@@ -12757,6 +12866,7 @@
self.BossType = 0
self.KillCnt = 0
self.ItemAddCnt = 0
+ self.BuyCnt = 0
return
def GetLength(self):
@@ -12769,12 +12879,14 @@
DumpString = '''//A3 B7 当日累计攻击boss次数 //tagMCBOSSAttactCnt:
BossType:%d,
KillCnt:%d,
- ItemAddCnt:%d
+ ItemAddCnt:%d,
+ BuyCnt:%d
'''\
%(
self.BossType,
self.KillCnt,
- self.ItemAddCnt
+ self.ItemAddCnt,
+ self.BuyCnt
)
return DumpString
@@ -16461,6 +16573,7 @@
_fields_ = [
("AlchemyID", c_int), # 丹 ID
("StartTime", c_int), # 开始炼的时间
+ ("AlchemyTimes", c_ushort), # 炼的次数
]
def __init__(self):
@@ -16475,6 +16588,7 @@
def Clear(self):
self.AlchemyID = 0
self.StartTime = 0
+ self.AlchemyTimes = 0
return
def GetLength(self):
@@ -16486,11 +16600,13 @@
def OutputString(self):
DumpString = '''// A3 BF 通知客户端炼丹炉信息 //tagMCPlayerStoveMsg:
AlchemyID:%d,
- StartTime:%d
+ StartTime:%d,
+ AlchemyTimes:%d
'''\
%(
self.AlchemyID,
- self.StartTime
+ self.StartTime,
+ self.AlchemyTimes
)
return DumpString
@@ -16724,6 +16840,7 @@
("ExtraCnt", c_ubyte), # VIP额外次数
("ExtraData", c_ubyte), # 额外参数1
("ExtraData2", c_ubyte), # 额外参数2
+ ("HaveRecover", c_ubyte), # 已找回 1-全部已找回 2-非VIP已找回
]
def __init__(self):
@@ -16741,6 +16858,7 @@
self.ExtraCnt = 0
self.ExtraData = 0
self.ExtraData2 = 0
+ self.HaveRecover = 0
return
def GetLength(self):
@@ -16755,14 +16873,16 @@
RecoverCnt:%d,
ExtraCnt:%d,
ExtraData:%d,
- ExtraData2:%d
+ ExtraData2:%d,
+ HaveRecover:%d
'''\
%(
self.Index,
self.RecoverCnt,
self.ExtraCnt,
self.ExtraData,
- self.ExtraData2
+ self.ExtraData2,
+ self.HaveRecover
)
return DumpString
@@ -18535,6 +18655,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
#------------------------------------------------------
@@ -21334,6 +21506,58 @@
#------------------------------------------------------
+# A8 15 灵器突破结果 #tagMCLingQiEquipBreakResult
+
+class tagMCLingQiEquipBreakResult(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("MakeItemID", c_int), #突破后的物品ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA8
+ self.SubCmd = 0x15
+ 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 = 0xA8
+ self.SubCmd = 0x15
+ self.MakeItemID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagMCLingQiEquipBreakResult)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A8 15 灵器突破结果 //tagMCLingQiEquipBreakResult:
+ Cmd:%s,
+ SubCmd:%s,
+ MakeItemID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.MakeItemID
+ )
+ return DumpString
+
+
+m_NAtagMCLingQiEquipBreakResult=tagMCLingQiEquipBreakResult()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCLingQiEquipBreakResult.Cmd,m_NAtagMCLingQiEquipBreakResult.SubCmd))] = m_NAtagMCLingQiEquipBreakResult
+
+
+#------------------------------------------------------
# A8 14 合成结果通知 #tagMCMakeItemAnswer
class tagMCMakeItemAnswer(Structure):
@@ -21955,118 +22179,6 @@
m_NAtagMCVirtualItemDrop=tagMCVirtualItemDrop()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCVirtualItemDrop.Head.Cmd,m_NAtagMCVirtualItemDrop.Head.SubCmd))] = m_NAtagMCVirtualItemDrop
-
-
-#------------------------------------------------------
-# A8 15 诛仙装备分解结果通知 #tagMCZhuXianDecomposeResult
-
-class tagMCZhuXianDecomposeItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int), #物品ID
- ("ItemCnt", c_ubyte), #物品数量
- ("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(tagMCZhuXianDecomposeItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A8 15 诛仙装备分解结果通知 //tagMCZhuXianDecomposeResult:
- ItemID:%d,
- ItemCnt:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCnt,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCZhuXianDecomposeResult(Structure):
- Head = tagHead()
- Cnt = 0 #(BYTE Cnt)//数量
- ItemList = list() #(vector<tagMCZhuXianDecomposeItem> ItemList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA8
- self.Head.SubCmd = 0x15
- 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):
- temItemList = tagMCZhuXianDecomposeItem()
- _pos = temItemList.ReadData(_lpData, _pos)
- self.ItemList.append(temItemList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA8
- self.Head.SubCmd = 0x15
- self.Cnt = 0
- self.ItemList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Cnt):
- length += self.ItemList[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.ItemList[i].GetLength(), self.ItemList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Cnt:%d,
- ItemList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Cnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCZhuXianDecomposeResult=tagMCZhuXianDecomposeResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCZhuXianDecomposeResult.Head.Cmd,m_NAtagMCZhuXianDecomposeResult.Head.SubCmd))] = m_NAtagMCZhuXianDecomposeResult
#------------------------------------------------------
@@ -28083,7 +28195,7 @@
Head = tagHead()
PointAttrIDCount = 0 #(BYTE PointAttrIDCount)// 点类型个数
PointAttrIDList = list() #(vector<BYTE> PointAttrIDList)// 点类型列表
- PointValueList = list() #(vector<WORD> PointValueList)// 点类型对应已加自由点数列表
+ PointValueList = list() #(vector<DWORD> PointValueList)// 点类型对应已加自由点数列表
data = None
def __init__(self):
@@ -28100,7 +28212,7 @@
value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
self.PointAttrIDList.append(value)
for i in range(self.PointAttrIDCount):
- value,_pos=CommFunc.ReadWORD(_lpData,_pos)
+ value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
self.PointValueList.append(value)
return _pos
@@ -28119,7 +28231,7 @@
length += self.Head.GetLength()
length += 1
length += 1 * self.PointAttrIDCount
- length += 2 * self.PointAttrIDCount
+ length += 4 * self.PointAttrIDCount
return length
@@ -28130,7 +28242,7 @@
for i in range(self.PointAttrIDCount):
data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i])
for i in range(self.PointAttrIDCount):
- data = CommFunc.WriteWORD(data, self.PointValueList[i])
+ data = CommFunc.WriteDWORD(data, self.PointValueList[i])
return data
def OutputString(self):
--
Gitblit v1.8.0