home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
DOOR
/
DGWRL203.ZIP
/
DOGQUEST.DOC
< prev
next >
Wrap
Text File
|
1997-08-01
|
33KB
|
842 lines
CREATING QUESTS FOR DOGWORLD ][ v2.03
-------------------------------------
Following is a brief explanation of the scripting commands
contained inside DogWorld ][ v2.03. Also take a look at the sample
quest I wrote, "The Scary Grave" (SGRAVE1.ZIP), for more on how to
use these commands in a quest.
Before you start, here are a few guidelines on creating a
quest for DogWorld ][. The quest should be written as a plain
ASCII text file (use something like DOS Edit to create it).
Script Commands should be on a line by themselves and must always
start with a forward-slash (/). The forward-slash (/) must always
be in the first column (beginning of the line). Anything that
doesn't start with a forward-slash is treated like text and is
mearly printed to the screen. All external display codes are
supported inside plain text. (See codes at end of this file).
To indent text, simply indent it in the quest text file.
More prompt codes (`p) should only be at the beginning of
a line.
QUEST LIMITS
------------
There are several limits built into DogWorld to help keep things
from getting too out of hand inside a quest. Here are the limitations:
1. A quest can give up to 3 gift/punishments per day per player.
2. A quest can have up to 5 alley fights per day.
If the maximumn number is exceeded inside the quest, an error message
is displayed and the action is skipped.
**IMPORTANT**
-------------
The title of the Quest MUST always be on the FIRST line
of each quest file. This line is not processed when the
quest is played by the caller.
**HINT**
--------
Normally, the cursor is returned to the beginning of the
next line after a line of text is displayed to the screen. There
are times though, when this may not be desirable. One case would
be when getting a menu choice from a user and showing a prompt
line such as "Enter a Key :". Here you would want the cursor to
stop after the colon. DogWorld ][ provides a means for this with
a special double backqoute code (``).
EXAMPLE:
--------
``PAW a KEY [A,B,C] : <--- shows text and leaves cursor
at the end of the line of text.
**IMPORTANT**
-------------
Quest files MUST be named using 6 characters or less, followed
by a number, a period, and an extension of TXT! A quest "set"
can have up to 99 quests. The first quest in a set MUST be
file number one. You can not skip numbers inside a quest set.
DogWorld ][ will only see quests that are sequentially numbered.
Here is an example of file names for a 5-part quest set:
GRAVE1.TXT, GRAVE2.TXT, GRAVE3.TXT, GRAVE4.TXT, GRAVE5.TXT.
INSTALLING YOUR NEW CREATIONS!
------------------------------
After you've written your quests, place all the files inside
a temporary diectory. Remember the path to this directory and
the name of the first file in the quest set. (You'll need that
information in just a minute).
Then go to your DogWorld ][ directory and start the quest loader
by typing DogQuest at the DOS prompt. The quest loader will start
and a menu will be presented to you. Choose the first option:
(1) Convert .TXT scripts into .FUN quests!
You will be asked if you'd like to preform a "fast install".
This is the preferred method for a first time installation of
a quest set. Simply follow the instructions on the screen. DogQuest
will convert all the .TXT files into .FUN files that DogWorld ][ can
understand and move them to the \QUESTS directory. You will also
be given the option to automatically have the quest announced in
the daily news.
Please note that if it's a new day (no one has played yet),
the announcement will appear in yesterday's news when the first
player of the day logs on.
INSTALLING A PRECOMPILED QUEST SET
----------------------------------
If you're installing a quest set that is already compiled into
.FUN files, then follow the above procedure, but select menu choice
2 inside of DogQuest instead of menu choice 1:
(2) Install .FUN quest files!
This will move the .FUN files to the \QUESTS directory and
install the quest inside of DogWorld ][.
INSTALLING A QUEST SET INTO A DIRECTORY OTHER THAN \QUESTS
----------------------------------------------------------
If you'd like to place a quest set into a directory other than the
default \QUESTS directory, you will have to manually edit the
DOSCRIPT.MNU file to show the path to the quest set. Make sure that
all the .FUN files and any display screens are in the directory and
add the complete path to the first quest file and the title of the
quest to DOSCRIPT.MNU with a plain ASCII text editor like DOS's EDIT
program. Here's an example of a quest entry in a unique directory:
C:\DOGWORLD\LOVE\LOVE1.FUN
`4Th`@e Lo`%ve Dream`@s v1`4.0
DISTRIBUTING YOUR DOGQUESTS!
----------------------------
We encourage everyone to create and distribute DogQuests for
DogWorld ][! Please take the time to test your quest for proper excection
before sending it out to others. If you don't want others to change
your quest, then just include the .FUN files and any display screens.
If you don't care if they change your creation (like taking out your
name, etc), then send out the .TXT files and any display screens. Make
sure that you save copies of your original .TXT files so that you can
make changes or additions to your quest if the need arises.
Feel free to send your quest sets to me at Online! USA BBS. I will
make the quest available on my system and also on my internet web page
as long as space is available.
Send Quests to me at: BBS: 1-615-380-1909
FIDO: 1:116/165
Internet: ken-cothran@worldnet.att.net
Ok then! Let's crank out some DogQuests!
COMMAND SET FOR DOGWORLD ][ v2.03 SCRIPTING LANGUAGE
----------------------------------------------------
Actual script commands (/command) should always be left justified.
(Plain text does not have to be left justified.)
ACTION COMMANDS
---------------
/barking /dumping /scratching /swimming
/begging /humping /searching /thinking
/chewing /looking /sniffing /walking
/climbing /running /squirting /whimpering
/crawling
When one of these commands are used, DogWorld ][ prints the action five
times on a line with "..." and a delay between each.
EXAMPLE:
/squirting produces:
squirting...squirting...squirting...squirting...squirting
ATTRIBUTE COMMANDS
------------------
Note that attribute commands are now limited to 3 per quest
when doing something to the current player and 3 when doing something
to another player. If your quest exceeds that, an error message
will be displayed to the caller, the change will be skipped, and
the caller will be returned to the "More Places" menu.
/bones:n changes "bones in paw"
/bank:n changes "bones in yard"
/experience:n changes experience points.
/strength:n changes strength points
/agility:n changes agility points
/defense:n changes defense points
/itchy:n changes flea total
/snacks:n changes liver snack total
/hitpoints:n changes hit points
/hitmax:n changes maximum hit points
/alleyfights:n changes number of alley fights left
/dogfights:n changes number of dog fights left
/puppies:n changes number of puppies
*`V0-`V9 codes are also supported, use counter0 - counter9. Also, to
apply this command towards another dog, use the `o code after setting
a value by using the /getadog command.
EXAMPLES:
/snacks:2 <-- adds 2 liver snacks to current players snacks
/strength:-1 <-- subtracts 1 point from current player.
/agility:`V0 <-- adds value stored in counter 0 to players agility.
EXAMPLE USING THE OPTIONAL (`o) CODE - (other player)
----------------------------------------------------
/rankings shows list of players.
/getadog prompts user for other players' name
/strength:`o-1 sends note to other player informing them that
you caused them to lose one strength point!
DogWorld ][ perfoms bounds checking when a change is applied to the
current player. You MUST always specify the following two tags to trap
for this. This is useful, if you are trying to sell items to the player
and you want to loop back to the top of the menu if they don't have
enough bones. (when sending change to another player, the change, and
the bounds checking, is performed when the other player enters the game)
**THESE ARE REQUIRED WHEN NOT USING THE `o CODE!**
/didchange tag to jump to if change was successful.
/nochange tag to jump to if change failed.
Here's an example using /didchange and /nochange:
/* get input from user....
/choiceB
`n`$How dare you get familiar with me! Just for that you...`n
/strength:-1
/didchange
`$**`@ LOSE 1 STRENGTH POINT! `$**`n`p
/exitquest
/nochange
You feel weak and find yourself back where you started`d4.`d4.`d4.`d4.`d4.
/exitquest
OTHER ATTRIBUTE COMMANDS - (`o) is NOT supported here!
------------------------------------------------------
/rabies:x if 0 - rabies is cured, if 1 - player gets rabies
/dogdead kills player for the day
(/didchange, /nochange not needed for the above two commands)
INPUT COMMANDS
--------------
/inputstring0:n, /inputstring1:n, /inputstring2:n - INPUT TEXT STRING
----------------------------------------------------------------------
Input string up to 25 characters from the user. Stored string
can be displayed by using `T0-`T2. This command displays a standard
DogWorld ][ input box at current cursor location. where length of input
is defined in the command by <n> (up to 25 characters).
/inputnumber0:n - /inputnumber9:n - GET NUMERIC INPUT
-------------------------------------------------------
Input number from the user. Stored numbers can be displayed inside
text by using `V0-`V9 codes. This command displays a standard DogWorld ][
style input box at the current cursor location. Length of input box can
be up to 9 decimals and is defined by <n>.
/getchoice:xxx - GET HOTKEY
---------------------------
Gets a key from the user, where xxx are the choices. This
command is typically used to get which choice a user has selected from
a menu of choices. The case of the letters for the choices (xxx..) must
match the case of the letters in the choice labels. See example below.
EXAMPLE:
/* Display a menu to the player.
`$Inside the Scary Grave
`@You see a dead bird, a spider, and a twig sticking out
of the ground. What do you wanna do?
`3(`!B`3)`!ark something cool
`3(`!E`3)`!at the dead bird
`3(`!P`3)`!ull on the twig
`3(`!T`3)`!alk to the spider
```$PAW a Key, `g`$! [B,E,P,T] :
/getchoice:BEPT <---- Get the choice from the user!
/choiceB
/oneliner:Grave
/goback:`$Inside the Scary Grave
/choiceE
/goforward:`n`#The Dead Bird Meal
/choiceP
/goforward:`n`#The Twig in the Ground
/choiceT
/goforward:`n`#Talking to Charlotte
/endchoice
/exitquest
/choiceX - GO TO GETCHOICE LABEL
--------------------------------
Label to jump to after a /getchoice, where X is a valid keypress from
getchoice command. Note that the letter for the keypress IS case sensitive
and must match the case in the /getchoice command. See above.
/endchoice - MARK END OF GETCHOICE BLOCK
----------------------------------------
Ends a /getchoice block. This is a required command to end a /getchoice
sequence. See example above.
/ranchoice:n - PICK RANDOM CHOICE LABEL
---------------------------------------
Picks random number between 1 and n, then jumps to /choiceX where X is
the random number.
EXAMPLE:
/ranchoice:4 <-- 4 entries in list
/choice1
....(stuff here)
/choice2
....(here too)
/choice3
....(and here)
/choice4
....(and here)
/endchoice
/gotochoice:n - GO TO AN ASSIGNED LABEL
---------------------------------------
Jumps to /choiceX where X is the number stored in counter[n].
(see /assignnum command).
EXAMPLE:
/assignnum0:`l <-- assigns player's level to counter 0
/gotochoice:0 <-- jumps to choiceX where X is # stored in counter0
/choice12
/goforward:`$Your on Level 12!
/endchoice
`$Too bad. You're not on level 12 yet!
This example first uses the /assignnum command to assign the
player's level to counter 0. Then it uses the /gotochoice command
to jump to /choiceX (where in this example, X is the number stored
in counter 0). If the player is on level 12, the script will jump to
the /choice12 tag. If the user is not on level 12 yet, the script will
jump to the /endchoice tag and continue from there. This technique can
be used to perform simple conditional functions within your script.
/randomnum0:n - /randomnum9:n - ASSIGN RANDOM NUMBER TO COUNTER
---------------------------------------------------------------
Assigns random number between 1 and n to counter 0 through counter 9
EXAMPLE:
/randomnum0:20 <--- counter 0 is now some number between 1 & 20.
/assignnum0:n - /assignnum9:n - STORE SPECIFIED NUMBER IN COUNTER
-----------------------------------------------------------------
Assigns a number to counter 0 through counter 9
This command also supports the following codes:
`l - assigns current player's level to the counter
`a - assigns current player's agility points to the counter
`b - assigns current player's bank total to the counter
`G - assigns current player's bone total to the counter
`E - assigns current player's experience total to the counter
`h - assigns current player's hump total to the counter
`f - assigns current player's flea total to the counter
`L - assigns current player's Liver Snack total to the counter
`P - assigns current player's Puppy total to the counter
`M - assigns current player's strength total to the counter
`D - assigns current player's defense total to the counter
`, - assigns current player's "Alley Fights Left" total to the counter
`k - assigns current player's "Dog Catcher Wins" to the counter
`: - assigns current player's "Player Fights Left" total to the counter
`c - assigns current player's "Hit Point" total to the counter
EXAMPLES:
/assignnum0:5 <--- assigns number 5 to counter 0.
/assignnum0:`l <--- assigns current players level number to counter 0.
/increase0:n - /increase9:n - INCREMENT COUNTER
-----------------------------------------------
Adds <n> amount to counter 0 through counter 9
*(use a negative "n" to decrease the counter)
EXAMPLE:
/assignnum0:5 <--- assign value of 5 to counter 0.
(do some other stuff....)
/increase0:3 <--- add three to the counter (counter is now 8)
/multiply0:n - /multiply9:n - MULTIPLY COUNTER
----------------------------------------------
Multiply counter 0 through counter 9 by <n>
EXAMPLE:
/assignnum0:5 <--- assign value of 5 to counter 0.
(do some other stuff....)
/multiply0:2 <--- multiply counter by 2 (counter is now 10)
DISPLAY COMMANDS
----------------
/dogtrack - DISPLAY LONG DOGGIE BORDER
--------------------------------------
Displays long "---:---:---" style border on the screen.
/yourstats - DISPLAY STATS SCREEN
---------------------------------
Displays the stats screen for the current player.
/rankings - DISPLAY RANKINGS
----------------------------
Displays the current "Dog Rankings" - all dogs.
/alivedogs - DISPLAY ALIVE DOGS
-------------------------------
Shows dogs that are currently alive
/topdogs - DISPLAY TOP DOGS
---------------------------
Shows dogs that have beaten the dog catcher
/onlinedogs - DISPLAY DOGS ONLINE
---------------------------------
Shows dogs currently online playing the game.
/showscreen:filename - SHOW EXTERNAL DISPLAY SCREEN
---------------------------------------------------
Displays an ASCII, ANSI or RIP file, where filename is the name
of the external file without an extension. If the callers is calling
in RIP mode and a RIP file exists, the RIP file will be sent. If there
is no RIP file or the caller is in ANSI mode and an ANSI file exists,
the ANSI file will be sent. If there is no ANSI file or the caller
isn't in RIP or ANSI mode, the ASCII file will be sent. If none of
these files exists, DogWorld ][ will just display a (MORE) prompt.
RIP screens must end with an extension of .RIP, ANSI screens must
end with an extension of .ANS, and ASCII files must end with an
extension of .ASC.
External display codes are supported inside these files as shown
at the end of this document.
/clearscreen - CLEAR SCREEN
---------------------------
Clears the screen, cursor in top left corner.
/oneliner:place - WRITE ONELINER
--------------------------------
Where <place> is the place the dogs are talking. This command
accesses a DogWorld ][ maintained oneliner file. The name of the oneliner
file is based on the quest name. For example if the 1st quest file is
GRAVE1.FUN, the oneliner file is GRAVE.LNR. There can only be one one-
liner area per quest set. The first time this command is run, DogWorld ][
automatically creates a new oneliner area. After that, DogWorld will
maintain the oneliner area to a total of 9 oneliners.
EXAMPLE:
/oneliner:swamp <--- This would create and maintain a oneliner area
that would allow players to talk at the "swamp".
ROUTING/LOGIC COMMANDS
----------------------
/wonquest - WON QUEST
---------------------
Ends the quest & marks quest won for current player. Allows player to
go to next quest in the set. If the player is on the last quest, s(he) is
reset back to the first quest in the set.
/exitquest - EXIT QUEST
-----------------------
Ends the quest at this point.
/goforward:<label> - JUMP FORWARD
---------------------------------
Jumps forward to a specified label. This is typically used inside
a group of choices where you want to branch out to a subroutine. The
text in the /goforward command MUST match exactly the label elsewhere
in the script that you are jumping to, including any leading spaces!
EXAMPLE:
/getchoice:AB
/choiceA
(something here...)
/choiceB
/goforward:`$The Inner Room <--- label to jump to.
`$The Inner Room <--- The actual label.
(more stuff here...)
*HINT*
One thing that throws some people off is the exact match
aspect of the /goforward and /goback commands.
Just remember that....
/goforward:LABEL <-- This will work.
LABEL
/goforward: LABEL <-- This will work. (They're the same again).
LABEL <-- The labels have the same number of spaces
in both places.
/goforward:LABEL <-- This WON'T work. (They're not the same now)
LABEL <-- The label has spaces in front of it.
/goback:<label> - JUMP BACKWARDS
--------------------------------
Jumps back to specified label. This does the reverse of the /goforward
command. See above. The text in the /goback command MUST match exactly the
label elsewhere in the script that you are jumping to, including any leading
spaces!
MISC. COMMANDS
--------------
/playwavsound:n - PLAY WAV SOUND
--------------------------------
Plays a wav file to RIP2 callers (where n can be -32768 to 32767)
This command causes a wav file to play on the remote system when the
remote user is calling with a RIP2 capable terminal program. If the
user is not calling with a RIP2 terminal package or if the WAV file
does not exist, the command is simply ignored. DogWorld ][ appends
the letters "DW" to the beginning of the WAV filename when constructing
the name of the WAV file. You can use this command to play one of the
sounds in the archive that we have put together, or you can use it to
play a WAV file that you are distributing with your Quest.
We suggest that you arrange your Quest for distribution so that
any custom WAV file(s) can be placed on the host system for downloading
and use by the DogWorld ][ players. If you decide to create a custom
WAV file or distribute one that is different from the WAV files included
inside DOG2FX.ZIP, we recommend that you DO NOT use 100 - 200.
EXAMPLES:
/playwavsound:100 <-- Plays DW100.WAV
/playwavsound:-123 <-- Plays DW-123.WAV
/playwavsound:9999 <-- Plays DW9999.WAV
/* - COMMENT TEXT
-----------------
Marks a comment (does not process).
EXAMPLE:
/* This is a comment and will not be printed to the screen!
/femaledog - MARK FEMALE SPECIFIC TEXT BLOCK
--------------------------------------------
Starts gender-specific block of text for females
/maledog - MARK MALE SPECIFIC TEXT BLOCK
----------------------------------------
Starts gender-specific block of text for males
/endsex - END GENDER TEXT BLOCK
-------------------------------
Ends gender-specific block of text.
**NOTE** This command IS required to mark the end of all
gender text blocks.
/getadog - GET OTHER PLAYER NAME
--------------------------------
Queries for other players' name. The other player's record number
is stored internally by DogWorld ][ and can be recalled inside the attribute
commands by using the (`o) code. This allows you to have a quest where
a player can enter another players name and then do something good or bad
to that player depending on what you put inside the quest.
See attribute commands for more info.
/nodogfound - NO DOG FOUND
--------------------------
Tag that the script jumps to after using /getadog if no dog name was
returned. This can be used to loop back to /getadog or jump ahead.
**NOTE** THIS IS REQUIRED WHEN USING /getadog.
/addtonews:<text> - ADD TEXT TO DAILY NEWS
------------------------------------------
Where <text> is a line of text. Adds the specified text and dividing
border to Daily News. Text may contain the codes:
`g (player's name)
`e (enemy name)
`n (carriage return)
`s (Him/Her)
`S (He/She), All gender codes refer to the
`N (Boy/Girl) current player's gender.
`A (His/Her)
EXAMPLE:
/addtonews:`$`g`$ defeated Big Foot in the jungle!
The above would print the text following the colon,
with (`g) replaced by the current players name. Note that
it's a good idea to repeat the color code after a name
substitution. If you don't do this, the color of the text
may change because of color codes the player has inside
his/her name.
Also make sure your text doesn't *wrap* from being too
long. You should probably try to keep the length below 75
characters. When counting the length of your text, count
all displayed characters and spaces. Don't count the color
codes. Count the codes `g and `e as 20 characters.
For example, the text: "`g beat `e in the alley!"
Would be counted as 60 characters long.
Also, the text: "`!`g `!beat `!`e`! in the alley!"
Would also be 60 characters. (same text with more color codes)
BATTLE COMMANDS
---------------
Note that DogWorld ][ now limits battles to 5 per quest. If this
number is exceeded, the quest will end and the user will be returned
back to the "More Places" menu.
/enemyname:xxxx - ASSIGN ENEMY NAME
-----------------------------------
Assigns a name to the current enemy.
EXAMPLE:
/enemyname:Energizer Bunny <-- Enemy name is now "Energizer Bunny".
/enemyweapon:xxxx - ASSIGN ENEMY WEAPON
---------------------------------------
Assigns a name for the current enemy weapon.
EXAMPLE:
/enemyweapon:Big Teeth <-- Enemy weapon is now "Big Teeth".
/startfight:n - START FIGHT SEQUENCE
------------------------------------
Starts fight where <n> is enemy strength between 1 -9, where 1 is weak
and 9 is strong. If /startfight:0 is used, DogWorld ][ picks an appropriate
enemy from the enemy.dat file and uses it's name and weapon name.
/wonfight - WON FIGHT
---------------------
Tag to jump to after winning a fight.
/ranaway - RAN AWAY FROM FIGHT
------------------------------
Tag to jump to after running from a fight.
/vetheal - GO TO VET MENU
-------------------------
Takes user to the vet for healing.
EXAMPLE:
`$Suddenly...`d5standing in front of you....`d5is...
`#A GIANT ENERGIZER BUNNY!!`$`d5 thump...`d5thump...`d5thump...`n
`p
/enemyname:Enegizer Bunny
/enemyweapon:Loud Drumming
/startfight:5
/ranaway
/addtonews:`@NEWS FLASH: `3ENERGIZER BUNNY`! beat `3`g `!in the GRAVE!
`$Ohhh, too bad. You're afraid of the bad ol' bunny, huh?
Well, we sure don't need no chicken doggies around here.`n
`p
`@GET LOST SCARDIE KAT!!`n
`p
/exitquest
/wonfight
/addtonews:`@NEWS FLASH: `3`g `!Beat `3ENERGIZER BUNNY`! in the GRAVE!
`$You win the battle and thus ends the..
"1st Quest of the Scary Grave"!`n
`@Good job! Have a dog biscuit on me! Hehe!`n
`p
/wonquest
/exitquest
EXTERNAL DISPLAY CODES THAT CAN BE USED INSIDE OF QUEST TEXT
------------------------------------------------------------
Note that these codes are also supported inside ANSI/MONO
screens and inside RIP screens where noted so that it's possible
to have a menu of prices that change as players go up in level.
Display codes inside ansi screens are only supported in lines
that DO NOT contain ansi escape sequences. (line of plain text).
(DogWorld ][ supports lines of plain text w/codes inside .ANS files.)
COLOR CODES
-----------
`1 Blue
`2 Green
`3 Cyan
`4 Red
`5 Magenta
`6 Yellow
`7 White
`8 Grey
`9 Bright Blue
`0 Bright Green
`! Bright Cyan
`@ Bright Red
`# Bright Magenta
`$ Bright Yellow
`% Bright White
PLAYER GENDER CODES
-------------------
`A If player is male, displays "His", else "Her". RIP
`F If player is male, displays "FeeFee", else "Lucky" RIP
`N If player is male, displays "Boy", else "Girl" RIP
`S If player is male, displays "He", else "She" RIP
`s If player is male, displays "Him", else "Her" RIP
(These 2 codes can be used when refering to FeeFee/Lucky) RIP
`O If player is male, displays "Her", else "His" (opposite gender) RIP
`o If player is male, displays "Her", else "Him" (opposite gender) RIP
OPTIONAL SUPPORTED
ATTRIBUTE CODES (see below) IN RIP:
--------------- ---------- -------
`e Displays Current Enemy Name (w/color support) {n} RIP
`w Displays Current Enemy Weapon (w/color support) {n} RIP
`i Displays Current Enemy Bones {n}
`I1 {n}
" Displays Players Inventory Items 1-9 {n}
`I9 {n}
`g Displays Player Name (color support) {n} RIP
`B Displays Player's Armor (w/color support) {n} RIP
`W Displays Player Weapon (w/color support) {n} RIP
`R Displays player's Breed (w/color support) {n}
`a Displays Player's Agility Points. {n} RIP
`b Displays Player's Bank total {n} RIP
`c Displays Player's Hit Point Total {n} RIP
`; Displays Player's Hit Max Total {n} RIP
`D Displays Player's Defense Point Total {n} RIP
`E Displays Player's Experience Point Total {n} RIP
`H Displays Current Enemy Hit Points {n}
`f Displays Player's Flea Total {n} RIP
`G Displays Player's Bones in Paw Total {n} RIP
`h Displays Player's Hump Total {n} RIP
`L Displays Player's Liver Snack Total {n} RIP
`M Displays Player's Strength Total {n} RIP
`m Displays Player's Time Left in Minutes {n} RIP
`P Displays Player's Pup Total {n} RIP
`l Displays Player's Level {n}
`, Displays Player's Fights Left {n} RIP
`: Displays Player's Human Fights Left {n} RIP
`X1 If expert mode is on - displays "ON", else "OFF". {n}
`X2 If enhanced smell - displays "YES", else "NO" {n}
`X3 If enhanced vision - displays "YES", else "NO" {n}
`X4 if enhanced hearing - displays "YES", else "NO" {n}
`X5 Displays current wind direction, ie. EAST, WEST, etc. {n}
`X6 Displays players appearence, ie. NICE, AVERAGE, GRUNGY {n}
`X7 If mean displays "MEAN", else "NICE".
NOTES: Comma formatting is automatically performed on all numerical
data except Player Level, Fights Left and Human Fights Left.
(Those should never be over 999!).
STORED VALUE CODES
------------------
`T0 Displays Stored Text String0 (Up to 25 characters) {n}
`T1 Stored String1... w/color support. {n}
`T2 Stored String2... optional {n} for width specifier. {n}
`V0 Stored Values 0-9. optional {n} for width specifier. {n} RIP
" comma formatting on all 10 values. {n} RIP
`V9 values can be +/- 2,000,000,000 {n} RIP
MISC. CODES
-----------
`p Displays (MORE) prompt (Use only at beginning of line!) RIP
`n Sends a Carriage Return to the Screen
`d pauses for 1 second
`d1 pause for 1 to 9 ticks....
" (9 ticks is about 1/2 sec).
`d9
`K Displays "LICKED" if clean mode, else "KILLED"
`{ Displays a left "Curly Brace". Use this if you need to display
a curly brace immediatly after a code that supports formatting
when you're not using any formatting with that code.
Ex: if player bones is 100, `G`{ would display: 100{
FORMATTING CODES - {n}
----------------------
The {n} option is used along with supported display codes to line
up data on the screen. For example, if player bones is 5000, Bank is
10000, Experience is 15000, and level is 1....
This:
Bones: $`G{19} Bank: $`b
Experience: `E{20} Level: `l
Displays This:
Bones: $5,000 Bank: $10,000
Experience: 10,000 Level: 1
(Notice how the {n} specifier keeps the data spaced correctly)
NOTE! If the data is longer than the width specifier, the data
will be truncated to that length. For example, if the player's
name is "Dirty Little Dog", `g{14} would display: "Dirty Little D".
Width is always padded with spaces on the right side of the data.
CODES SUPPORTED INSIDE RIP SCREENS - RIP
-----------------------------------------
The codes listed above that have <RIP> out to the right, are
supported inside Rip Screens as well as Mono/Ansi. The only difference
is that the optional formatting code is not supported. (This is needed
in a Rip screen). Also, color codes inside player/enemy names, weapons
and armor are stripped out before the text replacement is done. (I may
do a Rip Color conversion for these data types in a future version of
DogWorld ][.)