From 3ae8c1cc2fb821f554aa57e63525ce85135fc1c2 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 29 五月 2019 13:59:29 +0800 Subject: [PATCH] 6970 【2.0】【后端】缥缈仙域仙草园(修复草园中下线重上会看到其他NPC的bug) 修复跨服复活bug、进出跨服的视野管理由原来的设置不可见改为按视野层级管理; --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 176 ++++++++++++++++++++-------------------------------------- 1 files changed, 62 insertions(+), 114 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py index ddcc43e..e56f530 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py @@ -13838,62 +13838,6 @@ #------------------------------------------------------ -# B1 09 结算自定义副本奖励 #tagCMGiveCustomFBPrize - -class tagCMGiveCustomFBPrize(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), - ("FuncLineID", c_ushort), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB1 - 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 = 0xB1 - self.SubCmd = 0x09 - self.MapID = 0 - self.FuncLineID = 0 - return - - def GetLength(self): - return sizeof(tagCMGiveCustomFBPrize) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B1 09 结算自定义副本奖励 //tagCMGiveCustomFBPrize: - Cmd:%s, - SubCmd:%s, - MapID:%d, - FuncLineID:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID, - self.FuncLineID - ) - return DumpString - - -m_NAtagCMGiveCustomFBPrize=tagCMGiveCustomFBPrize() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGiveCustomFBPrize.Cmd,m_NAtagCMGiveCustomFBPrize.SubCmd))] = m_NAtagCMGiveCustomFBPrize - - -#------------------------------------------------------ # B1 06 助战召唤 #tagCMHelpBattleCall class tagCMHelpBattleCall(Structure): @@ -14107,62 +14051,6 @@ m_NAtagCMGetMultiFBPrize=tagCMGetMultiFBPrize() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetMultiFBPrize.Cmd,m_NAtagCMGetMultiFBPrize.SubCmd))] = m_NAtagCMGetMultiFBPrize - - -#------------------------------------------------------ -# B1 08 刷新自定义副本奖励 #tagCMRefreshCustomFBPrize - -class tagCMRefreshCustomFBPrize(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), - ("FuncLineID", c_ushort), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB1 - self.SubCmd = 0x08 - 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 = 0xB1 - self.SubCmd = 0x08 - self.MapID = 0 - self.FuncLineID = 0 - return - - def GetLength(self): - return sizeof(tagCMRefreshCustomFBPrize) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B1 08 刷新自定义副本奖励 //tagCMRefreshCustomFBPrize: - Cmd:%s, - SubCmd:%s, - MapID:%d, - FuncLineID:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID, - self.FuncLineID - ) - return DumpString - - -m_NAtagCMRefreshCustomFBPrize=tagCMRefreshCustomFBPrize() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshCustomFBPrize.Cmd,m_NAtagCMRefreshCustomFBPrize.SubCmd))] = m_NAtagCMRefreshCustomFBPrize #------------------------------------------------------ @@ -14626,6 +14514,58 @@ #------------------------------------------------------ +# B4 0E 设置玩家自身血量 #tagCMSetRoleHP + +class tagCMSetRoleHP(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("HP", c_int), + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xB4 + self.SubCmd = 0x0E + 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 = 0x0E + self.HP = 0 + return + + def GetLength(self): + return sizeof(tagCMSetRoleHP) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// B4 0E 设置玩家自身血量 //tagCMSetRoleHP: + Cmd:%s, + SubCmd:%s, + HP:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.HP + ) + return DumpString + + +m_NAtagCMSetRoleHP=tagCMSetRoleHP() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetRoleHP.Cmd,m_NAtagCMSetRoleHP.SubCmd))] = m_NAtagCMSetRoleHP + + +#------------------------------------------------------ # B4 0C 召唤私有专属木桩怪 #tagCMSummonPriWoodPile class tagCMSummonPriWoodPile(Structure): @@ -14635,6 +14575,8 @@ ("SubCmd", c_ubyte), ("NPCID", c_int), ("Count", c_ubyte), #默认1个,最多5个 + ("HP", c_int), #默认0取最大值,其中一个血量数值大于0则用指定血量 + ("HPEx", c_int), #默认0取最大值,其中一个血量数值大于0则用指定血量 ] def __init__(self): @@ -14653,6 +14595,8 @@ self.SubCmd = 0x0C self.NPCID = 0 self.Count = 0 + self.HP = 0 + self.HPEx = 0 return def GetLength(self): @@ -14666,13 +14610,17 @@ Cmd:%s, SubCmd:%s, NPCID:%d, - Count:%d + Count:%d, + HP:%d, + HPEx:%d '''\ %( self.Cmd, self.SubCmd, self.NPCID, - self.Count + self.Count, + self.HP, + self.HPEx ) return DumpString -- Gitblit v1.8.0