From 8f7a29d699d30c14695a1a47a6fb70f45f9f4177 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 17 十月 2024 16:50:18 +0800 Subject: [PATCH] 10263 【越南】【英文】后端支持NPC仿真实玩家战斗和快速战斗 --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 112 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py index 22a5b1c..4351f9c 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py @@ -5887,6 +5887,54 @@ #------------------------------------------------------ +# A1 09 同步打包玩家数据 #tagCMSycnPlayerPackData + +class tagCMSycnPlayerPackData(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA1 + self.SubCmd = 0x09 + 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 = 0xA1 + self.SubCmd = 0x09 + return + + def GetLength(self): + return sizeof(tagCMSycnPlayerPackData) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A1 09 同步打包玩家数据 //tagCMSycnPlayerPackData: + Cmd:%s, + SubCmd:%s + '''\ + %( + self.Cmd, + self.SubCmd + ) + return DumpString + + +m_NAtagCMSycnPlayerPackData=tagCMSycnPlayerPackData() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSycnPlayerPackData.Cmd,m_NAtagCMSycnPlayerPackData.SubCmd))] = m_NAtagCMSycnPlayerPackData + + +#------------------------------------------------------ #A1 03 设置是否成年 #tagCMAdult class tagCMAdult(Structure): @@ -20777,6 +20825,70 @@ #------------------------------------------------------ +# B4 11 镜像战斗 #tagCMMirrorFight + +class tagCMMirrorFight(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("MapID", c_int), # 自定义地图ID,如竞技场等 + ("FuncLineID", c_ushort), + ("TagPlayeID", c_int), # 目标玩家ID,支持跨服玩家ID + ("CmdType", c_ubyte), # 命令类型: 0-创建战斗;1-开始战斗;2-战斗中跳过;3-不创建战斗直接得结果 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xB4 + self.SubCmd = 0x11 + 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 = 0x11 + self.MapID = 0 + self.FuncLineID = 0 + self.TagPlayeID = 0 + self.CmdType = 0 + return + + def GetLength(self): + return sizeof(tagCMMirrorFight) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// B4 11 镜像战斗 //tagCMMirrorFight: + Cmd:%s, + SubCmd:%s, + MapID:%d, + FuncLineID:%d, + TagPlayeID:%d, + CmdType:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.MapID, + self.FuncLineID, + self.TagPlayeID, + self.CmdType + ) + return DumpString + + +m_NAtagCMMirrorFight=tagCMMirrorFight() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMirrorFight.Cmd,m_NAtagCMMirrorFight.SubCmd))] = m_NAtagCMMirrorFight + + +#------------------------------------------------------ # B4 0F 回收私有专属木桩怪 #tagCMRecyclePriWoodPile class tagCMRecyclePriWoodPile(Structure): -- Gitblit v1.8.0