Quote:
Originally Posted by Schickl
reverse engineering ftw
1. find out how it's parsed
2. change something
3. look for changes ingame
4. ?????
5. profit
|
:bandit:
Quote:
Originally Posted by Little Hole
73 07 00 00 model
22 volume
00 00 noob icon
37 max item slot
00 num items items: dword id - byte plusvalue
05 avatar slot
00 num avatar items
00 duplicate flag 01: byte num_items + itemid's (no plusvalue!)
AD D7 00 00 object id
A7 61 sectors
B4 72 6F 44 float: x
18 E7 D5 C0 float: z
3D 74 E5 44 float: y
8F 7E angle
01 have_destination
01 walk flag 00: walking - 01: running
if(have_destination) {
A7 61 sectors
97 03 x
FB FF z
2D 07 y
} else {
00 no destination
8F 7E direction angle
}
01 death flag 01: alive - 02: dead
03 move flag 01: no movement - 03: moving - 04: sitting
00 berserk flag 00: normal - 01: berserk
DE 24 C6 41 float: walk speed
CD CC 9A 42 float: run speed
00 00 C8 42 float: berserk speed
00 number of buffs buffs: dword skill + dword duration in ms
0A 00 charname length
62616572626165777262 charname
00 job type 00: normal - 01: trader - 02: thief - 03: hunter
01 job level
00 pvp state 00: normal - 01: purple (attacker) - 02: red (murderer)
00 transport transport: dword transport id
00 ? unknown: no visual change
00 ? unknown: no visual change
00 ? unknown: no visual change
00 stall flag 04: player is stalling
00 00 strlen
<string> guild name
00 00 00 00 guild id
00 00 strlen
<string> guild grant name
00 00 00 00 guild emblem id
00 00 00 00 GP
00 00 00 00 union emblem id
00 ?unknown: no visual change
if(stall flag == 04) {
04 00 strle
1200340056007800 stallname
00 00 00 00 stall avatar (mall)
}
00 cooldown bar in seconds, bar above head indicating cooldown (capes/suits)
FF pvp flag need more info on this
04 1 or 3 or 4 unknown - no visual change
Edit: this is a parsed packet (groupspawn Packet for one player ) hope it help ;)
|
Well thing is you don't always read a transport ID, I'll log some data and see when you need to.
Quote:
Originally Posted by srutownik
Do you know how to get character position from float format? (after character ID)
|
Well thanks for hijacking my thread but...
Code:
public static int ToGameX(float X, byte Xsector)
{
return (int)Math.Round(((Xsector - 135) * 192 + (float)(X / 10)));
}
public static int ToGameY(float Y, byte Ysector)
{
return (int)Math.Round(((Ysector - 92) * 192 + (float)(Y / 10)));
}