AI Zone Admin Forum Add your forum
Specifying which file does what in my robot

Hi all

Can someone explain how to specify which file does what in a robot in chatscript?
My basic filesciso.txt has the following entries.
# underlying conversation system
# quibble ability

How does chat script know which file is the control script? Which file contains keywords etc.?


  [ # 1 ]

there is one outputmacro you define that matches the name of your bot.  That macro defines the bot, and inside that you name what topic is to be used as the control script.


  [ # 2 ]

Hi Bruce,
Many thanks for your answer. In Harry, there is an output macro in the file called I have altered this macro to call my bot named ciso. However, how does chatScript know that it should look at the file named
Sorry if I am being dense.


  [ # 3 ]

To start with, the file filesHarry.txt tells CS what to compile when you say :build Harry. That file says to compile everything in the top level of the two named directories.

When you talk to CS, you either pass a bot name or the default null bot name.  The code in simplecontrol

table: defaultbot (^name)
^createfact(^name defaultbot defaultbot)
tells the system to use harry as the default bot (special fact with specific meaning to CS).

You have an outputmacro in there called “Harry”.  When trying to communicate with Harry, that outputmacro now has special meaning- it defines what the bot looks like. Otherwise, it is just an ordinary macro.  The macro has assignments that the engine cares about, like
$cs_control_main = ~control


  login or register to react