Help is available on the following:
action         alias          all             antisubstitute  bell
boss           char           cr              delay           echo
end            gag            help            highlight       history
if             ignore         info            killall         log
loop           map            mark            math            message
nop            path           pathdir         presub          read
redraw         retab          return          savepath        session
showme         snoop          speedwalk       split           substitute
suspend        system         tabadd          tabdelete       tablist
textin         tick           tickoff         tickon          tickset
ticksize       togglesubs     unaction        unalias         unantisubstitute
ungag          unhighlight    unpath          unsplit         unsubstitute
unvariable     variable       verbatim        version         wildcard
wizlist        write          writesession    zap

~ACTION

Syntax: #action {trigger text} {stuff to be done} {priority}

Description: Have the client search for  a certain string of text from
the mud,  if  the client  receives that  string, it  will execute  the
command(s).  Variables %0-9 are substituted from the input string, and
can be  used in the  command(s) side of  the command. Previously,  all
actions were stored alphabetically in  the list, which meant that some
of the important  actions could exist  at the end  of the list  (which
could result in slow reaction times for those actions).

Priorities have been added to actions now.  The third parameter of the
command will  tell how important  tintin should regard this  action (0
most  important,  9 least  important).   If  no priority  is  given, a
default value of 5 is assigned.

If the string to  be searched for starts with a ^,  only the beginning
of the line will be searched.

If #action is type with no arguments, all actions defined are listed.

If #action is typed with only one argument, actions defined that match
that argument are displayed.  The * character is valid in this case to
use as a 'wildcard'.  See help wildcard.
Examples:

#action {Grimmy has arrived} {smile grimmy} {2}
If Grimmy enters the room, you  will automatically smile at her.   The
priority setting  of two, means that it should  be stored close to the
top of the list.  (all actions with 1 and 0 set for priorities will be
checked before this one).

#action {^TICKCOUNTER: 5 seconds} {sleep} {0}
Since  this string  is 'anchored',  it  will only  be triggered  if it
starts at the beginning  of a line.  If your mud has a tickcounter set
up like this, this action will make you sleep at 5 seconds to tick.

#action 
list all actions

#action *tell*
list all actions with the word 'tell' in them.

#action             <= show actions
#action {ws}        <= show action
#action {*ws*}      <= show all actions that contain 'ws'
#unaction {ws}      <= delete action
#unaction {*ws*}    <= delete all actions that contain 'ws'

You can have tintin++ ignore the actions if you type '#ignore'.
Turn the ignoring off by typing '#ignore' again.

You can see what commands TINTIN++ executes when an action
triggers, by typing '#echo'. Turn this feature off by typing
'#echo' again.

~ALIAS

Syntax: #alias {<alias name>} {<comm's that the alias will run>}

Description:  Alias is useful for replacing a large command or a
set of commands with just one word or set of words.  
The variables %0, %1.. %9 contains the arguments to the
aliases-command as follows:

the %0 variable contains ALL the arguments.
the %1 variable contains the 1. argument
....
the %9 variable contains the 9. argument

Example: #alias {nice} {say Hello Mr %1}
typing: > nice Ole Bole 
then %0 =Ole Bole
%1 =Ole
%2 =Bole
Thus the alias would be evaluated to: say Hello Mr Ole

If there are no variables on the right-side of the alias
definition, any arguments following the aliases-command will be
appended to the unaliases-command. 

Example:
#alias {ff} {cast 'fireball'}
>ff mayor
evaluates to: cast 'fireball' mayor

To alias more than one command, just separate them by semicolons.

#alias {ws} {wake;stand} <= remember the ';'s inside {}s don't end
			    the argument.

Other examples:
#alias {eb} {get bread bag;eat bread}  <= define alias
#alias {eb}              <= show alias
#alias                   <= list all aliases
#alias {*eb*}            <= show all aliases that contain 'eb'
#alias {eb*}             <= show all aliases that start with 'eb'

To delete an alias use the #unalias command.
#unalias {eb}            <= delete the eb alias.
#unalias {*eb*}          <= remove any alias that contains 'eb'

WARNING! TINTIN++ doesn't check for recursive aliases! That is,
suppose you type something like: #alias {yo} {yo}
when do a: yo, then TINTIN++ goes into an endless loop. 


~ALL

