home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ////// ////// // // ////// The Psychological SysOp.
- // // /// // // /// Version 1.00 BETA.
- ////// ///// //// ///// By Peter G. Zion.
- // /// /// /// Copyright 1991.
- // /////////// /// // ////// All rights reserved.
- //
- //
-
-
-
-
-
-
-
-
-
- Table of Contents
-
-
- What is Psys? . . . . . . . . . . . . . . . . . . . . . . . . 3
-
- Licence . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
-
- Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
-
- Test Drive . . . . . . . . . . . . . . . . . . . . . . . . . 3
-
- Remote Use . . . . . . . . . . . . . . . . . . . . . . . . . 4
-
- Name Macros . . . . . . . . . . . . . . . . . . . . . . . . . 4
-
- Forcing Output . . . . . . . . . . . . . . . . . . . . . . . 5
-
- Colour Control . . . . . . . . . . . . . . . . . . . . . . . 5
-
- Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . 5
-
- The Status Line . . . . . . . . . . . . . . . . . . . . . . . 6
-
- Real Chat Mode . . . . . . . . . . . . . . . . . . . . . . . 6
-
- Typing Speed . . . . . . . . . . . . . . . . . . . . . . . . 7
-
- Backspace Type . . . . . . . . . . . . . . . . . . . . . . . 7
-
- Exiting Psys . . . . . . . . . . . . . . . . . . . . . . . . 7
-
- Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
-
- The Language File . . . . . . . . . . . . . . . . . . . . . . 8
- The General Section . . . . . . . . . . . . . . . . . . 8
- The Response Section . . . . . . . . . . . . . . . . . . 9
- The Random Response Section . . . . . . . . . . . . . 10
- The Personal Section . . . . . . . . . . . . . . . . . 10
- Text Macros . . . . . . . . . . . . . . . . . . . . . 11
- Some Notes on the Language File . . . . . . . . . . . 11
-
- Some Notes on Sharing . . . . . . . . . . . . . . . . . . . 12
-
- Mailing Address . . . . . . . . . . . . . . . . . . . . . . 12
-
-
-
-
-
-
-
-
- What is Psys?
-
- Psys is a `semi-intelligent' SysOp emulation. Psys takes
- advantage of the unique aspect of SysOp chat mode that the user
- cannot tell who is actually typing on the SysOp side. Users are
- typically unable to tell the difference between Psys and the real
- SysOp for at least a few minutes. This comes in handy in several
- situations, including:
-
- - Having to chat with annoying users
- - Having to answer the SAME QUESTIONS OVER AND OVER
- - Using a never-tiring program to make it look like you care
- - When you need a good laugh
-
- Psys attempts to mimic a SysOp chat through three factors,
- namely, making somewhat intelligent replies to what the user
- types, imitating a human's typing, and imitating a SysOp chat
- environment. Psys even works with a user configurable language
- file. Best of all, Psys captures it all to a log for later
- reference.
-
- It is important that you read all of the documentation for
- Psys thoroughly before using it on a remote user -- that's why
- I've spent time on writing these docs!
-
-
- Licence
-
- Use of Psys is at your own risk. The author takes no
- responsibility for anything that results from the use of Psys,
- except a laugh or two. No fee may be charged for Psys in any way
- whatsoever, EXCEPT if as part of the file library of a pay BBS.
-
- Psys is free, although Peter Zion retains all ownership of
- the program. However, if you wish to give me a "keep up the good
- work" donation, you can send that along to the address listed at
- the end of the documentation. Any donation of $15 or more will
- receive, if requested, a free copy of, on 5.25" disk and/or the
- magic filename and password to file request at my FidoNet/ImexNet
- node number (also listed below) the C/assembly source code for
- Psys.
-
-
- Credits
-
- Thanks to Scott Dudley, author of Maximus-CBCS, for his help
- in testing the program and finding a few nasty bugs. Thanks also
- to Eric Vice for his helpful suggestions.
-
-
- Test Drive
-
- Psys Version 1.00 By Peter G. Zion Page 3
-
-
-
-
-
-
-
- To give Psys a `test drive', make sure all the Psys files
- are in your current directory, and type the following at the
- command line:
-
- PSYS /P0 /J"Hello, @u" /NS"Joe Computer" /NU"<your name>"
-
- and argue to your heart's content. When you want to exit, either
- type "Go Away" or press [ESC].
-
-
- Remote Use
-
- Although usable in local mode with the /P0 command line
- parameter, Psys is designed primarily for remote use over the
- modem. To communicate over the modem, Psys uses a FOSSIL driver.
- If you plan to run Psys from a BBS that already uses a FOSSIL
- driver, such as Maximus or Opus, then you need not worry about
- this. But if you don't normally have a FOSSIL drive loaded, then
- you will have to do so before running Psys. There are several
- FOSSIL drivers available, such as David Nugent's BNU.
-
- There are two command line parameters that are important to
- the use of Psys remotely: /P (com port) and /B (baud rate). The
- parameter /P must always be specified, and it is immediately
- followed by the number of the com port, with 0 being local mode
- (eg. /P2 means to use com port 2). The parameter /B, baud rate,
- needs only to be specified if the previous communications program
- didn't use the FOSSIL, eg. if you just loaded the FOSSIL before
- running Psys, or if you just shelled to DOS from a terminal
- program. The baud rate is specified immediately after the /B on
- the command line, eg. /B2400 sets it to 2400 baud.
-
-
- Name Macros
-
- The Psys program uses macros in its language script for the
- SysOp's name, user's name, and BBS name. It is important that
- these are set correctly so that the default language file for
- Psys calls users by their real name. The names are set by the
- command line parameter /N, which is followed by a name specifier,
- and then a name in quotes. The three possible name specifiers
- are U for the user's name, S for the SysOp's name, and B for the
- BBS's name. For example, /NS"Joe SysOp" sets the SysOp's name to
- "Joe SysOp", and /NU"Petey Zion" will set the users name to
- "Petey Zion". This will be used in several of the program's
- default phrases, such as "Hello, @u", where @u is the user's
- first name. See Text Macros on page 11 for a more complete list
- of usable macros. Note that the SysOp name and the BBS name are
- usually set permanently in the language file (see Language
- File/General Section, page 8).
-
-
-
- Psys Version 1.00 By Peter G. Zion Page 4
-
-
-
-
-
-
-
- Forcing Output
-
- There are two command line parameters that force Psys to
- display messages right when it starts. The /J"<text>" parameter
- causes Psys to type the <text> before the user gets to input
- anything. For instance, /J"Hello, Peter" will type "Hello,
- Peter" and press enter twice before waiting for the user to type
- anything. The /H"<text>" command sends the string <text> to the
- user at full speed in the message colour (which defaults to
- white, changeable through the /CM parameter -- see Colour
- Control, page 5), and presses enter ONCE. This is good for
- simulating "CHAT: begin." type messages to make it REALLY
- realistic. For instance, /H"The SysOp has arrived!" will send
- "The SysOp has arrived!" to the user at full speed in the message
- colour.
-
-
- Colour Control
-
- To make Psys work well with different BBS programs in
- simulating their chat modes, the /C switch lets you change the
- colours that Psys sends and uses. /C is followed by either U for
- user text, S for SysOp text, or M for message text, which is then
- followed by the colour number. The 16 colours that Psys supports
- are:
-
- 0 - Black
- 1 - Blue
- 2 - Green
- 3 - Cyan
- 4 - Red
- 5 - Magenta
- 6 - Brown
- 7 - Light Grey 8 - Dark Grey
- 9 - Light Blue
- 10 - Light Green
- 11 - Light Cyan
- 12 - Light Red
- 13 - Light Magenta
- 14 - Yellow
- 15 - White
-
- The colours default to yellow for SysOp, cyan for the user,
- and white for the messages -- the chat colours for Maximus. Note
- that the only time the user ever sees the message colour is if
- you specify a /H (display highlighted text) parameter.
-
- Whether or not the user receives graphics, and what type, is
- determined by the /G parameter. It is followed by either 0, 1,
- or 2, indicating monochrome (no colour), ANSI colour, and AVATAR
- colour, respectively. For instance, /G1 would tell Psys to use
- ANSI codes to make the colour changes. Note that this parameter
- is only effective when Psys is talking to a remote user.
-
-
- Log Files
-
- One of the best features of Psys is the log file support.
- By default, Psys will capture the conversation between Psys and
-
- Psys Version 1.00 By Peter G. Zion Page 5
-
-
-
-
-
-
-
- the user into a log file (defaulting to "Psys.Log") for later
- "reference", useful for a good laugh as well as occasional
- blackmail. If you wish to change the name in the log file, use
- the /L"<logfile>" parameter, where <logfile> is, you guessed it,
- the log file. If you do not wish a log at all, you can use the
- /L<+/-> command, where + turns on the log or - turns it off. Note
- that these two variations on the /L parameter can be used
- together: /L+"My.Log" will turn on the log and set the name to
- "My.Log". Also note that the command /L-"<filename>" is somewhat
- of a waste of command line space, and that in the current
- version, /L+ is somewhat redundant, since the log defaults to on
- anyway. Oh well.
-
- If at any time in the session with Psys you wish to toggle
- the log on or off, you can press Alt-L: you will be told of the
- new status of the log, and it's condition of the status line will
- change.
-
-
- The Status Line
-
- While Psys is operating in either local or remote mode, a
- status line will be continually displayed on the bottom of the
- screen. The status line has the following format:
-
- "<username> * <chatmode> * <logmode> * <datentime>"
-
- where <username> is the full name of the user, <chatmode> "CHAT"
- if you are in "real" chat mode and "NOCHAT" if you aren't (see
- Real Chat Mode, page 6), <logmode> will be "LOG" if the log is
- open and "NOLOG" if it is closed, and <datentime> is the current
- date and time (assuming that you have set it correctly).
-
-
- Real Chat Mode
-
- If you feel that you need to give the user a little scare in
- remote mode, when you press Alt-C you will be transported into
- "real" chat mode. This chat mode operates identically to the
- chat mode of most BBS programs, and the user will not be notified
- of the change. Here is a possible use of "real" chat mode:
-
- User: Are you a computer? I think you are.
- Psys: No, I'm a human like most of us.
- User: Ok then, what's one plus one?
-
- Now the SysOp sees that his program might be foiled, so he
- presses Alt-C, and types:
-
- SysOp: It's two, you bozo! What, didn't they teach you
- that?
-
-
- Psys Version 1.00 By Peter G. Zion Page 6
-
-
-
-
-
-
-
- ...and the SysOp then presses ESC. The user will gasp with
- amazement and usually apologize to the SysOp for claiming that
- he/she is a silicon sack. Of course, to exit "real" chat mode at
- any time, just press ESC. Whether or not you are in real chat
- mode (in case you somehow forget) is indicated by "CHAT" or
- "NOCHAT" on the status line.
-
-
- Typing Speed
-
- Of course, not everyone types the same. As such, Psys
- allows you to modify the default typing speed from the command
- line. Typing speed is adjusted using three factors: the maximum,
- minimum, and starting speeds. These values are set with the /S
- command line parameter. /S is followed by either S, M, or X for
- starting, minimum, or maximum, respectively, and it is then
- followed by a decimal number to represent the speed. Note that
- smaller numbers are faster, and that the minimum speed, as such,
- must be a greater number than the maximum speed. The default
- numbers are maximum: 35, minimum: 80, and starting: 50. A faster
- SysOp might use maximum: 25, minimum: 60, and starting: 40, and a
- slower could make adjustments in the opposite direction. The
- only real way to test these is to experiment with them in local
- mode; there is no guarantee that halving the value will double
- the speed.
-
-
- Backspace Type
-
- Certain VT-100 emulations do not have destructive
- backspaces; as such, Psys will normally send a backspace, a
- space, and another backspace to make sure that the character is
- cleared. If you wish to not have Psys do this, for instance, if
- your BBS program doesn't do this, then you can use the /D<+/->
- parameter to turn this off (-) or on (+). For instance, /D- will
- turn off the extra space and backspace.
-
-
- Exiting Psys
-
- To exit Psys, either press ESC or wait for the user to type
- the default quitting phrase, specified in the language file (see
- Language File, page 8), which defaults to "Go away".
-
-
- Setup
-
- Because of both the wealth of options available in Psys and
- the number of different BBS packages that exist, setup of Psys is
- left up to the SysOp. However, because I run a Maximus system, I
- can tell you a little more about how to set it up for Maximus and
- probably Opus as well. I have the file F3.BBS in my \Max\Misc
-
- Psys Version 1.00 By Peter G. Zion Page 7
-
-
-
-
-
-
-
- directory, which consists of the compiled form of the following:
-
- [xtern_run]psys.exe /p%P /j"Hello, @u." /nu"%n" /g%g
- /h"CHAT: begin."[quit]
-
- This tells Maximus to shell and run Psys using the current port,
- jamming "Hello, <username>" into Psys's first statement, setting
- the user name, setting the graphics mode, and making Psys send
- "CHAT: begin." in the message colour full speed when started. I
- have my name and the board's name set as a default in the
- language file (see Language File/General Section, page 8), so I
- need not include them as parameters every time. Because I have
- named the file F3.BBS, it will automatically be executed when I
- press the F3 key locally. I'm not sure that all BBS programs
- have this capability, but because of the flexibility of Psys, it
- can usually be implemented in one way or another.
-
-
- The Language File
-
- It is in the language file that the real power of Psys lies.
- By changing the language file, the true capability of Psys that
- everything that it every says to the user can be modified is
- revealed. You can give it certain accents, extra fluency in
- certain subject areas, and even turn it into an intelligent help
- system if you really want to. The possibilities are endless.
-
- The language file is automatically loaded and processed by
- Psys as soon as the program is run. The default language file
- that Psys will search for is "Psys.Lng"; if you wish to change
- this, use the /F"<langfile>" parameter, where <langfile> is the
- path/filename of the language file. The language file is divided
- into four sections, namely, the General section, the Response
- section, the Random Response section, and the Personal section.
- All blank lines and lines starting with a semicolon (';', for
- comment lines) in the language file are disregarded.
-
-
- The General Section
-
- This is where most of the basic default information for Psys
- is found. The General section starts with the line:
-
- !Begin General
-
- This tells the Psys language file parser that the lines up until
- the !End statement are part of the General section. The next
- line is the phrase that, if found anywhere within a user input
- line, will cause Psys to end. For example, the line:
-
- Shut up
-
-
- Psys Version 1.00 By Peter G. Zion Page 8
-
-
-
-
-
-
-
- will make Psys end as soon as the user types something with "Shut
- up" in it. When the user DOES do this, the next line in the file
- is displayed, for example:
-
- Oh so you want me to shut up? OK, I will then.
-
-
- If the user says the same thing twice in a row, the next
- line of the language file is displayed, for instance:
-
- Please don't repeat yourself.
-
- The next three lines of the file give the default values of
- the name macros, in the order of default SysOp name, default user
- name, and default BBS name. For instance,
-
- Peter Zion
- Joe Average
- Pete's Bar and Grill
-
- Of course, these can all be changed via command line parameters
- as well -- but it is usually useful to set defaults here so that
- you don't have to use the same parameters over and over.
-
- This is all that is required in the General section, so the
- next line tells Psys that it is the end and to look for the next
- section:
-
- !End General
-
-
- The Response Section
-
- The next section in the language file is the Response
- section. This section is the heart of the Psys language file; it
- tells the computer what specific phrases Psys should look for and
- what to respond to them with. To start the Response section, use
- the
-
- !Begin Response
-
- directive at the start of a line.
-
- The format of the Response section is simple. It is
- separated into groups of a set of phrases to look for, followed
- by a set of responses to randomly choose from. The computer
- differentiates between the phrases and the response because the
- responses are offset by a whitespace character [space(s) or
- tab(s)]. Follows is a possible group in the Response section:
-
- Hello
- Hi
-
- Psys Version 1.00 By Peter G. Zion Page 9
-
-
-
-
-
-
-
- Yo
- Goodday
- Hi there! How are you?
- Goodday and welcome to the great white north!
- Hello!
-
- In this instance, the computer will first scan the user's input
- for either "Hello", "Hi", "Yo", or "Goodday". If it finds one of
- these, there is a pretty good chance (there is slight randomness
- of whether it will pick this phrase or another one in the
- sentence) that will randomly pick one of the three responses
- (offset by spaces) that follow. Psys will detect the end of a
- group of responses by either the !End Response directive (ending
- the section), or a line that isn't offset by whitespace
- (indicating a new group).
-
-
- The Random Response Section
-
- The Random Response section is a list of responses which
- Psys will use when it can't find any of the special phrases in
- the Response section. The Random Response section is started
- with the
-
- !Begin RandomResponse
-
- directive. The section consist only of a list of random lines
- which Psys will pick from, and is terminated by the
-
- !End RandomResponse
-
- directive. There is no special formatting needed.
-
-
- The Personal Section
-
- The Personal section is used to change the person when using
- the '*' macro (which indicates substitution of the rest of the
- sentence) in the Response section. The Personal section is
- commenced with the
-
- !Begin Personal
-
- directive. The Personal section has the structure of a list of
- groups of two phrases, which are substituted for each other in
- the end of sentence mentioned above. A possible such group could
- be:
-
- You
- Me
- Your
- My
-
- Psys Version 1.00 By Peter G. Zion Page 10
-
-
-
-
-
-
-
- Now, if the user typed, for instance,
-
- Can you tell me how to leech your files?
-
- and the computer looked in the Response section and found the
- entry
-
- Can you
- Yes, I can *.
-
- the computer would take everything AFTER the "Can you" in the
- user's sentence, substitute every "You" for a "Me" and every
- "Your" for a "My" and vice versa, substitute the result for the
- '*' in "Yes, I can *.", and type this to the user. The computer
- would end up typing
-
- Yes, I can tell you how to leech my files.
-
- To terminate the Personal section, use the
-
- !End Personal
-
- directive.
-
-
- Text Macros
-
- Psys has several text macros that can be substituted into
- anything in the Response and Random Response sections and will
- substitute for various text strings.
-
-
- @u - The user's first name
- @l - The user's last name
- @f - The user's full name
- @s - The SysOp's first name
- @y - The SysOp's last name
- @m - The SysOp's full name
- @b - The BBS name
- * - The rest of the sentence after the detected phrase when
- used in Response section
- ~ - Scrap current response and use previous
-
-
- Some Notes on the Language File
-
- 1. The sections of the language file do not have to be in
- any specific order. For instance, if you wanted to have
- the Response section before the General section, Psys will
- have no problem with it. However, the order of the
- information inside the General section is very important.
- If it's not in the right order, Psys will not be able to
-
- Psys Version 1.00 By Peter G. Zion Page 11
-
-
-
-
-
-
-
- detect it but it's use of the information will be wrong.
- For instance, if you had the "go away" string in the place
- where the user's name is supposed to be, Psys will think
- that the user's name is "go away" (which could, under the
- right circumstances, loose you some friends).
-
- 2. All text that is output by Psys is case sensitive,
- while all text that Psys tries to detect is not. For
- instance, the phrase that Psys tries to look for in the
- Response section is not case sensitive, but the responses
- are.
-
- 3. In the Random, Random Response, and Personal sections,
- there are no limits on the number of entries except your
- memory, with one exception: there can only be a maximum of
- 100 phrases for Psys to search for in one group in the
- Response section. Normally, the limit should never be
- reached; however, if you are working with a very large
- language file, keep this limit in mind.
-
-
- Some Notes on Sharing
-
- Psys has been carefully programmed so that it can be used
- several times at once. For instance, if you were running a two
- node BBS system and it happened to be run by a user on each node
- at the same time, there would be no problems -- however, you MUST
- have SHARE.EXE installed to do this. Without having SHARE
- installed, undefined and possibly dissasterous things can happen
- (read: I hope you backed up recently). However, only one copy of
- Psys can write to the same log file at once. To solve this,
- either don't expect to get transcripts from two nodes
- concurently, or set an alternate log file for each node with the
- /L command line parameter.
-
-
- Mailing Address
-
- If you would like to leave me a comment about Psys, need
- help with a certain aspect of Psys, or report a bug (God forbid
- one exists) then I can be reached at any of the following
- network/snailmail addresses:
-
- BBS Pete's Bar and Grill - Kingston, Ontario
- 613-531-9801
- FidoNet 1:249/148
- ImexNet 89:487/102
- Home 43 Newcourt Place,
- Kingston, Ontario,
- K7M 6Y1 CANADA
-
- Please make sure that you have read the documentation
-
- Psys Version 1.00 By Peter G. Zion Page 12
-
-
-
-
-
-
-
- several times before you send me a question about using Psys. I
- probably won't even respond to one like "How do I use Psys in
- remote mode?". Would you?
-
- If you would like the source code, please send a cheque or
- money order for $15 (US or Canadian), along with a note
- specifying whether you want a disk with the source code or just
- the F'req password.
-
- I would love to hear any comments or suggestions about Psys
- from you; the best suggestion usually come from the users,
- anyway!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Psys Version 1.00 By Peter G. Zion Page 13
-
-