MhfReadMercenaryW changes

This commit is contained in:
wish
2025-03-16 15:51:10 +11:00
parent 7e58a26693
commit 69a2a7ca3b

View File

@@ -174,9 +174,9 @@ func handleMsgMhfReadMercenaryW(s *Session, p mhfpacket.MHFPacket) {
bf.WriteUint8(0) bf.WriteUint8(0)
} }
var loans uint8 if pkt.Op != 2 && pkt.Op != 5 {
temp := byteframe.NewByteFrame() var loans uint8
if pkt.Op < 2 { temp := byteframe.NewByteFrame()
rows, _ := s.server.db.Query("SELECT name, id, pact_id FROM characters WHERE pact_id=(SELECT rasta_id FROM characters WHERE id=$1)", s.charID) rows, _ := s.server.db.Query("SELECT name, id, pact_id FROM characters WHERE pact_id=(SELECT rasta_id FROM characters WHERE id=$1)", s.charID)
for rows.Next() { for rows.Next() {
err := rows.Scan(&name, &cid, &pactID) err := rows.Scan(&name, &cid, &pactID)
@@ -190,23 +190,23 @@ func handleMsgMhfReadMercenaryW(s *Session, p mhfpacket.MHFPacket) {
temp.WriteUint32(uint32(TimeAdjusted().Add(time.Hour * 24 * 7).Unix())) temp.WriteUint32(uint32(TimeAdjusted().Add(time.Hour * 24 * 7).Unix()))
temp.WriteBytes(stringsupport.PaddedString(name, 18, true)) temp.WriteBytes(stringsupport.PaddedString(name, 18, true))
} }
} bf.WriteUint8(loans)
bf.WriteUint8(loans) bf.WriteBytes(temp.Data())
bf.WriteBytes(temp.Data())
if pkt.Op < 1 { if pkt.Op != 1 && pkt.Op != 4 {
var data []byte var data []byte
var gcp uint32 var gcp uint32
s.server.db.QueryRow("SELECT savemercenary FROM characters WHERE id=$1", s.charID).Scan(&data) s.server.db.QueryRow("SELECT savemercenary FROM characters WHERE id=$1", s.charID).Scan(&data)
s.server.db.QueryRow("SELECT COALESCE(gcp, 0) FROM characters WHERE id=$1", s.charID).Scan(&gcp) s.server.db.QueryRow("SELECT COALESCE(gcp, 0) FROM characters WHERE id=$1", s.charID).Scan(&gcp)
if len(data) == 0 { if len(data) == 0 {
bf.WriteBool(false) bf.WriteBool(false)
} else { } else {
bf.WriteBool(true) bf.WriteBool(true)
bf.WriteBytes(data) bf.WriteBytes(data)
}
bf.WriteUint32(gcp)
} }
bf.WriteUint32(gcp)
} }
doAckBufSucceed(s, pkt.AckHandle, bf.Data()) doAckBufSucceed(s, pkt.AckHandle, bf.Data())