Syntax:#all {<commands to send to all sessions>}

Description: #all will send <commands> to all sessions that
exist.  Useful for if you find a mud that allows multi-charing
(few that I know of), or you are capable of controlling two
chars, each being on a different mud.

Example:
#all {shout ARGH!!!}     <= all sessions will shout 'ARGH!!!'. 
Even if the sessions are connected to different muds, the sessions will shout.

~ANTISUBSTITUTE

Syntax: #antisubstitute {<text>}

Description:  This command, will exclude the lines that contain
<text>, not to be considered for substitution or gagging.

Example:
#antisubstitute {RECALL} <= Any line that contains 'RECALL' will not be
			    considered for gagging or substituting.

~BELL

Syntax: #bell

Description: Will ring the bell on your terminal.  That is
assuming that your terminal can do this (Haven't seen one that
can't).

Example:
#bell     <= will ring your bell

~BOSS

Syntax: #boss

Description:  Your typical boss key/command.  If someone walks
into the room, and you don't want them to notice that you are
mudding away, use the boss command.  It will scroll the screen
with a bunch of junk that looks like to are tying to test a tree
sorting program.

Example:
#boss     <= Will scroll junk on your screen.

~CHAR

Syntax: #char {<new command char>}

Description:  This command allows you to change the command char.

The default command char is defined in 'tintin.h', which is the
'#'.  Useful for those who are used to different command chars.

NOTE: if you use a char other than # in your coms file, t++
will automatically inherit that char as it's new command char.

Example:
#char {/}      <= will change the command char from '#', to '/'.

~CR

Syntax: #cr

Description:   Sends a  carriage return  to the  session.   Useful for
aliases that need carriage returns.

~DELAY

Syntax: #delay <secs>

Description:   Sleeps tintin for <secs> seconds. You will not see any
messages until the last delay is finished. Sorry, can't figure out how
to fix this (not easily, anyway).

~ECHO

Syntax: #echo

Description: A toggle for the echoing of action commands.  While
echo is on, all actions triggered will be echo'ed to the screen.

Example:
#echo     <= Turns echo on or off.

~END

Syntax: #end

Description: The mother of all commands.  This Command is your
ticket out of TinTin++.  It will close all sessions, and return
you to your unix prompt.  

** WARNING:  #end will not rent your characters out.  You must
rent all chars out before ending.  **

Example:
#end      <= Seeya.. You just exited TinTin++.

~GAG

Syntax: #gag {<text to trigger gagging of line>}

Description:  #gag will gag any line that contains <text> in it.
Similar to doing  #sub {<text>} .   (Note the . does  not end the
sentence, it is part of the #sub command).

Example: 
#gag {has arrived.} <= Any line  that comes to you from the  mud
that contains "has arrived."  will  not  be shown to you.

~HELP

Syntax: #help

Description: Will display all commands available.

Example:
#help     <= There ya go.. All commands will be displayed.
#help <command>   <= Will give you extensive help in command.

~HIGHLIGHT

Syntax: #highlight {<type>} {<text to highlight>}

Description: All occurrences of <text to be highlighted> will be
highlighted to <type> appearance.  This command will only work
for those of you who will be working on a VT100 compatible
terminal.  

<types> can be one of the following:
reverse, bold, blink, faint, italic, or a number from 1 to 8
the numbers represent colors 1 through 8 in the palette.

Added  for  v1.5,  is the  ability  to  use the  color  names  and the
combination of  names within  to declaration.   For instance,  you now
able to specify {red,bold}.  For  old users of Tintin++, you will  not
have to  modify your  coms file, cause  we have  implemented downwards
compatibility with v1.2 coms files.

Valid Color names are as follows:

red, blue,  cyan, green, yellow,  magenta, white, grey,  black, brown,
charcoal,  light red,  light blue,  light cyan,  light magenta,  light
green, b red, b blue, b cyan, b green, b yellow, b magenta, b white,  
b grey, b black, b brown, b charcoal, b light red, b light blue,      
b  light cyan,  b light magenta,  b light  green, bold,  faint, blink,
italic, reverse

Example:
#highlight {bold} {obliterates}    <=  'obliterates' in attack messages
					will be in a bold appearance.

#highlight {red, blink} {Grimmy}   <=  'Grimmy'   will  appear   in  a
					blinking red color.

Some systems don't  offer all colors/styles for vt100,  so your milage
may vary on this one. (I know  for SGI's running IRIX v4.0.5C, half of
the colors/styles don't work due to lack of support in the term file)

~HISTORY

Syntax: #history

Description: This will show you the last 30 commands you typed. 
You can use these in what is called 'History Substitution'.
Let's say you type '#history' and this is what you get:

14 look
13 s 
12 w;chuckle
11 say Sorry.. I went the wrong way.. :)
10 cast 'heal' eto
9  pow Urquan
8  cuddle urquan
7  say Ohh.. that had to of left a mark.. You ok Urquan??
6  smile urquan
5  tell urquan You're young.. You'll adjust.. :-)
4  tell valgar can't we work Urquan a little harder??
3  cackle
2  pow tossa
1  pat tossa
0  #history

