Script function
world.ANSI
Read about scripting
Type
Method
Summary
Generates an ANSI colour sequence
Prototype
BSTR ANSI(short Code);
View list of data type meanings
Description
This generates an ANSI colour sequence, like this:
ESC [ code m
The code number is supplied as an argument.
This is intended to be used with the ANSINote function - which lets you write to the output window with ANSI formatting, or to send to other clients via the chat system.
Useful numbers to use would be:
Miscellaneous
0: reset
1: bold
3: blink (is rendered as italic)
4: underline
7: inverse
22: cancel bold
23: cancel blink
24: cancel underline
27: cancel inverse
Foreground (text) colour
30: Black
31: Red
32: Green
33: Yellow
34: Blue
35: Magenta
36: Cyan
37: White
Background colour
40: Black
41: Red
42: Green
43: Yellow
44: Blue
45: Magenta
46: Cyan
47: White
// 256 colour ANSI foreground
38;5;n where n is 0 to 255
// 256 colour ANSI background
48;5;n where n is 0 to 255
Suggestion - you could conceivably replace colours in incoming chat messages by doing a world.Replace using ANSI, providing the incoming ANSI codes conform exactly to the rendering used here.
For example:
mymessage = world.Replace (incoming_message, ANSI (36), ANSI (37))
This would hopefully replace the code for Cyan with the code for White.
Available in MUSHclient version 3.37 onwards.
VBscript example
ANSINote "This is normal" & ANSI (33) & " and this is yellow"
Jscript example
ANSINote ("This is normal" + ANSI (33) + " and this is yellow");
PerlScript example
ANSINote ("This is normal" . ANSI (33) . " and this is yellow");
Python example
world.ANSINote ("This is normal",
world.ANSI (33, 47), " and this is yellow")
Lua example
AnsiNote ("This is normal ",
ANSI (33, 47),
"and this is yellow on white")
Lua notes
You can supply multiple arguments, as in the above example.
Each one will generate its own ANSI code, so you can easily do multiple changes
(eg. foreground, background, bold) in a single call to ANSI.
If you supply multiple arguments they will be placed into the same ANSI sequence, like this:
ANSI (33, 47) --> ESC[33;47m
Return value
A string consisting of: ESC "[" Code "m"
See Also ...
Topics
Colour management
Default triggers/aliases/timers/macros/colours
Functions
(AdjustColour) Adjust an RGB colour
(AnsiNote) Make a note in the output window from text with ANSI colour codes imbedded
(BoldColour) Gets/sets the RGB colour for one of the 8 ANSI bold colours
(ChatMessage) Sends a message to a chat user (raw format)
(ChatNote) Does a note using ANSI codes for the chat system
(ColourNameToRGB) Converts a named colour to a RGB colour code.
(ColourNote) Sends a message to the output window in specified colours
(ColourTell) Sends a message to the output window in specified colours - not terminated by a newline
(CustomColourBackground) Sets the RGB value for the background of a custom colour
(CustomColourText) Sets the RGB value for the text of a custom colour
(GetCustomColourName) Gets the name of a custom colour
(GetMapColour) Returns the mapping for how a particular colour will be displayed
(MapColour) Changes the colour mapping - the way colours are displayed
(MapColourList) Returns an array of all the mapped colours
(NormalColour) Gets/sets the RGB colour for one of the 8 ANSI normal colours
(NoteColour) Chooses which custom colour will be used for world notes.
(NoteColourBack) Chooses which RGB colour will be used for world notes - background colour
(NoteColourFore) Chooses which RGB colour will be used for world notes - text colour
(NoteColourName) Chooses which RGB colour name will be used for world notes - text and background
(NoteColourRGB) Chooses which RGB colour will be used for world notes - text and background
(PickColour) Invokes the MUSHclient colour picker dialog
(RGBColourToName) Converts an RGB colour code to its equivalent name
(SetCustomColourName) Sets the name of a custom colour
(StripANSI) Strips ANSI colour sequences from a string
(Help topic: function=ANSI)