Difference between revisions of "MUSH to MOO Guide"

From Super Robot Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
If you're coming from another modern roleplaying codebase, such as MUSH or MUCK, there are a few peculiarities to MOO that may throw you. You're likely used to the general flow of play, which has been substantially unchanged, but there will be differences here and there. We've taken a fair amount of time to adjust them, with interoperability as a priority.
 
If you're coming from another modern roleplaying codebase, such as MUSH or MUCK, there are a few peculiarities to MOO that may throw you. You're likely used to the general flow of play, which has been substantially unchanged, but there will be differences here and there. We've taken a fair amount of time to adjust them, with interoperability as a priority.
 +
 +
== New Tools ==
 +
The most useful MOO tool that does not exist on MUSH is @paste. @paste lets you simply paste text in without the usual suspects of %r, %t, and %b, and simply have it output unmodified. This can be used to quickly convey large amounts of text without needing to fuss with it.
  
 
== Non-Channel Communications ==
 
== Non-Channel Communications ==
Line 11: Line 14:
 
=== Semiposing ===
 
=== Semiposing ===
 
In MUSH syntax, the semicolon is used to perform semiposes. While semiposes still exist in MOO (how else would we talk about the things we own?), the syntax for one is ::, rather than ;. For instance, if you, Amuro Ray, wanted to announce that your Haro is stinky, you would input <code>::'s Haro is making a lot of noise...</code>and receive: <code>Amuro Ray's Haro is making a lot of noise...</code> We get that this is horrible and bad if you've been MUSHing for more than three years and offer [[BeipMU Aliases]] specifically to get rid of this behavior.
 
In MUSH syntax, the semicolon is used to perform semiposes. While semiposes still exist in MOO (how else would we talk about the things we own?), the syntax for one is ::, rather than ;. For instance, if you, Amuro Ray, wanted to announce that your Haro is stinky, you would input <code>::'s Haro is making a lot of noise...</code>and receive: <code>Amuro Ray's Haro is making a lot of noise...</code> We get that this is horrible and bad if you've been MUSHing for more than three years and offer [[BeipMU Aliases]] specifically to get rid of this behavior.
 +
 +
== Channel Communications ==
 +
Rather than <code>+<channel name/abbreviation> :</code>for posing on channels, MOO uses <code>=<channel name/abbreviation></code>. If you want to adjust this behavior, the [[BeipMU Aliases]] page again offers an alias that adjusts the behavior.
 +
 +
Likewise, MOO channel text output is just slightly differently formatted. You'll see this when you get on the game, because going over it here in exhaustive detail would add rather than subtract confusion.
  
 
== Colors (jibun wo sekai sae mo...) ==
 
== Colors (jibun wo sekai sae mo...) ==
In a much happier note, colorizing text works in a much simpler way than in the MUSH format. If you, Lelouch vi Britannia, wanted to highlight a Geass command in a pose with that familiar Geass red:
+
In a much happier note, colorizing text works in a much simpler way than in the MUSH format; you simply start the sequence with the color in [brackets], such as <code>[red]</code>. Color will also output from RGB values or xterm color codes. RGB values use the format <code>[xxx:xxx:xxx]</code>, while xterm colors use the format <code>[:xxx]</code>. Note that you should make sure your inputs for these formats use three digits each, such as [:051] if you want xterm51, or [153:013:014] if you want RGB 153/13/14.
 +
 
 +
If you, Lelouch vi Britannia, wanted to highlight a Geass command in a pose with that familiar Geass crimson:
  
<code>Lelouch flares his hand out over his eye. "[170:51:51]Tell me the time,[normal]" he commands, watching expectantly.</code>
+
<code>Lelouch flares his hand out over his eye. "[170:051:051]Tell me the time,[normal]" he commands, watching expectantly.</code>
  
 
This will output the text in RGB value 170:51:51 (roughly, some flavor of crimson), starting from 'Tell' and terminating at 'time,'. <code>[normal]</code> will always return color to expected system value.
 
This will output the text in RGB value 170:51:51 (roughly, some flavor of crimson), starting from 'Tell' and terminating at 'time,'. <code>[normal]</code> will always return color to expected system value.

Revision as of 12:50, 8 September 2021

If you're coming from another modern roleplaying codebase, such as MUSH or MUCK, there are a few peculiarities to MOO that may throw you. You're likely used to the general flow of play, which has been substantially unchanged, but there will be differences here and there. We've taken a fair amount of time to adjust them, with interoperability as a priority.

New Tools

The most useful MOO tool that does not exist on MUSH is @paste. @paste lets you simply paste text in without the usual suspects of %r, %t, and %b, and simply have it output unmodified. This can be used to quickly convey large amounts of text without needing to fuss with it.

Non-Channel Communications

Communication on MOOs is much like communication on MUSHes; the usual command markers -- ", :, and @emit -- all work equally well. There are only two core differences between the commands. One has to do with spacing, while the other has to do with semiposing.

Spacing

  • " and : are meant to be compact, short commands on MOOs. These commands do not evaluate %r, %t, and %b; however, they will take any number of nonbreaking spaces you happen to want, unlike MUSHes, which sanitize multiple spaces down to a single space. Emit/@emit still takes %r, %t, and %b in more or less the expected ways.
  • %t, rather than inserting an indent to a fixed point, inserts eight consecutive spaces. As %t is generally used only to start a pose, and %b is preferred in formatting internally anyway, this should not cause more than the occasional hiccup. (Use %b for internal formatting. It is more reliable, in general.)

Semiposing

In MUSH syntax, the semicolon is used to perform semiposes. While semiposes still exist in MOO (how else would we talk about the things we own?), the syntax for one is ::, rather than ;. For instance, if you, Amuro Ray, wanted to announce that your Haro is stinky, you would input ::'s Haro is making a lot of noise...and receive: Amuro Ray's Haro is making a lot of noise... We get that this is horrible and bad if you've been MUSHing for more than three years and offer BeipMU Aliases specifically to get rid of this behavior.

Channel Communications

Rather than +<channel name/abbreviation> :for posing on channels, MOO uses =<channel name/abbreviation>. If you want to adjust this behavior, the BeipMU Aliases page again offers an alias that adjusts the behavior.

Likewise, MOO channel text output is just slightly differently formatted. You'll see this when you get on the game, because going over it here in exhaustive detail would add rather than subtract confusion.

Colors (jibun wo sekai sae mo...)

In a much happier note, colorizing text works in a much simpler way than in the MUSH format; you simply start the sequence with the color in [brackets], such as [red]. Color will also output from RGB values or xterm color codes. RGB values use the format [xxx:xxx:xxx], while xterm colors use the format [:xxx]. Note that you should make sure your inputs for these formats use three digits each, such as [:051] if you want xterm51, or [153:013:014] if you want RGB 153/13/14.

If you, Lelouch vi Britannia, wanted to highlight a Geass command in a pose with that familiar Geass crimson:

Lelouch flares his hand out over his eye. "[170:051:051]Tell me the time,[normal]" he commands, watching expectantly.

This will output the text in RGB value 170:51:51 (roughly, some flavor of crimson), starting from 'Tell' and terminating at 'time,'. [normal] will always return color to expected system value.