'History Substitution', if you don't want to retype one of the
30 previous lines, you can just type: 

!<# of line to repeat> <and additional text you want to add>
or !<text> 

an example of this would be: !4.  That would tell valgar once
more that can't we get Urquan...  If you typed !<text> it will
execute the last command that contained <text>.

Example:
#history  <= Shows last 30 commands.

~IF  

Syntax: #if {conditional} {command(s)}

Description: The if command is  one of the most powerful commands
added  since TINTINv3.  It works  similar to  an if  statement in
other languages,  and is loosely  based on the way  C handles its
conditional  statements.  When an if  command is encountered, the
conditional statement  is evaluated,  and if  TRUE (any  non-zero
result) the  command(s) are executed.   The if statement  is only
evaluated if it is read, so you must nest the if statement inside
another  statement  (most   likely  an  action  command).     The
conditional  is   evaluated  exactly  the  same  as in  the  math
command, only instead  of storing the result, the  result is used
to determine whether to execute the command(s).  '#help math' for
more information.

Limitations:  #if  is not capable  of comparing string values  at this
time.  This implementation is slated for the v2.0 release.

Examples:
#action {%0 gives you %1 gold coins} {#if {%%1>5000} {thank %%0}}
if someone gives you more than 5000 coins, thank them.
the %%1 and %%0 belong to the action, and not to the if, and that
is why the double % are needed.

#action {^<hp:%0 } {#if {%%0<100} {flee}}
If  your status prompt is of the form <hp:100 ma:50 mo:100>, this
action will  get your  hit points, compare  them to 100,  if less
than 100,  flee.  Note  though, that  you will continue  to flee,
because your prompt will still show your hp < 100.  By using some
logic, you can add a trigger variable to help control this.  Look
at the following:

(This need to be created beforehand)
#variable {trigfl} {0}
#alias resetflee {#var trigfl 0}
#alias setflee {#var trigfl 1}

(Now the action)
#action {^hp:%0 } {#if {(%%0<100) && ($trigfl=0)} {setflee;flee}

This action, upon  receiving a prompt of less than 100 hp's, will
check to see if you have already fled (trigfl).  If you have not,
then  you  will set  the  trigger,  so that  you  won't  flee for
infinity, and  then make  you flee once.   Remember  though, that
once your  hp's are  greater than 100  again, that  to reset  the
trigger, so that it will work for you once again.. :)

~IGNORE

Syntax: #ignore

Description: This will toggle whether or not you want your
actions to be  triggered or not.   New for v1.5, #ignore  only affects
the current session.

Example: 
#ignore   <= Toggles it on or off.. 

~INFO

Syntax: #info

Description:#   Displays the  number of  actions, aliases,  variables,
substitutes, antisubstitutes, and highlights for the  current session.
Also will report on  the toggles set for that session as  well.  If no
session is active, then the statistics on the defaults are given.

~KILLALL

Syntax: #killall

Description:   Killall deletes  all aliases, actions,  subs, antisubs,
highlights,  variables in one  fell swoop.   Useful now,  so you don't
have to exit tintin++ to load up a new coms file.

~LOG

Syntax: #log {<filename>}

Description: Will record all input and output of session to
<filename>.

Example:
#log grimmy.log     <= starts log...
...                 <= playing, having fun... 
#log grimmy.log     <= ends log...

~LOOP

Syntax: #loop {#from,#to} {<command>}

