mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-13 07:25:03 +01:00
prevent nil warehouse error
This commit is contained in:
@@ -369,6 +369,11 @@ func handleMsgMhfResetTitle(s *Session, p mhfpacket.MHFPacket) {}
|
|||||||
|
|
||||||
func handleMsgMhfOperateWarehouse(s *Session, p mhfpacket.MHFPacket) {
|
func handleMsgMhfOperateWarehouse(s *Session, p mhfpacket.MHFPacket) {
|
||||||
pkt := p.(*mhfpacket.MsgMhfOperateWarehouse)
|
pkt := p.(*mhfpacket.MsgMhfOperateWarehouse)
|
||||||
|
var t int
|
||||||
|
err := s.server.db.QueryRow("SELECT character_id FROM warehouse WHERE character_id=$1", s.charID).Scan(&t)
|
||||||
|
if err != nil {
|
||||||
|
s.server.db.Exec("INSERT INTO warehouse (character_id) VALUES ($1)", s.charID)
|
||||||
|
}
|
||||||
bf := byteframe.NewByteFrame()
|
bf := byteframe.NewByteFrame()
|
||||||
bf.WriteUint8(pkt.Operation)
|
bf.WriteUint8(pkt.Operation)
|
||||||
switch pkt.Operation {
|
switch pkt.Operation {
|
||||||
@@ -380,7 +385,7 @@ func handleMsgMhfOperateWarehouse(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
&itemNames[1], &itemNames[2], &itemNames[3], &itemNames[4], &itemNames[5], &itemNames[6], &itemNames[7], &itemNames[8], &itemNames[9], &equipNames[0],
|
&itemNames[1], &itemNames[2], &itemNames[3], &itemNames[4], &itemNames[5], &itemNames[6], &itemNames[7], &itemNames[8], &itemNames[9], &equipNames[0],
|
||||||
&equipNames[1], &equipNames[2], &equipNames[3], &equipNames[4], &equipNames[5], &equipNames[6], &equipNames[7], &equipNames[8], &equipNames[9])
|
&equipNames[1], &equipNames[2], &equipNames[3], &equipNames[4], &equipNames[5], &equipNames[6], &equipNames[7], &equipNames[8], &equipNames[9])
|
||||||
bf.WriteUint32(0)
|
bf.WriteUint32(0)
|
||||||
bf.WriteUint16(1000) // Usages
|
bf.WriteUint16(10000) // Usages
|
||||||
temp := byteframe.NewByteFrame()
|
temp := byteframe.NewByteFrame()
|
||||||
for i, name := range itemNames {
|
for i, name := range itemNames {
|
||||||
if len(name) > 0 {
|
if len(name) > 0 {
|
||||||
@@ -405,16 +410,11 @@ func handleMsgMhfOperateWarehouse(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
case 2:
|
case 2:
|
||||||
s.server.db.Exec(fmt.Sprintf("UPDATE warehouse SET %s%dname=$1 WHERE character_id=$2", pkt.BoxType, pkt.BoxIndex), pkt.Name, s.charID)
|
s.server.db.Exec(fmt.Sprintf("UPDATE warehouse SET %s%dname=$1 WHERE character_id=$2", pkt.BoxType, pkt.BoxIndex), pkt.Name, s.charID)
|
||||||
case 3:
|
case 3:
|
||||||
var t int
|
bf.WriteUint32(0) // Usage renewal time, >1 = disabled
|
||||||
err := s.server.db.QueryRow("SELECT character_id FROM warehouse WHERE character_id=$1", s.charID).Scan(&t)
|
bf.WriteUint16(10000) // Usages
|
||||||
if err != nil {
|
|
||||||
s.server.db.Exec("INSERT INTO warehouse (character_id) VALUES ($1)", s.charID)
|
|
||||||
}
|
|
||||||
bf.WriteUint32(0)
|
|
||||||
bf.WriteUint16(1000) // Usages
|
|
||||||
case 4:
|
case 4:
|
||||||
bf.WriteUint32(0)
|
bf.WriteUint32(0)
|
||||||
bf.WriteUint16(1000) // Usages
|
bf.WriteUint16(10000) // Usages
|
||||||
bf.WriteUint8(0)
|
bf.WriteUint8(0)
|
||||||
}
|
}
|
||||||
// Opcodes
|
// Opcodes
|
||||||
|
|||||||
Reference in New Issue
Block a user