From 587f43bce904c6350d70181a9c1ac8dc5af8e6f8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 05 六月 2024 14:11:33 +0800 Subject: [PATCH] 10173 【主干】【香港】【越南】BOSS凭证(购买次数礼包活动增加折扣信息及免费次数礼包) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 79 +++++++++++++++++++++++++++++++-------- 1 files changed, 63 insertions(+), 16 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index edb62fd..d61488a 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -31702,7 +31702,7 @@ class tagMCActBuyCountGift(Structure): - NeedBuyCount = 0 #(BYTE NeedBuyCount)// 所需总购买次数 + NeedBuyCount = 0 #(BYTE NeedBuyCount)// 所需总购买次数,0为免费领取的档次 Count = 0 #(BYTE Count)// 奖励物品数 AwardItemList = list() #(vector<tagMCActBuyCountGiftItem> AwardItemList)// 奖励物品列表 data = None @@ -31758,6 +31758,45 @@ return DumpString +class tagMCActBuyCountCTGID(Structure): + _pack_ = 1 + _fields_ = [ + ("CTGID", c_ushort), # 充值表ID + ("Discount", c_ushort), # 折扣力度百分比 + ] + + def __init__(self): + self.Clear() + return + + def ReadData(self, stringData, _pos=0, _len=0): + self.Clear() + memmove(addressof(self), stringData[_pos:], self.GetLength()) + return _pos + self.GetLength() + + def Clear(self): + self.CTGID = 0 + self.Discount = 0 + return + + def GetLength(self): + return sizeof(tagMCActBuyCountCTGID) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// AA 74 购买次数礼包活动信息 //tagMCActBuyCountGiftInfo: + CTGID:%d, + Discount:%d + '''\ + %( + self.CTGID, + self.Discount + ) + return DumpString + + class tagMCActBuyCountGiftInfo(Structure): Head = tagHead() ActNum = 0 #(BYTE ActNum)// 活动编号 @@ -31767,7 +31806,7 @@ ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置 LimitLV = 0 #(WORD LimitLV)// 限制等级 CTGIDCount = 0 #(BYTE CTGIDCount) - CTGIDList = list() #(vector<DWORD> CTGIDList)// CTGID列表;总购买次数前端自己统计,直接取CTGID对应的累计购买次数累加 + CTGIDInfoList = list() #(vector<tagMCActBuyCountCTGID> CTGIDInfoList)// CTGID信息列表;总购买次数前端自己统计,直接取CTGID对应的累计购买次数累加 GiftCount = 0 #(BYTE GiftCount) BuyCountGiftList = list() #(vector<tagMCActBuyCountGift> BuyCountGiftList)// 购买次数礼包列表 data = None @@ -31789,8 +31828,9 @@ self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos) self.CTGIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.CTGIDCount): - value,_pos=CommFunc.ReadDWORD(_lpData,_pos) - self.CTGIDList.append(value) + temCTGIDInfoList = tagMCActBuyCountCTGID() + _pos = temCTGIDInfoList.ReadData(_lpData, _pos) + self.CTGIDInfoList.append(temCTGIDInfoList) self.GiftCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.GiftCount): temBuyCountGiftList = tagMCActBuyCountGift() @@ -31810,7 +31850,7 @@ self.ResetType = 0 self.LimitLV = 0 self.CTGIDCount = 0 - self.CTGIDList = list() + self.CTGIDInfoList = list() self.GiftCount = 0 self.BuyCountGiftList = list() return @@ -31825,7 +31865,8 @@ length += 1 length += 2 length += 1 - length += 4 * self.CTGIDCount + for i in range(self.CTGIDCount): + length += self.CTGIDInfoList[i].GetLength() length += 1 for i in range(self.GiftCount): length += self.BuyCountGiftList[i].GetLength() @@ -31843,7 +31884,7 @@ data = CommFunc.WriteWORD(data, self.LimitLV) data = CommFunc.WriteBYTE(data, self.CTGIDCount) for i in range(self.CTGIDCount): - data = CommFunc.WriteDWORD(data, self.CTGIDList[i]) + data = CommFunc.WriteString(data, self.CTGIDInfoList[i].GetLength(), self.CTGIDInfoList[i].GetBuffer()) data = CommFunc.WriteBYTE(data, self.GiftCount) for i in range(self.GiftCount): data = CommFunc.WriteString(data, self.BuyCountGiftList[i].GetLength(), self.BuyCountGiftList[i].GetBuffer()) @@ -31859,7 +31900,7 @@ ResetType:%d, LimitLV:%d, CTGIDCount:%d, - CTGIDList:%s, + CTGIDInfoList:%s, GiftCount:%d, BuyCountGiftList:%s '''\ @@ -34250,7 +34291,8 @@ StartDate = "" #(char StartDate[10])// 开始日期 y-m-d EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d LimitLV = 0 #(WORD LimitLV)// 限制等级 - RepSignCostMoney = list() #(DWORD RepSignCostMoney[2])// 补签消耗 [货币类型, 货币值] + RepSignMoneyType = 0 #(BYTE RepSignMoneyType)// 补签消耗货币类型 + RepSignMoneyValue = 0 #(DWORD RepSignMoneyValue)// 补签消耗货币值 DayCount = 0 #(BYTE DayCount) AwardDayList = list() #(vector<tagMCActLoginNewDay> AwardDayList)// 奖励天列表 data = None @@ -34268,7 +34310,8 @@ self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10) self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10) self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.RepSignCostMoney, _pos = CommFunc.ReadString(_lpData, _pos, 2*17582024) + self.RepSignMoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.RepSignMoneyValue,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.DayCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.DayCount): temAwardDayList = tagMCActLoginNewDay() @@ -34285,7 +34328,8 @@ self.StartDate = "" self.EndtDate = "" self.LimitLV = 0 - self.RepSignCostMoney = list() + self.RepSignMoneyType = 0 + self.RepSignMoneyValue = 0 self.DayCount = 0 self.AwardDayList = list() return @@ -34297,7 +34341,8 @@ length += 10 length += 10 length += 2 - length += 4*2 + length += 1 + length += 4 length += 1 for i in range(self.DayCount): length += self.AwardDayList[i].GetLength() @@ -34311,8 +34356,8 @@ data = CommFunc.WriteString(data, 10, self.StartDate) data = CommFunc.WriteString(data, 10, self.EndtDate) data = CommFunc.WriteWORD(data, self.LimitLV) - for item in self.RepSignCostMoney: - data = CommFunc.WriteDWORD(data, item) + data = CommFunc.WriteBYTE(data, self.RepSignMoneyType) + data = CommFunc.WriteDWORD(data, self.RepSignMoneyValue) data = CommFunc.WriteBYTE(data, self.DayCount) for i in range(self.DayCount): data = CommFunc.WriteString(data, self.AwardDayList[i].GetLength(), self.AwardDayList[i].GetBuffer()) @@ -34325,7 +34370,8 @@ StartDate:%s, EndtDate:%s, LimitLV:%d, - RepSignCostMoney:%s, + RepSignMoneyType:%d, + RepSignMoneyValue:%d, DayCount:%d, AwardDayList:%s '''\ @@ -34335,7 +34381,8 @@ self.StartDate, self.EndtDate, self.LimitLV, - "...", + self.RepSignMoneyType, + self.RepSignMoneyValue, self.DayCount, "..." ) -- Gitblit v1.8.0