From 77b0f4f5acec30f9be8c7eeadfc25d9641ca26f3 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 26 五月 2025 11:46:13 +0800 Subject: [PATCH] 16 卡牌服务端(删除脱机挂) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 228 --------------------------------------------------------- 1 files changed, 0 insertions(+), 228 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py index cabf022..2871862 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py @@ -60090,234 +60090,6 @@ #------------------------------------------------------ -#B4 10 脱机挂被杀后离线找回 # tagMCTJGDeadPay - -class tagMCTJGDeadPay(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("Times", c_int), # 可找回时间 - ("DeadTime", c_int), # 死亡时间 - ("Exp", c_int), # 经验 - ("Exp1", c_int), # 经验 亿 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB4 - self.SubCmd = 0x10 - 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.Cmd = 0xB4 - self.SubCmd = 0x10 - self.Times = 0 - self.DeadTime = 0 - self.Exp = 0 - self.Exp1 = 0 - return - - def GetLength(self): - return sizeof(tagMCTJGDeadPay) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//B4 10 脱机挂被杀后离线找回 // tagMCTJGDeadPay: - Cmd:%s, - SubCmd:%s, - Times:%d, - DeadTime:%d, - Exp:%d, - Exp1:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.Times, - self.DeadTime, - self.Exp, - self.Exp1 - ) - return DumpString - - -m_NAtagMCTJGDeadPay=tagMCTJGDeadPay() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTJGDeadPay.Cmd,m_NAtagMCTJGDeadPay.SubCmd))] = m_NAtagMCTJGDeadPay - - -#------------------------------------------------------ -#B4 09 通知脱机挂结果 #tagMCTJGInfo - -class tagMCTJGItems(Structure): - _pack_ = 1 - _fields_ = [ - ("ItemID", c_int), - ("Count", 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.ItemID = 0 - self.Count = 0 - return - - def GetLength(self): - return sizeof(tagMCTJGItems) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//B4 09 通知脱机挂结果 //tagMCTJGInfo: - ItemID:%d, - Count:%d - '''\ - %( - self.ItemID, - self.Count - ) - return DumpString - - -class tagMCTJGInfo(Structure): - Head = tagHead() - Exp1 = 0 #(DWORD Exp1)// 经验 - Exp2 = 0 #(DWORD Exp2)// 超亿经验 - Times = 0 #(DWORD Times)// 使用时间秒 - PurpleEquip = 0 #(WORD PurpleEquip)// 产出紫装数量 - OrangeEquip = 0 #(WORD OrangeEquip)// 产出橙装数量 - EatPurpleEquip = 0 #(WORD EatPurpleEquip)// 吞噬紫装数量 - BeforeLV = 0 #(WORD BeforeLV)//脱机前记录的等级 - GiveCnt = 0 #(WORD GiveCnt)//获得炼丹材料数量 - Cnt = 0 #(BYTE Cnt)//物品类别数量 - Items = list() #(vector<tagMCTJGItems> Items) - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xB4 - self.Head.SubCmd = 0x09 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.Exp1,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Exp2,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.Times,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.PurpleEquip,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.OrangeEquip,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.EatPurpleEquip,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.BeforeLV,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.GiveCnt,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.Cnt): - temItems = tagMCTJGItems() - _pos = temItems.ReadData(_lpData, _pos) - self.Items.append(temItems) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xB4 - self.Head.SubCmd = 0x09 - self.Exp1 = 0 - self.Exp2 = 0 - self.Times = 0 - self.PurpleEquip = 0 - self.OrangeEquip = 0 - self.EatPurpleEquip = 0 - self.BeforeLV = 0 - self.GiveCnt = 0 - self.Cnt = 0 - self.Items = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 4 - length += 4 - length += 4 - length += 2 - length += 2 - length += 2 - length += 2 - length += 2 - length += 1 - for i in range(self.Cnt): - length += self.Items[i].GetLength() - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteDWORD(data, self.Exp1) - data = CommFunc.WriteDWORD(data, self.Exp2) - data = CommFunc.WriteDWORD(data, self.Times) - data = CommFunc.WriteWORD(data, self.PurpleEquip) - data = CommFunc.WriteWORD(data, self.OrangeEquip) - data = CommFunc.WriteWORD(data, self.EatPurpleEquip) - data = CommFunc.WriteWORD(data, self.BeforeLV) - data = CommFunc.WriteWORD(data, self.GiveCnt) - data = CommFunc.WriteBYTE(data, self.Cnt) - for i in range(self.Cnt): - data = CommFunc.WriteString(data, self.Items[i].GetLength(), self.Items[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - Exp1:%d, - Exp2:%d, - Times:%d, - PurpleEquip:%d, - OrangeEquip:%d, - EatPurpleEquip:%d, - BeforeLV:%d, - GiveCnt:%d, - Cnt:%d, - Items:%s - '''\ - %( - self.Head.OutputString(), - self.Exp1, - self.Exp2, - self.Times, - self.PurpleEquip, - self.OrangeEquip, - self.EatPurpleEquip, - self.BeforeLV, - self.GiveCnt, - self.Cnt, - "..." - ) - return DumpString - - -m_NAtagMCTJGInfo=tagMCTJGInfo() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTJGInfo.Head.Cmd,m_NAtagMCTJGInfo.Head.SubCmd))] = m_NAtagMCTJGInfo - - -#------------------------------------------------------ # B4 20 回合制战斗状态 #tagMCTurnFightState class tagMCTurnFightState(Structure): -- Gitblit v1.8.0