Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
gmcp:start [2023/05/22 00:58] – starting on modules/messages paradoxgmcp:start [2024/04/26 23:19] (current) – Add link to speakers page lytol
Line 16: Line 16:
 | Char | Character information |  | Char | Character information | 
 | Room | Room information |  | Room | Room information | 
-| Comm.Channel | Channel information ((Disables in-game channel echo when enabled.)) +| Comm.Channel | Channel information | 
 | Guild | Guild specific information ((Enabled automatically for all GMCP clients.)) | | Guild | Guild specific information ((Enabled automatically for all GMCP clients.)) |
  
Line 45: Line 45:
 | ''sp''((named sp instead of cp to match common GMCP usage)) | Current concentration points (CP).  | ''100'' | | ''sp''((named sp instead of cp to match common GMCP usage)) | Current concentration points (CP).  | ''100'' |
 | ''maxsp''((named maxsp instead of maxcp to match common GMCP usage)) | Maximum((sp may be higher than normal maxsp if you are above 100% CP in-game)) concentration points | ''150'' | | ''maxsp''((named maxsp instead of maxcp to match common GMCP usage)) | Maximum((sp may be higher than normal maxsp if you are above 100% CP in-game)) concentration points | ''150'' |
 +| ''string'' | A string description of the vitals information. | ''"H:123/200 M:100/150"'' |
 +
 +=== Char.Stats ===
 +
 +^ Message Name      ^ Sent When  ^ Type ^ Notes ^
 +|''Char.Stats'' | At login, on change | Delta | Base stats **without** modifiers. |
 +
 +^Data Field ^ Description ^ Example ^
 +| ''str'' | Base Strength points | ''10'' |
 +| ''con'' | Base Constitution points | ''12'' |
 +| ''int'' | Base Intelligence points | ''8'' |
 +| ''wis'' | Base wisdom points | ''9'' |
 +| ''dex'' | Base dexterity points | ''15'' |
 +| ''qui'' | Base quickness points | ''17'' |
 +
 +=== Char.MaxStats ===
 +
 +^ Message Name      ^ Sent When  ^ Type ^ Notes ^
 +|''Char.MaxStats'' | At login, on change | Delta | Effective stats **with** modifiers. |
 +
 +^Data Field ^ Description ^ Example ^
 +| ''maxstr'' | Total Strength points | ''15'' |
 +| ''maxcon'' | Total Constitution points | ''13'' |
 +| ''maxint'' | Total Intelligence points | ''10'' |
 +| ''maxwis'' | Total wisdom points | ''10'' |
 +| ''maxdex'' | Total dexterity points | ''17'' |
 +| ''maxqui'' | Total quickness points | ''19'' |
 +
 +=== Char.Status and Char.StatusVars ===
 +
 +^ Message Name      ^ Sent When  ^ Type ^ Notes ^
 +|''Char.Status'' | At login, on change | Delta | Misc character status values. |
 +| ''Char.StatusVars'' | At login, on change | Delta | Descriptive labels for each of the fields in ''Char.Status'' |
 +
 +^Data Field ^ Description ^
 +| ''level'' | Your player level |
 +| ''money'' | Solaris your player is carrying |
 +| ''bankmoney'' | Solaris your player has in the bank |
 +| ''short'' | Your player's short description |
 +| ''guild'' | Your player's guild name (or none). |
 +| ''subguild'' | Your player's subguild (or none). |
 +| ''xp'' | Your player's current exp. |
 +| ''maxxp'' | Your player's current exp cap. |
 +| ''wimpy'' | Your player's set wimpy percentage value. |
 +| ''wimpy_dir'' | Your player's set preferred wimpy direction (or none). |
 +| ''aim'' | Your player's set preferred aim location. |
 +| ''quest_points'' | The number of quest points your player has. |
 +| ''kills'' | Your total number of kills |
 +| ''deaths'' | Your total number of deaths |
 +| ''explorer_rating'' | Your explorer rating. |
 +| ''pk'' | Whether or not you're pk (1 or 0). |
 +| ''inn'' | Whether o not you have an inn rented (1 or 0). |
 +| ''global_exp_bonus'' | The global exp bonus, if any (floating point number) |
 +| ''guild_exp_bonus'' | The exp bonus for your guild, if any (floating point number) |
 +| ''explorer_exp_bonus'' | Your personal explorer rating exp bonus, if any (floating point number) |
 +| ''personal_exp_bonus'' | Your personal exp bonus, if any (floating point number) |
 +| ''total_exp_bonus'' | Your total exp bonus including all of the bonuses mentioned above (floating point number) |
  
 === Room === === Room ===
  
-TODO+^ Message Name      ^ Sent When  ^ Type ^ Notes ^ 
 +|''Room.Info'' | At login, whenever you move | Full | Useful for mapping. |
  
