------------------------------------------------------------------------------- VOREGOTTEN REALM ANSI SUPPORT ------------------------------------------------------------------------------- If you got an ANSI-capable MUCK client (for example: Trebuchet or Phoca95), then you will be able to enjoy the ANSI support on VR. :-) Voregotten Realm currently supports both "escaped ANSI" (the default for MUCKs running the Fuzzball 6 server), and the "tilded ANSI" codes. Let's see how to enable ANSI and use it on Voregotten Realm: 1.- Enabling ANSI for your character First of all, turn on the ANSI emulation of your MUCK client, then turn on the ANSI support for your character on the MUCK with the following command: ansi on If anything goes wrong (i.e. if you get strange characters in your MUCK client window), turn ANSI off with: ansi off and check again your MUCK client configuration... Please note: The ANSI colours won't render properly should your MUCK client window background colour be set to anything else but black. Black background is the norm for all ANSI enabled MU*s. Please make sure to configure your MUCK client for a black background... 2.- Setting your ANSI preferences Almost all the addon commands were rewritten to support ANSI (those commands got their name hilighted in cyan in the 'globals' listing), and a unique, per-user preference scheme was implemented on the MUCK to let everyone choose which type of messages they want to see ANSIfied or not, and with which attributes/colours, thus letting each user the freedom to customize the look of the MUCK depending on their own tastes. To setup your ANSI preferences, just use the menu-driven utility by typing: ansi-colors 3.- Using ANSI in your objects and programs The MUCK supports both escaped ANSI (example: \[[1;36;41mtest\[[0m) or tilded ANSI (example: ~&161test~&r). The tiled ANSI is preferred because it is simpler to use (see 'ansi #help2' for the codes and their meaning, and type 'ansi' without parameters to get a colours/attributes lookup table), and also because it allows to issue messages following pre-defined styles which result in different colours/attributes for each user, depending on their own prefe- rences. On the other hand, the tilded ANSI doesn't allow to mix two or more attributes or to change just one attribute/colour while letting the rest untouched (each tilded ANSI code must have all three attribute, foreground colour and background colour specified), therefore allowing less combinations and effects. Depending on what you want to achieve, you may therefore choose one or the other of the two encoding methods... Because the server and the ANSI library will take care of stripping off any ANSI code for users who are not using the ANSI emulation, you may embed ANSI pseudo-codes (either tilded or escaped ANSI) in your characters/rooms/objects/ vehicles descriptions (@desc and @idesc). You may also use directly escaped ANSI in @succ, @osucc, @fail, @ofail, @drop and @odrop messages, or tilded ANSI provided you also use of the {ansi-tell:} MPI macro. Example: @succ <thing>=\[[31mYou take <thing>.\[[0m @osucc <thing>=\[[32mtakes <thing>.\[[0m or: @succ <thing>={ansi-tell:~&010You take <thing>.~&R} @osucc <thing>={ansi-tell:~&020takes <thing>.~&R} The first method may seem simpler, but see below about {ansi-tell:}... When using tilded ANSI and {ansi-tell:}, you may also specify an ANSI style by postfixing the string to print with "~&_<style>". For example, using the "error" style: @fail <thing>={ansi-tell:You fail to take <thing>~&_error} @osucc, @ofail and @odrop, messages are automatically prefixed with your name but when using {ansi-tell:}, the "name_color" style is used to "paint" it. NOTE: when used in @osucc, @ofail and @odrop, the "pose" ANSI style is used by {ansi-tell:}, so that the players seeing your messages may have their own, custom ANSI style applied instead of the one you defined. |