MapleStory Private Server Wiki
Line 21: Line 21:
 
XX XX ... || String, Name of the Guild being created
 
XX XX ... || String, Name of the Guild being created
 
-- end if
 
-- end if
  +
=====0x05, Guild Invitation=====
  +
This packet is sent when the Leader or a Jr. Master of a guild invites someone to get in the guild.
  +
XX XX XX XX || Integer, Guild ID
  +
XX XX ... || String, Inviter Name
 
=====0x1A, Guild Data=====
 
=====0x1A, Guild Data=====
 
This packet only contains a boolean (true when the player is inside a guild) and all the guild data when this boolean was true.
 
This packet only contains a boolean (true when the player is inside a guild) and all the guild data when this boolean was true.
Line 26: Line 30:
 
 
 
-- If the boolean was 01/true
 
-- If the boolean was 01/true
-- Guild Data, see [[#Guild Data Structure|Guild Data]]
+
-- Guild Data, see [[#Guild Data Structure|Guild Data Structure]]
 
-- End if
 
-- End if
  +
=====0x20, Guild Data (sent on guild creation)=====
  +
This packet is sent when the guild was succesfully created. There's nothing else than only the guild data.
  +
-- Guild Data, see [[#Guild Data Structure|Guild Data Structure]]
  +
=====0x3A, Guild Capacity Update=====
  +
This packet is sent when the guild leader increases the guild capacity. The guild leader gets an NPC chat box of the Guild Creation NPC saying that the guild capacity has successfully increased, with the new capacity value shown too.
  +
XX XX XX XX || Integer, Guild ID
  +
XX XX XX XX || Integer, Guild Capacity
   
 
==Additional guild structures==
 
==Additional guild structures==

Revision as of 11:37, 21 July 2010

The Guild packet contains data for events like a player logging in or showing the Guild Rank Board.

Structure

Start of Guild packet

XX XX || Short, Header
XX || Byte, Type

Types

0x01, Guild Creation (begin)

This packet is sent when the party leader has:

  1. Enough players in the party (6)
  2. Enough mesos to create a guild
  3. No players in the party who is in a guild already
  4. Every player is on the same map on the same channel

This packet only contains the type 0x01.

0x03, Guild Contract

This packet is sent to every member of the party when the name was chosen.

Note: The party leader only gets the header and type, not the remaining data.

-- If player is not party leader
XX XX XX XX || Integer, Party ID
XX XX ... || String, Party Leader (thus the creator of the guild) name
XX XX ... || String, Name of the Guild being created
-- end if
0x05, Guild Invitation

This packet is sent when the Leader or a Jr. Master of a guild invites someone to get in the guild.

XX XX XX XX || Integer, Guild ID
XX XX ... || String, Inviter Name
0x1A, Guild Data

This packet only contains a boolean (true when the player is inside a guild) and all the guild data when this boolean was true.

XX || Boolean, 00 if the player is not in a guild, 01 otherwise

-- If the boolean was 01/true
-- Guild Data, see Guild Data Structure
-- End if
0x20, Guild Data (sent on guild creation)

This packet is sent when the guild was succesfully created. There's nothing else than only the guild data.

-- Guild Data, see Guild Data Structure
0x3A, Guild Capacity Update

This packet is sent when the guild leader increases the guild capacity. The guild leader gets an NPC chat box of the Guild Creation NPC saying that the guild capacity has successfully increased, with the new capacity value shown too.

XX XX XX XX || Integer, Guild ID
XX XX XX XX || Integer, Guild Capacity

Additional guild structures

Guild Data Structure

This is the structure for the Guild Data. This structure is used in Alliances and a couple Guild packets too.

XX XX XX XX || Integer, Guild ID
XX XX ... || String, Guild Name

-- For every guild rank title
XX XX ... || String, Guild Rank Title
-- End for

XX || Byte, Amount of Guild Members

-- For every guild member, where the leader is the first one
XX XX XX XX || Integer, Member Player ID
-- End for

-- For every guild member, where the leader is the first one
XX XX XX XX XX XX XX XX XX XX XX XX XX || String with fixed length of 13, Member Name
XX XX XX XX || Integer, Member Job, if unknown: -1
XX XX XX XX || Integer, Member Level, if unknown: -1
XX XX XX XX || Integer, Member Guild Rank
XX 00 00 00 || Boolean (integer), Member online (01 for true)
XX XX XX XX || Integer, Unknown static value for everyone in the guild. Seems to be different in any other guild. Could be some random number.
XX XX XX XX || Integer, Member Alliance Rank (0 if not in alliance)
-- End for

XX XX XX XX || Integer, Guild Capacity (max: 100)

-- Guild Logo data, see Logo Structure

XX XX ... || String, Guild Notice
XX XX XX XX || Integer, Guild Points
XX XX XX XX || Integer, Alliance ID (0 if not in alliance)

Logo Structure

This logo structure is used everywhere where the logo is used, such as changing the emblem and on the Show Player packet.

XX XX || Short, Background
XX || Byte, Background color
XX XX || Short, Foreground
XX || Byte, Foreground color