Last revised 5/23/09.Since the
Documentation section has so much in it, that might be overwhelming at first, in this post I will give you a overview of what the RPGBot can do, for those who are unfamiliar with it.
The RPGBot system runs on
Magsbot. As with all Magsbot scripts, it consists of a behavior table and a collection of custom buttons. The behavior table defines events and conditions, and the actions that are triggered by them. Magsbot custom buttons can be activated by clicking, or called like functions from other code. The main body of the RPGBot buttons are encrypted, so their code cannot be viewed or edited; but the behavior table is unencrypted and can be freely changed by you, and you can also add your own buttons, that can freely call upon the functions defined in the other buttons. Customization is also achieved through the use of global variables that you define, as well as the macros file, and the database.
Any kind of database that can be connected to using an ADO connect string is supported, although I have only personally tested MSAccess and MySQL databases so far, and those would be the ones that I would be able to give the most assistance with.
The functionality of the RPGBot is achieved primarily though
chat commands and
object tags. Object tags are strings placed in the action field of objects within your Active World, that the RPGBot responds to when the object is clicked.
Player statsPlayer stats are
completely customizable and are retained in the database. There are used mainly for combat and magic spell casting, and can be increased with use or by players clicking on special "boon" objects in the world. Stats can also be defined for use in Crafting (see below).
Avatar selectionIf you choose,
avatar selection can be controlled by the RPGBot, to limit each player to the avatars that you specify. The RPGBot can generate the .html web page to use for this purpose (you provide the avatar snapshots).
InventoryInventory items are customizable via the database; you can define as many inventory items as you wish. Players can pick up, drop, trade with other players and use items as food, weapons, armor, ammunition or for other purposes. Each item can have special functions assigned to it that will be activated when a player uses the item via chat command.
CraftingPlayers can
create items from other items (raw materials) according to the specifications that you define in the database.
FactionsPlayers can be members or leaders of
factions such as cities, guilds or whatever you choose to define. Faction leaders have special powers to grant membership, summon members to them, or banish members.
CommerceItems can be purchased and sold either via
merchant bots or by clicking on specially tagged items. Players can act as merchants themselves, through the use of object tags that take inventory from and give coins to the merchant player. The names of monetary units are customizable.
BanksPlayers can store and retrieve inventory items in banks managed by
banker bots. The types of inventory that can be stored is customizable.
MagicPlayers can cast
magic spells based upon their magic skill rating, "mana" points and material components (all of which are customizable). Players can also use magic scrolls to cast spells, or to learn how to cast new spells. Magic potions are possible by assigning effects to drinkable inventory items. "Teleport tokens" can be provided to allow players a limited number of location bookmarks within the game world. Player magic points (mana) can be regained (optionally) by meditation or prayer, or by using mana-bearing inventory items.
A large number of
predefined spells are provided, and you can add new spells by coding the effects yourself, or in some cases by simply adding the new spell to the database.
CombatCombat, either between players or between players and bots, is supported. Player skills, as well as Weapons, Ammunition, Armor and Shields used, affect the outcome. (Note: weapons, armor etc being used don't actually appear visibly on player avatars.) Damage to player "health points" is healed over time, or can be restored through the use of certain inventory items such as potions. Nutrition points, gained by eating food items, are used for healing.
Zones can be defined to prevent player combat within certain areas, or to limit it to "arena" areas, as you choose.
Non-lethal training mode is also supported, and players can practice archery skills on target objects, or improve throwing skills by playing darts.
Player activitiesIn addition to predefined player activities such as fishing, kite flying, gem polishing, item crafting etc.,
new activities can be coded.
QuestsQuests can be assigned to players who chat with
Taskgiver bots, with an extensive number of customizable conditions required and rewards given. Of course, quests can also be easily created by you through the use of object tags that can grant boons, gold or other inventory items, spring traps or perform various conditional effects.
MonstersMonster bots that support a wide range of behavior can be created for players to fight. Monsters can patrol areas, respawn (automatically be recreated after being killed), give loot when defeated, chase (or run from) players and cast spells.
AgriculturePlayers can
grow crops by planting and watering seeds that will slowly grow through several stages to mature plants for harvesting. "Annual" or "perennial" plants can be defined. Clicking on a mature plant gives a player some food items, as defined in the database for that species of plant.
More simply, clickable inventory objects can be created that will reappear after a specified amount of time, which can be used for fruits and vegetables that "regrow".
The RPGBot is licensed, not sold. See the pricing topic for details.