From 1a4857dba236228a63ea90290be8e95f68052d91 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 24 一月 2025 19:06:27 +0800 Subject: [PATCH] 1111 【越南】【英语】【BT】【砍树】增加功能开启触发任务事件; --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 103 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 97 insertions(+), 6 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index f3b397e..2866d99 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -20418,6 +20418,7 @@ ("SubCmd", c_ubyte), ("MapID", c_ushort), ("FuncLineID", c_ushort), #功能线路ID + ("FuncMapID", c_ushort), #功能地图ID ] def __init__(self): @@ -20436,6 +20437,7 @@ self.SubCmd = 0x26 self.MapID = 0 self.FuncLineID = 0 + self.FuncMapID = 0 return def GetLength(self): @@ -20449,13 +20451,15 @@ Cmd:%s, SubCmd:%s, MapID:%d, - FuncLineID:%d + FuncLineID:%d, + FuncMapID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, - self.FuncLineID + self.FuncLineID, + self.FuncMapID ) return DumpString @@ -20474,6 +20478,7 @@ ("SubCmd", c_ubyte), ("MapID", c_int), ("FuncLineID", c_ushort), #功能线路ID + ("FuncMapID", c_ushort), #功能地图ID ] def __init__(self): @@ -20492,6 +20497,7 @@ self.SubCmd = 0x27 self.MapID = 0 self.FuncLineID = 0 + self.FuncMapID = 0 return def GetLength(self): @@ -20505,13 +20511,15 @@ Cmd:%s, SubCmd:%s, MapID:%d, - FuncLineID:%d + FuncLineID:%d, + FuncMapID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, - self.FuncLineID + self.FuncLineID, + self.FuncMapID ) return DumpString @@ -28993,6 +29001,7 @@ TreasureType = 0 #(BYTE TreasureType)//寻宝类型 LuckValue = 0 #(WORD LuckValue)//当前幸运值 TreasureCount = 0 #(DWORD TreasureCount)//已寻宝总次数 + TreasureCountToday = 0 #(DWORD TreasureCountToday)//今日已寻宝总次数 FreeCountToday = 0 #(WORD FreeCountToday)//今日已免费寻宝次数 TreasureCntAward = 0 #(DWORD TreasureCntAward)//累计寻宝次数对应奖励领奖状态,按奖励记录索引二进制记录是否已领取 GridLimitCnt = 0 #(BYTE GridLimitCnt) @@ -29008,6 +29017,7 @@ self.TreasureType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.LuckValue,_pos = CommFunc.ReadWORD(_lpData, _pos) self.TreasureCount,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.TreasureCountToday,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.FreeCountToday,_pos = CommFunc.ReadWORD(_lpData, _pos) self.TreasureCntAward,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.GridLimitCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) @@ -29021,6 +29031,7 @@ self.TreasureType = 0 self.LuckValue = 0 self.TreasureCount = 0 + self.TreasureCountToday = 0 self.FreeCountToday = 0 self.TreasureCntAward = 0 self.GridLimitCnt = 0 @@ -29031,6 +29042,7 @@ length = 0 length += 1 length += 2 + length += 4 length += 4 length += 2 length += 4 @@ -29045,6 +29057,7 @@ data = CommFunc.WriteBYTE(data, self.TreasureType) data = CommFunc.WriteWORD(data, self.LuckValue) data = CommFunc.WriteDWORD(data, self.TreasureCount) + data = CommFunc.WriteDWORD(data, self.TreasureCountToday) data = CommFunc.WriteWORD(data, self.FreeCountToday) data = CommFunc.WriteDWORD(data, self.TreasureCntAward) data = CommFunc.WriteBYTE(data, self.GridLimitCnt) @@ -29057,6 +29070,7 @@ TreasureType:%d, LuckValue:%d, TreasureCount:%d, + TreasureCountToday:%d, FreeCountToday:%d, TreasureCntAward:%d, GridLimitCnt:%d, @@ -29066,6 +29080,7 @@ self.TreasureType, self.LuckValue, self.TreasureCount, + self.TreasureCountToday, self.FreeCountToday, self.TreasureCntAward, self.GridLimitCnt, @@ -44378,11 +44393,70 @@ return DumpString +class tagMCCrossActLianqiAwardEx(Structure): + NeedScore = 0 #(DWORD NeedScore)// 额外奖励所需积分 + Count = 0 #(BYTE Count)// 额外奖励物品数 + AwardItemList = list() #(vector<tagMCCrossActLianqiItem> AwardItemList)// 额外奖励物品列表 + data = None + + def __init__(self): + self.Clear() + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.Count): + temAwardItemList = tagMCCrossActLianqiItem() + _pos = temAwardItemList.ReadData(_lpData, _pos) + self.AwardItemList.append(temAwardItemList) + return _pos + + def Clear(self): + self.NeedScore = 0 + self.Count = 0 + self.AwardItemList = list() + return + + def GetLength(self): + length = 0 + length += 4 + length += 1 + for i in range(self.Count): + length += self.AwardItemList[i].GetLength() + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteDWORD(data, self.NeedScore) + data = CommFunc.WriteBYTE(data, self.Count) + for i in range(self.Count): + data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' + NeedScore:%d, + Count:%d, + AwardItemList:%s + '''\ + %( + self.NeedScore, + self.Count, + "..." + ) + return DumpString + + class tagMCCrossActLianqiBillard(Structure): Rank = 0 #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名 Count = 0 #(BYTE Count)// 奖励物品数 AwardItemList = list() #(vector<tagMCCrossActLianqiItem> AwardItemList)// 奖励物品列表 NeedScore = 0 #(DWORD NeedScore)// 上榜所需积分 + CountEx = 0 #(BYTE CountEx)// 额外奖励数 + AwardItemExList = list() #(vector<tagMCCrossActLianqiAwardEx> AwardItemExList)// 额外奖励列表 data = None def __init__(self): @@ -44398,6 +44472,11 @@ _pos = temAwardItemList.ReadData(_lpData, _pos) self.AwardItemList.append(temAwardItemList) self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.CountEx): + temAwardItemExList = tagMCCrossActLianqiAwardEx() + _pos = temAwardItemExList.ReadData(_lpData, _pos) + self.AwardItemExList.append(temAwardItemExList) return _pos def Clear(self): @@ -44405,6 +44484,8 @@ self.Count = 0 self.AwardItemList = list() self.NeedScore = 0 + self.CountEx = 0 + self.AwardItemExList = list() return def GetLength(self): @@ -44414,6 +44495,9 @@ for i in range(self.Count): length += self.AwardItemList[i].GetLength() length += 4 + length += 1 + for i in range(self.CountEx): + length += self.AwardItemExList[i].GetLength() return length @@ -44424,6 +44508,9 @@ for i in range(self.Count): data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer()) data = CommFunc.WriteDWORD(data, self.NeedScore) + data = CommFunc.WriteBYTE(data, self.CountEx) + for i in range(self.CountEx): + data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer()) return data def OutputString(self): @@ -44431,13 +44518,17 @@ Rank:%d, Count:%d, AwardItemList:%s, - NeedScore:%d + NeedScore:%d, + CountEx:%d, + AwardItemExList:%s '''\ %( self.Rank, self.Count, "...", - self.NeedScore + self.NeedScore, + self.CountEx, + "..." ) return DumpString -- Gitblit v1.8.0