Description:  #loop  will run a command in  a loop, and
assign  the  numbers  ranging  from  #from  to  #to  in
variable %0 for use in {<command>}.  

Example:
#loop {1,5} {get all %0.corpse}    <=   will   get  all
corpses ranging from
1.corpse to 5.corpse.

~MAP

Syntax: #map <direction>

Description:   Will add  a direction  to the  end of the  current
path.  Useful for mapping while following someone.

Example:

#action {$leader leaves %0.} {#map {%%0}}
if the person stored in $leader leaves the room, the direction is
added to the end of the path.

~MARK

Syntax: #mark

Description: For speedwalking, this commands marks the beginning
of the path.  

Example:
#mark     <= There ya go.  You marked the beginning of the path.

~MATH

Syntax: #math {<var>} {<math ops>}

Description: This will allow you to do math operations on
variables or just plain old numbers, and stores the result in
<var>.  All numbers should be integers, for it only performs
integer math.

Example:
Let's say you have a variable $mana, which equals the amount of
mana you have.  You then could do:
#math {heals} {$mana/40} <= takes $mana/40 and applies result to
			    variable 'heals'.

I have an extensive example of math used in a coms file that is
shipped to you with the package. 

~MESSAGE

Syntax: #message {<type>}

Description: This toggles whether messages concerning these types
of commands will be displayed.  If off, it will get rid of the
defined/deleted messages for that command type.

Valid types are alias, action, substitute, antisubstitute,
highlight, or variable.

Example:
If you wish to see no messages concerning variables, you can type

#message {variable} 
and you wont see messages like variable defined, etc...
The same holds for the other types of messages.

~#NAME

Syntax: #<session_name> <commands>

Description: Will send <commands> to <session_name>

Example:
#grim shout Peach Pit now closing..   <= makes session 'grim'
					 shout 'Peach Pit now closing..'

~#<NUMBER>

Syntax: #<number of times to repeat> {Commands}

Description: This allows you to do repetitive commands nice and
easily.  

Example:
#5 {buy bread;put bread bag}  <= will buy 5 breads, and put 5
breads in a bag. 

#2 {#g cast 'power' urquan}   <= This will make the character in
session 'g' cast 'power' on urquan
2 times.

~NOP

Syntax: #nop <text>

Description:  #nop is similar to a remark statement.  You can use
#nop to make comments.  

Example:
#nop fleetr = flee trigger  <=     just gives an  explanation of
what fleetr stands for.


~PATH

Syntax: #path

Description: This  will display  the path you  have traveled  from the
#mark'ed beginning.

Example:
#path     <= displays current path traveled from #mark onward.

~PATHDIR

Syntax: #pathdir <odd_dir> {text to send to mud for odd_dir}

New for v1.5

Description:  This command allows the user to enter odd directions, so
that speedwalk can interpret these  directions and send the right text
to the mud.

Example:
#pathdir {nw} {nw}  <= Will send {nw} to  the mud anytime {nw} is seen
in a speedwalk expression.  

~PRESUB

Syntax: #presub

Description: Will toggle whether or not substituted output can trigger
actions.  For example, let's say you have done the following:

#sub {%0tells you %1BLEEDING%2} {%0tries to make you BLEED.}

then, you have:
#action {%0 tried to make you BLEED.} {tell %0 Oh. I'm scared.}

If presub is off, this  action will never get triggered.  In  order to
get this trigger to work, you must also activate presubs.
Example:
#presub   <= turns it on or off.

~READ

Syntax: #read {<filename>}

Description: This will read in a coms file, and setup the
commands in the file.

The new command char  will become whatever was the  first character in
this coms  file.  If  your coms file  starts with anything  other than
your command char, put a nop at the beginning.

Example:
#read grimmy   <= read in coms file named 'grimmy'.

~REDRAW

Syntax: #redraw

Description:  If  redraw is on, and you're not in split mode, the
input line  will be  redrawn when any  text arrives,  or tintin++
prints  any messages.   This  helps  you avoid  your input  being
spread out and unreadable when there is heavy text  flow from the
mud.  In split mode, this variable is ignored.

Example: 
#redraw   <= turns it on.  use same command to turn off.

~RETAB

Syntax: #retab

New for v1.5

Description: Will  load in  tab.txt.   Useful if  you have  made major
modifications  to  tab.txt externally,  and  wish to  update  your tab
completion list.

