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 01:07] – More 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 66: Line 66:
  
 ^Data Field ^ Description ^ Example ^ ^Data Field ^ Description ^ Example ^
-| ''str'' | Total Strength points | ''15''+| ''maxstr'' | Total Strength points | ''15''
-| ''con'' | Total Constitution points | ''13''+| ''maxcon'' | Total Constitution points | ''13''
-| ''int'' | Total Intelligence points | ''10''+| ''maxint'' | Total Intelligence points | ''10''
-| ''wis'' | Total wisdom points | ''10''+| ''maxwis'' | Total wisdom points | ''10''
-| ''dex'' | Total dexterity points | ''17''+| ''maxdex'' | Total dexterity points | ''17''
-| ''qui'' | Total quickness points | ''19'' |+| ''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 =====