From c1c791372b63ff14d0ddd0ef85386e374603d1ff Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 15 七月 2024 19:47:37 +0800
Subject: [PATCH] 10202 【越南】【香港】【主干】【砍树】聚魂(寻宝修改:寻宝设定单独开表;去除免费寻宝x次必出逻辑,免费次数也算常规次数;免费次数去除时间恢复,改为过天重置;每x次必出改为每种类型独立配置;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py |   72 ++++++++++++++++--------------------
 1 files changed, 32 insertions(+), 40 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 1e534a0..5a731a2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -27153,63 +27153,48 @@
 # A3 51 寻宝功能信息 #tagMCTreasureInfo
 
 class  tagMCTreasureTypeInfo(Structure):
-    TreasureType = 0    #(BYTE TreasureType)//寻宝类型
-    LuckValue = 0    #(WORD LuckValue)//当前幸运值
-    IndexCount = 0    #(BYTE IndexCount)//索引个数
-    FreeCountTime = list()    #(vector<DWORD> FreeCountTime)// 模式对应开始计算免费次数时间time值
-    data = None
+    _pack_ = 1
+    _fields_ = [
+                  ("TreasureType", c_ubyte),    #寻宝类型
+                  ("LuckValue", c_ushort),    #当前幸运值
+                  ("TreasureCount", c_int),    #已寻宝总次数
+                  ("FreeCountToday", c_ushort),    #今日已免费寻宝次数
+                  ]
 
     def __init__(self):
         self.Clear()
         return
 
-    def ReadData(self, _lpData, _pos=0, _Len=0):
+    def ReadData(self, stringData, _pos=0, _len=0):
         self.Clear()
-        self.TreasureType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.LuckValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.IndexCount):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.FreeCountTime.append(value)
-        return _pos
+        memmove(addressof(self), stringData[_pos:], self.GetLength())
+        return _pos + self.GetLength()
 
     def Clear(self):
         self.TreasureType = 0
         self.LuckValue = 0
-        self.IndexCount = 0
-        self.FreeCountTime = list()
+        self.TreasureCount = 0
+        self.FreeCountToday = 0
         return
 
     def GetLength(self):
-        length = 0
-        length += 1
-        length += 2
-        length += 1
-        length += 4 * self.IndexCount
-
-        return length
+        return sizeof(tagMCTreasureTypeInfo)
 
     def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteBYTE(data, self.TreasureType)
-        data = CommFunc.WriteWORD(data, self.LuckValue)
-        data = CommFunc.WriteBYTE(data, self.IndexCount)
-        for i in range(self.IndexCount):
-            data = CommFunc.WriteDWORD(data, self.FreeCountTime[i])
-        return data
+        return string_at(addressof(self), self.GetLength())
 
     def OutputString(self):
-        DumpString = '''
+        DumpString = '''// A3 51 寻宝功能信息 //tagMCTreasureInfo:
                                 TreasureType:%d,
                                 LuckValue:%d,
-                                IndexCount:%d,
-                                FreeCountTime:%s
+                                TreasureCount:%d,
+                                FreeCountToday:%d
                                 '''\
                                 %(
                                 self.TreasureType,
                                 self.LuckValue,
-                                self.IndexCount,
-                                "..."
+                                self.TreasureCount,
+                                self.FreeCountToday
                                 )
         return DumpString
 
@@ -27285,7 +27270,8 @@
 
 class  tagMCTreasureResult(Structure):
     Head = tagHead()
-    AddTreasureScore = 0    #(WORD AddTreasureScore)// 本次寻宝增加的寻宝积分
+    AddMoneyType = 0    #(BYTE AddMoneyType)// 本次寻宝增加的积分货币类型,可能为0
+    AddMoneyValue = 0    #(WORD AddMoneyValue)// 本次寻宝增加的积分货币值,可能为0
     AddTreasureLuck = 0    #(WORD AddTreasureLuck)// 本次寻宝增加的幸运值
     TreasureResultLen = 0    #(WORD TreasureResultLen)
     TreasureResult = ""    #(String TreasureResult)//  获得物品结果[[格子编号, 物品ID,个数,是否绑定], ...]
@@ -27300,7 +27286,8 @@
     def ReadData(self, _lpData, _pos=0, _Len=0):
         self.Clear()
         _pos = self.Head.ReadData(_lpData, _pos)
-        self.AddTreasureScore,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.AddMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.AddMoneyValue,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.AddTreasureLuck,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.TreasureResultLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.TreasureResult,_pos = CommFunc.ReadString(_lpData, _pos,self.TreasureResultLen)
@@ -27311,7 +27298,8 @@
         self.Head.Clear()
         self.Head.Cmd = 0xA3
         self.Head.SubCmd = 0x50
-        self.AddTreasureScore = 0
+        self.AddMoneyType = 0
+        self.AddMoneyValue = 0
         self.AddTreasureLuck = 0
         self.TreasureResultLen = 0
         self.TreasureResult = ""
@@ -27320,6 +27308,7 @@
     def GetLength(self):
         length = 0
         length += self.Head.GetLength()
+        length += 1
         length += 2
         length += 2
         length += 2
@@ -27330,7 +27319,8 @@
     def GetBuffer(self):
         data = ''
         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteWORD(data, self.AddTreasureScore)
+        data = CommFunc.WriteBYTE(data, self.AddMoneyType)
+        data = CommFunc.WriteWORD(data, self.AddMoneyValue)
         data = CommFunc.WriteWORD(data, self.AddTreasureLuck)
         data = CommFunc.WriteWORD(data, self.TreasureResultLen)
         data = CommFunc.WriteString(data, self.TreasureResultLen, self.TreasureResult)
@@ -27339,14 +27329,16 @@
     def OutputString(self):
         DumpString = '''
                                 Head:%s,
-                                AddTreasureScore:%d,
+                                AddMoneyType:%d,
+                                AddMoneyValue:%d,
                                 AddTreasureLuck:%d,
                                 TreasureResultLen:%d,
                                 TreasureResult:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
-                                self.AddTreasureScore,
+                                self.AddMoneyType,
+                                self.AddMoneyValue,
                                 self.AddTreasureLuck,
                                 self.TreasureResultLen,
                                 self.TreasureResult

--
Gitblit v1.8.0