From afd50c42da5cda925bdd8770a1d86ac79090b454 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 29 十二月 2025 20:50:08 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(心愿修改支持心愿卡;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 107 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 89 insertions(+), 18 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 7a7f487..b7fb943 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -8681,7 +8681,7 @@
_pack_ = 1
_fields_ = [
("WishID", c_ushort), # 寻宝物品库中的数据ID,注意不是库ID
- ("OutCnt", c_ubyte), # 做为心愿物品时已产出次数,有产出过的无法重新选择,未产出的可任意修改选择
+ ("OutCnt", c_ubyte), # 该心愿物品已产出次数
]
def __init__(self):
@@ -8712,6 +8712,77 @@
%(
self.WishID,
self.OutCnt
+ )
+ return DumpString
+
+
+class tagMCTreasureWishLib(Structure):
+ LibID = 0 #(WORD LibID)// 寻宝物品库ID
+ OutCntTotal = 0 #(WORD OutCntTotal)// 本库累计产出心愿总次数
+ IsUseWishCard = 0 #(BYTE IsUseWishCard)// 是否勾选了自动使用心愿卡
+ WishCnt = 0 #(BYTE WishCnt)
+ WishList = list() #(vector<tagMCTreasureWish> WishList)//已选心愿物品信息,只同步已选的
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ self.LibID,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.OutCntTotal,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.IsUseWishCard,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ self.WishCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.WishCnt):
+ temWishList = tagMCTreasureWish()
+ _pos = temWishList.ReadData(_lpData, _pos)
+ self.WishList.append(temWishList)
+ return _pos
+
+ def Clear(self):
+ self.LibID = 0
+ self.OutCntTotal = 0
+ self.IsUseWishCard = 0
+ self.WishCnt = 0
+ self.WishList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += 2
+ length += 2
+ length += 1
+ length += 1
+ for i in range(self.WishCnt):
+ length += self.WishList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteWORD(data, self.LibID)
+ data = CommFunc.WriteWORD(data, self.OutCntTotal)
+ data = CommFunc.WriteBYTE(data, self.IsUseWishCard)
+ data = CommFunc.WriteBYTE(data, self.WishCnt)
+ for i in range(self.WishCnt):
+ data = CommFunc.WriteString(data, self.WishList[i].GetLength(), self.WishList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ LibID:%d,
+ OutCntTotal:%d,
+ IsUseWishCard:%d,
+ WishCnt:%d,
+ WishList:%s
+ '''\
+ %(
+ self.LibID,
+ self.OutCntTotal,
+ self.IsUseWishCard,
+ self.WishCnt,
+ "..."
)
return DumpString
@@ -8764,8 +8835,8 @@
TreasureCntAward = 0 #(DWORD TreasureCntAward)//累计寻宝次数对应奖励领奖状态,按奖励记录索引二进制记录是否已领取
GridLimitCnt = 0 #(BYTE GridLimitCnt)
GridLimitCntList = list() #(vector<tagMCTreasureGridLimit> GridLimitCntList)//有限制抽取次数的格子次数信息
- WishCnt = 0 #(BYTE WishCnt)
- WishList = list() #(vector<tagMCTreasureWish> WishList)//心愿物品信息
+ WishLibCnt = 0 #(BYTE WishLibCnt)
+ WishLibList = list() #(vector<tagMCTreasureWishLib> WishLibList)//心愿库信息
data = None
def __init__(self):
@@ -8785,11 +8856,11 @@
temGridLimitCntList = tagMCTreasureGridLimit()
_pos = temGridLimitCntList.ReadData(_lpData, _pos)
self.GridLimitCntList.append(temGridLimitCntList)
- self.WishCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.WishCnt):
- temWishList = tagMCTreasureWish()
- _pos = temWishList.ReadData(_lpData, _pos)
- self.WishList.append(temWishList)
+ self.WishLibCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.WishLibCnt):
+ temWishLibList = tagMCTreasureWishLib()
+ _pos = temWishLibList.ReadData(_lpData, _pos)
+ self.WishLibList.append(temWishLibList)
return _pos
def Clear(self):
@@ -8801,8 +8872,8 @@
self.TreasureCntAward = 0
self.GridLimitCnt = 0
self.GridLimitCntList = list()
- self.WishCnt = 0
- self.WishList = list()
+ self.WishLibCnt = 0
+ self.WishLibList = list()
return
def GetLength(self):
@@ -8817,8 +8888,8 @@
for i in range(self.GridLimitCnt):
length += self.GridLimitCntList[i].GetLength()
length += 1
- for i in range(self.WishCnt):
- length += self.WishList[i].GetLength()
+ for i in range(self.WishLibCnt):
+ length += self.WishLibList[i].GetLength()
return length
@@ -8833,9 +8904,9 @@
data = CommFunc.WriteBYTE(data, self.GridLimitCnt)
for i in range(self.GridLimitCnt):
data = CommFunc.WriteString(data, self.GridLimitCntList[i].GetLength(), self.GridLimitCntList[i].GetBuffer())
- data = CommFunc.WriteBYTE(data, self.WishCnt)
- for i in range(self.WishCnt):
- data = CommFunc.WriteString(data, self.WishList[i].GetLength(), self.WishList[i].GetBuffer())
+ data = CommFunc.WriteBYTE(data, self.WishLibCnt)
+ for i in range(self.WishLibCnt):
+ data = CommFunc.WriteString(data, self.WishLibList[i].GetLength(), self.WishLibList[i].GetBuffer())
return data
def OutputString(self):
@@ -8848,8 +8919,8 @@
TreasureCntAward:%d,
GridLimitCnt:%d,
GridLimitCntList:%s,
- WishCnt:%d,
- WishList:%s
+ WishLibCnt:%d,
+ WishLibList:%s
'''\
%(
self.TreasureType,
@@ -8860,7 +8931,7 @@
self.TreasureCntAward,
self.GridLimitCnt,
"...",
- self.WishCnt,
+ self.WishLibCnt,
"..."
)
return DumpString
--
Gitblit v1.8.0