~RETURN

Syntax: #return

Description: This will make you back up in the opposite direction
of what you last typed.  

Example:
#mark     <= Start tracking my path.
....      <= doing some walking.. Where your last direction
walked was n for example.
#return   <= will remove n from path and move you south.

~SAVEPATH

Syntax: #savepath <alias_to_be>

Description: #savepath will save what is in the current
#path, to an alias.

Example:
#savepath to-solus <= will save what is in #path to a new alias
called {to-solus}.


~SESSION

Syntax: #session {<ses_name>} {<IP or word address> <port>}

Description: This is the command you use to connect to the muds.
The session that you startup will become the active session. That
is, all commands you type, will be send to this session.

Here's a small example to get you started: 
It shows how you can log into GrimneMUD with 2 chars and play a bit
with them.

#session {valgar} {129.241.36.229 4000} <= define a session named
'valgar'.
#session {eto} {gytje.pvv.unit.no 4000} <= define session named
eto.

You can change the active session, by typing #sessionname

#eto      <=make the char in the 'eto' session the active one.
...       <= all commands now go to session 'eto'.
#valgar   <=switching now to session 'valgar'.

If you enter the command '#session' without any arguments, you
will list all sessions, and it will show which is active and
which are being logged.

~SHOWME

Syntax: #showme {<text>}

Description will display <text> on your screen, without the text
being seen by the rest of the players in the room.  

Example:
#action {^%0*** ULTRASLAYS *** you} {#showme {Bail Out!!!}}

Each time you get *** ULTRASLAYED *** the text Bail Out!!! will
be shown on your screen.

~SNOOP

Syntax: #snoop <session_name>

Description: Initiate snooping of session <session_name>.  All
text directed to <session_name> will be displayed on your
current, active session.  Of course.. You won't see any snooping
if the session you are snooping is the active session.. :)  

Example:
I'm in session name 'Tossa' and I want to see all text in an
other session I have going.  I would type:
#snoop grim    <= start snooping session 'grim' while being
active in 'Tossa'.


~SPEEDWALK

Syntax: #speedwalk

Description: Toggles whether 'speedwalking' is on or off. 
Speedwalking is the ability to type multiple directions in one
long word.  For repetitive directions, you can place a # in
front of it, for example like 4nwne2d = nnnnwnedd.

Example:
#speedwalk     <= turns speedwalk either on or off.

Now.. if you type the following:
nwseud    <= while speedwalking on, you will travel north, west,
south, east, up, then down.  While you have
speedwalking on, you won't be able to type 'news' to
read the news on the mud, in order to read the news
type in 'NEWS' in capital letters.  Speedwalking will
not interpret capital letters, and send the text 'NEWS'
to the mud.  

~SPLIT 

Syntax: #split {# of lines for output window}

Description:  With  a vt100 or ANSI emulator, this will allow you
to set up a  split screen.  The keyboard input  will be displayed
in the bottom  window, while mud text  is displayed in the  upper
window.   This requires  a fairly decent  emulator, but  works on
most  I  have tested.    The screen  will  be split  at  the line
indicated  by line  #, and  should be  around  3 lines  above the
bottom of the  screen.  When the  enter key is pressed,  the text
will be  sent to the mud, and also be echoed to the upper window.
If a line # isn't specified, the screen is split at line 21.

Example:
#split 35      <= split the screen at line 35.


~SUBSTITUTE

Syntax: #substitute {<text to sub>} {text to replace it}

Description: Use this for shortening incoming text to a more
readable format.

This command works a bit like #action. The purpose of this 
command is to substitute text from the mud with some text you 
provide. You can think of this command, as a kind of extended 
gag-command. 

Examples:
Suppose you want all the occurrences of the word 'massacres' to be
substituted
with '*MASSACRES*'. Then you'll type: 

#subs {%0massacres%1} {%0*MASSACRES*%1}

Now suppose the mud sends you the line: Winterblade massacres the
<etc>. 

Then your substitution would get triggered and the variables
would contain:
%0 = Winterblade 
%1 =  the <etc>.
Substituted into the line is then:
Winterblade *MASSACRES* the <etc>.

There IS in fact a serious purpose for this command. People using
a setup like:

