<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE muclient><!-- Saved on Wednesday, October 23, 2002, 12:48 PM --><!-- MuClient version 3.26 --><!-- Plugin "ColourNote" generated by Plugin Wizard --><!--You can edit the lookup_colour function to add more colour codes.--><muclient><plugin   name="ColourNote"   author="Nick Gammon"   id="8f86e2da6eea3806f1836050"   language="JScript"   purpose="Lets you send a string with colour codes to the world window"   date_written="2002-10-23 12:46:12"   requires="3.23"   version="1.0"   ><description trim="y"><![CDATA[This is designed to be called from a script like this:world.CallPlugin "8f86e2da6eea3806f1836050", _                 "colournote", _                 "~R red ~G green ~B blue ~RG red-on-green"To simplify things, make a "stub" routine in your main script file, like this:// example in Jscript:function ColourNote (text)  {  world.CallPlugin ("8f86e2da6eea3806f1836050", "colournote", text);  }' example in VBscript:sub  ColourNote (text)  world.CallPlugin "8f86e2da6eea3806f1836050", "colournote", textend subThen you can just do colour text like this:  ColourNote ("~R This is red ~G This is green ~B This is blue"); ColourNote:help  - this help]]></description></plugin><!--  Script  --><script><![CDATA[function lookup_colour (which)  {  var c; // add more codes below if you want to process different letters// Reserved characters are: space, and: . # ^ ~    switch (which)    {    case "K": c = "gray"; break;    case "k": c = "black"; break;    case "R": c = "red"; break;    case "r": c = "maroon"; break;    case "G": c = "lime"; break;    case "g": c = "green"; break;    case "Y": c = "yellow"; break;    case "y": c = "olive"; break;    case "B": c = "blue"; break;    case "b": c = "navy"; break;    case "M": c = "magenta"; break;    case "m": c = "purple"; break;    case "C": c = "aqua"; break;    case "c": c = "teal"; break;    case "W": c = "white"; break;    case "w": c = "silver"; break;    default:  c = ""; break;  // unknown ones are no change    }  // end of switch on which colour code  return c;  }  // end of lookup_colour/* This sends a coloured message to the world window.   Colour codes are like this: ~fb ~ = colour code delimiter f = foreground colour (eg. R = bright red, g = dull green) b = background colour (same meanings) If the background colour is a space, then it is assumed to be unchanged. eg. ~R red ~G green ~B blue Otherwise, it is processed as the background colour,   eg.  ~RB red-on-blue ~.G red-on-green ~yc dark-yellow on dark-cyan Special colours:   . = no change		 (eg. to change background only)  # = save colours   (save current foreground/background colour)  ^ = restore colours  (restore to saved colour) eg. colournote ("This will be a ~R red ~G green ~B blue.");*/function colournote (msg)   {  var msg_array,   // split up line      stext,       // what we are sending      fcolour,     // foreground colour code      bcolour,     // background colour code      foreground,  // converted foreground colour      background,  // converted background colour      save_foreground,  // saved foreground colour      save_background   // saved background colour// save colours for later restore  save_foreground = world.RGBColourToName (world.NoteColourFore ());  save_background = world.RGBColourToName (world.NoteColourBack ());  foreground = save_foreground;  background = save_background;// convert into an array  msg_array = msg.split ("~");// first element in array (before tilde) is just shown as is world.Tell (msg_array [0]); for (i = 1; i < msg_array.length; i++)   {   fcolour = msg_array [i].substring (0, 1);  // foreground colour   bcolour = msg_array [i].substring (1, 2);  // background colour   stext   = msg_array [i].substring (2);     // rest is message   // get foreground colour, handle special cases, lookup others   switch (fcolour)     {     case ".":  break;  // colour unchanged     case "#":  save_foreground = foreground; break;     case "^":  foreground = save_foreground; break;     default: foreground = lookup_colour (fcolour); break;     }  // end of switch on fcolour   // get background colour, handle special cases, lookup others   switch (bcolour)     {     case " ":      case ".":  break;  // colour unchanged     case "#":  save_background = background; break;     case "^":  background = save_background; break;     default: background = lookup_colour (bcolour); break;     }  // end of switch on fcolour////  now display the text in the appropriate colour//   world.ColourTell (foreground, background, stext);   }  // end of loop on each colour change  world.Note ("");  // finish off line}  // end of colournote]]></script><!--  Plugin help  --><aliases>  <alias   script="OnHelp"   match="ColourNote:help"   enabled="y"  >  </alias></aliases><script><![CDATA[function OnHelp (sName, sLine, wildcards)  {  world.Note (world.GetPluginInfo (world.GetPluginID, 3));  }]]></script> </muclient>