Difference between revisions of "Guilds"

From SWGANH Wiki
Jump to: navigation, search
 
(13 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
'''Step2: Creating the guild'''
 
'''Step2: Creating the guild'''
  
:*Player brings up guild terminal's radial and sever checks to see if it has been associated with a guild yet. If finds that it has not and returns the "create guild" radial. '''SERVER SENDS'' ObjController 147h -- OptionID 7(EXAMINE) and OptionID 185 (@guild:menu_create).
+
:*Player brings up guild terminal's radial and sever checks to see if it has been associated with a guild yet. If finds that it has not and returns the "create guild" radial. '''SERVER SENDS''' <u>ObjController 147h</u> with ''OptionID 7(EXAMINE) and OptionID 185 (@guild:menu_create)''.
  
:*Player clicks on OptionID 185. Client sends ObjectMenuSelectMessage with button id 185.
+
:*Player clicks on "create guild". '''CLIENT SENDS''' <u>ObjectMenuSelectMessage</u> with ''button id 185''.
 +
 
 +
:*The '''SERVER SENDS''' <u>SuiCreatePageMessage:Script.inputBox</u> ''[http://paste.swganh.org/viewp.php?id=20070705193023-6cbd2c60a6ecefe3257d9c5427afae6d onGuildCreateNameResponse]''. This displays a small box to the player asking them to enter a name for their guild.
 +
 
 +
:*Player enters a name and presses the OK button. '''CLIENT SENDS''' <u>SuiEventNotification</u> with the ''window ID and the submitted name''.
 +
 
 +
:*The server then quickly checks to make sure no other guilds exist with this name and that it doesn't contain any profanity or starwars faction names. Everything checks out and the '''SERVER SENDS''' <u>SuiCreatePageMessage:Script.inputBox</u> ''[http://paste.swganh.org/viewp.php?id=20070705194741-c6bb72342e7fad9a418f1849a41bc14d onGuildCreateAbbrevResponse]''. This displays a small box to the player asking them to enter a <tag> for their guild(max 5 characters).
 +
 
 +
:*Player enters a tag and presses the OK button. '''CLIENT SENDS''' <u>SuiEventNotification</u> with the ''window ID and the submitted tag''.
 +
 
 +
:*The server then creates the guild adding the guild to the database and generating a unique id for the guild. The server then creates a guild chat room. A system message is then sent to the player telling them they successfully created the guild. '''SERVER SENDS''' <u>DeltasMessage</u> with ''GILD3 vID4'' that inserts the guilds tag and id into the guild list for the server. '''SERVER SENDS''' <u>DeltasMessage</u> with ''CREO6 vID10'' that places the <tag> next to the player's name. '''SERVER SENDS''' chat room packets that puts the player into the guild chat. On the server side it sets full rights to this player as they are the guild creator.
 +
 
 +
 
 +
 
 +
'''Step3: Inviting members'''
 +
 
 +
:*Player brings up guild terminal's radial and sever checks to see if there are any sponsored members. It finds that there are none and returns the "create guild" radial. '''SERVER SENDS''' <u>ObjController 147h</u> with ''[http://paste.swganh.org/viewp.php?id=20070706003617-5864114147d0228ad16c0dcb317713de These Options]''. NOTE: The sponsored button is mission because no one has been sponsored yet.
 +
 
 +
:*Player clicks on "sponsor player". '''CLIENT SENDS''' <u>ObjectMenuSelectMessage</u> with ''button id 190''.
 +
 
 +
:*The '''SERVER SENDS''' <u>SuiCreatePageMessage:Script.inputBox</u> ''[http://paste.swganh.org/viewp.php?id=20070706143914-87e35b278ae815a6e84faf40d6316140 onGuildSponsorResponse]''. This displays a small box to the player asking them to enter the full name of the person they wish to sponsor.

Latest revision as of 13:40, 6 July 2007

A short guide from the packet perspective on to how to tie the many systems of the swg client together to achieve guilds.


Step1: The Setup

When each player zones into a region regardless if they are part of a guild or not they get the GILD 3. It contains a list of all the guild id and tags for every guild on the server. This packet can sometimes get very large but its used so that when someone has a guild tag displayed you see it. How this works is that when a player is a member of a guild there is a variable in the CREO6 that contains the id of the guild they belong too. It uses the information in the GILD3 to know what tag to display next to their name.


Step2: Creating the guild

  • Player brings up guild terminal's radial and sever checks to see if it has been associated with a guild yet. If finds that it has not and returns the "create guild" radial. SERVER SENDS ObjController 147h with OptionID 7(EXAMINE) and OptionID 185 (@guild:menu_create).
  • Player clicks on "create guild". CLIENT SENDS ObjectMenuSelectMessage with button id 185.
  • The SERVER SENDS SuiCreatePageMessage:Script.inputBox onGuildCreateNameResponse. This displays a small box to the player asking them to enter a name for their guild.
  • Player enters a name and presses the OK button. CLIENT SENDS SuiEventNotification with the window ID and the submitted name.
  • The server then quickly checks to make sure no other guilds exist with this name and that it doesn't contain any profanity or starwars faction names. Everything checks out and the SERVER SENDS SuiCreatePageMessage:Script.inputBox onGuildCreateAbbrevResponse. This displays a small box to the player asking them to enter a <tag> for their guild(max 5 characters).
  • Player enters a tag and presses the OK button. CLIENT SENDS SuiEventNotification with the window ID and the submitted tag.
  • The server then creates the guild adding the guild to the database and generating a unique id for the guild. The server then creates a guild chat room. A system message is then sent to the player telling them they successfully created the guild. SERVER SENDS DeltasMessage with GILD3 vID4 that inserts the guilds tag and id into the guild list for the server. SERVER SENDS DeltasMessage with CREO6 vID10 that places the <tag> next to the player's name. SERVER SENDS chat room packets that puts the player into the guild chat. On the server side it sets full rights to this player as they are the guild creator.


Step3: Inviting members

  • Player brings up guild terminal's radial and sever checks to see if there are any sponsored members. It finds that there are none and returns the "create guild" radial. SERVER SENDS ObjController 147h with These Options. NOTE: The sponsored button is mission because no one has been sponsored yet.
  • Player clicks on "sponsor player". CLIENT SENDS ObjectMenuSelectMessage with button id 190.
  • The SERVER SENDS SuiCreatePageMessage:Script.inputBox onGuildSponsorResponse. This displays a small box to the player asking them to enter the full name of the person they wish to sponsor.