From e9ec5c336b25726e16385e290227e2e8677cebb7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 23 四月 2021 18:13:23 +0800
Subject: [PATCH] 8901 【BT2】【后端】全服红包(优化红包系统 1.全服红包去除总上限个数,改为限制下发数量,并在领取红包后补充相应的红包数量; 2.全服未开放可领的红包仅个人可见; 3.红包超时间隔改为5分钟检查一次 4.修改封包)

---
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 631dd3a..2a5ea16 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -1272,7 +1272,8 @@
 # A4 05 家族红包抢的信息 #tagGCFamilyRedPacketGrabInfo
 
 class  tagFGrabRedPacketInfo(Structure):
-    Name = ""    #(char Name[33])//名字
+    NameLen = 0    #(BYTE NameLen)
+    Name = ""    #(String Name)//名字
     PlayeJob = 0    #(BYTE PlayeJob)//玩家职业
     MoneyNum = 0    #(DWORD MoneyNum)//金钱数量
     data = None
@@ -1283,12 +1284,14 @@
 
     def ReadData(self, _lpData, _pos=0, _Len=0):
         self.Clear()
-        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33)
+        self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
         self.PlayeJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.MoneyNum,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
+        self.NameLen = 0
         self.Name = ""
         self.PlayeJob = 0
         self.MoneyNum = 0
@@ -1296,7 +1299,8 @@
 
     def GetLength(self):
         length = 0
-        length += 33
+        length += 1
+        length += len(self.Name)
         length += 1
         length += 4
 
@@ -1304,18 +1308,21 @@
 
     def GetBuffer(self):
         data = ''
-        data = CommFunc.WriteString(data, 33, self.Name)
+        data = CommFunc.WriteBYTE(data, self.NameLen)
+        data = CommFunc.WriteString(data, self.NameLen, self.Name)
         data = CommFunc.WriteBYTE(data, self.PlayeJob)
         data = CommFunc.WriteDWORD(data, self.MoneyNum)
         return data
 
     def OutputString(self):
         DumpString = '''
+                                NameLen:%d,
                                 Name:%s,
                                 PlayeJob:%d,
                                 MoneyNum:%d
                                 '''\
                                 %(
+                                self.NameLen,
                                 self.Name,
                                 self.PlayeJob,
                                 self.MoneyNum
@@ -1402,7 +1409,8 @@
 class  tagFRedPacketInfo(Structure):
     RedPacketID = 0    #(DWORD RedPacketID)//红包唯一ID
     PlayerID = 0    #(DWORD PlayerID)//玩家ID
-    Name = ""    #(char Name[33])//玩家名字
+    NameLen = 0    #(BYTE NameLen)
+    Name = ""    #(String Name)//玩家名字
     Time = 0    #(DWORD Time)//时间
     PlayeJob = 0    #(BYTE PlayeJob)//玩家职业
     MoneyType = 0    #(BYTE MoneyType)//金钱类型
@@ -1410,7 +1418,8 @@
     GetWay = 0    #(BYTE GetWay)//获得途径
     PacketCnt = 0    #(BYTE PacketCnt)//可抢个数
     State = 0    #(BYTE State)//0未发,1未领取,2已领取,3全部领完
-    Wish = ""    #(char Wish[33])//祝福语
+    WishLen = 0    #(BYTE WishLen)
+    Wish = ""    #(String Wish)//祝福语
     IsAnonymous = 0    #(BYTE IsAnonymous)//是否匿名
     data = None
 
@@ -1422,7 +1431,8 @@
         self.Clear()
         self.RedPacketID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33)
+        self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
         self.Time,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.PlayeJob,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.MoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
@@ -1430,13 +1440,15 @@
         self.GetWay,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.PacketCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.State,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Wish,_pos = CommFunc.ReadString(_lpData, _pos,33)
+        self.WishLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.Wish,_pos = CommFunc.ReadString(_lpData, _pos,self.WishLen)
         self.IsAnonymous,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         return _pos
 
     def Clear(self):
         self.RedPacketID = 0
         self.PlayerID = 0
+        self.NameLen = 0
         self.Name = ""
         self.Time = 0
         self.PlayeJob = 0
@@ -1445,6 +1457,7 @@
         self.GetWay = 0
         self.PacketCnt = 0
         self.State = 0
+        self.WishLen = 0
         self.Wish = ""
         self.IsAnonymous = 0
         return
@@ -1453,7 +1466,8 @@
         length = 0
         length += 4
         length += 4
-        length += 33
+        length += 1
+        length += len(self.Name)
         length += 4
         length += 1
         length += 1
@@ -1461,7 +1475,8 @@
         length += 1
         length += 1
         length += 1
-        length += 33
+        length += 1
+        length += len(self.Wish)
         length += 1
 
         return length
@@ -1470,7 +1485,8 @@
         data = ''
         data = CommFunc.WriteDWORD(data, self.RedPacketID)
         data = CommFunc.WriteDWORD(data, self.PlayerID)
-        data = CommFunc.WriteString(data, 33, self.Name)
+        data = CommFunc.WriteBYTE(data, self.NameLen)
+        data = CommFunc.WriteString(data, self.NameLen, self.Name)
         data = CommFunc.WriteDWORD(data, self.Time)
         data = CommFunc.WriteBYTE(data, self.PlayeJob)
         data = CommFunc.WriteBYTE(data, self.MoneyType)
@@ -1478,7 +1494,8 @@
         data = CommFunc.WriteBYTE(data, self.GetWay)
         data = CommFunc.WriteBYTE(data, self.PacketCnt)
         data = CommFunc.WriteBYTE(data, self.State)
-        data = CommFunc.WriteString(data, 33, self.Wish)
+        data = CommFunc.WriteBYTE(data, self.WishLen)
+        data = CommFunc.WriteString(data, self.WishLen, self.Wish)
         data = CommFunc.WriteBYTE(data, self.IsAnonymous)
         return data
 
@@ -1486,6 +1503,7 @@
         DumpString = '''
                                 RedPacketID:%d,
                                 PlayerID:%d,
+                                NameLen:%d,
                                 Name:%s,
                                 Time:%d,
                                 PlayeJob:%d,
@@ -1494,12 +1512,14 @@
                                 GetWay:%d,
                                 PacketCnt:%d,
                                 State:%d,
+                                WishLen:%d,
                                 Wish:%s,
                                 IsAnonymous:%d
                                 '''\
                                 %(
                                 self.RedPacketID,
                                 self.PlayerID,
+                                self.NameLen,
                                 self.Name,
                                 self.Time,
                                 self.PlayeJob,
@@ -1508,6 +1528,7 @@
                                 self.GetWay,
                                 self.PacketCnt,
                                 self.State,
+                                self.WishLen,
                                 self.Wish,
                                 self.IsAnonymous
                                 )

--
Gitblit v1.8.0