HamBot Online Help Copyright © 1998 by Prototech, Inc. Written by Nelson Crowle AKA HamFon
Edited and parts re-written by John Shipley AKA Talisan, Copyright © 2008 by Darkestdestiny.com

Introduction

HamBot is a general purpose Bot creation and manipulation program for the Active Worlds environment (Version 2 or newer). It allows you to create Bots, place them or move them in the worlds, have them "talk" using a script, have them interact with other avatars, and have them create and modify building objects.

HamBot can be run simultaneously with the Active Worlds browser. Since HamBot does not provide any 3D display, running with AW during script and Bot development is very convenient. HamBot creates multiple avatar Bots, all being controlled from the same machine, over the same Internet connection.

Installation

The zipped HamBot distribution file contains the HamBot executible and some sample Bot scripting files. The sample files are a good place to start and then modify for your own purposes.

To install, create a subdirectory (e.g., "HamBot") on your machine. Then, unzip this distribution file into this directory. You can then run HamBot.exe from Windows explorer, or create a shortcut either on your desktop, on on the Programs section of the Start bar. By default, HamBot looks in it's current directory for script files.

General Usage

HamBot uses scripts to automate the creation and functionality of the Bot(s) (see "Scripting Elements").

When you first start HamBot, you must log in to validate your identity and Bot creation rights. HamBot will pop up a dialog asking for a CitizenNumber and PriviledgePassword. The CitizenNumber you choose determines what Bot rights you will have. If the CitizenNumber is a PS or ED in the world where you will be creating Bots, you will be allowed to create them anywhere in the world (and to use Special avatars). If the CitizenNumber is not in the PS/ED list, then you will be allowed to have Bots speak only outside the restricted radius, and Bots who venture inside the restricted radius are moved to 0N 0W 1A in the world. HamBot gets the restricted radius from the world, then adds 200 meters to it. So, for example, AW has a restricted radius of 80 meters. HamBot adds 200, so you would not be allowed to crate or move bots within 280 meters of ground zero, unless you have PS/ED rights.

After logging in, start a script from the Bot menu. Several sample scripts are included. The script specifies which Bots to create, where to create them, what they say, how they move, and how they build.

The configuration (.ini) file

HamBot uses a file similar to the aworld.ini file used by the Active Worlds browser. I have used the same words to try and make the files compatible. Various options, particularly for starting up HamBot, can be set within this file. The file name is HamBot.ini. It is a text file, located in the HamBot directory, and in the standard Windows format for configuration files: a "section" header in square brackets, followed by zero or more "items", with a keyword followed by a value.

The menu

File menu

The items in this menu control what information is displayed in the main HamBot display window. The items that are (debug only) are normally not available to the typical user.

Bot menu

For the items below that act upon the "currently selected" bot, use the Combo Box control on the HamBot screen to select which bot will be affected. This Combo Box also determines which set of neighbors will be displayed.

Utilities menu

Help menu

Screen controls

Scripting Elements

General info

When you run a script, HamBot starts reading at the first line, and processes one line at a time. Each line contains a either command or a comment (starting with '//', which is ignored). You may use leading whitespace (spaces, tabs) to make the script file more readable. The command may be followed with either an '=' or a space - for readability. Generally, all lines are processed immediately, and in sequence. When a "chat" line (SAY) is reached, it is processed, then processing of subsequent lines pauses until the value for "SPEAK=" counts down to zero. This is also true for the PAUSE script command. Then all lines up to the next chat text are processed. This allows you to specifically move the Bot, to change it's gesture, or to change it's avatar, and relate the changes to chat text.

NOTE - YOU MUST START A BOT BEFORE YOU CAN MOVE IT, ETC. To make sure that a Bot is ready to be moved, use the WaitFor script command.

Bot positioning and attributes

Spawning and controlling other Bots

A script can start additional Bots (up to the limit of number of Bots allowed) or stop them.

Parameters for the RANDOM movement type

When the "Movement" type is set to RANDOM, the Bot randomly moves NS and WE each time period. It also faces the direction of it's destination. If the Bot can be "owned" (see AllowCommandLine), then the Bot wanders randomly until it becomes owned, then follows the owner until it is released, at which time, it begins Random wandering again, based on the original wander parameters. So, if the "owner" of the Bot takes the Bot out of the RandomRadius area, the Bot returns there upon release. If the HamBot user uses the Bot/Teleport menu item to move the Bot, then the new location becomes the new center for the random wandering.

Parameters for the FOLLOW movement type

When the "Movement" type is set to FOLLOW, the Bot moves each time the "followed" Bot moves. By default, it is set to face directly the followed Bot (rotation of 180�). The angle can be adjusted, as well as the distance.

Parameters for the MIRROR movement type

When the "Movement" type is set to MIRROR, the Bot moves each time the "followed" Bot moves. The Bot faces the same way as the followed Bot, and the distances NS and WE and Alt can be set to form rows, columns, or diagonals of Bots.

Object creation/modification/destruction commands

A Bot can cause building objects to be created, moved, changed, or destroyed. Four parameters are used to establish the "base" for building - the coordinates in the actual build commands are offset by these values. Objects are identified by an ObjectID - local to the Bot - so if the Bot goes away, it will not remember anything about the objects. The format of the parameter line is the same as a dump from PropDump, except that the citizen number (first field) is not used. Version 15 adds several scripting commands to enhance the building capabilities, and make them easier to use.

Downloads