-=== Comm.Channel ===+^Data Field ^ Description ^ Example ^ 
 +| ''num'' | Room number((For reasons, Dune uses a hash string and not a number))Uniquely identifies the room. | ''"40ee12ff7ef7bcfc0f6b87fd4e6c6448"''
 +| "name" | Short description of the room | "Arrakeen Shuttle Landing Port" | 
 +| ''area'' | Lower-case name of the planet((In the future we may send more specific area names)) you're on. | ''"arrakis"'' |  
 +| ''environment'' | Whether you're indoors or outdoors. | ''"indoors"''
 +| ''exits'' | A table/dictionary mapping from exit name to room ID((remember, it's a hash)) | See below. |
  
-TODO+Example room info: 
 +<code javascript> 
 +
 +  "name": "Arrakeen Shuttle Landing Port", 
 +  "area": "arrakis", 
 +  "num": "40ee12ff7ef7bcfc0f6b87fd4e6c6448" 
 +  "environment": "outdoors", 
 +  "exits":
 +    "east": "baa2786919e34132d5096695e744a145", 
 +    "west": "8ccbdd326a1db11dfd21a38f950c8aa8", 
 +    "north": "22c354ced799589b3c0fd31ba457d854", 
 +    "south": "44bded38d46d812602e63a0267c9fa7e" 
 +  }, 
 +
 +</code> 
 + 
 +**Note**: A few select areas that are highly custom may be missing exit information. This is a known issue and will hopefully be addressed in the future. The majority of areas will send correct GMCP data. 
 + 
 + 
 +=== Comm.Channel.List === 
 + 
 +^ Message Name      ^ Sent When  ^ Type ^ Notes ^ 
 +|''Comm.Channel.List'' | At login | Full | Useful for setting up channel capture. | 
 + 
 +^Data Field ^ Description ^ 
 +| ''command'' | Command to use to speak on the channel. | 
 +| ''enabled'' | Whether the channel is on/off (0 or 1). | 
 +| ''channel'' | Name of the channel. | 
 +| ''name'' | Name of the channel. |  
 + 
 +Channel list information is sent only at login, and as an array. Each each array value is a dict with the data fields listed above.  
 + 
 +Example: 
 +<code javascript> 
 +
 +  { 
 +    "command": "chat", 
 +    "enabled": 1, 
 +    "channel": "chat", 
 +    "name": "chat" 
 +  }, 
 +  { 
 +    "command": "discord", 
 +    "enabled": 0, 
 +    "channel": "discord", 
 +    "name": "discord" 
 +  }, 
 +  { 
 +    "command": "newbie", 
 +    "enabled": 1, 
 +    "channel": "newbie", 
 +    "name": "newbie" 
 +  } 
 +
 +</code> 
 + 
 +=== Comm.Channel.Text === 
 + 
 +^ Message Name      ^ Sent When  ^ Type ^ Notes ^ 
 +|''Comm.Channel.Text'' | On channel message | Full | Capture these messages for channel capture. | 
 + 
 +^Data Field ^ Description ^ 
 +| ''text'' | Channel message text (includes speaker) | 
 +| ''channel'' | Name of the channel the message was sent on. | 
 +| ''talker'' | Name of the person that spoke. | 
 +| ''channel_ansi'' | Name of the channel (with ANSI colours). |  
 + 
 +Example: 
 +<code javascript> 
 +
 +  "text": "Paradox : yeee\n", 
 +  "channel_ansi": "\u001b[1m[\u001b[0m\u001b[31mchat\u001b[0m\u001b[1m]\u001b[0m", 
 +  "talker": "Paradox", 
 +  "channel": "chat" 
 +
 +</code> 
 + 
 +By default channel messages will be sent both in-game and over GMCP for clients that opt-in to the ''Comm.Channel'' module. If you want channel messages to be sent **only** over GMCP, then ''set gmcp_chans on'' in-game. To restore the original behaviour: ''unset gmcp_chans''. If you use this setting make sure you have a GMCP channel capture trigger configured or you won't see any channel messages!!!
  
 === Guild === === Guild ===
  
-TODO+Guild data varies widely by guild. See each page for more information. 
 +  * [[atreides|House Atreides]] 
 +  * [[gesserit|Bene Gesserit]] 
 +  * [[tleilax|Bene Tleilax]] 
 +  * [[warriors|Bene Gesserit Warriors]] 
 +  * [[fremen|Fremen]] 
 +  * [[harkonnen|House Harkonnen]] 
 +  * [[matres|Honored Matres]] 
 +  * [[sardaukar|Imperial Sardaukar]] 
 +  * [[img|Ixian Machine Guild]] 
 +  * [[speakers|Fish Speakers]] 
  
 ===== Client Setup ===== ===== Client Setup =====