TableSmith 45 Manual
TableSmith 45 Manual
5
RPG Generation Tool
Copyright 2005 by Bruce A. Gulke. All rights reserved.
TableSmith 4.5
Welcome to TableSmith! This powerful tool is intended to aid RPG Gamemasters by
providing an easy-to-use system for creating and using tables and charts for their
campaigns.
This help file is brief, but TableSmith features an intuitive interface, so no more is needed.
With a small amount of effort, you'll be up and running in no time!
Legal Information
The usual legal software information.
System Requirements
What do you need to run TableSmith?
TableSmith Interface
Instructions on using the program.
TableSmith Categories
How to categorize your tables.
Support
TableSmith technical support policy.
Other Utilities
Other programs from TableSmith's author.
Revision History
The history of TableSmith's development.
Please note: TableSmith is shareware - please register! Read Legal Information for
registration information.
Page 2 of 36
Page 3 of 36
TableSmith Interface
The TableSmith main window consists of five main areas, each explained below.
File
o
Create New Table - Create a new table in the category you specify.
Export Results - If you wish to save the current batch of results, click this
button. You will be prompted for a filename and location, and a file will be
generated for you. This file will be in the format type you specified under
"Preferences" (HTML, XML, or text).
Edit Table - Allows you to edit the selected table (see TableSmith Basic File
Format for more information).
Copy Selected to Clipboard - Copies selected text from the results window to
the Windows clipboard.
Edit
Table
o
Roll - Rolls on the selected table as many times as is displayed in the textbox
left of the Dice button.
Reload - If you create a new category folder, copy files into a category folder,
or edit a Table file, and wish to use your changes immediately, you must first
click the 'Reload' button. This tells TableSmith to re-read the Tables folder
and update itself accordingly. Note that 'reloading' is done automatically each
time the program starts up.
Break - Allows you to 'break', or halt, the execution of the current table. This
may generate error messages from that run if the table is halted in the
middle of a function, though this is not cause for concern.
Add-Ons... - Displays information about any add-ons you may have installed.
Help
Page 4 of 36
Archives
TableSmith has an "Archives" feature, which allows you to easily store generated results for
easy retrieval. To access the Archives, click the "Archives" button, found above the
Category and Table Lists. You'll see a folder/file hierarchy, similar to Windows Explorer. The
hierarchy works as you would expect it to: Folders may be opened or closed, revealing (or
hiding) other folders as well as files. To view a file, simply select it. The stored results file
will appear in the Results Window. Above the hierarchy are three buttons: The leftmost
button may be used to create new folders. To use it, click on an existing folder, click the
button, then type the new folder's name when prompted. The second button is used to copy
generated results into the Archives. Click the folder where you want to copy the result
window contents, click the copy button, and type in a filename when prompted. In the
future, when you click on that file, it will appear in the Results Window. The rightmost
button is for deletion. Select the file or folder you want to remove, then click the 'X'. Note
that you will not be asked to confirm the deletion unless you are removing a folder that is
not empty. You cannot delete the topmost "Archives" folder.
To return to the Category and Table Lists, click the button above the archives that says
"Generate".
Results Window
The majority of the TableSmith interface is taken up by the Results Window. This is where
the results from rolling on a Table are displayed. This window is similar to a Web browser,
and will display items in HTML format, if specified.
Parameters
Some Tables use 'parameters', values that can be passed into them. A Table's parameters,
and their current values, will be displayed in the lists in this area, beneath the Results
Window (the "Show/Hide" button can be used to shrink this area and give the Results
Window more room). To change the parameter values, click the "Change" button, and use
the Parameters dialog to enter the values you wish to use (the Parameters window will start
at the first parameter listed, unless you've chosen one in particular, in which case that will
be the first parameter displayed).
Hyperlist
The lower left of the window constitutes the TableSmith's "Hyperlist". The purpose of the
Hyperlist is to allow you easy access to Tables you use often (similar to how "Favorites" lists
work elsewhere in Windows). Whereas the Tables in the Table listbox change based on the
Category selected, the Tables listed in the Hyperlist remain the same.
To assign a Table to the Hyperlist, simply click 'Add' and the current Table will be appended
to the list. To remove a Table, click the 'Remove' button when a Table is selected. Use
'Clear' to completely clear ths list. To run a Table in the list, just click on its name.
Page 5 of 36
Preferences
You may set preferences governing how TableSmith acts in certain situations. Selecting
"Preferences" from the "File" menu will display a dialog box listing these preferences. They
are organized into three categories, and are detailed below:
Interface
Use textured backgrounds - Check if you want to use the colorful backgrounds
included with TableSmith; leave blank if you prefer the standard Windows background
(not using textures may increase speed slightly on some machines).
Recall window position (if not maximized) - Check if you want TableSmith to
remember where you last positioned your window on the desktop the next time you
run the program. Otherwise, TableSmith will start up in the center of your screen
(regardless of your choice, if you exit TableSmith while it's maximized, it will start
back up maximied).
Folders
Table Folder - Clicking the "..." button allows you to select the folder where your table
files/categories are located. By default, they are in the "Tables" folder where you
installed TableSmith (and will be set back to this if you click "Set to defaults"), but you
may have the program look elsewhere if you wish.
Miscellaneous
Table Editor - By default, TableSmith uses Windows Notepad for editting table files. If
you have a different editor you'd like to use, you may select it here by clicking the
"..." button (note: the editor you select must be an EXE file, and must be able to load
a file given it as a parameter to function properly). Alternately, you may choose the
"TableSmith Graphical Editor". The editor is a new feature being added to TableSmith
and currently does not support all of TableSmith's table format features, but it can
easily handle the more basic tables. At the moment, it is undocumented but available
for anyone who wishes to give it a try.
Display error message for non-existent group calls - Checking this option will tell
TableSmith to display an error message if a group is called that it cannot find.
Unchecking this will display, as text, whatever group call was made.
Remove re-roll/notes links when exporting to HTML - Text that may be re-rolled, or
that was generated with the "Notes" function, will appear as blue or green links in a
Web browser when you open an exported HTML file. However, browsers outside of
TableSmith won't understand what these links mean when you click on them. If you
don't wish to have the links in your exported HTML files, check this option.
Output Type - Select the type of output you want TableSmith to generate. By default
this is HTML, but you may change to XML or text. Generate files will be displayed with
the appropriate extension, and exported or archived in a like manner.
Page 6 of 36
TableSmith Categories
TableSmith uses "categories" to help you organize your tables. A category is simply a folder
you create in your "Tables" folder. The Category List on the main interface will display the
folders in "Tables", and selecting one will display the table files in that folder.
Some things to keep in mind:
Though you can have tables with the same names in different categories/folders, you
are encouraged to use unique names for all your tables. At present, TableSmith has
no way of distinguishing two tables with the same name (and thus can generate
unexpected results). This may change in the future.
Comments
The first line, with the '#' character, is a comment. Comments may be placed anywhere
within your table, generally to explain why something was done in a table in a particular
way, to describe the table's purpose, to show who authored the table or where it's original
source was, etc. Comments are intended for use by a person looking at a table; if a line has
a '#' as its first character, the entire line is ignored by TableSmith.
Page 7 of 36
Groups
The parts of the table above starting with "Start", "Creature", and "Color" are groups. A
group consists of a name, followed by Entries. A group may have any name you wish,
though you should stick to only alphanumerics (i.e.; letters and numbers) and underscores
("_"). Group and table names cannot contain the characters "+", "-", or "=" as these have
special meaning when used in a call. Other characters that may work now might not work in
the future, so stick to "A-Z", "a-z", "0-9", and "_". Groups are preceded in a table by a colon
(":"). Groups can be considered "subtables" within the larger table files. Note: There is one
"special" group, known as "Start". Whenever a table is selected from TableSmith, the first
group that is rolled on is "Start" (it has to start somewhere).
Group Entries
The entries under each group follow a specific format, which is:
number,text
Note that the comma is very important. When an entry is read into TableSmith, everything
up to the first comma it reads is used for probability, and everything after is a line of text.
Note that if you put a space after the comma, that space is part of your line of text. Also
note that when it comes to commas, TableSmith only cares about the first one it finds. You
may put commas in anywhere in your text line that you care to.
The number before the comma in an entry line is a probability. This is the chance that if
that line's group is selected, that particular line will be used. For instance, in the "Color"
group in the example, the entry "Red" has a number of 1. Since the range of numbers for
that group is 1-4, if the Color group is selected for something, a random number from 1 to
4 will be generated, and if it comes up a '1', "Red" will be the text used from the Color
group. This number may be either a single value, or a range, in the format of "X-Y", where
'X' is the lower limit of the range and 'Y' the upper. The range for a group is determined by
the lower limit (or value if a single number) of the first entry beneath it and the upper limit
of its last entry. In the example above, when rolling on the "Creature" group, the range is
1-9, and for the "Color" group, it is 1-4. Note: This number cannot be negative, and if a '0'
is used, that entry will not be used (though '0' won't generate an error).
Page 8 of 36
Group Calls
Whenever an entry line contains something in double square brackets ('[' and ']'), rather
than using that text as part of the selected line, the program will jump to the group with the
name that is between the brackets, and insert the generated result from that group into the
current line. For instance, in the example, the "Creature" group has an entry that says
"9,[Color] Spirit". This means that if that entry is selected, TableSmith will jump to the
"Color" group, make a selection, and replace "[Color]" with that selection. Thus, the result
would be "Red Spirit", "White Spirit", or "Blue Spirit", depending on the value generated for
the "Color" group.
Page 9 of 36
Roll Modifiers
Normally, when a group is called, TableSmith generates a random number within the range
of the groups limits, and then looks up the corresponding entry for that number. For
example: In the sample table at the top of this page, when TableSmith rolls on the
"Creature" table, it generates a random number from 1 to 9, and selects the corresponding
entry. However, you may modify this roll if you wish. When a group call is made, a "roll
modifier" may be applied: If a group call contains a "+", "-", or "=", the value of whatever
follows is either added, subtracted, or "forced" from the roll made on the referenced group.
For example:
[Potions+3] - This would add 3 to whatever roll was made on the group 'Potions'
[Castles-5] - This would subtract 5 from whatever roll was made on the group
'Castles'.
[Undead=4] - Rather than roll on the group 'Undead', the result generated will be for
whatever line the value 4 is located.
The modifier is never required, and is simply used if you wish to modify a group roll.
Die Rolls
TableSmith allows for random die rolling in the middle of tables (useful for any number of
things, from the value of treasure to character generation to monster hits). To generate a
die roll, a special syntax is required:
{Dice~XdY?Z}
X - Any non-decimal number (1, 5, 100, etc.). May be omitted, in which case it is
considered to be '1'.
d - The letter 'd' must be in the declaration (think of it as the 'd' in "2d8" or the like)
? - This, and 'Z' can be left out. The ? symbol means you can place a '+', '-', '*', or '/'
in the formula (so you can generate results such as "3d6+2" or "4d8-5")
Z - This is the amount you wish to add, subtract, multiply by, or divide by.
When TableSmith sees curly brackets ('{' and '}') containing the text "Dice~", rather than
printing these characters directly, it "rolls dice", and substitutes the result in place of the
brackets and their contents. So, for instance, if you have "{Dice~3d6}" in a group entry,
the program will "roll" 3d6, take the result, and put it in place of the bracketed text.
Page 10 of 36
The program looks at the "Start" group and determines a range of numbers. Since
there is one entry with a value of '1', this range is 1-1 (pretty simple). A random
number is generated in the range of 1 to 1, and strangely enough, '1' is the result.
Looking at the selected entry in "Start", the program sees that a call is made to the
group "Creature". A range is again determined, this time being 1 to 9. A random
number is generated in this range, and the result, say, is '9'.
If the result was '2', "Orc" would have been the result of the call to "Creature", and
that would have been passed back to the Start entry. However, with '9', there is a call
to another group, "Color".
"Blue" has been generated as a result for the call to the "Color" group, so this is
substituted for "[Color]", meaning the call to the "Creature" group has come up with
"Blue Spirit".
"Blue Spirit" is passed up to the "Start" entry, which uses it to replace "[Creature]".
So far we have "You see a Blue Spirit". To this we continue to add text, resulting in
"You see a Blue Spirit with a " - but now we have another link, this time to another
table called "Treasure" and one of its groups, "Coins".
In summary, TableSmith loads the "Treasure" table and generates a result from its
"Coins" group. Let's say we got back "pouch of 20 gold"; we continue, so until we hit
that first curly bracket, we have "You see a Blue Spirit with a pouch of 20 gold, worth
".
The final outcome of this generation is: "You see a Blue Spirit with a pouch of 20 gold,
worth 4000 experience."
This is just an example of what TableSmith does. The best way to learn the potential of this
program is to look at the sample tables provided.
A few other notes:
Table names, like group names, should not contain the following characters: "+", "-",
and "=".
Any new tables must be added/copied/whatever into the 'Tables' subdirectory, which
is found in the directory that TableSmith was installed into.
Page 11 of 36
TableSmith uses an HTML control for display, so you may place HTML tags into your
entry lines for special formatting. For an example of how HTML is used in a table, look
at the "Book Description" table.
Variables
TableSmith supports variables, which can be thought of as storage areas for numbers, text,
or other information. Variables must be named, and can be called anything you want
(though you are advised to just use alphanumeric characters - that is, letters and numbers).
A variable name can contain spaces, though not at the beginning or end of the name.
Variables must be "declared" in a TableSmith file before anything else (including
parameters, which are detailed elsewhere). A variable declaration is a single line formatted
as follows:
%VariableName%,x
"varname" is whatever name you choose for the variable, and "x" is the default value that
the variable will have (i.e.; whatever value it possesses until reassigned or modified).
Variables can store text or numbers.
Whenever an entry has something between two percent signs ("%"), TableSmith reads this
as a variable reference. If you have a variable with a name matching whatever is between
the % characters, the value that is currently in that variable replaces the reference. For
instance, say the variable "amount" currently holds the value "12". The following line in a
TableSmith file:
"There are %amount% orcs here."
will display as:
"There are 12 orcs here."
Page 12 of 36
Variable Assignments
Whenever a group entry has something in two sets of pipes ("|"), it is recognized by
TableSmith as a variable assignment. The format of an assignment is as shown:
|xxxxx?Y|
where
Y is a numeric value
Use one of the nine symbols shown by "?" above to change a variable. Using "=" will assign
the following text or number to the specified variable, while the other symbols will perform
that action on the variable (usually only practical if the variable holds a number). Examples
are shown below:
|A& III| - Concatenates the text " III" to A's value (Ex: If "A" was "Smith", it is now
"Smith III")
Note that variables are local to the table they are used in. In other words, if you have a
reference to "A" in one table and a reference to "A" in another that is called by the first, the
value of "A" in one table will not be affected by changes in the other.
Also note that unlike the other TableSmith formats, a variable assignment does not get
replaced by anything visible. The entire assignment is simply removed from the line - "This
is |B=5| a test" would be viewed as "This is a test".
Page 13 of 36
Functions
Functions are a feature of TableSmith that allow you to perform some sort of action that you
couldn't otherwise do with the standard table format or which could be done with great
difficulty. The "Dice" function has already been detailed in the Basic Format area of Help;
TableSmith supports many more. Functions follow the format below:
{FunctionName~nnnn,nnnn,nnnn,...}
"FunctionName" is the name of the function. It is followed by a "~", and one or more values
(the number and the type depend on the particular function). Some functions return text
(replacing the {, }, and everything in-between), some manipulate variables. Each function
is detailed below (note that variables who's values are referenced by functions are not
surrounded by the "%" character as they are normally; these functions are SortAsc,
SortDesc, Min, Max, and Split). Examples are shown in italics.
AorAn (A or An)
{AorAn~String}
If "String" starts with a vowel, this function appends "an " to the front of it; otherwise, it
appends "a " to the front.
Calc (Calculate)
{Calc~Expression}
This function will return the results of the mathematical expression given to it. The function
will recognize addition, subtraction, division, division with truncation, and multiplication (+,,/,\,*). Parentheses can be used as well. Note that if you use variables in the expression,
make sure a space divides the "%" of any variable from the division sign ("/").
Page 14 of 36
Cap (Capitalize)
{Cap~String}
This function will return the string fed to it, with the first character capitalized. Spaces are
counted, so while "arrow" will be capitalized to "Arrow", " arrow" would stay the same, since
the function looks at the space that precedes the word.
Debug (Debug)
{Debug~Caption}
Displays various information for debugging purposes (intended for more advanced users).
Displays a dialog box with "caption" as its caption, along with a list showing all the variables
and their values for the current table, system resource/memory information, and the
number of times the main TableSmith routine has been looped through.
Page 16 of 36
Page 17 of 36
If (Conditional function)
{If~conditional ? Result1/Result2}
The "If" function works by comparing two items to see if they meet a specified criteria. If
the "conditional" statement is true, "Result1" is returned. If it is false, "Result2" is returned
("Result2" is optional; if it is not shown and the conditional is false, nothing will be
returned). The options for the conditional are "=" (equals), "!=" (does not equal), "<" (less
than), ">" (greater than), "<=" (less than or equal), and ">=" (greater than or equal).
LastRoll (LastRoll)
{LastRoll~}
Returns the group name and the roll made on the most recently called group, in the format
"TableName.GroupName:X".
Page 18 of 36
Line (Line)
{Line~align, width}
Inserts a line across the page. Width is a percentage; if omitted, it will be be assumed to be
100%. "align" can be left, center, or right.
{Log~C:\log.txt,Generated line 14} will write "Generated line 14" at the end of
the file "C:\log.txt"
Loop (Loop)
{Loop~n,Value}
Displays the results of "Value" "n" number of times.
Page 19 of 36
Given group "Weapons", with the first line being "4,dagger" and the second line being
"3,scimitar", {MaxVal~Weapons,1} would return "4" (since 1-4 would yield "dagger"
and 5-7 would yield "scimitar")
Given group "Weapons", with the first line being "4,dagger" and the second line being
"3,scimitar", {MinVal~Weapons,2} would return "5" (since 1-4 would yield "dagger"
and 5-7 would yield "scimitar")
Mod (Remainder)
{Mod~Dividend,divisor}
Divides "dividend" by "divisor" and returns the remainder
Note (Notation)
{Note~Text}
Displays "Text" in the results window in green; the text can be clicked on, and the user can
change what the text says. This editted information replaces what was originally in the
results window.
Page 20 of 36
Or (Logical OR)
{Or~expression1,expression2}
Compares expression1 with expression2; if either or both are true, returns 1. If both are
false, returns 0. If there is an error in either, And returns -1.
Page 21 of 36
Words ending in "ch", "o", "s", "sh", "x", or "z", are returned with "es" added to the
end.
Words ending in "f" or "fe" are returned with "f" or "fe" replaced by "ves".
Words ending in a consonant and "y" are returned with "y" replaced by "ies".
All other words are returned with "s" added to the end.
{Power~2,3} returns 8
Round (Rounding)
{Round~SomeValue,x}
Rounds the passed-in value to "x" decimal places and returns it.
Given the variables Gem1, Gem2, and Gem3, equal to "Emerald", "Sapphire", and
"Diamond" respectively, {SortAsc~Gem1,Gem2,Gem3} assigns "Diamond" to Gem1,
"Emerald" to Gem2, and "Sapphire" to Gem3
Given the variables Gem1, Gem2, and Gem3, equal to "Emerald", "Sapphire", and
"Diamond" respectively, {SortDesc~Gem1,Gem2,Gem3} assigns "Sapphire" to Gem1,
"Emerald" to Gem2, and "Diamond" to Gem3
Split (Split)
{Split~VarToSplit,"x",Var1,Var2,Var3,...}
The Split function is somewhat complex. Following the "~", is the name of a variable
(without "%"'s), then a delimiter (in quotes), and then a list of variables. What Split does is
to take the first variable ("VarToSplit" shown above), divide it up, and copy the results into
the variable list ("Var1", "Var2", etc.). The delimiter character is used to divide the first
variable. The example below illustrates:
Page 23 of 36
Trunc (Truncate)
{Trunc~SomeValue}
Returns the result of truncating the given value (drops the fractional portion, if any).
{Unlock~Gems,3,7-9} will clear the flags for whatever entries encompass 3, 7, 8, and
9 so they can be used.
{Used~Weapons,5} returns "1" if entry 5 has been used previously, 0 if not, and -1 if
entry 5 does not exist in "Weapons"
Version (Version)
{Version~}
Returns the version of the TableSmith engine.
Page 24 of 36
Parameters
TableSmith supports "parameters." Parameters allow you to pass values from one table to
another, or query a user for input before rolling on a table.
Parameters take up a single line and follow the format below:
@x,n,prompt,option1,option2,option3,...
the "@" symbol tells TableSmith that the line is a parameter. "x" is one of TableSmith's
variables - this is the variable that will receive a value, either from another table or from the
user. "n" is the default value to use if no input is given. Prompt is the text to display to the
user if the table is called directly from TableSmith (as opposed to being called by another
table). If nothing else is listed, the parameter is considered "text". If other items are listed
(as in "optionx", above), then the parameter is considered to be a "list". If the table is called
directly from TableSmith, "text" parameters are entered directly by the user, while "list"
parameters present the user with a list (the items shown as "optionx") from which they
select a single item. The text entered (for "text") or the number of the option selected (for
"list") is what is assigned to the variable.
Here's an example:
@name,1,Enter a name
@gender,1,Select a gender,Male,Female
When the table containing these lines is run, the first item will be displayed in the
Parameter dialog box as a text box, with the user prompted to type a name. This name will
be assigned to the variable "name". The second item will be displayed as a list, where the
user can select either "Male" or "Female". If they choose "Male", the variable "gender" will
be assigned the value "1". If "Female" is chosen, the value assigned to "gender" will be "2".
You can also pass parameters to a table in a table call. You don't have to, nor do you have
to pass a value for each parameter. To pass parameters, you use parentheses after the
table call, like so:
1,[CharGen.Start(3,4)]
Page 25 of 36
Pregeneration Directives
You can put "pregeneration directives" in your table to override interface settings. A
directive follows the following format:
/DirectiveCommand parameter(s)
Directives only are applied from tables that are called from the interface (i.e.; tables called
from within other tables will have their directives ignored). Supported directives are listed
below.
Background Color
/BackColor nnnnn
If the output is for HTML, the background color will be set to "nnnnn". This color can be any
color or format that the HTML Body attribute "bgcolor" recognizes.
Background Image
/Background nnnnn
If the output is for HTML, the background image will be set to "nnnnn". Remember that this
is relative to where the HTML results file is, so you may want to use an absolute path.
Page 26 of 36
Miscellaneous
A few other things to note:
Group entries can be split into multiple lines. Whenever TableSmith reads in a line
starting with an underscore ("_"), it appends that line to the previously read-in entry.
Example:
:Start
1,You find [Weapon] and
_ [MagicItem]
in a table file becomes:
:Start
1,You find [Weapon] and [MagicItem]
internally.
If you want to print an actual percent sign ("%") or square bracket ("[","]"), precede
the character with the slash character ("/").
Parameters can be passed to a table regardless of which group you call in that table.
If you want tabs or carriage returns in your output, use the characters "^T" and "^M",
respectively. This isn't as useful if you are using HTML output, but may be helpful for
text or XML results.
If you want to clear out a variable, simply assign nothing to it, like so: "|A=|".
Page 27 of 36
;GroupName
1,Entry 1
2,Entry 2
;!GroupName
1,Entry 1
2,Entry 2
Group Calls
[xx~Group@mod]
[xx~Table.Group@mod]
LN~
Variables
Variable Assignments
|VarName?x|
+, -, *, /
>
<
&
Concatenate text
Page 28 of 36
Parameters
Pregeneration Directives
OverrideRolls x
Rolls "x" times on the table rather than what the interface
shows
OutputType HTML |
XML | Text
Functions
Abs~Number
And~expr1,expr2
AorAn~Text
Bold~Text
Calc~Expression
Cap~Text
CapEachWord~Text
CarRet~, CR~
Ceil~Number
Count~Group
Debug~Caption
Dice~XdY?Z
Dice roller
DSAdd~VarName
DSCount~VarName
DSFind~VarName,StartingIndex,
SearchExpression1,
SearchExpression2, etc.
DSGet~VarName,Index,Field
DSRandomize~VarName
DSRead~VarName,Filename
DSRemove~VarName,Index
DSSet~VarName,Index,Field1,Value1,
Field2,Value2, ...Fieldx,Valuex
DSSort~VarName,Field1,Direction1,
Field2,Direction2,
...Fieldx,Directionx
DSWrite~VarName,Filename
Extern~Library.Object,StringToPass
Find~x,String1,String2
Floor~Number
Generate~0,Text,Group Call
If~conditional ? Result1/Result2
IIf~conditional ? Result1:Result2
Input~Variable,Prompt,Default
Italic~Text
LastRoll~
Left~x,Text
Length~Text
Line~alignment, width
Lockout~Group,Values
Log~FileName,Text
Loop~n,Text
Max~Var1,Var2,...Varx
MaxVal~Group,x
Mid~x,y,Text
Min~Var1,Var2,...Varx
MinVal~Group,x
Mod~Dividend,divisor
Msg~Message
Note~Text
Or~expr1,expr2
OrderAsc~"x",Text
OrderDesc~"x",Text
Ordinal~Value
Param~Variable,n
Picture~Filename
Power~x,y
Replace~SearchText,
ReplaceText,SearchString
Reset~GroupName
Right~x,Text
Round~Number,x
Shell~Text
SortAsc~Var1,Var2,...Varx
SortDesc~Var1,Var2,...Varx
Split~VarToSplit,"x",Var1,Var2,
...Varx
Sqrt~Number
Status~Message
Stop~Message
TableExists~TableName
Trim~Text
Trunc~Number
Truncate Number
UCase~Text
Unlock~Group,Values
Used~Group,Entry#
Version~
VowelStart~Text
Xor~expr1,expr2
Page 32 of 36
TableSmith Support
TableSmith is shipped fully functional. If you have problems or questions, contact the author
via e-mail at [email protected].
Technical support for unregistered users will only be provided for problems dealing with
download or installation. Registered users will receive technical support for the program
itself. Please see the Legal Information page for information on registering TableSmith.
There is also a TableSmith mailing list hosted through Yahoo! Groups:
(http://games.groups.yahoo.com/group/TableSmith/).
This is a users-helping-users forum and is comprised of other TableSmith users whose
experience may assist in answering your questions. In addition to community support, the
TableSmith group also provides access to a large number of user-submitted tables, all freely
available for download, and links to related websites.
Other Utilities
TableSmith is just one of the Campaign Master RPG Utilities. The utilities are tools intended
to assist Gamemasters by automating some of their tasks, as well as making certain things
easier (mapping, name generation, etc.).
For more information on other tools, contact Bruce Gulke at [email protected] or visit the
Mythosa Web site at www.mythosa.net.
Page 33 of 36
TableSmith History
4.5
Fixed "Dice" function so dice with more than 32767 sides may be used
Fixed bug that would crash program if a value in scientific notation was entered for the
number of rolls
4.4
Fixed bug with "Cap" function (didn't work properly if fed an empty string)
4.3
4.2
4.1
Changed the format of the "Left", "Mid", and "Right" functions to fix potential
problems if "text" included a comma
Fixed a bug where parameters with dashes would not function properly
4.03
A loaded XML file will refresh with click of "Reload" button, as tables do
Modified "Used" function to check if an entire group has been "used up"
Page 34 of 36
Added option to immediately re-roll the table you have currently selected when you
click "Reload"
Fixed a bug with the "While" function that prevented it from working if not at the
beginning of an entry
4.0
3.96
3.95
Added many new functions (Count, MinVal, MaxVal, Ceil, Floor, UCase, LCase, Loop,
Unlock, Param)
Removed obsolete group call functionality for conditional calls and looping
3.9
3.8
3.7
Added "Archives" feature to allow easy storage and retrieval of TableSmith results
Fixed bug where parameters didn't work when TableSmith was called from the
command-line
3.6
Improved error-handling
3.5
3.0
2.0
UI re-design
Parameter support
1.6
1.5
Minor enhancements
1.4
Minor enchancements
1.1
1.0