From 94ee1c7ab1faeaf57443860b46d057f4328706db Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 18 十月 2022 18:14:17 +0800 Subject: [PATCH] 9437 【越南】【后端】天帝礼包(AA60封包增加同步需要选择个数) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGodGift.py | 8 ++- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 41 ++++++++++++-------- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 41 ++++++++++++-------- 3 files changed, 53 insertions(+), 37 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index ddc5b16..dfb0bb3 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -29262,8 +29262,9 @@ class tagMCActGodGiftItemLib(Structure): ItemLibType = 0 #(BYTE ItemLibType)//物品库类型 - ChooseItemCount = 0 #(BYTE ChooseItemCount)//可选择物品个数 - ChooseItemList = list() #(vector<tagMCActGodGiftItem> ChooseItemList)//可选物品列表 + NeedChooseCount = 0 #(BYTE NeedChooseCount)//需要选择个数 + GodGiftItemCount = 0 #(BYTE GodGiftItemCount)//可选择物品个数 + GodGiftItemList = list() #(vector<tagMCActGodGiftItem> GodGiftItemList)//可选物品列表 data = None def __init__(self): @@ -29273,45 +29274,51 @@ def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() self.ItemLibType,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.ChooseItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.ChooseItemCount): - temChooseItemList = tagMCActGodGiftItem() - _pos = temChooseItemList.ReadData(_lpData, _pos) - self.ChooseItemList.append(temChooseItemList) + self.NeedChooseCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.GodGiftItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.GodGiftItemCount): + temGodGiftItemList = tagMCActGodGiftItem() + _pos = temGodGiftItemList.ReadData(_lpData, _pos) + self.GodGiftItemList.append(temGodGiftItemList) return _pos def Clear(self): self.ItemLibType = 0 - self.ChooseItemCount = 0 - self.ChooseItemList = list() + self.NeedChooseCount = 0 + self.GodGiftItemCount = 0 + self.GodGiftItemList = list() return def GetLength(self): length = 0 length += 1 length += 1 - for i in range(self.ChooseItemCount): - length += self.ChooseItemList[i].GetLength() + length += 1 + for i in range(self.GodGiftItemCount): + length += self.GodGiftItemList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteBYTE(data, self.ItemLibType) - data = CommFunc.WriteBYTE(data, self.ChooseItemCount) - for i in range(self.ChooseItemCount): - data = CommFunc.WriteString(data, self.ChooseItemList[i].GetLength(), self.ChooseItemList[i].GetBuffer()) + data = CommFunc.WriteBYTE(data, self.NeedChooseCount) + data = CommFunc.WriteBYTE(data, self.GodGiftItemCount) + for i in range(self.GodGiftItemCount): + data = CommFunc.WriteString(data, self.GodGiftItemList[i].GetLength(), self.GodGiftItemList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' ItemLibType:%d, - ChooseItemCount:%d, - ChooseItemList:%s + NeedChooseCount:%d, + GodGiftItemCount:%d, + GodGiftItemList:%s '''\ %( self.ItemLibType, - self.ChooseItemCount, + self.NeedChooseCount, + self.GodGiftItemCount, "..." ) return DumpString diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py index ddc5b16..dfb0bb3 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py @@ -29262,8 +29262,9 @@ class tagMCActGodGiftItemLib(Structure): ItemLibType = 0 #(BYTE ItemLibType)//物品库类型 - ChooseItemCount = 0 #(BYTE ChooseItemCount)//可选择物品个数 - ChooseItemList = list() #(vector<tagMCActGodGiftItem> ChooseItemList)//可选物品列表 + NeedChooseCount = 0 #(BYTE NeedChooseCount)//需要选择个数 + GodGiftItemCount = 0 #(BYTE GodGiftItemCount)//可选择物品个数 + GodGiftItemList = list() #(vector<tagMCActGodGiftItem> GodGiftItemList)//可选物品列表 data = None def __init__(self): @@ -29273,45 +29274,51 @@ def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() self.ItemLibType,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.ChooseItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.ChooseItemCount): - temChooseItemList = tagMCActGodGiftItem() - _pos = temChooseItemList.ReadData(_lpData, _pos) - self.ChooseItemList.append(temChooseItemList) + self.NeedChooseCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.GodGiftItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.GodGiftItemCount): + temGodGiftItemList = tagMCActGodGiftItem() + _pos = temGodGiftItemList.ReadData(_lpData, _pos) + self.GodGiftItemList.append(temGodGiftItemList) return _pos def Clear(self): self.ItemLibType = 0 - self.ChooseItemCount = 0 - self.ChooseItemList = list() + self.NeedChooseCount = 0 + self.GodGiftItemCount = 0 + self.GodGiftItemList = list() return def GetLength(self): length = 0 length += 1 length += 1 - for i in range(self.ChooseItemCount): - length += self.ChooseItemList[i].GetLength() + length += 1 + for i in range(self.GodGiftItemCount): + length += self.GodGiftItemList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteBYTE(data, self.ItemLibType) - data = CommFunc.WriteBYTE(data, self.ChooseItemCount) - for i in range(self.ChooseItemCount): - data = CommFunc.WriteString(data, self.ChooseItemList[i].GetLength(), self.ChooseItemList[i].GetBuffer()) + data = CommFunc.WriteBYTE(data, self.NeedChooseCount) + data = CommFunc.WriteBYTE(data, self.GodGiftItemCount) + for i in range(self.GodGiftItemCount): + data = CommFunc.WriteString(data, self.GodGiftItemList[i].GetLength(), self.GodGiftItemList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' ItemLibType:%d, - ChooseItemCount:%d, - ChooseItemList:%s + NeedChooseCount:%d, + GodGiftItemCount:%d, + GodGiftItemList:%s '''\ %( self.ItemLibType, - self.ChooseItemCount, + self.NeedChooseCount, + self.GodGiftItemCount, "..." ) return DumpString diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGodGift.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGodGift.py index c675a90..0fdc108 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGodGift.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActGodGift.py @@ -419,10 +419,12 @@ for awardIpyData in awardIpyDataList: libType = awardIpyData.GetAwardLibType() libItemInfoDict = awardIpyData.GetLibItemInfo() + needChooseCount = awardIpyData.GetChooseItemCount() itemLib = ChPyNetSendPack.tagMCActGodGiftItemLib() itemLib.ItemLibType = libType - itemLib.ChooseItemList = [] + itemLib.NeedChooseCount = needChooseCount + itemLib.GodGiftItemList = [] for num, itemInfo in libItemInfoDict.items(): _, itemID, itemCount, isBind, canChooseTimes = itemInfo chooseTimes, isChoose, _ = GetGodGiftItemState(curPlayer, actNum, libType, num) @@ -434,9 +436,9 @@ item.CanChooseTimes = canChooseTimes item.ChooseTimes = chooseTimes item.IsChoose = isChoose - itemLib.ChooseItemList.append(item) + itemLib.GodGiftItemList.append(item) - itemLib.ChooseItemCount = len(itemLib.ChooseItemList) + itemLib.GodGiftItemCount = len(itemLib.GodGiftItemList) clientPack.ItemLibList.append(itemLib) clientPack.ItemLibCount = len(clientPack.ItemLibList) -- Gitblit v1.8.0