Home <---- SLOW modem  ---> School <---- FASTmodem ----> mud site

They complain that they keep loosing their link, when the mud
sends to much text too fast (as in fights on grimne-diku for
example). The problem is that their own  modem is too slow for
the transfer. People like that can use the #sub command to reduce
the amount of data transferred.

If you didn't want to see anything from the lines with Black
you'd do a:
#sub {Black} {.}          (i never liked this dot syntax...)
or
#gag {Black}
and you'll never see the lines.

#gag works just like #sub but it puts the {.} in for you.


~SUSPEND

Syntax: #suspend

New for v1.5

Description:  Temporarily  suspends tintin++ and  returns you to  your
shell.  The  effect of this  command is  exactly as if  you had  typed
control-z.  To return to tintin++, type "fg" at the shell prompt.

~SYSTEM

Syntax: #system <commands to send to /bin/sh>

Description: Send system commands to the sh shell.  

For security reasons, you can change the name of this command
in tintin.h

Example:
#system w <= runs the command w which will show who is on and the
system load of the machine.

~TABADD

Syntax: #tabadd {word}

New for v1.5

Description:  Adds a word to the end of the tab completion list.

~TABDELETE

Syntax: #tabdelete {word}

New for v1.5

Description:  Deletes a word from the tab completion list.

~TABLIST

Syntax: #tablist

New for v1.5

Description:  Displays all words in the tab completion list.


~TEXTIN

Syntax: #textin {filename}

New for v1.5

Description:   Textin now allows the user to  read in a file, and send
its contents directly to  the mud.  Useful for  doing online creation,
or message writing.

~TICK

Syntax: #tick

Description: Displays the # of seconds left before a tick is to
occur in the internal tickcounter of TinTin.

Example:
#tick     <= displays # of seconds left before tick.

~TICKON/TICKOFF

Syntax: #tickon/#tickoff

Description: Turns on the internal tickcounter, or turns off the
internal tickcounter.

Example:
#tickon   <= Turns the tickcounter on, also resets the
tickcounter to the value defined by the #ticksize. 
Default size is 75 seconds.

#tickoff  <= turns the internal tickcounter off.

~TICKSET

Syntax: #tickset

Description:  Turn the internal tickcounter on, and resets the 
counter to the size of the tickcounter.

Example: 
#tickset  <=  Turn tickcounter on and reset.


~TICKSIZE

Syntax: #ticksize <number>

Description: defines the ticksize for the mud you are playing at.

Most standard Diku's use a ticksize of 75 seconds.  I believe
(Although I might be wrong), MERC's use ticksizes of 30 seconds. 
This is where it is useful, for there is not tickcounter built
into MERC.  

Example:
#ticksize 30   <= sets ticksize to 30 for MERC muds.. for
example.

~TOGGLESUBS

Syntax: #togglesubs

Description: Similar to #ignore, #togglesubs will toggle whether
or not subs will occur or not.

Example:
#togglesub     <= turns it on or off.

~UNACTION

Syntax: #unaction {<action to be deleted>}

Description: Similar to unalias except for actions.

Example:
<see unalias>

~UNALIAS

Syntax: #unalias {<alias to remove>}

Description: This command deletes aliases from memory in the
active session. You can use wildcards to get rid of aliases with
common text.

Example:
#unalias {eb}           <= delete the eb alias.
#unalias {*eb*}         <= remove any alias that contains 'eb'
#unalias {eb*}      <= removes any alias that starts with 'eb'.


~UNANTISUB

Syntax: #unantisub {<antisub to be deleted>}

Description: Similar to Unalias except for antisubs.

Example:
<see unalias>

~UNGAG

Syntax: #ungag {<gag to be deleted>}

Description: Similar to Unalias except for gags.

Example:
<see unalias>

~UNHIGHLIGHT

Syntax: #unhighlight {<highlights to be deleted>}

Description: Similar to Unalias except for highlights.

Example:
<see unalias>

~UNPATH

Syntax: #unpath

Description: Removes the last move off the 'Path-List'.

Example:
#unpath   <= removes last move off 'Path-List'.

~UNSPLIT

Syntax: #unsplit 

Description:  Turns  split-screen  mode off  and  returns  you to
"full-screen" mode.

Example:
#unsplit       <= There you go.. You just turns split-screen off.


