diff --git a/Erupe/server/channelserver/handlers.go b/Erupe/server/channelserver/handlers.go index ed9b789ac..6af92cfe0 100644 --- a/Erupe/server/channelserver/handlers.go +++ b/Erupe/server/channelserver/handlers.go @@ -707,241 +707,726 @@ func handleMsgMhfUpdateGuacot(s *Session, p mhfpacket.MHFPacket) { } func handleMsgMhfInfoScenarioCounter(s *Session, p mhfpacket.MHFPacket) { - pkt := p.(*mhfpacket.MsgMhfInfoScenarioCounter) - scenarioCounter := []struct { - Unk0 uint32 // Main ID? - Unk1 uint8 - Unk2 uint8 + MainID uint32 + Unk1 uint8 // Bool item exchange? + // 0 = basic, 1 = veteran, 3 = other, 6 = pallone, 7 = diva + CategoryID uint8 }{ - { - Unk0: 0x00000000, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000001, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000002, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000003, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000004, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000005, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000006, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000007, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000008, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000009, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x0000000A, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x0000000B, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x0000000C, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x0000000D, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x0000000E, - Unk1: 1, - Unk2: 4, - }, - { - Unk0: 0x00000032, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000033, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000034, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000035, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000036, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000037, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000038, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000003A, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000003F, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000040, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000041, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000047, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000004B, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000003D, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000044, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000042, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000004C, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000046, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000004D, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000048, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000004A, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000049, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000004E, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x00000045, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000003E, - Unk1: 1, - Unk2: 5, - }, - { - Unk0: 0x0000004F, - Unk1: 1, - Unk2: 5, - }, + //000000110000 + { + MainID: 0x00000011, Unk1: 0, CategoryID: 0, + }, + // 0000005D0001 + { + MainID: 0x0000005D, Unk1: 0, CategoryID: 1, + }, + // 0000005C0001 + { + MainID: 0x0000005C, Unk1: 0, CategoryID: 1, + }, + // 000000510001 + { + MainID: 0x00000051, Unk1: 0, CategoryID: 1, + }, + // 0000005B0001 + { + MainID: 0x0000005B, Unk1: 0, CategoryID: 1, + }, + // 0000005A0001 + { + MainID: 0x0000005A, Unk1: 0, CategoryID: 1, + }, + // 000000590001 + { + MainID: 0x00000059, Unk1: 0, CategoryID: 1, + }, + // 000000580001 + { + MainID: 0x00000058, Unk1: 0, CategoryID: 1, + }, + // 000000570001 + { + MainID: 0x00000057, Unk1: 0, CategoryID: 1, + }, + // 000000560001 + { + MainID: 0x00000056, Unk1: 0, CategoryID: 1, + }, + // 000000550001 + { + MainID: 0x00000055, Unk1: 0, CategoryID: 1, + }, + // 000000540001 + { + MainID: 0x00000054, Unk1: 0, CategoryID: 1, + }, + // 000000530001 + { + MainID: 0x00000053, Unk1: 0, CategoryID: 1, + }, + // 000000520001 + { + MainID: 0x00000052, Unk1: 0, CategoryID: 1, + }, + // 000000570103 + { + MainID: 0x00000057, Unk1: 1, CategoryID: 3, + }, + // 000000580103 + { + MainID: 0x00000058, Unk1: 1, CategoryID: 3, + }, + // 000000590103 + { + MainID: 0x00000059, Unk1: 1, CategoryID: 3, + }, + // 0000005A0103 + { + MainID: 0x0000005A, Unk1: 1, CategoryID: 3, + }, + // 0000005B0103 + { + MainID: 0x0000005B, Unk1: 1, CategoryID: 3, + }, + // 0000005C0103 + { + MainID: 0x0000005C, Unk1: 1, CategoryID: 3, + }, + // 000000530103 + { + MainID: 0x00000053, Unk1: 1, CategoryID: 3, + }, + // 000000560103 + { + MainID: 0x00000056, Unk1: 1, CategoryID: 3, + }, + // 0000003C0103 + { + MainID: 0x0000003C, Unk1: 1, CategoryID: 3, + }, + // 0000003A0103 + { + MainID: 0x0000003A, Unk1: 1, CategoryID: 3, + }, + // 0000003B0103 + { + MainID: 0x0000003B, Unk1: 1, CategoryID: 3, + }, + // 0000001B0103 + { + MainID: 0x0000001B, Unk1: 1, CategoryID: 3, + }, + // 000000190103 + { + MainID: 0x00000019, Unk1: 1, CategoryID: 3, + }, + // 0000001A0103 + { + MainID: 0x0000001A, Unk1: 1, CategoryID: 3, + }, + // 000000170103 + { + MainID: 0x00000017, Unk1: 1, CategoryID: 3, + }, + // 000000020103 + { + MainID: 0x00000002, Unk1: 1, CategoryID: 3, + }, + // 000000030103 + { + MainID: 0x00000003, Unk1: 1, CategoryID: 3, + }, + // 000000040103 + { + MainID: 0x00000004, Unk1: 1, CategoryID: 3, + }, + // 0000001F0103 + { + MainID: 0x0000001F, Unk1: 1, CategoryID: 3, + }, + // 000000200103 + { + MainID: 0x00000020, Unk1: 1, CategoryID: 3, + }, + // 000000210103 + { + MainID: 0x00000021, Unk1: 1, CategoryID: 3, + }, + // 000000220103 + { + MainID: 0x00000022, Unk1: 1, CategoryID: 3, + }, + // 000000230103 + { + MainID: 0x00000023, Unk1: 1, CategoryID: 3, + }, + // 000000240103 + { + MainID: 0x00000024, Unk1: 1, CategoryID: 3, + }, + // 000000250103 + { + MainID: 0x00000025, Unk1: 1, CategoryID: 3, + }, + // 000000280103 + { + MainID: 0x00000028, Unk1: 1, CategoryID: 3, + }, + // 000000260103 + { + MainID: 0x00000026, Unk1: 1, CategoryID: 3, + }, + // 000000270103 + { + MainID: 0x00000027, Unk1: 1, CategoryID: 3, + }, + // 000000300103 + { + MainID: 0x00000030, Unk1: 1, CategoryID: 3, + }, + // 0000000C0103 + { + MainID: 0x0000000C, Unk1: 1, CategoryID: 3, + }, + // 0000000D0103 + { + MainID: 0x0000000D, Unk1: 1, CategoryID: 3, + }, + // 0000001E0103 + { + MainID: 0x0000001E, Unk1: 1, CategoryID: 3, + }, + // 0000001D0103 + { + MainID: 0x0000001D, Unk1: 1, CategoryID: 3, + }, + // 0000002E0003 + { + MainID: 0x0000002E, Unk1: 0, CategoryID: 3, + }, + // 000000000004 + { + MainID: 0x00000000, Unk1: 0, CategoryID: 4, + }, + // 000000010004 + { + MainID: 0x00000001, Unk1: 0, CategoryID: 4, + }, + // 000000020004 + { + MainID: 0x00000002, Unk1: 0, CategoryID: 4, + }, + // 000000030004 + { + MainID: 0x00000003, Unk1: 0, CategoryID: 4, + }, + // 000000040004 + { + MainID: 0x00000004, Unk1: 0, CategoryID: 4, + }, + // 000000050004 + { + MainID: 0x00000005, Unk1: 0, CategoryID: 4, + }, + // 000000060004 + { + MainID: 0x00000006, Unk1: 0, CategoryID: 4, + }, + // 000000070004 + { + MainID: 0x00000007, Unk1: 0, CategoryID: 4, + }, + // 000000080004 + { + MainID: 0x00000008, Unk1: 0, CategoryID: 4, + }, + // 000000090004 + { + MainID: 0x00000009, Unk1: 0, CategoryID: 4, + }, + // 0000000A0004 + { + MainID: 0x0000000A, Unk1: 0, CategoryID: 4, + }, + // 0000000B0004 + { + MainID: 0x0000000B, Unk1: 0, CategoryID: 4, + }, + // 0000000C0004 + { + MainID: 0x0000000C, Unk1: 0, CategoryID: 4, + }, + // 0000000D0004 + { + MainID: 0x0000000D, Unk1: 0, CategoryID: 4, + }, + // 0000000E0004 + { + MainID: 0x0000000E, Unk1: 0, CategoryID: 4, + }, + // 000000320005 + { + MainID: 0x00000032, Unk1: 0, CategoryID: 5, + }, + // 000000330005 + { + MainID: 0x00000033, Unk1: 0, CategoryID: 5, + }, + // 000000340005 + { + MainID: 0x00000034, Unk1: 0, CategoryID: 5, + }, + // 000000350005 + { + MainID: 0x00000035, Unk1: 0, CategoryID: 5, + }, + // 000000360005 + { + MainID: 0x00000036, Unk1: 0, CategoryID: 5, + }, + // 000000370005 + { + MainID: 0x00000037, Unk1: 0, CategoryID: 5, + }, + // 000000380005 + { + MainID: 0x00000038, Unk1: 0, CategoryID: 5, + }, + // 0000003A0005 + { + MainID: 0x0000003A, Unk1: 0, CategoryID: 5, + }, + // 0000003F0005 + { + MainID: 0x0000003F, Unk1: 0, CategoryID: 5, + }, + // 000000400005 + { + MainID: 0x00000040, Unk1: 0, CategoryID: 5, + }, + // 000000410005 + { + MainID: 0x00000041, Unk1: 0, CategoryID: 5, + }, + // 000000430005 + { + MainID: 0x00000043, Unk1: 0, CategoryID: 5, + }, + // 000000470005 + { + MainID: 0x00000047, Unk1: 0, CategoryID: 5, + }, + // 0000004B0005 + { + MainID: 0x0000004B, Unk1: 0, CategoryID: 5, + }, + // 0000003D0005 + { + MainID: 0x0000003D, Unk1: 0, CategoryID: 5, + }, + // 000000440005 + { + MainID: 0x00000044, Unk1: 0, CategoryID: 5, + }, + // 000000420005 + { + MainID: 0x00000042, Unk1: 0, CategoryID: 5, + }, + // 0000004C0005 + { + MainID: 0x0000004C, Unk1: 0, CategoryID: 5, + }, + // 000000460005 + { + MainID: 0x00000046, Unk1: 0, CategoryID: 5, + }, + // 0000004D0005 + { + MainID: 0x0000004D, Unk1: 0, CategoryID: 5, + }, + // 000000480005 + { + MainID: 0x00000048, Unk1: 0, CategoryID: 5, + }, + // 0000004A0005 + { + MainID: 0x0000004A, Unk1: 0, CategoryID: 5, + }, + // 000000490005 + { + MainID: 0x00000049, Unk1: 0, CategoryID: 5, + }, + // 0000004E0005 + { + MainID: 0x0000004E, Unk1: 0, CategoryID: 5, + }, + // 000000450005 + { + MainID: 0x00000045, Unk1: 0, CategoryID: 5, + }, + // 0000003E0005 + { + MainID: 0x0000003E, Unk1: 0, CategoryID: 5, + }, + // 0000004F0005 + { + MainID: 0x0000004F, Unk1: 0, CategoryID: 5, + }, + // 000000000106 + { + MainID: 0x00000000, Unk1: 1, CategoryID: 6, + }, + // 000000010106 + { + MainID: 0x00000001, Unk1: 1, CategoryID: 6, + }, + // 000000020106 + { + MainID: 0x00000002, Unk1: 1, CategoryID: 6, + }, + // 000000030106 + { + MainID: 0x00000003, Unk1: 1, CategoryID: 6, + }, + // 000000040106 + { + MainID: 0x00000004, Unk1: 1, CategoryID: 6, + }, + // 000000050106 + { + MainID: 0x00000005, Unk1: 1, CategoryID: 6, + }, + // 000000060106 + { + MainID: 0x00000006, Unk1: 1, CategoryID: 6, + }, + // 000000070106 + { + MainID: 0x00000007, Unk1: 1, CategoryID: 6, + }, + // 000000080106 + { + MainID: 0x00000008, Unk1: 1, CategoryID: 6, + }, + // 000000090106 + { + MainID: 0x00000009, Unk1: 1, CategoryID: 6, + }, + // 000000110106 + { + MainID: 0x00000011, Unk1: 1, CategoryID: 6, + }, + // 0000000A0106 + { + MainID: 0x0000000A, Unk1: 1, CategoryID: 6, + }, + // 0000000B0106 + { + MainID: 0x0000000B, Unk1: 1, CategoryID: 6, + }, + // 0000000C0106 + { + MainID: 0x0000000C, Unk1: 1, CategoryID: 6, + }, + // 0000000D0106 + { + MainID: 0x0000000D, Unk1: 1, CategoryID: 6, + }, + // 0000000E0106 + { + MainID: 0x0000000E, Unk1: 1, CategoryID: 6, + }, + // 0000000F0106 + { + MainID: 0x0000000F, Unk1: 1, CategoryID: 6, + }, + // 000000100106 + { + MainID: 0x00000010, Unk1: 1, CategoryID: 6, + }, + // 000000320107 + { + MainID: 0x00000032, Unk1: 1, CategoryID: 7, + }, + // 000000350107 + { + MainID: 0x00000035, Unk1: 1, CategoryID: 7, + }, + // 0000003E0107 + { + MainID: 0x0000003E, Unk1: 1, CategoryID: 7, + }, + // 000000340107 + { + MainID: 0x00000034, Unk1: 1, CategoryID: 7, + }, + // 000000380107 + { + MainID: 0x00000038, Unk1: 1, CategoryID: 7, + }, + // 000000330107 + { + MainID: 0x00000033, Unk1: 1, CategoryID: 7, + }, + // 000000310107 + { + MainID: 0x00000031, Unk1: 1, CategoryID: 7, + }, + // 000000360107 + { + MainID: 0x00000036, Unk1: 1, CategoryID: 7, + }, + // 000000390107 + { + MainID: 0x00000039, Unk1: 1, CategoryID: 7, + }, + // 000000370107 + { + MainID: 0x00000037, Unk1: 1, CategoryID: 7, + }, + // 0000003D0107 + { + MainID: 0x0000003D, Unk1: 1, CategoryID: 7, + }, + // 0000003A0107 + { + MainID: 0x0000003A, Unk1: 1, CategoryID: 7, + }, + // 0000003C0107 + { + MainID: 0x0000003C, Unk1: 1, CategoryID: 7, + }, + // 0000003B0107 + { + MainID: 0x0000003B, Unk1: 1, CategoryID: 7, + }, + // 0000002A0107 + { + MainID: 0x0000002A, Unk1: 1, CategoryID: 7, + }, + // 000000300107 + { + MainID: 0x00000030, Unk1: 1, CategoryID: 7, + }, + // 000000280107 + { + MainID: 0x00000028, Unk1: 1, CategoryID: 7, + }, + // 000000270107 + { + MainID: 0x00000027, Unk1: 1, CategoryID: 7, + }, + // 0000002B0107 + { + MainID: 0x0000002B, Unk1: 1, CategoryID: 7, + }, + // 0000002E0107 + { + MainID: 0x0000002E, Unk1: 1, CategoryID: 7, + }, + // 000000290107 + { + MainID: 0x00000029, Unk1: 1, CategoryID: 7, + }, + // 0000002C0107 + { + MainID: 0x0000002C, Unk1: 1, CategoryID: 7, + }, + // 0000002D0107 + { + MainID: 0x0000002D, Unk1: 1, CategoryID: 7, + }, + // 0000002F0107 + { + MainID: 0x0000002F, Unk1: 1, CategoryID: 7, + }, + // 000000250107 + { + MainID: 0x00000025, Unk1: 1, CategoryID: 7, + }, + // 000000220107 + { + MainID: 0x00000022, Unk1: 1, CategoryID: 7, + }, + // 000000210107 + { + MainID: 0x00000021, Unk1: 1, CategoryID: 7, + }, + // 000000200107 + { + MainID: 0x00000020, Unk1: 1, CategoryID: 7, + }, + // 0000001C0107 + { + MainID: 0x0000001C, Unk1: 1, CategoryID: 7, + }, + // 0000001A0107 + { + MainID: 0x0000001A, Unk1: 1, CategoryID: 7, + }, + // 000000240107 + { + MainID: 0x00000024, Unk1: 1, CategoryID: 7, + }, + // 000000260107 + { + MainID: 0x00000026, Unk1: 1, CategoryID: 7, + }, + // 000000230107 + { + MainID: 0x00000023, Unk1: 1, CategoryID: 7, + }, + // 0000001B0107 + { + MainID: 0x0000001B, Unk1: 1, CategoryID: 7, + }, + // 0000001E0107 + { + MainID: 0x0000001E, Unk1: 1, CategoryID: 7, + }, + // 0000001F0107 + { + MainID: 0x0000001F, Unk1: 1, CategoryID: 7, + }, + // 0000001D0107 + { + MainID: 0x0000001D, Unk1: 1, CategoryID: 7, + }, + // 000000180107 + { + MainID: 0x00000018, Unk1: 1, CategoryID: 7, + }, + // 000000170107 + { + MainID: 0x00000017, Unk1: 1, CategoryID: 7, + }, + // 000000160107 + { + MainID: 0x00000016, Unk1: 1, CategoryID: 7, + }, + // 000000150107 + // Missing file + // { + // MainID: 0x00000015, Unk1: 1, CategoryID: 7, + // }, + // 000000190107 + { + MainID: 0x00000019, Unk1: 1, CategoryID: 7, + }, + // 000000140107 + // Missing file + // { + // MainID: 0x00000014, Unk1: 1, CategoryID: 7, + // }, + // 000000070107 + // Missing file + // { + // MainID: 0x00000007, Unk1: 1, CategoryID: 7, + // }, + // 000000090107 + // Missing file + // { + // MainID: 0x00000009, Unk1: 1, CategoryID: 7, + // }, + // 0000000D0107 + // Missing file + // { + // MainID: 0x0000000D, Unk1: 1, CategoryID: 7, + // }, + // 000000100107 + // Missing file + // { + // MainID: 0x00000010, Unk1: 1, CategoryID: 7, + // }, + // 0000000C0107 + // Missing file + // { + // MainID: 0x0000000C, Unk1: 1, CategoryID: 7, + // }, + // 0000000E0107 + // Missing file + // { + // MainID: 0x0000000E, Unk1: 1, CategoryID: 7, + // }, + // 0000000F0107 + // Missing file + // { + // MainID: 0x0000000F, Unk1: 1, CategoryID: 7, + // }, + // 000000130107 + // Missing file + // { + // MainID: 0x00000013, Unk1: 1, CategoryID: 7, + // }, + // 0000000A0107 + // Missing file + // { + // MainID: 0x0000000A, Unk1: 1, CategoryID: 7, + // }, + // 000000080107 + // Missing file + // { + // MainID: 0x00000008, Unk1: 1, CategoryID: 7, + // }, + // 0000000B0107 + // Missing file + // { + // MainID: 0x0000000B, Unk1: 1, CategoryID: 7, + // }, + // 000000120107 + // Missing file + // { + // MainID: 0x00000012, Unk1: 1, CategoryID: 7, + // }, + // 000000110107 + // Missing file + // { + // MainID: 0x00000011, Unk1: 1, CategoryID: 7, + // }, + // 000000060107 + // Missing file + // { + // MainID: 0x00000006, Unk1: 1, CategoryID: 7, + // }, + // 000000050107 + // Missing file + // { + // MainID: 0x00000005, Unk1: 1, CategoryID: 7, + // }, + // 000000040107 + // Missing file + // { + // MainID: 0x00000004, Unk1: 1, CategoryID: 7, + // }, + // 000000030107 + { + MainID: 0x00000003, Unk1: 1, CategoryID: 7, + }, + // 000000020107 + { + MainID: 0x00000002, Unk1: 1, CategoryID: 7, + }, + // 000000010107 + { + MainID: 0x00000001, Unk1: 1, CategoryID: 7, + }, + // 000000000107 + { + MainID: 0x00000000, Unk1: 1, CategoryID: 7, + }, } resp := byteframe.NewByteFrame() resp.WriteUint8(uint8(len(scenarioCounter))) // Entry count for _, entry := range scenarioCounter { - resp.WriteUint32(entry.Unk0) + resp.WriteUint32(entry.MainID) resp.WriteUint8(entry.Unk1) - resp.WriteUint8(entry.Unk2) + resp.WriteUint8(entry.CategoryID) } doAckBufSucceed(s, pkt.AckHandle, resp.Data()) - - // DEBUG, DELETE ME! - /* - data, err := ioutil.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, "debug/info_scenario_counter_resp.bin")) - if err != nil { - panic(err) - } - - doAckBufSucceed(s, pkt.AckHandle, data) - */ - } func handleMsgMhfGetBbsSnsStatus(s *Session, p mhfpacket.MHFPacket) {} diff --git a/Erupe/server/channelserver/handlers_data.go b/Erupe/server/channelserver/handlers_data.go index 2092cd72e..66f89d647 100644 --- a/Erupe/server/channelserver/handlers_data.go +++ b/Erupe/server/channelserver/handlers_data.go @@ -193,7 +193,10 @@ func handleMsgMhfLoaddata(s *Session, p mhfpacket.MHFPacket) { func handleMsgMhfSaveScenarioData(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfSaveScenarioData) - + _, err := s.server.db.Exec("UPDATE characters SET scenariodata = $1 WHERE characters.id = $2", pkt.RawDataPayload, int(s.charID)) + if err != nil { + s.logger.Fatal("Failed to update scenario data in db", zap.Error(err)) + } // Do this ack manually because it uses a non-(0|1) error code s.QueueSendMHF(&mhfpacket.MsgSysAck{ AckHandle: pkt.AckHandle, @@ -205,7 +208,19 @@ func handleMsgMhfSaveScenarioData(s *Session, p mhfpacket.MHFPacket) { func handleMsgMhfLoadScenarioData(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfLoadScenarioData) - doAckBufSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) + var scenarioData []byte + bf := byteframe.NewByteFrame() + err := s.server.db.QueryRow("SELECT scenariodata FROM characters WHERE characters.id = $1", int(s.charID)).Scan(&scenarioData) + if err != nil { + s.logger.Fatal("Failed to get scenario data contents in db", zap.Error(err)) + } else { + if len(scenarioData) == 0 { + bf.WriteUint32(0x00) + } else { + bf.WriteBytes(scenarioData) + } + } + doAckBufSucceed(s, pkt.AckHandle, bf.Data()) } func handleMsgMhfGetPaperData(s *Session, p mhfpacket.MHFPacket) {