From 1ea73e1885835466265ce788d93556b7030ee0e8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 30 十二月 2018 18:42:00 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(GM工具增加子服服务器维护,文字翻译版) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 418 +++++++++-------------------------------------------------- 1 files changed, 65 insertions(+), 353 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py index 294b874..fe24eb8 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py @@ -2983,113 +2983,9 @@ #------------------------------------------------------ -#C0 11 上传数据的活动类型 #tagActionMergeRegister +# C0 03 强制退出跨服状态 #tagCGForceQuitCrossState -class tagActionMergeRegister(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ActionType", c_ubyte), #活动类型 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xC0 - 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 = 0xC0 - self.SubCmd = 0x11 - self.ActionType = 0 - return - - def GetLength(self): - return sizeof(tagActionMergeRegister) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//C0 11 上传数据的活动类型 //tagActionMergeRegister: - Cmd:%s, - SubCmd:%s, - ActionType:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ActionType - ) - return DumpString - - -m_NAtagActionMergeRegister=tagActionMergeRegister() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagActionMergeRegister.Cmd,m_NAtagActionMergeRegister.SubCmd))] = m_NAtagActionMergeRegister - - -#------------------------------------------------------ -#C0 12 跨服上传数据账号查询 #tagMergeRegisterAccQuery - -class tagMergeRegisterAccQuery(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ActionType", c_ubyte), #活动类型 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xC0 - self.SubCmd = 0x12 - 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 = 0xC0 - self.SubCmd = 0x12 - self.ActionType = 0 - return - - def GetLength(self): - return sizeof(tagMergeRegisterAccQuery) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//C0 12 跨服上传数据账号查询 //tagMergeRegisterAccQuery: - Cmd:%s, - SubCmd:%s, - ActionType:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ActionType - ) - return DumpString - - -m_NAtagMergeRegisterAccQuery=tagMergeRegisterAccQuery() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMergeRegisterAccQuery.Cmd,m_NAtagMergeRegisterAccQuery.SubCmd))] = m_NAtagMergeRegisterAccQuery - - -#------------------------------------------------------ -# C0 15 通知即将登录跳转到跨服服务器 #tagCGGotoMergeServer - -class tagCGGotoMergeServer(Structure): +class tagCGForceQuitCrossState(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), @@ -3099,7 +2995,7 @@ def __init__(self): self.Clear() self.Cmd = 0xC0 - self.SubCmd = 0x15 + self.SubCmd = 0x03 return def ReadData(self, stringData, _pos=0, _len=0): @@ -3109,17 +3005,17 @@ def Clear(self): self.Cmd = 0xC0 - self.SubCmd = 0x15 + self.SubCmd = 0x03 return def GetLength(self): - return sizeof(tagCGGotoMergeServer) + return sizeof(tagCGForceQuitCrossState) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): - DumpString = '''// C0 15 通知即将登录跳转到跨服服务器 //tagCGGotoMergeServer: + DumpString = '''// C0 03 强制退出跨服状态 //tagCGForceQuitCrossState: Cmd:%s, SubCmd:%s '''\ @@ -3130,8 +3026,8 @@ return DumpString -m_NAtagCGGotoMergeServer=tagCGGotoMergeServer() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGotoMergeServer.Cmd,m_NAtagCGGotoMergeServer.SubCmd))] = m_NAtagCGGotoMergeServer +m_NAtagCGForceQuitCrossState=tagCGForceQuitCrossState() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGForceQuitCrossState.Cmd,m_NAtagCGForceQuitCrossState.SubCmd))] = m_NAtagCGForceQuitCrossState #------------------------------------------------------ @@ -11206,6 +11102,62 @@ #------------------------------------------------------ +# A5 1D 法宝佩戴 #tagCMWearMagicWeapon + +class tagCMWearMagicWeapon(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("MWID", c_int), #法宝ID + ("State", c_ubyte), #0-卸下 1-佩戴 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA5 + self.SubCmd = 0x1D + 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 = 0xA5 + self.SubCmd = 0x1D + self.MWID = 0 + self.State = 0 + return + + def GetLength(self): + return sizeof(tagCMWearMagicWeapon) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A5 1D 法宝佩戴 //tagCMWearMagicWeapon: + Cmd:%s, + SubCmd:%s, + MWID:%d, + State:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.MWID, + self.State + ) + return DumpString + + +m_NAtagCMWearMagicWeapon=tagCMWearMagicWeapon() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWearMagicWeapon.Cmd,m_NAtagCMWearMagicWeapon.SubCmd))] = m_NAtagCMWearMagicWeapon + + +#------------------------------------------------------ # A6 11 家族改名 #tagCMRenameFamily class tagCMRenameFamily(Structure): @@ -15245,54 +15197,6 @@ #------------------------------------------------------ -#C1 08 玩家执行膜拜 #tagPlayerMergeWorship - -class tagPlayerMergeWorship(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xC1 - 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 = 0xC1 - self.SubCmd = 0x08 - return - - def GetLength(self): - return sizeof(tagPlayerMergeWorship) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//C1 08 玩家执行膜拜 //tagPlayerMergeWorship: - Cmd:%s, - SubCmd:%s - '''\ - %( - self.Cmd, - self.SubCmd - ) - return DumpString - - -m_NAtagPlayerMergeWorship=tagPlayerMergeWorship() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerMergeWorship.Cmd,m_NAtagPlayerMergeWorship.SubCmd))] = m_NAtagPlayerMergeWorship - - -#------------------------------------------------------ # C1 02 跨服PK购买次数 #tagCMCrossRealmPKBuy class tagCMCrossRealmPKBuy(Structure): @@ -15493,196 +15397,4 @@ m_NAtagCMExitCrossRealm=tagCMExitCrossRealm() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExitCrossRealm.Cmd,m_NAtagCMExitCrossRealm.SubCmd))] = m_NAtagCMExitCrossRealm - - -#------------------------------------------------------ -# C1 11 跨服王者争霸押注 #tagCMMergeKingSupport - -class tagCMMergeKingSupport(Structure): - Head = tagHead() - SupportType = 0 #(BYTE SupportType)// 0-押注; 1-贿赂 - GroupType = 0 #(BYTE GroupType)// 组类型;如32强、16强等 - BattleIndex = 0 #(BYTE BattleIndex)// 对战组索引,每种组类型的索引从1开始 - MoneyType = 0 #(BYTE MoneyType)// 押注的货币类型 - AccIDLen = 0 #(BYTE AccIDLen) - TagAccID = "" #(String TagAccID)// 支持的目标账号 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xC1 - self.Head.SubCmd = 0x11 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.SupportType,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.GroupType,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.BattleIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.MoneyType,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.AccIDLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.TagAccID,_pos = CommFunc.ReadString(_lpData, _pos,self.AccIDLen) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xC1 - self.Head.SubCmd = 0x11 - self.SupportType = 0 - self.GroupType = 0 - self.BattleIndex = 0 - self.MoneyType = 0 - self.AccIDLen = 0 - self.TagAccID = "" - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - length += 1 - length += 1 - length += 1 - length += 1 - length += len(self.TagAccID) - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteBYTE(data, self.SupportType) - data = CommFunc.WriteBYTE(data, self.GroupType) - data = CommFunc.WriteBYTE(data, self.BattleIndex) - data = CommFunc.WriteBYTE(data, self.MoneyType) - data = CommFunc.WriteBYTE(data, self.AccIDLen) - data = CommFunc.WriteString(data, self.AccIDLen, self.TagAccID) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - SupportType:%d, - GroupType:%d, - BattleIndex:%d, - MoneyType:%d, - AccIDLen:%d, - TagAccID:%s - '''\ - %( - self.Head.OutputString(), - self.SupportType, - self.GroupType, - self.BattleIndex, - self.MoneyType, - self.AccIDLen, - self.TagAccID - ) - return DumpString - - -m_NAtagCMMergeKingSupport=tagCMMergeKingSupport() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMergeKingSupport.Head.Cmd,m_NAtagCMMergeKingSupport.Head.SubCmd))] = m_NAtagCMMergeKingSupport - - -#------------------------------------------------------ -# C1 09 跨服PK匹配 #tagCMMergePKMatch - -class tagCMMergePKMatch(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("Type", c_ubyte), # 0-取消匹配; 1-进行匹配 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xC1 - 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 = 0xC1 - self.SubCmd = 0x09 - self.Type = 0 - return - - def GetLength(self): - return sizeof(tagCMMergePKMatch) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// C1 09 跨服PK匹配 //tagCMMergePKMatch: - Cmd:%s, - SubCmd:%s, - Type:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.Type - ) - return DumpString - - -m_NAtagCMMergePKMatch=tagCMMergePKMatch() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMergePKMatch.Cmd,m_NAtagCMMergePKMatch.SubCmd))] = m_NAtagCMMergePKMatch - - -#------------------------------------------------------ -# C1 10 跨服PK恢复连胜次数 #tagCMRecoverMergePKWin - -class tagCMRecoverMergePKWin(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xC1 - 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 = 0xC1 - self.SubCmd = 0x10 - return - - def GetLength(self): - return sizeof(tagCMRecoverMergePKWin) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// C1 10 跨服PK恢复连胜次数 //tagCMRecoverMergePKWin: - Cmd:%s, - SubCmd:%s - '''\ - %( - self.Cmd, - self.SubCmd - ) - return DumpString - - -m_NAtagCMRecoverMergePKWin=tagCMRecoverMergePKWin() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecoverMergePKWin.Cmd,m_NAtagCMRecoverMergePKWin.SubCmd))] = m_NAtagCMRecoverMergePKWin \ No newline at end of file +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExitCrossRealm.Cmd,m_NAtagCMExitCrossRealm.SubCmd))] = m_NAtagCMExitCrossRealm \ No newline at end of file -- Gitblit v1.8.0