From d47077546e4948ae10be4859b9fb0953dc021d3a Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 13 十二月 2024 17:57:32 +0800 Subject: [PATCH] 10345 【英文】推金币优化(改为后端处理) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 68 ++++++++++++++++++++------------- 1 files changed, 41 insertions(+), 27 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index d7ff35e..0a6ecb5 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -48785,11 +48785,11 @@ #------------------------------------------------------ # AA 05 推金币信息 #tagMCTuijinbiInfo -class tagMCTuijinbiMoney(Structure): +class tagMCTuijinbiPool(Structure): _pack_ = 1 _fields_ = [ - ("MoneyType", c_ubyte), - ("MoneyValue", c_int), + ("PrizeType", c_ubyte), # 台面奖励类型: 1-金币;2-仙玉币 + ("PrizeCount", c_int), # 数量,每次都同步台面的总数量 ] def __init__(self): @@ -48802,32 +48802,34 @@ return _pos + self.GetLength() def Clear(self): - self.MoneyType = 0 - self.MoneyValue = 0 + self.PrizeType = 0 + self.PrizeCount = 0 return def GetLength(self): - return sizeof(tagMCTuijinbiMoney) + return sizeof(tagMCTuijinbiPool) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 05 推金币信息 //tagMCTuijinbiInfo: - MoneyType:%d, - MoneyValue:%d + PrizeType:%d, + PrizeCount:%d '''\ %( - self.MoneyType, - self.MoneyValue + self.PrizeType, + self.PrizeCount ) return DumpString class tagMCTuijinbiInfo(Structure): Head = tagHead() - AwardMoneyCount = 0 #(BYTE AwardMoneyCount) - AwardMoneyList = list() #(vector<tagMCTuijinbiMoney> AwardMoneyList)// 累计获得货币信息列表 + DrawType = 0 #(BYTE DrawType)// 本次抽奖奖励类型,为0时表示非抽奖同步;1-金币;2-仙玉币;3-红包;4-超级奖励 + DrawCount = 0 #(DWORD DrawCount)// 本次抽奖奖励数量 + PoolPrizeCnt = 0 #(BYTE PoolPrizeCnt) + PoolPrizeList = list() #(vector<tagMCTuijinbiPool> PoolPrizeList)// 台面奖池信息列表,每次都完整通知 data = None def __init__(self): @@ -48839,11 +48841,13 @@ def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) - self.AwardMoneyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.AwardMoneyCount): - temAwardMoneyList = tagMCTuijinbiMoney() - _pos = temAwardMoneyList.ReadData(_lpData, _pos) - self.AwardMoneyList.append(temAwardMoneyList) + self.DrawType,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.DrawCount,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.PoolPrizeCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.PoolPrizeCnt): + temPoolPrizeList = tagMCTuijinbiPool() + _pos = temPoolPrizeList.ReadData(_lpData, _pos) + self.PoolPrizeList.append(temPoolPrizeList) return _pos def Clear(self): @@ -48851,36 +48855,46 @@ self.Head.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x05 - self.AwardMoneyCount = 0 - self.AwardMoneyList = list() + self.DrawType = 0 + self.DrawCount = 0 + self.PoolPrizeCnt = 0 + self.PoolPrizeList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 - for i in range(self.AwardMoneyCount): - length += self.AwardMoneyList[i].GetLength() + length += 4 + length += 1 + for i in range(self.PoolPrizeCnt): + length += self.PoolPrizeList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteBYTE(data, self.AwardMoneyCount) - for i in range(self.AwardMoneyCount): - data = CommFunc.WriteString(data, self.AwardMoneyList[i].GetLength(), self.AwardMoneyList[i].GetBuffer()) + data = CommFunc.WriteBYTE(data, self.DrawType) + data = CommFunc.WriteDWORD(data, self.DrawCount) + data = CommFunc.WriteBYTE(data, self.PoolPrizeCnt) + for i in range(self.PoolPrizeCnt): + data = CommFunc.WriteString(data, self.PoolPrizeList[i].GetLength(), self.PoolPrizeList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' Head:%s, - AwardMoneyCount:%d, - AwardMoneyList:%s + DrawType:%d, + DrawCount:%d, + PoolPrizeCnt:%d, + PoolPrizeList:%s '''\ %( self.Head.OutputString(), - self.AwardMoneyCount, + self.DrawType, + self.DrawCount, + self.PoolPrizeCnt, "..." ) return DumpString -- Gitblit v1.8.0