domingo, 7 de setembro de 2008

Protocolo de lista de Itens em um Shop

Apesar desse pacote existir no dikiy, ele não está completo lá. Por isso, decidi fazer minha própria interpretação do pacote.

Observações:
1. O pacote é enviado do GS ao Cliente, GC.

C2 = head
00 = HiByte(Lenght)
16 = LoByte(Lenght)
31 = type
00 = HiByte(ItemCount)
02 = LoByte(ItemCount)
00 = Position
01 = ItemId?
00 = Adicional (Level*0x8 + (se tiver luck)0x4 + (se tiver option)0x1 + (se tiver skill)0x80)
16 = Durability
00 = ??
00 = ??
00 = ItemType x 0x10 (16)?
00 = end?
01 = Position
00 = ItemId?
00 = Adicional (Level*0x8 + (se tiver luck)0x4 + (se tiver option)0x1 + (se tiver skill)0x80)
12 = Durability
00 = ??
00 = ??
10 = ItemType x 0x10 (16)?
00 = end?

2 comentários:

Guilherme disse...

edu duvida não relacionado a esse post mais aos pacote seguinte capturei os da season 4 com o WPE PRO e junto com o seu GameServer seu e do marin gostaria de saber como mudar esses pacotes para adicionar eles nun login fix por exemplo para eu não levar DC se fosse possivel você me encinar isso o resto eu me viro

C1 04 00 01 esse foi o primeiro pacote a ser recebido

C1 04 F4 06 esse foi o primeiro que envie creio que seja o de login
se não for tento capturar outra ves mais tarde mais seguindo o tutorial da cris é apresentado nos protocolos algo assim

BYTE ProtocolServer(BYTE Tipo){
switch(Tipo){
case 0x1D:return 0xD3;
case 0xD6:return 0xDF;
case 0xDC:return 0xD7;

gostaria de saber se esses 0x1D é o que é enviado e se o 0xD3 é o que o client envia ao servidor se sim como converter os pacotes para esses valores?
não sei se você tem meu msn ainda então ai vai
meme.gui@hotmail.com caso queria add ou mandar email explicando

fico Grato

eduturconi disse...

Olá guilherme,

O pacote de login que tem de ser fixado não pode ser pego pelo WPE para análise. Para isso, pode usar o DataRecv do servidor. O pacote que o cliente manda contendo login e serial (o que dá problema com a S4) é 0xC3 (caso não saiba o que for, analise a tabela postada) e só quando ele for desencriptado poderá ser visto "0xC3 XX 0xF1", que é a identificação do pacote de login.

Quanto a função
BYTE ProtocolServer(BYTE Tipo){
switch(Tipo){
case 0x1D:return 0xD3;
case 0xD6:return 0xDF;
case 0xDC:return 0xD7;
É uma função que converte os pacotes JAPONESES em COREANOS (Server->Client). Dois desses três "heads" de pacotes são os de andar e atacar.