From ffa8a645ed6a92a3c723bbf5c7f1eb4d5425c826 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 17 十一月 2021 15:15:34 +0800
Subject: [PATCH] 9341 【BT5】【主干】【后端】情缘系统(优化情缘系统)

---
 ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py |  279 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 252 insertions(+), 27 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
index a04b939..68a9d5b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
@@ -2121,7 +2121,6 @@
     _fields_ = [
         ('PlayerID', ctypes.c_ulong),
         ('TagID', ctypes.c_ulong),
-        ('Intimacy', ctypes.c_ulong),
         ('ADOResult', ctypes.c_ulong),
     ]
 
@@ -2141,7 +2140,6 @@
         self.clear()
         self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
         self.TagID, pos = CommFunc.ReadDWORD(buf, pos)
-        self.Intimacy, pos = CommFunc.ReadDWORD(buf, pos)
         return self.getLength()
 
 
@@ -2157,12 +2155,10 @@
         output = '''//玩家好友表#tagDBPyPlayerFriend:
             PlayerID = %s,
             TagID = %s,
-            Intimacy = %s,
             ADOResult = %s,
             '''%(
                 self.PlayerID,
                 self.TagID,
-                self.Intimacy,
                 self.ADOResult,
             )
         return output
@@ -2232,10 +2228,6 @@
         ('RealmLV', ctypes.c_ushort),
         ('OnlineType', ctypes.c_ubyte),
         ('RefCount', ctypes.c_ulong),
-        ('CoupleID', ctypes.c_ulong),
-        ('CoupleName', ctypes.c_char * 33),
-        ('CouplePriceMaxID', ctypes.c_ubyte),
-        ('CoupleBreakOffline', ctypes.c_ubyte),
         ('ADOResult', ctypes.c_ulong),
     ]
 
@@ -2260,10 +2252,6 @@
         self.RealmLV, pos = CommFunc.ReadWORD(buf, pos)
         self.OnlineType, pos = CommFunc.ReadBYTE(buf, pos)
         self.RefCount, pos = CommFunc.ReadDWORD(buf, pos)
-        self.CoupleID, pos = CommFunc.ReadDWORD(buf, pos)
-        self.CoupleName, pos = CommFunc.ReadString(buf, pos, 33)
-        self.CouplePriceMaxID, pos = CommFunc.ReadBYTE(buf, pos)
-        self.CoupleBreakOffline, pos = CommFunc.ReadBYTE(buf, pos)
         return self.getLength()
 
 
@@ -2284,10 +2272,6 @@
             RealmLV = %s,
             OnlineType = %s,
             RefCount = %s,
