Aqui vai a explicação do protocolo encriptado de MapJoin. Por ele é enviado informações do Personagem, como classe, control code, pontos de força, agilidade, etc.
Observações:
1. Aqui vai ele desencriptado. Quando ele passa pela função DataSend do GameServer ele é encriptado, e antes de chegar na função DataRecv do cliente, ele já é desencriptado, porém, ele passa a ser 0xC1 no head, diferente de 0xC3, que é no GameServer.
2. Esse protocolo não é episódio 2, é apenas episódio 1 (clientes 1.04j ou anteriores). Com o episódio 2, o que muda é a experiência que é adicionada (Mastering XP).
C3/C1 -> head
3B -> len
F3 -> type
03 -> subtype
ED -> Coord. X
D4 -> Coord. Y
02 -> Map
00 -> Dir
73 -> Exp \
79 -> Exp \_ Exp invertida
0F -> Exp /
0E -> Exp /
18 -> MaxExp \
C7 -> MaxExp \_ MaxExp invertida
3A -> MaxExp /
0E -> MaxExp /
2A -> LoByte(LevelUpPts)
00 -> HiByte(LevelUpPts)
BF -> LoByte(Strenght)
02 -> HiByte(Strenght)
FE -> LoByte(Agility)
02 -> HiByte(Agility)
19 -> LoByte(Vitality)
00 -> HiByte(Vitality)
0A -> LoByte(Energy)
00 -> HiByte(Energy)
95 -> LoByte(Life)
02 -> HiByte(Life)
98 -> LoByte(MaxLife)
02 -> HiByte(MaxLife)
9E -> LoByte(Mana)
00 -> HiByte(Mana)
9E -> LoByte(MaxMana)
00 -> HiByte(MaxMana)
16 -> LoByte(Shield)
12 -> HiByte(Shield)
16 -> LoByte(MaxShield)
12 -> HiByte(MaxShield)
8A -> LoByte(AgilityPoint)
00 -> HiByte(AgilityPoint)
14 -> LoByte(MaxAgilityPoint)
01 -> HiByte(MaxAgilityPoint)
12 -> Fix1200
00 -> Fix1200
42 -> Zen \
B6 -> Zen \_ Zen (invertido)
17 -> Zen /
19 -> Zen /
03 -> Pk State
00 -> CtlCode
00 -> LoByte(AddPoint)
00 -> HiByte(AddPoint)
41 -> LoByte(MaxAddPoint)
00 -> HiByte(MaxAddPoint)
00 -> LoByte(Command)
00 -> HiByte(Command)
00 -> LoByte(MinusPoint)
00 -> HiByte(MinusPoint)
41 -> LoByte(MaxMinusPoint)
00 -> HiByte(MaxMinusPoint)
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário