diff --git a/network/mhfpacket/msg_mhf_unreserve_srg.go b/network/mhfpacket/msg_mhf_unreserve_srg.go index f273662aa..9f545dabd 100644 --- a/network/mhfpacket/msg_mhf_unreserve_srg.go +++ b/network/mhfpacket/msg_mhf_unreserve_srg.go @@ -1,15 +1,17 @@ package mhfpacket -import ( - "errors" +import ( + "errors" - "erupe-ce/network/clientctx" - "erupe-ce/network" "erupe-ce/common/byteframe" + "erupe-ce/network" + "erupe-ce/network/clientctx" ) // MsgMhfUnreserveSrg represents the MSG_MHF_UNRESERVE_SRG -type MsgMhfUnreserveSrg struct{} +type MsgMhfUnreserveSrg struct { + AckHandle uint32 +} // Opcode returns the ID associated with this packet type. func (m *MsgMhfUnreserveSrg) Opcode() network.PacketID { @@ -18,7 +20,8 @@ func (m *MsgMhfUnreserveSrg) Opcode() network.PacketID { // Parse parses the packet from binary func (m *MsgMhfUnreserveSrg) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { - return errors.New("NOT IMPLEMENTED") + m.AckHandle = bf.ReadUint32() + return nil } // Build builds a binary packet from the current data. diff --git a/server/channelserver/handlers.go b/server/channelserver/handlers.go index bac17354b..171bc666e 100644 --- a/server/channelserver/handlers.go +++ b/server/channelserver/handlers.go @@ -1020,7 +1020,10 @@ func handleMsgMhfStampcardStamp(s *Session, p mhfpacket.MHFPacket) { func handleMsgMhfStampcardPrize(s *Session, p mhfpacket.MHFPacket) {} -func handleMsgMhfUnreserveSrg(s *Session, p mhfpacket.MHFPacket) {} +func handleMsgMhfUnreserveSrg(s *Session, p mhfpacket.MHFPacket) { + pkt := p.(*mhfpacket.MsgMhfUnreserveSrg) + doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4)) +} func handleMsgMhfKickExportForce(s *Session, p mhfpacket.MHFPacket) {}