home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
tt2_099.zip
/
TINTIN12.DOC
< prev
next >
Wrap
Text File
|
1993-12-11
|
65KB
|
1,769 lines
T I N T I N ++ v1.2b
Table of Contents
-----------------
1) What is TinTin++? ............................. Pg. 3
2) TinTin++. What's new? ........................ Pg. 3
Split Screen .................................. Pg. 4
Tab Completion ................................ Pg. 4
3) About the Author .............................. Pg. 4
4) Giving Credit Where Credit is Due ............. Pg. 4
5) Compiling TinTin++ ............................ Pg. 4
6) Starting TinTin++ ............................. Pg. 5
7) Change in Format .............................. Pg. 6
8) Variables ..................................... Pg. 6
9) Command Syntax ................................ Pg. 7
Action ....................................... Pg. 8
Alias ........................................ Pg. 9
All .......................................... Pg. 10
Antisubstitute ............................... Pg. 10
Bell ......................................... Pg. 10
Boss ......................................... Pg. 10
Char ......................................... Pg. 11
Echo ......................................... Pg. 11
End .......................................... Pg. 11
Gag .......................................... Pg. 11
Help ......................................... Pg. 12
Highlight .................................... Pg. 12
History ...................................... Pg. 12
If ........................................... Pg. 13
Ignore ....................................... Pg. 14
Log .......................................... Pg. 14
Loop ......................................... Pg. 14
Map .......................................... Pg. 14
Mark ......................................... Pg. 15
Math ......................................... Pg. 15
Message ...................................... Pg. 15
#NAME ........................................ Pg. 15
#<number> .................................... Pg. 16
Nop .......................................... Pg. 16
Path ......................................... Pg. 16
Presub ....................................... Pg. 16
Redraw ....................................... Pg. 17
Return ....................................... Pg. 17
Read ......................................... Pg. 17
Savepath ..................................... Pg. 17
Session ...................................... Pg. 18
Showme ....................................... Pg. 18
Snoop ........................................ Pg. 18
Speedwalk .................................... Pg. 19
Split ........................................ Pg. 19
Substitute ................................... Pg. 19
System ....................................... Pg. 20
Tick ......................................... Pg. 20
Tickon/Tickoff ............................... Pg. 21
Tickset ...................................... Pg. 21
Ticksize ..................................... Pg. 21
Togglesub .................................... Pg. 21
Unaction ..................................... Pg. 22
Unalias ...................................... Pg. 22
Unantisub .................................... Pg. 22
Ungag ........................................ Pg. 22
1
Unhighlight .................................. Pg. 22
Unpath ....................................... Pg. 23
Unsplit ...................................... Pg. 23
Unsub ........................................ Pg. 23
Unvariable ................................... Pg. 23
Variable ..................................... Pg. 24
Version ...................................... Pg. 25
Verbatim ..................................... Pg. 25
Wizlist ...................................... Pg. 25
Write ........................................ Pg. 25
Zap .......................................... Pg. 25
10) Who is responsible for what you are using ..... Pg. 26
11) History of TinTin++ ........................... Pg. 26
12) The Future of TinTin++ ........................ Pg. 26
2
T I N T I N ++
v1.2 Beta test version
(T)he K(I)cki(N) (T)ick D(I)kumud Clie(N)t
========= What is TinTin++? =========
TINTIN++ is a client program specialized to help playing muds.
This is a souped up version of TINTIN III, many new features
have been added since III. I saw room for improvement on the
features available from TINTIN, and since I like the format of
the program, I decided to use TINTIN as a base for what I hope to
make one of the most powerful clients around.
========= TinTin++. What's new? =========
What isn't new? :) Ok, there was a major problem with enclosing
arguments in quotes. This is that there aren't seperate
characters to begin and end an argument, and therefore nesting is
tough (to say the least). I used braces{} in earlier versions of
the program to allow nesting, while keeping the quotes format.
As commands became more complex and powerful, it became evident
that a new format was necessary. Arguments for commands will now
be enclosed in braces{} and braces will ONLY be used to enclose
arguments. Quotes will still be recognized in some cases, but I
suggest you use the format that I have specified. Also,
variables have changed.
Variables that were &0-9 are now %0-9. This is necessary because
of the new #if routine, and the fact that it uses & for logic
expressions. Also, since nesting is now more clearly defined,
variables will become easier to implement and use. You can
know exactly when a variable will be replaced, depending on
the format of the command. Look at the convert.doc file for more
info on how variables will be handled now.
Split Screen support is now available. As is Tab Completion,
new history commands (Ctrl N/Ctrl P). #redraw is now available,
which will redraw the input line, upon arrival of any output from
the mud. Manual redrawing of an input line can be done with the
Ctrl-R key sequence. On-Line help was rewritten. Extensive help
is now available On-Line.
Also, if not coms file is presented at startup, tintin++ will
check for .tintinrc located at your home directory.
New commands since TinTin III
#antisubstitute #gag
#loop #message
#map #savepath
#variable #highlight
#math #togglesubs
#presub #showme
#if #split
#unsplit #redraw
#verbatim #version
3
======== Split Screen =========
In order to use split screen, you must have a VT-100/ANSI
compatible terminal or terminal emulator. Split screen will do
just that, split the screen in two, with the top window being the
output window (text from mud), and the bottom half being the
input window (typed text to the mud.) This allows you to see the
entire line that you are typing, without having the mud scroll
your text off the screen, or breaking the line up.
========= Tab Completion =========
Tab Completion is a nice little device that you will grow fond
of. There exists a file, called tab.txt. It contains a list of
words, one word per line. How Tab Completion works, is after
typing some letters to a word, you press the tab key. Tintin++
will look through the list of words loaded from tab.txt and make
an educated guess as to what the whole word should be. This is
helpful for long words, or words that are not easy to type. Also
note that it would be wise to use words that are not too similar,
for you might not get the right word that you are looking for.
Example:
(tab.txt contains)
Grimmy
Bamsemums
celebdel
tordenskjold
(you type)
tord<Tab Key> <= Tintin++ will replace tord with tordenskjold.
========= About the Author =========
I'm a 23 year old Computer Science student at the University of
South Florida, and have been programming since the age of 12.
I'm always happy to answer questions, and get suggestions about
the program. My goal with t++ is to give you the most user
friendly and powerful client available for Unix, and will
consider any and all feasible suggestions to make the client even
better.
========= Giving Credit Where Credit is Due ========
None of this work would be possible, without the work done by
Peter Unold. He was the author of TinTin III, the base of
TinTin++. Hats off to ya Peter, You started the ball rolling.
========= Compiling TinTin++ =========
Before compiling, you should look through the tintin
configuration file, 'tintin.h'. This file contains all the
default settings, and you can change them as you please.
TinTin++ was once written with GCC in mind. It was origionally
compiled with GCC, and if your unix machine has GCC available, I
would venture to say that will work with a little massaging of
the makefile. You shouldn't have much problems trying to compile
TinTin++ at all.
4
I presume that since you are reading this file, that you've
figured out how to uncompress the file, and detar it :). The
name of the directory that TinTin++ should run in can be anything
your little heart desires. One you have looked through
'tintin.h', just type 'make', and watch her whirl. If you get
any warnings, or errors during compile, please mail us a log of
the make, and changes you made, so that we can incorporate the
changes in later releases. If you don't know how to re-direct
the make output to a file, here is a way to do it if you are
using either csh, to tcsh shells. Instead of typing 'make', type
'make >&! make.out &'. That this does, is it runs the compile,
in the background, while directing any output to make.out.
Oh no! TINTIN++ didn't compile at first try. Don't give up. You
can try to compile to program using traditional C. The first
thing to try is to edit the makefile, such that CC=cc -O.
If you know nothing about C, and unix-programming, then ask
someone at your site who does. TINTIN++ is really not a
complicated program, and you probably just have to comment or
uncomment a few flags in the makefile. If no one at your site can
help, then feel free to give us a buzz via mail.
========= Starting TinTin++ =========
The syntax for starting tintin++ is: tintin++ [-v] [commandfile]
If no commandfile is given, tintin++ will look for a default
commandfile called .tintinrc in your home directory.
Read more about the commandfile in the 'files' section below.
Remember one thing though. ALL ACTIONS, ALIASES, SUBSTITUTIONS,
VARIABLES, HIGHLIGHTS, and ANTISUBSTITUTES DEFINED WHEN STARTING
UP TINTIN ARE INHERITED BY ALL SESSIONS. If you'd like to
seperate the sessions with different commandfiles, just type
tintin++ and you are off and running.
-v is optional, and is used only when reading command files.
If verbose is specified, messages concerning reading the files
will not be in brief mode.
If you want to get out of t++ after starting it type: #end or
control-c
I'll start by explaining some of the very basic and important
features:
All TINTIN commands starts with a '#'. (can be changed with #char
though, or if you specified a commandfile at startup, the first
char in that file will be the tintin command char}
Example:
#help <cmd> <=#help is a command directed to the client and not
the mud.
All TINTIN commands can be abrevated when typed.
Example:
#he <=typing #he is the same as typing #help
All commands can be seperated with a ';'. The ';' is similar to
a newline char. This allows you to type multiple commands on one
line. Example:
n;l green;s;say Dan Dare is back! <=do these 4 commands
5
There is a way the newline-char can be overruled, so that it will
appear in the output of a say or tell or whatever. By
pre-pending a backslash to the
';', you can do this.
Example:
say Hello \;) <=say Hello ;)
========= Change in Format =========
The change in formatting is that arguments for commands are now
to be put in braces {}. NO QUOTES are used to enclose arguments
now, and braces are not to be used except to enclose arguments.
More will be included about the change, but you should just know
that the old format from TinTin III will not work with TinTin++.
In fact, for most of the commands, you need not use the {} around
the arguments. Basically, if the command is simple, it most
likely will not need braces (but I'd add them to be on the
safe side).
========= Variables =========
For those of you familiar with variables in TinTin III, you'll
understand this section, except for the fact that variables are
no longer in the format of &0, &1, ETC. TinTin++ looks for
variables that are refixed iwth %'s instead of &'s. Thus, In the
followng example:
#action {%0 tells you %1} {say %0 just told me %1}
This action will, when anyone tells you something, echo it out
back to all the others in the room, via say.
If you are nesting your statements in the command, you might need
to prefix the variable with more that one %. For example:
#alias {grimne} {#sesion {%%0} {129.241.36.229 4000}}
This alias will connect you to GrimneMUD. You must supply an
argument to the alias grimne (session name). Now, You will
notice, that the argument for the #ses
command is 1 level below the actual command, thus you will have
to place an additional % to the variable %0 if you want the
variable to work properly. If you were to just put %0 instead of
%%0, the actual text '%0' will be used for the session name.
6
========= Command Syntax =========
Here is a list of all commands available in TinTin++ v1.2b:
alias action all
antisubstitute bell boss
char echo end
help highlight history
if ignore log
loop map mark
math message nop
path presub redraw
return read savepath
showme snoop speedwalk
split substitute gag
system tick tickoff
tickset ticksize togglesubs
unaction unalias unantisubstitute
ungag unhighlight unpath
unsplit unsubstitute unvariable
verbatim version wizlist
write writesession zap
session
7
===============================
COMMAND: Action
Syntax: #action {trigger text} {stuff to be done if trigger text}
Description: #action allows you to automate your mudding
session. Some examples of actions, would be automatically
looting corpses, turn yourself into a robot, or just to automate
social reactions, or to save your butt.
Use this command to define an action to take place when a
particular text appears on your screen. There're 10 variables you
can use as wildcards in the action-text. These variables are %0,
%1, %2....%9.
Examples:
#action {BLEEDING} {recite recall} <= recall when you get
that nasty BLEEDING text.
#action {are hungry} {get bread bag;eat bread} <=auto-eat
#action {%0 has arrived.} {shake %0} <=shake hands with people
that arrives.
#action {%0 says '%1'} {say %0 said %1} <=repeat all says.
#action {tells you} {#bell} <=beep when you gets a
tell.
#action {^TICKCOUNTER: 5 seconds} {sl}
if the left argument in a #action starts with ^, the action is
'anchored'. This means that the action will be triggered if and
only if the string to be scanned for appears at the beginning of
the line. This increases speed and makes it so that you don't get
false triggers from people trying to set your actions off.
#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.
8
===============================
COMMAND: 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 comands 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 seperate 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
surpose you type something like: #alias {yo} {yo}
and then do a: yo, then TINTIN++ goes into an endless loop.
9
===============================
COMMAND: 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.
===============================
COMMAND: All
Syntax:#all {<commands to send to all sessions>}
Descritpion: #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.
===============================
COMMAND: 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
===============================
COMMAND: 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.
10
===============================
COMMAND: 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 '/'.
===============================
COMMAND: 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.
===============================
COMMAND: End
Syntax: #end
Description: The mother of all commands. This Command is you
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++.
===============================
COMMAND: Gag
Syntax: #gag {<text to trigger gagging of line>}
Description: #gag will gag any line that contains <text> in it.
Silimar to doing #sub {<text>} . (Note the . does not end the
sentance, 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.
11
===============================
COMMAND: Help
Syntax: #help
Description: Will display all commands available.
Example:
#help <= There ya go.. All comands will be displayed.
#help <command> <= Will give you extensive help in command.
===============================
COMMAND: Highlight
Syntax: #highlight {<type>} {<text to highlight>}
Description: All occurences 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 pallette.
Example:
#highlight {bold} {obliterates} <= 'obliterates' in attack
messages will be in a bold
appearance.
If you are not using VT-100, and would like to have the highlight
command work on your system, you can change the control codes
listed in the 'tintin.h' file. I will make highlight work with
more terminal types as the codes become available to me. Thanks
Urquan for telling me the codes for VT-100 :)
===============================
COMMAND: History
Syntax: #history
Description: This will show you the last 15 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
12
In 'History Substitution', if you don't want to retype one of the
15 previous lines, you can just type:
!<# of line to repeat> <and 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 15 commands.
===============================
COMMAND:IF (New for v1.2)
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.
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.. :)
13
===============================
COMMAND: Ignore
Syntax: #ignore
Description: This will toggle whether or not you want your
actions to be triggered or not.
Example:
#ignore <= Toggles it on or off..
===============================
COMMAND: 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...
===============================
COMMAND: 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.
===============================
COMMAND: 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.
14
===============================
COMMAND: 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.
===============================
COMMAND: 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 applys result to
variable 'heals'.
I have an extensive example of math used in a coms file that is
shipped to you with the package.
===============================
COMMAND: 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.
===============================
COMMAND: #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..'
15
===============================
COMMAND: #<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.
===============================
COMMAND: 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 explaination of
what fleetr stands for.
===============================
COMMAND: 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.
===============================
COMMAND: 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.
16
===============================
COMMAND: Redraw (New for v1.2)
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.
===============================
COMMAND: 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.
===============================
COMMAND: 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 whatver 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'.
===============================
COMMAND: 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}.
17
===============================
COMMAND: 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 I 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.
I 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.
===============================
COMMAND: 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.
===============================
COMMAND: 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'.
18
===============================
COMMAND: 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.
================================
COMMAND: Split (New for v1.2)
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.
===============================
COMMAND: 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 occurences of the word 'massacres' to be
substituted
with '*MASSACRES*'. Then you'll type:
#subs {%0massacres%1} {%0*MASSACRES*%1}
19
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 transfered.
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.
===============================
COMMAND: 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.
===============================
COMMAND: 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.
20
===============================
COMMAND: 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.
Defaunt size is 75 seconds.
#tickoff <= turns the internal tickcounter off.
===============================
COMMAND: 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.
===============================
COMMAND: Ticksize
Syntax: #ticksize <number>
Description: defines the ticksize for the mud you are palying at.
Most standard Diku's use a ticksize of 75 seconds. I belive
(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.
===============================
COMMAND: Togglesubs
Syntax: #tugglesubs
Description: Similar to #ignore, #togglesubs will toggle whether
or not subs will occur or not.
Example:
#togglesub <= turns it on or off.
21
===============================
COMMAND: Unaction
Syntax: #unaction {<action to be deleted>}
Description: Similar to unalias except for actions.
Example:
<see unalias>
===============================
COMMAND: 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'.
===============================
COMMAND: Unantisub
Syntax: #unantisub {<antisub to be deleted>}
Description: Similar to Unalias except for antisubs.
Example:
<see unalias>
===============================
COMMAND: Ungag
Syntax: #ungag {<gag to be deleted>}
Description: Similar to Unalias except for gags.
Example:
<see unalias>
===============================
COMMAND: Unhighlight
Syntax: #unhighlight {<highlights to be deleted>}
Description: Similar to Unalias except for highlights.
Example:
<see unalias>
22
===============================
COMMAND: Unpath
Syntax: #unpath
Description: Removes the last move off the 'Path-List'.
Example:
#unpath <= removes last move off 'Path-List'.
===============================
COMMAND: 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.
===============================
COMMAND: Unsubs
Syntax: #unsubs {<subs to be deleted>}
Description: Simliar to Unalias except for subs.
Example:
<see unalias>
===============================
COMMAND: Unvariable
Syntax: #unvariable {<vars to be deleted>}
Description: Similar to Unalias except for variable.
Example:
<see unalias>
23
===============================
COMMAND: 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.
24
===============================
COMMAND: Verbatim (New for v1.2)
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.
===============================
COMMAND: Version
Syntax: #version
Decription: Displays version # of tintin++.
===============================
COMMAND: 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. :)
===============================
COMMAND: 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'.
===============================
COMMAND: 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.
25
========= Who is responsible for what you are using =========
TinTin++ represents many hours of work from many
individuals. Many hours were put in by the base author of TinTin
III, Peter Unold. The current person who is donating many hours
of his time to put out this program is Bill Reiss (Valgar/Eto).
This document was put together by Joann Ellsworth, and bug
squashing was done by Joann (Grimmy/Tossa), and others including
Dave Wagner (Urquan). If I have excluded your name here, I am
sorry, but you haven't been totally forgotten for most likely,
you are included in the wizlist. :)
ENJOY!!!
========= History of TinTin++ =========
I started mudding in January of 1993, and I almost immediately
found a copy of tintin3.0 on an FTP server. I liked the ease of
the commands, the power and flexibility possible, and the ease of
creating sessions. There were, however, a couple of bugs in
tintin3, and I started by fixing those. I then asked some
friends what they'd like to see in tintin, and after a few weeks,
I had made some noticeable changes that I wanted to share. Along
with the new power of the program came new difficulties, and it
became apparent that format changes were necessary. This version
includes those changes, as well as a horde of new features, and a
converter program to convert your old coms file to t++v1.1
format.
First there was TinTin I, and people were happy, but then they
cried for more. Then TinTin II came out, and once again, people
were happy. They turned unhappy, and then TinTin III was
created. And life was grand. Bugs in III were discovered, and
many left TinTin completely for use of PMF.
First version of TinTin++ was v0.6 This version corrected the
bug involving repetitive actions, and added other features.
Other versions followed, that were just bug fixes to previous
improvements. With the introduction of TinTin++ v1.0b, a new
bracing convention was created. With all the new commands, many
were happy, but there were still some bugs to be squashed. Bill
and Dave and others were greatly responsible for the quality
product of TinTin++ v1.0b. Joann got involved at version 1.0b,
helping squash bugs like the memory leak when closing sessions,
and many compiling warnings. She is now taking care of docs and
bug squashing (W/ her "Warhammer of Bug Squashing").
========= The Future of TinTin++ =========
The future of TinTin++ is up to you. We are open to all
suggestions, comments, and criticisms.
You can contact Bill at reiss@sunflash.eng.usf.edu
You can contact myself (Joann) at rse@cse.unl.edu. It's my
brothers account, for I have lost mine with graduation.
26