~UNSUBS

Syntax: #unsubs {<subs to be deleted>}

Description: Similar to Unalias except for subs.

Example:
<see unalias>

~UNVARIABLE

Syntax: #unvariable {<vars to be deleted>}

Description: Similar to Unalias except for variable.

Example:
<see unalias>

~VARIABLE

Syntax: #variable {<variable_name>} {<text to fill variable>}

Description:Since   these  are  completely  new  to  tintin,  and  act
differently than anything else, I feel should spend some time on them.
These  variables differ  from  the %0-9  in the  fact  that you  could
specify a full  word as a variable name,  and they stay in  memory for
the full session,  unless they are changed,  and they can be  saved in
the coms file,  and can be set  to different values  if you have 2  or
more  sessions running at  the same  time.  One  of the  best uses for
variables I think is for spellcasters.

Currently,
you would set up a bunch of aliases like the following.

#alias {flame} {cast 'flame strike' %0}
#alias {flash} {cast 'call lightning' %0}
#alias {harm} {cast 'harm' %0}

With the new variables you can do the following:

#alias {targ} {#var target %0}
#alias {flamet} {flame $target}
#alias {flasht} {flash $target} 
#alias {harmt} {harm $target}

these aliases will be  defined just as they are written, the variables
are not substituted  for until the  alias is found  in your input  and
executed.

so, if before a battle, you do a:
targ donjonkeeper
then  $target is set  to donjonkeeper, and  any alias you  set up with
$target  in  it will  substitute  donjonkeeper for  every  instance of
$target.  Let's say your leader has the following alias set up.


#alias {setttarg} {#var {target} {%0};gt target=%0}

if he did a settarg lich, it would  set his $target to lich, and would
send a:    <name> tells your group 'target=lich'

you could then set an action like so.
#action {^%0 tells your group 'target=%1'} {targ %1}
then when  your leader  executed  his alias,  it would  also set  your
variable to the target.  

Another  use for  variables  would be  to set  a  variable $buffer  to
whoever the current buffer is.  This would be useful in fights
where the mob switches, or where many rescues are needed.  You
could set up healing aliases with $buffer in them, and set the
$buffer variable in an action that is triggered by each switch,
and each rescue, or just rescues, or whatever.  Then in a
confusing battle, you will have a better shot at healing the
right person.

************   Variables for now, have to be alpha-only
*** NOTE ***   You cannot use variable names like:
************   text1, text2.  Support for this will be in v2.0

~VERBATIM

Syntax: #verbatim

Description:  Toggle  verbatim mode on and off.  When in verbatim
mode,  text will not be  parsed, and will be  sent 'as is' to the
mud.  Tab completion and history scrolling are still available in
verbatim mode.  It is  helpful for writing messages, doing online
creation, and the like.

~VERSION

Syntax: #version

Description:  Displays version # of tintin++.


Topic: Wildcards

You may use wildcards with certain commands such as #alias, #action,
#substitute, #unalias, etc.  In commands like #alias, wildcards are
only valid when you use exactly one argument.  Wildcards are always
valid for commands like #unalias.  The only wildcard currently
supported is *, which matches any string 0 or more characters long.
The wildcard meaning of * may be escaped using the backslash, \.

Examples:

#action {*miss*}
shows all actions which contain the word miss in them
#unaction {*miss*}
removes all actions which contain the word miss in them
#unaction {\*\*\* PRESS RETURN:}
removes the action which triggers on the line *** PRESS RETURN:

Many thanks to Spencer Sun for letting me steal some code for this...
If anyone is interested in having full ls-style regexps, email us
and maybe it'll be included in 2.0.

~WIZLIST

Syntax: #wizlist

Description: Gives a list of all who you should thank for their
hard work on TinTin++.  

Example:
#wizlist  <= displays a list of names you should never forget. :)

~WRITE

Syntax: #write {<filename>}

Description: This allows you to save all of your aliases,
actions, subs, etc. to a file for later retrieval.  

Example:
#write {grimmy}     <= writes all commands to 'grimmy'.

~ZAP

Syntax: #zap

Description: Closes active session.  

*** Warning! *** This command does not rent you on a mud.  It
just terminates the connection to the mud.  

Example:
#zap      <= Seeya!!! You've just killed your session.

~*EOF*