From fcc7a25e81089b087cdbb8038c45e1d08379f3d9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 24 十一月 2020 17:13:08 +0800
Subject: [PATCH] 4872 【BT】直购礼包(含超级现金卡)购买后背包不足物品少给(补充限时礼包、每日礼包修改)

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 106f46b..7be48bd 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -17934,7 +17934,7 @@
     StoveLV = 0    #(BYTE StoveLV)// 炼丹炉等级
     StoveExp = 0    #(DWORD StoveExp)// 炼丹炉经验
     ItemID = 0    #(DWORD ItemID)// 合成物品id
-    ItemCnt = 0    #(BYTE ItemCnt)// 丹药数量
+    ItemCnt = 0    #(WORD ItemCnt)// 丹药数量
     StoveCnt = 0    #(WORD StoveCnt)// 丹药数量
     InfoList = list()    #(vector<tagMCPlayerStoveInfo> InfoList)
     data = None
@@ -17951,7 +17951,7 @@
         self.StoveLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.StoveExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.ItemCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.ItemCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.StoveCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
         for i in range(self.StoveCnt):
             temInfoList = tagMCPlayerStoveInfo()
@@ -17978,7 +17978,7 @@
         length += 1
         length += 4
         length += 4
-        length += 1
+        length += 2
         length += 2
         for i in range(self.StoveCnt):
             length += self.InfoList[i].GetLength()
@@ -17991,7 +17991,7 @@
         data = CommFunc.WriteBYTE(data, self.StoveLV)
         data = CommFunc.WriteDWORD(data, self.StoveExp)
         data = CommFunc.WriteDWORD(data, self.ItemID)
-        data = CommFunc.WriteBYTE(data, self.ItemCnt)
+        data = CommFunc.WriteWORD(data, self.ItemCnt)
         data = CommFunc.WriteWORD(data, self.StoveCnt)
         for i in range(self.StoveCnt):
             data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
@@ -19242,7 +19242,7 @@
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
                   ("LV", c_ubyte),    #等阶
-                  ("EatItemCount", c_ushort),    #当前阶已吃丹个数
+                  ("EatItemCount", c_int),    #当前阶已吃丹个数
                   ("SkinPlusState", c_int),    #幻化激活状态,按位存储是否激活,幻化编号ID对应位
                   ]
 
@@ -20985,6 +20985,58 @@
 
 
 #------------------------------------------------------
+# A7 20 创角奖励领奖状态 #tagMCCreateRoleAwardState
+
+class  tagMCCreateRoleAwardState(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("GetState", c_ubyte),    # 是否已领取
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xA7
+        self.SubCmd = 0x20
+        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 = 0xA7
+        self.SubCmd = 0x20
+        self.GetState = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagMCCreateRoleAwardState)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// A7 20 创角奖励领奖状态 //tagMCCreateRoleAwardState:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                GetState:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.GetState
+                                )
+        return DumpString
+
+
+m_NAtagMCCreateRoleAwardState=tagMCCreateRoleAwardState()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCreateRoleAwardState.Cmd,m_NAtagMCCreateRoleAwardState.SubCmd))] = m_NAtagMCCreateRoleAwardState
+
+
+#------------------------------------------------------
 # A7 13 动态障碍物状态 #tagMCDynamicBarrierState
 
 class  tagMCDynamicBarrier(Structure):

--
Gitblit v1.8.0