From fd11ce1c13096dce046ed4f740290eaea2749591 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期三, 08 五月 2019 13:51:13 +0800 Subject: [PATCH] 6681 【2.0】【后端】五行专精激活方式变更 --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 80 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 72 insertions(+), 8 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index ef4b9e7..ce0d1ce 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -16782,11 +16782,11 @@ #------------------------------------------------------ # A3 09 技能五行专精信息 #tagMCSkillElementInfo -class tagMCSkillElementData(Structure): +class tagMCSkillElementActiveData(Structure): _pack_ = 1 _fields_ = [ - ("MainSkillID", c_int), # 主技能ID - ("ElementSkillID", c_int), # 专精技能ID + ("SkillID", c_int), # 技能ID + ("ActiveLV", c_ubyte), # 激活等级 ] def __init__(self): @@ -16799,24 +16799,88 @@ return _pos + self.GetLength() def Clear(self): - self.MainSkillID = 0 - self.ElementSkillID = 0 + self.SkillID = 0 + self.ActiveLV = 0 return def GetLength(self): - return sizeof(tagMCSkillElementData) + return sizeof(tagMCSkillElementActiveData) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 09 技能五行专精信息 //tagMCSkillElementInfo: + SkillID:%d, + ActiveLV:%d + '''\ + %( + self.SkillID, + self.ActiveLV + ) + return DumpString + + +class tagMCSkillElementData(Structure): + MainSkillID = 0 #(DWORD MainSkillID)// 主技能ID + ElementSkillID = 0 #(DWORD ElementSkillID)// 选择的专精技能ID + SkillCnt = 0 #(BYTE SkillCnt)// 数量 + ActiveSkill = list() #(vector<tagMCSkillElementActiveData> ActiveSkill)// 激活的技能ID + data = None + + def __init__(self): + self.Clear() + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + self.MainSkillID,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.ElementSkillID,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.SkillCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.SkillCnt): + temActiveSkill = tagMCSkillElementActiveData() + _pos = temActiveSkill.ReadData(_lpData, _pos) + self.ActiveSkill.append(temActiveSkill) + return _pos + + def Clear(self): + self.MainSkillID = 0 + self.ElementSkillID = 0 + self.SkillCnt = 0 + self.ActiveSkill = list() + return + + def GetLength(self): + length = 0 + length += 4 + length += 4 + length += 1 + for i in range(self.SkillCnt): + length += self.ActiveSkill[i].GetLength() + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteDWORD(data, self.MainSkillID) + data = CommFunc.WriteDWORD(data, self.ElementSkillID) + data = CommFunc.WriteBYTE(data, self.SkillCnt) + for i in range(self.SkillCnt): + data = CommFunc.WriteString(data, self.ActiveSkill[i].GetLength(), self.ActiveSkill[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' MainSkillID:%d, - ElementSkillID:%d + ElementSkillID:%d, + SkillCnt:%d, + ActiveSkill:%s '''\ %( self.MainSkillID, - self.ElementSkillID + self.ElementSkillID, + self.SkillCnt, + "..." ) return DumpString -- Gitblit v1.8.0