RO Structs

Forum closed. All further discussion to be discussed at https://github.com/OpenKore/

Moderator: Moderators

Message
Author
Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

Re: RO Structs

#21 Post by Technology »

in kRO RE sakray length of inner struct:
- CHARACTER_INFO_NEO_UNION changed from 112 to 128. (16 byte wide mapName field was added at the end of the struct)
- EQUIPMENTITEM_EXTRAINFO3 changed from 26 to 28 (a 2 byte wide datafield was added at the end of the struct).

Code: Select all

// used in: (CharBlockSize 128)
// TODO: kLab's struct had (btw, look at its adress and the previous one): /* this+0x6e */ short bIsAccept; (i commented it out since in reality there is no such datafield)
// NOTE: added a mapname field at the end of the struct
struct CHARACTER_INFO_NEO_UNION {
  /* this+0x0 */ unsigned long GID;
  /* this+0x4 */ int exp;
  /* this+0x8 */ int money;
  /* this+0xc */ int jobexp;
  /* this+0x10 */ int joblevel;
  /* this+0x14 */ int bodystate;
  /* this+0x18 */ int healthstate;
  /* this+0x1c */ int effectstate;
  /* this+0x20 */ int virtue;
  /* this+0x24 */ int honor;
  /* this+0x28 */ short jobpoint;
  /* this+0x2a */ int hp;
  /* this+0x2e */ int maxhp;
  /* this+0x32 */ short sp;
  /* this+0x34 */ short maxsp;
  /* this+0x36 */ short speed;
  /* this+0x38 */ short job;
  /* this+0x3a */ short head;
  /* this+0x3c */ short weapon;
  /* this+0x3e */ short level;
  /* this+0x40 */ short sppoint;
  /* this+0x42 */ short accessory;
  /* this+0x44 */ short shield;
  /* this+0x46 */ short accessory2;
  /* this+0x48 */ short accessory3;
  /* this+0x4a */ short headpalette;
  /* this+0x4c */ short bodypalette;
  /* this+0x4e */ unsigned char name[24];
  /* this+0x66 */ unsigned char Str;
  /* this+0x67 */ unsigned char Agi;
  /* this+0x68 */ unsigned char Vit;
  /* this+0x69 */ unsigned char Int;
  /* this+0x6a */ unsigned char Dex;
  /* this+0x6b */ unsigned char Luk;
  /* this+0x6c */ unsigned char CharNum;
  /* this+0x6d */ unsigned char haircolor;
  /* this+0x6e */ short bIsChangedCharName;
//  /* this+0x6e */ short bIsAccept;
  /* this+0x70 */ unsigned char mapName[16];
}
EDIT: added latest test plugin updated with kLab's latest structs
Attachments
RO_struct_plugin_1.tar.gz
(59.58 KiB) Downloaded 392 times
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!

Technology
Super Moderators
Super Moderators
Posts: 801
Joined: 06 May 2008, 12:47
Noob?: No

Re: RO Structs

#22 Post by Technology »

One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...

Mount Doom awaits us, fellowship of OpenKore!

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: RO Structs

#23 Post by EternalHarvest »

What is type in 07E1?

Code: Select all

// packet 0x7e1
struct PACKET_ZC_SKILLINFO_UPDATE2 {
  /* this+0x0 */ short PacketType
  /* this+0x2 */ unsigned short SKID
  /* this+0x4 */ int type
  /* this+0x8 */ short level
  /* this+0xa */ short spcost
  /* this+0xc */ short attackRange
  /* this+0xe */ bool upgradable
}

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: RO Structs

#24 Post by kLabMouse »

EternalHarvest wrote:What is 'type' in 07E1?
Same as for any 'SKILLINFO' packet (bitflag):

Code: Select all

typedef enum <unnamed-tag> {
  SKILLTYPE_PASSIVE =  0x0,
  SKILLTYPE_TOCHARACTER =  0x1,
  SKILLTYPE_TOGROUND =  0x2,
  SKILLTYPE_TOME =  0x4,
  SKILLTYPE_TOITEM =  0x8,
  SKILLTYPE_TOALL =  0x10,
  SKILLTYPE_TOSKILL =  0x20,
} <unnamed-tag>;
Also. I think, that kore need to use this Flag, and not that static tables.

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: RO Structs

#25 Post by EternalHarvest »

Code: Select all

  struct CHARACTER_INFO_NEO_UNION charInfo[...] { // CharBlockSize 112
...
    /* this+0x6e */ short bIsChangedCharName;
    /* this+0x6e */ short bIsAccept;
Both 0x6e?

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: RO Structs

#26 Post by kLabMouse »

EternalHarvest wrote:

Code: Select all

  struct CHARACTER_INFO_NEO_UNION charInfo[...] { // CharBlockSize 112
...
    /* this+0x6e */ short bIsChangedCharName;
    /* this+0x6e */ short bIsAccept;
Both 0x6e?
that's Alias.

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: RO Structs

#27 Post by kLabMouse »

New Structs.
http://www.mediafire.com/?1xtnhq2sq4ctcx8

For the new Enums. Please ASK.

P.S. Well, the info is still Aug/Sep 2010

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: RO Structs

#28 Post by kLabMouse »


User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: RO Structs

#29 Post by kLabMouse »

New Update. Packets up to Mar 2011.
http://www.mediafire.com/file/dga5ey0pa ... cts_my.txt

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: RO Structs

#30 Post by kLabMouse »


Locked