8346 【恺英】【后端】协助系统(增加同步推出协助原因包B008)
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # B0 06 可接收协助感谢礼物个数 #tagGCCanGetAssistThanksGiftCount
|
| | |
|
| | | class tagGCCanGetAssistThanksGiftCount(Structure):
|
| | |
| | | if assistObj in playerAssistList:
|
| | | playerAssistList.remove(assistObj)
|
| | |
|
| | | SyncFamilyClearAssist(familyID, assistGUID)
|
| | | |
| | | # 取消boss协助
|
| | | if assistType == AssistType_Boss:
|
| | |
|
| | |
| | | # 暂不需要处理
|
| | | pass
|
| | |
|
| | | # 放最后 |
| | | SyncFamilyClearAssist(familyID, assistGUID)
|
| | | return
|
| | |
|
| | | def OnCancelPlayerAssist(cancelPlayer, cancelPlayerID, assistObj, reason, isGameServer, isNotify=True):
|
| | |
| | | assistObj.AssistPlayerIDList.remove(cancelPlayerID)
|
| | |
|
| | | if cancelPlayer:
|
| | | isTagPlayerReason = reason.startswith("RequestPlayerCancel_")
|
| | | PlayerControl.SetAssistTagPlayerID(cancelPlayer, 0)
|
| | | overPack = ChPyNetSendPack.tagGCAssistOver()
|
| | | overPack.IsTagPlayerReason = isTagPlayerReason
|
| | | overPack.Reason = reason[len("RequestPlayerCancel_"):] if isTagPlayerReason else reason |
| | | overPack.ReasonLen = len(overPack.Reason)
|
| | | overPack.AssistGUID = assistGUID
|
| | | NetPackCommon.SendFakePack(cancelPlayer, overPack)
|
| | |
|
| | | # 取消boss协助
|
| | | if assistObj.AssistType == AssistType_Boss:
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # B0 06 可接收协助感谢礼物个数 #tagGCCanGetAssistThanksGiftCount
|
| | |
|
| | | class tagGCCanGetAssistThanksGiftCount(Structure):
|