-            CoupleID = %s,
-            CoupleName = %s,
-            CouplePriceMaxID = %s,
-            CoupleBreakOffline = %s,
             ADOResult = %s,
             '''%(
                 self.PlayerID,
@@ -2297,10 +2281,6 @@
                 self.RealmLV,
                 self.OnlineType,
                 self.RefCount,
-                self.CoupleID,
-                self.CoupleName,
-                self.CouplePriceMaxID,
-                self.CoupleBreakOffline,
                 self.ADOResult,
             )
         return output
@@ -2311,11 +2291,256 @@
             self.PlayerName = Str
         else:
             self.PlayerName = Str[:33]
-            
-    def SetCoupleName(self,Str):
-        if len(Str)<=33:
-            self.CoupleName = Str
-        else:
-            self.CoupleName = Str[:33]
-            
 
+
+# 玩家亲密表 #tagDBPyPlayerIntimacy
+class tagDBPyPlayerIntimacy(Structure):
+    _pack_ = 1
+    _fields_ = [
+        ('PlayerID', ctypes.c_ulong),
+        ('TagID', ctypes.c_ulong),
+        ('Intimacy', ctypes.c_ulong),
+        ('ADOResult', ctypes.c_ulong),
+    ]
+
+    def __init__(self):
+        Structure.__init__(self)
+        self.clear()
+
+
+    def clear(self):
+        memset(addressof(self), 0, self.getLength())
+
+    def readData(self, buf, pos = 0, length = 0):
+        if not pos <= length:
+            return -1
+        if len(buf) < pos + self.getLength():
+            return -1
+        self.clear()
+        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.TagID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.Intimacy, pos = CommFunc.ReadDWORD(buf, pos)
+        return self.getLength()
+
+
+    def getBuffer(self):
+        buf = create_string_buffer(self.getLength())
+        memmove(addressof(buf), addressof(self), self.getLength())
+        return string_at(addressof(buf), self.getLength())
+
+    def getLength(self):
+        return sizeof(tagDBPyPlayerIntimacy)
+
+    def outputString(self):
+        output = '''// 玩家亲密表 #tagDBPyPlayerIntimacy:
+            PlayerID = %s,
+            TagID = %s,
+            Intimacy = %s,
+            ADOResult = %s,
+            '''%(
+                self.PlayerID,
+                self.TagID,
+                self.Intimacy,
+                self.ADOResult,
+            )
+        return output
+
+
+# 魅力贡献值记录表 #tagDBPyCharmValueRec
+class tagDBPyCharmValueRec(Structure):
+    _pack_ = 1
+    _fields_ = [
+        ('PlayerID', ctypes.c_ulong),
+        ('Type', ctypes.c_ubyte),
+        ('OfferPlayerID', ctypes.c_ulong),
+        ('CharmValue', ctypes.c_ulong),
+        ('UpdTime', ctypes.c_ulong),
+        ('ADOResult', ctypes.c_ulong),
+    ]
+
+    def __init__(self):
+        Structure.__init__(self)
+        self.clear()
+
+
+    def clear(self):
+        memset(addressof(self), 0, self.getLength())
+
+    def readData(self, buf, pos = 0, length = 0):
+        if not pos <= length:
+            return -1
+        if len(buf) < pos + self.getLength():
+            return -1
+        self.clear()
+        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.Type, pos = CommFunc.ReadBYTE(buf, pos)
+        self.OfferPlayerID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.CharmValue, pos = CommFunc.ReadDWORD(buf, pos)
+        self.UpdTime, pos = CommFunc.ReadDWORD(buf, pos)
+        return self.getLength()
+
+
+    def getBuffer(self):
+        buf = create_string_buffer(self.getLength())
+        memmove(addressof(buf), addressof(self), self.getLength())
+        return string_at(addressof(buf), self.getLength())
+
+    def getLength(self):
+        return sizeof(tagDBPyCharmValueRec)
+
+    def outputString(self):
+        output = '''// 魅力贡献值记录表 #tagDBPyCharmValueRec:
+            PlayerID = %s,
+            Type = %s,
+            OfferPlayerID = %s,
+            CharmValue = %s,
+            UpdTime = %s,
+            ADOResult = %s,
+            '''%(
+                self.PlayerID,
+                self.Type,
+                self.OfferPlayerID,
+                self.CharmValue,
+                self.UpdTime,
+                self.ADOResult,
+            )
+        return output
+
+
+# 未通知的情缘送礼记录 #tagDBPyUnNotifyLoveGiftRec
+class tagDBPyUnNotifyLoveGiftRec(Structure):
+    _pack_ = 1
+    _fields_ = [
+        ('PlayerID', ctypes.c_ulong),
+        ('GivePlayerID', ctypes.c_ulong),
+        ('GiftNum', ctypes.c_ushort),
+        ('GiftCount', ctypes.c_ulong),
+        ('SendTime', ctypes.c_ulong),
+        ('ADOResult', ctypes.c_ulong),
+    ]
+
+    def __init__(self):
+        Structure.__init__(self)
+        self.clear()
+
+
+    def clear(self):
+        memset(addressof(self), 0, self.getLength())
+
+    def readData(self, buf, pos = 0, length = 0):
+        if not pos <= length:
+            return -1
+        if len(buf) < pos + self.getLength():
+            return -1
+        self.clear()
+        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.GivePlayerID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.GiftNum, pos = CommFunc.ReadWORD(buf, pos)
+        self.GiftCount, pos = CommFunc.ReadDWORD(buf, pos)
+        self.SendTime, pos = CommFunc.ReadDWORD(buf, pos)
+        return self.getLength()
+
+
+    def getBuffer(self):
+        buf = create_string_buffer(self.getLength())
+        memmove(addressof(buf), addressof(self), self.getLength())
+        return string_at(addressof(buf), self.getLength())
+
+    def getLength(self):
+        return sizeof(tagDBPyUnNotifyLoveGiftRec)
+
+    def outputString(self):
+        output = '''// 未通知的情缘送礼记录 #tagDBPyUnNotifyLoveGiftRec:
+            PlayerID = %s,
+            GivePlayerID = %s,
+            GiftNum = %s,
+            GiftCount = %s,
+            SendTime = %s,
+            ADOResult = %s,
+            '''%(
+                self.PlayerID,
+                self.GivePlayerID,
+                self.GiftNum,
+                self.GiftCount,
+                self.SendTime,
+                self.ADOResult,
+            )
+        return output
+
+
+# 伴侣表 #tagDBPyCouple
+class tagDBPyCouple(Structure):
+    _pack_ = 1
+    _fields_ = [
+        ('PlayerIDA', ctypes.c_ulong),
+        ('PlayerIDB', ctypes.c_ulong),
+        ('NewMarryTime', ctypes.c_ulong),
+        ('MarryTime', ctypes.c_ulong),
+        ('BridePriceState', ctypes.c_ulong),
+        ('BreakRequestID', ctypes.c_ulong),
+        ('BreakRequestTime', ctypes.c_ulong),
+        ('BreakRequestTimeA', ctypes.c_ulong),
+        ('BreakRequestTimeB', ctypes.c_ulong),
+        ('ADOResult', ctypes.c_ulong),
+    ]
+
+    def __init__(self):
+        Structure.__init__(self)
+        self.clear()
+
+
+    def clear(self):
+        memset(addressof(self), 0, self.getLength())
+
+    def readData(self, buf, pos = 0, length = 0):
+        if not pos <= length:
+            return -1
+        if len(buf) < pos + self.getLength():
+            return -1
+        self.clear()
+        self.PlayerIDA, pos = CommFunc.ReadDWORD(buf, pos)
+        self.PlayerIDB, pos = CommFunc.ReadDWORD(buf, pos)
+        self.NewMarryTime, pos = CommFunc.ReadDWORD(buf, pos)
+        self.MarryTime, pos = CommFunc.ReadDWORD(buf, pos)
+        self.BridePriceState, pos = CommFunc.ReadDWORD(buf, pos)
+        self.BreakRequestID, pos = CommFunc.ReadDWORD(buf, pos)
+        self.BreakRequestTime, pos = CommFunc.ReadDWORD(buf, pos)
+        self.BreakRequestTimeA, pos = CommFunc.ReadDWORD(buf, pos)
+        self.BreakRequestTimeB, pos = CommFunc.ReadDWORD(buf, pos)
+        return self.getLength()
+
+
+    def getBuffer(self):
+        buf = create_string_buffer(self.getLength())
+        memmove(addressof(buf), addressof(self), self.getLength())
+        return string_at(addressof(buf), self.getLength())
+
+    def getLength(self):
+        return sizeof(tagDBPyCouple)
+
+    def outputString(self):
+        output = '''// 伴侣表 #tagDBPyCouple:
+            PlayerIDA = %s,
+            PlayerIDB = %s,
+            NewMarryTime = %s,
+            MarryTime = %s,
+            BridePriceState = %s,
+            BreakRequestID = %s,
+            BreakRequestTime = %s,
+            BreakRequestTimeA = %s,
+            BreakRequestTimeB = %s,
+            ADOResult = %s,
+            '''%(
+                self.PlayerIDA,
+                self.PlayerIDB,
+                self.NewMarryTime,
+                self.MarryTime,
+                self.BridePriceState,
+                self.BreakRequestID,
+                self.BreakRequestTime,
+                self.BreakRequestTimeA,
+                self.BreakRequestTimeB,
+                self.ADOResult,
+            )
+        return output
+            

--
Gitblit v1.8.0