From ed70a10c9930216ebc72713e37e21cb1d33349e2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 10 十二月 2019 18:08:07 +0800
Subject: [PATCH] 8346 【恺英】【后端】协助系统(增加协助感谢礼盒表)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py                      |   20 ++++++++++
 ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py                   |   13 ++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |   23 +++++++++++
 PySysDB/PySysDBPY.h                                                                  |    8 ++++
 PySysDB/PySysDBG.h                                                                   |    8 ++++
 5 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/PySysDB/PySysDBG.h b/PySysDB/PySysDBG.h
index 6a7d795..d7f1f7c 100644
--- a/PySysDB/PySysDBG.h
+++ b/PySysDB/PySysDBG.h
@@ -690,6 +690,14 @@
 	list		RankAuctionItem;	//拍品奖励[[拍品ID,个数], ...]
 };
 
+//协助感谢礼盒表
+
+struct tagAssistThanksGift
+{
+	DWORD		_GiftID;	//礼盒物品ID
+	BYTE		AssistAwardCount;	// 协助奖励每日次数
+};
+
 //缥缈仙域表
 
 struct tagFairyDomain
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 8f8aff0..accdfb9 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1980,6 +1980,14 @@
 	BYTE		SkinIndex;	//外观
 };
 
+//协助感谢礼盒表
+
+struct tagAssistThanksGift
+{
+	DWORD		_GiftID;	//礼盒物品ID
+	list		RequestPlayerAward;	// 发布奖励物品 物品ID|个数
+	list		AssistPlayerAward;	// 协助奖励物品 物品ID|个数
+};
 
 //累计充值奖励表
 
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 75acbed..4409089 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -569,6 +569,11 @@
                         ("list", "RankAuctionItem", 0),
                         ),
 
+                "AssistThanksGift":(
+                        ("DWORD", "GiftID", 1),
+                        ("BYTE", "AssistAwardCount", 0),
+                        ),
+
                 "FairyDomain":(
                         ("WORD", "ID", 1),
                         ("DWORD", "HourCntPubLimit", 0),
@@ -1702,6 +1707,17 @@
     def GetWarRank(self): return self.WarRank # 联赛排名
     def GetRankAuctionItem(self): return self.RankAuctionItem # 拍品奖励[[拍品ID,个数], ...]
 
+# 协助感谢礼盒表
+class IPY_AssistThanksGift():
+    
+    def __init__(self):
+        self.GiftID = 0
+        self.AssistAwardCount = 0
+        return
+        
+    def GetGiftID(self): return self.GiftID # 礼盒物品ID
+    def GetAssistAwardCount(self): return self.AssistAwardCount #  协助奖励每日次数
+
 # 缥缈仙域表
 class IPY_FairyDomain():
     
@@ -1841,6 +1857,8 @@
         self.ipyEquipStarUpLen = len(self.ipyEquipStarUpCache)
         self.ipyFamilyWarRankAwardCache = self.__LoadFileData("FamilyWarRankAward", IPY_FamilyWarRankAward)
         self.ipyFamilyWarRankAwardLen = len(self.ipyFamilyWarRankAwardCache)
+        self.ipyAssistThanksGiftCache = self.__LoadFileData("AssistThanksGift", IPY_AssistThanksGift)
+        self.ipyAssistThanksGiftLen = len(self.ipyAssistThanksGiftCache)
         self.ipyFairyDomainCache = self.__LoadFileData("FairyDomain", IPY_FairyDomain)
         self.ipyFairyDomainLen = len(self.ipyFairyDomainCache)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
@@ -2111,6 +2129,8 @@
     def GetEquipStarUpByIndex(self, index): return self.ipyEquipStarUpCache[index]
     def GetFamilyWarRankAwardCount(self): return self.ipyFamilyWarRankAwardLen
     def GetFamilyWarRankAwardByIndex(self, index): return self.ipyFamilyWarRankAwardCache[index]
+    def GetAssistThanksGiftCount(self): return self.ipyAssistThanksGiftLen
+    def GetAssistThanksGiftByIndex(self, index): return self.ipyAssistThanksGiftCache[index]
     def GetFairyDomainCount(self): return self.ipyFairyDomainLen
     def GetFairyDomainByIndex(self, index): return self.ipyFairyDomainCache[index]
 
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
index 7859334..e5a824c 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
@@ -32,6 +32,7 @@
         ('NPCID', ctypes.c_ulong),
         ('ExDataLen', ctypes.c_ushort),
         ('ExData', ctypes.c_char_p),
+        ('DailyDateStr', ctypes.c_char * 10),
         ('TimeStr', ctypes.c_char * 19),
         ('ThanksState', ctypes.c_ubyte),
         ('AssistPlayerLen', ctypes.c_ushort),
@@ -57,6 +58,7 @@
         self.NPCID = 0
         self.ExDataLen = 0
         self.ExData = ''
+        self.DailyDateStr = ''
         self.TimeStr = ''
         self.ThanksState = 0
         self.AssistPlayerLen = 0
@@ -82,6 +84,7 @@
         self.ExDataLen, pos = CommFunc.ReadWORD(buf, pos)
         tmp, pos = CommFunc.ReadString(buf, pos, self.ExDataLen)
         self.ExData = ctypes.c_char_p(tmp)
+        self.DailyDateStr, pos = CommFunc.ReadString(buf, pos, 10)
         self.TimeStr, pos = CommFunc.ReadString(buf, pos, 19)
         self.ThanksState, pos = CommFunc.ReadBYTE(buf, pos)
         self.AssistPlayerLen, pos = CommFunc.ReadWORD(buf, pos)
@@ -104,6 +107,7 @@
         buf = CommFunc.WriteDWORD(buf, self.NPCID)
         buf = CommFunc.WriteWORD(buf, self.ExDataLen)
         buf = CommFunc.WriteString(buf, self.ExDataLen, self.ExData)
+        buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 10, self.DailyDateStr)
         buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 19, self.TimeStr)
         buf = CommFunc.WriteBYTE(buf, self.ThanksState)
         buf = CommFunc.WriteWORD(buf, self.AssistPlayerLen)
