From f8afdf2b5358829706746834fc6540eb137cb44c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 11 三月 2020 18:42:20 +0800 Subject: [PATCH] 8399 每日灵石礼包修改(增加每日礼包表、每日礼包模板表) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 202 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 193 insertions(+), 9 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index 162ea87..a65ae36 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -5782,6 +5782,7 @@ class tagGCAssistInfo(Structure): AssistGUID = "" #(char AssistGUID[40])//协助GUID + PlayerID = 0 #(DWORD PlayerID) PlayerName = "" #(char PlayerName[33]) Job = 0 #(BYTE Job) LV = 0 #(WORD LV)//等级 @@ -5800,6 +5801,7 @@ def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) + self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33) self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos) @@ -5813,6 +5815,7 @@ def Clear(self): self.AssistGUID = "" + self.PlayerID = 0 self.PlayerName = "" self.Job = 0 self.LV = 0 @@ -5827,6 +5830,7 @@ def GetLength(self): length = 0 length += 40 + length += 4 length += 33 length += 1 length += 2 @@ -5842,6 +5846,7 @@ def GetBuffer(self): data = '' data = CommFunc.WriteString(data, 40, self.AssistGUID) + data = CommFunc.WriteDWORD(data, self.PlayerID) data = CommFunc.WriteString(data, 33, self.PlayerName) data = CommFunc.WriteBYTE(data, self.Job) data = CommFunc.WriteWORD(data, self.LV) @@ -5856,6 +5861,7 @@ def OutputString(self): DumpString = ''' AssistGUID:%s, + PlayerID:%d, PlayerName:%s, Job:%d, LV:%d, @@ -5868,6 +5874,7 @@ '''\ %( self.AssistGUID, + self.PlayerID, self.PlayerName, self.Job, self.LV, @@ -6002,6 +6009,84 @@ m_NAtagGCAssistingInfo=tagGCAssistingInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAssistingInfo.Head.Cmd,m_NAtagGCAssistingInfo.Head.SubCmd))] = m_NAtagGCAssistingInfo + + +#------------------------------------------------------ +# B0 08 协助结束 #tagGCAssistOver + +class tagGCAssistOver(Structure): + Head = tagHead() + IsTagPlayerReason = 0 #(BYTE IsTagPlayerReason)//是否发布方原因 + ReasonLen = 0 #(BYTE ReasonLen) + Reason = "" #(String Reason)//原因 + AssistGUID = "" #(char AssistGUID[40])//协助GUID + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xB0 + self.Head.SubCmd = 0x08 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.IsTagPlayerReason,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.ReasonLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.Reason,_pos = CommFunc.ReadString(_lpData, _pos,self.ReasonLen) + self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xB0 + self.Head.SubCmd = 0x08 + self.IsTagPlayerReason = 0 + self.ReasonLen = 0 + self.Reason = "" + self.AssistGUID = "" + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 1 + length += 1 + length += len(self.Reason) + length += 40 + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteBYTE(data, self.IsTagPlayerReason) + data = CommFunc.WriteBYTE(data, self.ReasonLen) + data = CommFunc.WriteString(data, self.ReasonLen, self.Reason) + data = CommFunc.WriteString(data, 40, self.AssistGUID) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + IsTagPlayerReason:%d, + ReasonLen:%d, + Reason:%s, + AssistGUID:%s + '''\ + %( + self.Head.OutputString(), + self.IsTagPlayerReason, + self.ReasonLen, + self.Reason, + self.AssistGUID + ) + return DumpString + + +m_NAtagGCAssistOver=tagGCAssistOver() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAssistOver.Head.Cmd,m_NAtagGCAssistOver.Head.SubCmd))] = m_NAtagGCAssistOver #------------------------------------------------------ @@ -25483,8 +25568,9 @@ _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), - ("FirstGoldRewardState", c_ubyte), #首充奖励是否已领奖 + ("FirstGoldRewardState", c_ubyte), #首充奖励领奖记录,按位记录首充第X天是否已领取,第1天为第0索引位 ("FirstGoldTry", c_ubyte), #首充试用状态0-不可试用 1-可试用 2-已试用 + ("FirstGoldServerDay", c_ushort), #首充时是开服第几天,从1开始,0代表未记录充值 ] def __init__(self): @@ -25503,6 +25589,7 @@ self.SubCmd = 0x02 self.FirstGoldRewardState = 0 self.FirstGoldTry = 0 + self.FirstGoldServerDay = 0 return def GetLength(self): @@ -25516,13 +25603,15 @@ Cmd:%s, SubCmd:%s, FirstGoldRewardState:%d, - FirstGoldTry:%d + FirstGoldTry:%d, + FirstGoldServerDay:%d '''\ %( self.Cmd, self.SubCmd, self.FirstGoldRewardState, - self.FirstGoldTry + self.FirstGoldTry, + self.FirstGoldServerDay ) return DumpString @@ -29206,6 +29295,10 @@ RewardCount = 0 #(BYTE RewardCount)// 累计未领取探索奖励次数 RewardLen = 0 #(BYTE RewardLen) RewardInfo = "" #(String RewardInfo)//累计未领取探索奖励 [[itemID, count], ...] + TodayExp = 0 #(DWORD TodayExp) + TodayExpPoint = 0 #(DWORD TodayExpPoint) + YestordayExp = 0 #(DWORD YestordayExp) + YestordayExpPoint = 0 #(DWORD YestordayExpPoint) data = None def __init__(self): @@ -29222,6 +29315,10 @@ self.RewardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.RewardLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.RewardInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.RewardLen) + self.TodayExp,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.TodayExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.YestordayExp,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.YestordayExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): @@ -29234,6 +29331,10 @@ self.RewardCount = 0 self.RewardLen = 0 self.RewardInfo = "" + self.TodayExp = 0 + self.TodayExpPoint = 0 + self.YestordayExp = 0 + self.YestordayExpPoint = 0 return def GetLength(self): @@ -29244,6 +29345,10 @@ length += 1 length += 1 length += len(self.RewardInfo) + length += 4 + length += 4 + length += 4 + length += 4 return length @@ -29255,6 +29360,10 @@ data = CommFunc.WriteBYTE(data, self.RewardCount) data = CommFunc.WriteBYTE(data, self.RewardLen) data = CommFunc.WriteString(data, self.RewardLen, self.RewardInfo) + data = CommFunc.WriteDWORD(data, self.TodayExp) + data = CommFunc.WriteDWORD(data, self.TodayExpPoint) + data = CommFunc.WriteDWORD(data, self.YestordayExp) + data = CommFunc.WriteDWORD(data, self.YestordayExpPoint) return data def OutputString(self): @@ -29264,7 +29373,11 @@ PlaceCount:%d, RewardCount:%d, RewardLen:%d, - RewardInfo:%s + RewardInfo:%s, + TodayExp:%d, + TodayExpPoint:%d, + YestordayExp:%d, + YestordayExpPoint:%d '''\ %( self.Head.OutputString(), @@ -29272,7 +29385,11 @@ self.PlaceCount, self.RewardCount, self.RewardLen, - self.RewardInfo + self.RewardInfo, + self.TodayExp, + self.TodayExpPoint, + self.YestordayExp, + self.YestordayExpPoint ) return DumpString @@ -29379,6 +29496,62 @@ m_NAtagMCFishResult=tagMCFishResult() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFishResult.Cmd,m_NAtagMCFishResult.SubCmd))] = m_NAtagMCFishResult + + +#------------------------------------------------------ +# B0 07 今日协助活跃令信息 #tagMCTodayAssistMoneyInfo + +class tagMCTodayAssistMoneyInfo(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("TodayAssistMoney", c_ushort), #今日已获得活跃令,不含社交加成 + ("SocialMoney", c_ushort), #社交额外加成 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xB0 + self.SubCmd = 0x07 + 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 = 0xB0 + self.SubCmd = 0x07 + self.TodayAssistMoney = 0 + self.SocialMoney = 0 + return + + def GetLength(self): + return sizeof(tagMCTodayAssistMoneyInfo) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// B0 07 今日协助活跃令信息 //tagMCTodayAssistMoneyInfo: + Cmd:%s, + SubCmd:%s, + TodayAssistMoney:%d, + SocialMoney:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.TodayAssistMoney, + self.SocialMoney + ) + return DumpString + + +m_NAtagMCTodayAssistMoneyInfo=tagMCTodayAssistMoneyInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTodayAssistMoneyInfo.Cmd,m_NAtagMCTodayAssistMoneyInfo.SubCmd))] = m_NAtagMCTodayAssistMoneyInfo #------------------------------------------------------ @@ -31227,6 +31400,7 @@ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Floor", c_int), # 已通关层 + ("ServerRewardRecord", c_int), #全服挑战层领奖记录,按奖励记录二进制位存储是否已领取 ] def __init__(self): @@ -31244,6 +31418,7 @@ self.Cmd = 0xB2 self.SubCmd = 0x13 self.Floor = 0 + self.ServerRewardRecord = 0 return def GetLength(self): @@ -31256,12 +31431,14 @@ DumpString = '''// B2 13 天星塔通关层数 //tagMCSkyTowerInfo: Cmd:%s, SubCmd:%s, - Floor:%d + Floor:%d, + ServerRewardRecord:%d '''\ %( self.Cmd, self.SubCmd, - self.Floor + self.Floor, + self.ServerRewardRecord ) return DumpString @@ -32652,6 +32829,7 @@ PosY = 0 #(WORD PosY) HurtCount = 0 #(WORD HurtCount)//伤害数目 HurtList = list() #(vector<tagSkillPosHurtObj> HurtList)//size = HurtCount + SkillElementID = 0 #(WORD SkillElementID)//专精技能ID data = None def __init__(self): @@ -32673,6 +32851,7 @@ temHurtList = tagSkillPosHurtObj() _pos = temHurtList.ReadData(_lpData, _pos) self.HurtList.append(temHurtList) + self.SkillElementID,_pos = CommFunc.ReadWORD(_lpData, _pos) return _pos def Clear(self): @@ -32687,6 +32866,7 @@ self.PosY = 0 self.HurtCount = 0 self.HurtList = list() + self.SkillElementID = 0 return def GetLength(self): @@ -32700,6 +32880,7 @@ length += 2 for i in range(self.HurtCount): length += self.HurtList[i].GetLength() + length += 2 return length @@ -32714,6 +32895,7 @@ data = CommFunc.WriteWORD(data, self.HurtCount) for i in range(self.HurtCount): data = CommFunc.WriteString(data, self.HurtList[i].GetLength(), self.HurtList[i].GetBuffer()) + data = CommFunc.WriteWORD(data, self.SkillElementID) return data def OutputString(self): @@ -32725,7 +32907,8 @@ PosX:%d, PosY:%d, HurtCount:%d, - HurtList:%s + HurtList:%s, + SkillElementID:%d '''\ %( self.Head.OutputString(), @@ -32735,7 +32918,8 @@ self.PosX, self.PosY, self.HurtCount, - "..." + "...", + self.SkillElementID ) return DumpString -- Gitblit v1.8.0