Valhalla Legends Forums Archive | Battle.net Bot Development | Diablo II Ladder Request MCP_GETLADDER 0x11

AuthorMessageTime
ChR0NiC
[quote]
0x11 - Realm ladder request -

C => S

(BYTE) Ladder type
(WORD) Starting position
Starting position is zero-based. If you include 0x0 there, the server will respond with the ladder data for entries 1-16.

S => C

(BYTE) Ladder type
(WORD) *How many bytes all of the packets are
(WORD) *How many bytes this packet is
(WORD) *How many bytes have not been recieved yet in other packets
(WORD) Always zero, except in the last packet recieved from the server includes a zero-based rank of the starting entries recieved
(WORD) Unknown (0)
(VOID) Ladder data
* Excludes the first byte of the packet, and it's first 5 WORDs.

Format of ladder data

(DWORD) Experience
(DWORD) Unknown (0)
(BYTE) Character class
(BYTE) Character name prefix
(WORD) Character level
(STRING) **Character name
Possible character classes:

Character name prefixes are the same as they appear in statstring.

** Always 16 BYTEs long; if the character name is less than 15 characters, it is followed with null BYTEs.

[/quote]

Anyways, to the point, I was wondering if there was a way to tell how many users are included in each one of these packets sent to the client, because I have no clue how many times to loop around when doing the parsing. The packet is pretty straight forward, but this is the only problem I am having.

PS: Thanks to Userloser for this extremely extensive documentation.
July 28, 2004, 3:05 AM
OnlyMeat
I have not done anything like that directly but by the looks of what you have there you just do a recv and increment a byte counter and once you hit 0x1b (provided the format you have written is correct) you split // dispatch the char info to your interface or what ever you use to record the info.

It does'nt look particularly complex tbh.

ps. If you kiss ass to much your lips might fuse to it :p
July 28, 2004, 5:42 AM
Maddox
It looks like it sends data for 16 users at a time, according to this statement "If you include 0x0 there, the server will respond with the ladder data for entries 1-16."

The way I would do it though is loop until "(WORD) *How many bytes have not been recieved yet in other packets" is equal to 0.
July 28, 2004, 5:50 AM
ChR0NiC
[quote author=OnlyMeat link=board=17;threadid=7931;start=0#msg73087 date=1090993346]
ps. If you kiss ass to much your lips might fuse to it :p
[/quote]

If you are refering- to my thanking of Userloser, I was giving credit where credit is due, and don't start flaming, or you could end up like BaDDBLooD and GosuGaming.

Userloser's Packet Referal I bet you would never do that amount of research on packets, so don't get me started alright?
July 28, 2004, 6:36 AM
EviL_MarinE
lol effect, Just cos you program or find out packets ect.. dooesnt mean you dont have a life
July 28, 2004, 9:11 AM

Search