Ahh I see, I've been reading SuperLol and he said:
PHP Code:
-Byte: 1 byte
-Short: 2 bytes
-Int: 4 bytes
-Long: 8 bytes
-The packets on Maplestory are in little endian format, which means the once converted to hex, they are reversed. This means that if something was 0x12345678, once converted to little endian, it would be 78 56 34 12. Using the same principle, a group of 4 bytes that are 00 30 20 10 will be 0x10203000.
-Packets are sent between the server and client to transfer data and information. The GUI is a projection of it, in a way.
-Actions that are handled by packets on Maplestory are defined by a short (2 bytes) in the beginning of the packet. Some actions may share the same short. We will call this short an opcode. Both packets sent and received by the server have opcodes. Naming these opcodes will help a lot.
-This will be done in hexadecimal so it is base 16. It is useful to have calculators for hex to dec and dec to hex at the ready. It is also useful to know some basics such as 0xA = 10, 0xB = 11, and possible some multiples of 16. It is useful to also know how to multiply and add in your head. Since I can do that, for all bytes I can calculate the values pretty fast by doing it in my head.
-Handlers are for receive packets. MaplePacketCreator is for send packets. By receiving packets, I mean that the server receives the packets and not the client. Similarly by sending packets, I mean the server sends the packets.
But how come Even didn't use the full packet:
PHP Code:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 53 04 AD E0 00 00 00 00 00 B5 49 00 00 00 00 00 00 00 00 00 00 00
He just used:
PHP Code:
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 20 00 00 >> 0x2000 //8
00 00 00 00 //7
00 00 00 00 //6
00 00 00 00 //5
00 00 00 00 //4
00 00 00 00 //3
00 00 00 00 //2
00 00 00 00 //1
Edit: I think Im starting to understand since buff stats are in int and an int has 4 bytes (00 00 00 00), thats why he ordered it that way. But why does he stop at 12 ints? Is it because the next byte is 03?