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