@@ -125,6 +129,7 @@
         length += sizeof(ctypes.c_ulong)
         length += sizeof(ctypes.c_ushort)
         length += self.ExDataLen
+        length += sizeof(ctypes.c_char) * 10
         length += sizeof(ctypes.c_char) * 19
         length += sizeof(ctypes.c_ubyte)
         length += sizeof(ctypes.c_ushort)
@@ -146,6 +151,7 @@
             NPCID = %s,
             ExDataLen = %s,
             ExData = %s,
+            DailyDateStr = %s,
             TimeStr = %s,
             ThanksState = %s,
             AssistPlayerLen = %s,
@@ -165,6 +171,7 @@
                 self.NPCID,
                 self.ExDataLen,
                 self.ExData,
+                self.DailyDateStr,
                 self.TimeStr,
                 self.ThanksState,
                 self.AssistPlayerLen,
@@ -186,6 +193,12 @@
         else:
             self.PlayerName = Str[:33]
             
+    def SetDailyDateStr(self,Str):
+        if len(Str)<=10:
+            self.DailyDateStr = Str
+        else:
+            self.DailyDateStr = Str[:10]
+            
     def SetTimeStr(self,Str):
         if len(Str)<=19:
             self.TimeStr = Str
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index b5de14f..9ec7ba6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1539,6 +1539,12 @@
                         ("BYTE", "SkinIndex", 0),
                         ),
 
+                "AssistThanksGift":(
+                        ("DWORD", "GiftID", 1),
+                        ("list", "RequestPlayerAward", 0),
+                        ("list", "AssistPlayerAward", 0),
+                        ),
+
                 "HistoryRechargeAward":(
                         ("BYTE", "ID", 1),
                         ("DWORD", "Recharge", 0),
@@ -4713,6 +4719,19 @@
     def GetAttrInfo(self): return self.AttrInfo # 属性
     def GetSkinIndex(self): return self.SkinIndex # 外观
 
+# 协助感谢礼盒表
+class IPY_AssistThanksGift():
+    
+    def __init__(self):
+        self.GiftID = 0
+        self.RequestPlayerAward = []
+        self.AssistPlayerAward = []
+        return
+        
+    def GetGiftID(self): return self.GiftID # 礼盒物品ID
+    def GetRequestPlayerAward(self): return self.RequestPlayerAward #  发布奖励物品 物品ID|个数
+    def GetAssistPlayerAward(self): return self.AssistPlayerAward #  协助奖励物品 物品ID|个数
+
 # 累计充值奖励表
 class IPY_HistoryRechargeAward():
     
@@ -5054,6 +5073,8 @@
         self.ipyLingGenEffectLen = len(self.ipyLingGenEffectCache)
         self.ipyHorsePetSkinCache = self.__LoadFileData("HorsePetSkin", IPY_HorsePetSkin)
         self.ipyHorsePetSkinLen = len(self.ipyHorsePetSkinCache)
+        self.ipyAssistThanksGiftCache = self.__LoadFileData("AssistThanksGift", IPY_AssistThanksGift)
+        self.ipyAssistThanksGiftLen = len(self.ipyAssistThanksGiftCache)
         self.ipyHistoryRechargeAwardCache = self.__LoadFileData("HistoryRechargeAward", IPY_HistoryRechargeAward)
         self.ipyHistoryRechargeAwardLen = len(self.ipyHistoryRechargeAwardCache)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
@@ -5526,6 +5547,8 @@
     def GetLingGenEffectByIndex(self, index): return self.ipyLingGenEffectCache[index]
     def GetHorsePetSkinCount(self): return self.ipyHorsePetSkinLen
     def GetHorsePetSkinByIndex(self, index): return self.ipyHorsePetSkinCache[index]
+    def GetAssistThanksGiftCount(self): return self.ipyAssistThanksGiftLen
+    def GetAssistThanksGiftByIndex(self, index): return self.ipyAssistThanksGiftCache[index]
     def GetHistoryRechargeAwardCount(self): return self.ipyHistoryRechargeAwardLen
     def GetHistoryRechargeAwardByIndex(self, index): return self.ipyHistoryRechargeAwardCache[index]
 

--
Gitblit v1.8.0