is the continued development of the codebase formerly known as CircleMUD.
Download it here:tba MUD Download Patches, Snippets and Source
tbaMUD is an acronym for The Builder Academy Multi User Dungeon - And we use it to mean both the Academy for training, and the codebase that is made freely available to the community.
TbaMUD's vision is to provide the MUDding community a stable and functional codebase that includes an in-depth World and help files that makes it ready to be molded into a custom MUD by its coders and builders. We also provide multiple resources to allow for feedback, contribution, and the sharing of ideas within the MUDding community to ensure constant development and improvements.
TbaMUD is highly developed from the programming side, but highly UNdeveloped on the game-playing side. So, if you're looking for a huge MUD with billions of spells, skills, classes, and races, tbaMUD will disappoint you. TbaMUD still has only the 4 original Diku classes, the original spells, and the original skills. On the other hand, if you're looking for a highly stable, developed, organized, and well documented "blank slate" MUD on which you can put your OWN ideas for spells, skills, and classes, then tbaMUD is what what you are looking for.
TBA is a low stress, no deadline, training environment where anyone with motivation can work at their own pace to learn as much or as little as they desire about building on the tbaMUD codebase (formerly known as CircleMUD). TBA is a MUDding resource dedicated to improving the MUDding community.TBA has been operating since 2000 and has trained 1000's of builders.
There have been a few new features added to TBA today, and the SVN version of the tbaMUD codebase.
They are all things I have added to a few MUDs, and have always been very popular with players.
| autokey | Autokey, when enabled, will automatically use a door key (if it's in your inventory) when you try to open a locked door. You do not need to use the separate unlock command. Autokey is a player toggle. It can be turned on and off using the autokey command, the toggle autokey command, or prefedit (see below). |
| autodoor | Autodoor, when enabled, will automatically find the next available door when using the open, close, lock, unlock or pick commands. For example, in a room with several closed doors, one door will be opened each time the player types open door until all the doors are open. The player can still specify a direction to open a particular door. |
| prefedit | An addition to OasisOLC for players! The menu-driven interface allows players to change all of their preferences and toggles. |
Here's an example with autokey AND autodoor turned on
| > look A large room You are in a large room, surrounded by doors. The doors to the north and south are lock, and the doors east and west are closed. Exits: (n) (e) (s) (w) > open door The door is locked, but you have the key. *click* You open the door > open door You open the door > open door The door is locked, but you have the key. *click* You open the door > look A large room You are in a large room, surrounded by doors. The doors to the north and south are lock, and the doors east and west are closed. Exits: n e s (w) > |
I am moving once again and will be in and out of TBA depending on my Internet connectivity. This time it is from the east coast to the west coast, wish me luck. As usual Shamra, Jamdog, and Fizban will handle things in my absence. If the server has any issues email Welcor and Rumble at our tbamud.com addresses.
Don't burn the place down.
Download tbaMUD 3.59 or the patch at http://tbamud.com
More bug fixes, new trig type login, and zone flags/levels. Thanks to Jamdog for the majority of work this release! For the full tbaMUD changelog check out: http://www.tbamud.com/files/changelog.txt
tbaMUD 3.59 changelog
[Apr 05 2009] - Rumble
Updated World and files for 3.59 release.
[Apr 02 2009] - Rumble
real_abils.str changed from 25 to 18. Since 18 is max str.
Changed ch to k in do_stat for quests. (thanks Frenze)
[Mar 14 2009] - Jamdog
Bug-Fix: real_shop function could hang if a shop was added with the max VNUM (Thanks Slicer)
Removed find_shop function, which was a duplicate of real_shop.
[Mar 13 2009] - Jamdog
Bug-Fix: Character deletion (remove_player, players.c), where the wrong player was potentially being deleted.
Added Zone Flags, including zedit sub-menu
Added Zone level restrictions, including zedit sub-menu
Added zlock and zunlock commands
Added areas command
Set GRID flag on zones 0, 12 and 30
[Mar 08 2009] - Jamdog
Fixed a possible crash bug in delete_object (genobj.c) (Thanks Slicer)
CAP function now recognises both preceeding color codes and ANSI codes (Thanks Slicer)
[Mar 07 2009] - Jamdog
Fixed a bug in find_shop (shop.c) and real_shop (genshp.c) (Thanks Slicer)
[Feb 25 2009] - Jamdog
Fixed new medit stats menu so that it uses the the Advanced/Standard cedit toggle
[Feb 24 2009] - Jamdog
Bug-Fix: Fixed levels command, so it only shows immortal level if it's in the specified range
Bug-Fix: write_mobile_espec now saves CON and CHA values for mobiles in world files
Bug-Fix: stat zone now shows the same as vstat zone (instead of show zone (num)
Bug-Fix: zone 'stat' info (print_zone, oasis_list.c) now shows the number of shops and triggers
Bug-Fix: zone 'show' info (print_zone_to_buf, act.wizard.c) now shows number of quests.
Added saving throws to write_mobile_espec (genmob.c) and interpret_espec (db.c)
Added 'whois' command for all players
medit: All numerical stats moved to new sub-menu, with 'autoroll' option
medit: Advanced or Standard stats sub-menu with cedit toggle (in Game Operations)
[Feb 17 2009] - Jamdog
Fixed a bug with %obj.extra% so that it now returns the list of extra flags
[Feb 11 2009] - Jamdog
Fixed a crash bug in count_quests (quest.c) affecting zlist (thanks Fsantin)
[Feb 05 2009] - Jamdog
Added "set name ", which renames a character, including pfile and index entry
[Feb 01 2009] - Jamdog
Changed documentation /doc unixshelladminguide to PDF format.
[Jan 31 2009] - Jamdog
Added room login trig types, to catch players logging in to a particular room
[Jan 29 2009] - Rumble
Corrected zcheck MAX_OBJ_GOLD_ALLOWED to compare against Val 0, not Val 1. (thanks Tails)
Created new MAX_OBJ_GOLD_ALLOWED define for zcheck. (thanks Tails)
Fixed typo in players.c. (thanks Tristen)
[Jan 25 2009] - Rumble
Added new documentation /doc unixshelladminguide. (thanks Jamdog).
Added new zone creation limits to prevent misuse of zedit making the MUD unbootable.
[Jan 25 2009] - Jamdog
Added cases for missing object types in oedit_disp_val1_menu (other, worn, treasure, trash, key, pen, boat)
[Jan 25 2009] - Rumble
Fixed pardon. (thanks Echos-Ironcastle)
[Jan 24 2009] - Rumble
Fixed command queue cancelling "--" from cancelling the next command. (thanks Frenze/Ogdin)
Fixed object timer values from not saving. (thanks Stoneheart)
Fixed latest GCC warnings in the /utils. (thanks Jamdog)
Fixed violent area spells so they would not harm group members. (thanks Nhilar)
Changed usage of qm->nr to GET_MOB_VNUM(qm). (thanks Tails)
[Jan 21 2009] - Jamdog
Added trigedit variable %move% to teleport objects.
Fixed memory leak in generic_complete_quest.
A bug fix to player attachable scripts.
A better fix to the DIKU double attack by ordering a mob to save its master.
Fix to remove weight restrictions for immortals.
I wrote this guide to help people add in more sector types to their OLC, which as you can see is pretty simple. Just don't forget to change the number flags any time you add one. This code is written, tested, and works on stock tbaMUD. It may or may not work if your game is heavily modified or from an older version of CWG.
*** In constants.c scroll down to where it lists the basic sector types.
*** (Inside, City, Field, Forest, etc.) and add to the bottom of the list.
const char *sector_types[] = {
"Inside",
"City",
"Field",
"Forest",
"Hills",
"Mountains",
"Water (Swim)",
"Water (No Swim)",
"In Flight",
"Underwater",
+ "Desert",
"\n",
};
*** Further down in constants.c (under int movement_loss) you'll want to define how much
*** movement is lost per step with your new terrain type.
*** Note: Make sure the last line doesn't have the comma after the number, but all the previous ones do.
int movement_loss[] =
{
1, /* Inside */
1, /* City */
2, /* Field */
3, /* Forest */
4, /* Hills */
6, /* Mountains */
4, /* Swimming */
1, /* Unswimable */
1, /* Flying */
- 5 /* Underwater */
+ 5, /* Underwater */
+ 3 /* Desert */
};
*** In structs.h scroll down to where the list is again, for basic sector types.
/* Sector types: used in room_data.sector_type */
#define SECT_INSIDE 0 /**< Indoors, connected to SECT macro. */
#define SECT_CITY 1 /**< In a city */
#define SECT_FIELD 2 /**< In a field */
#define SECT_FOREST 3 /**< In a forest */
#define SECT_HILLS 4 /**< In the hills */
#define SECT_MOUNTAIN 5 /**< On a mountain */
#define SECT_WATER_SWIM 6 /**< Swimmable water */
#define SECT_WATER_NOSWIM 7 /**< Water - need a boat */
#define SECT_FLYING 8 /**< Flying */
#define SECT_UNDERWATER 9 /**< Underwater */
+ #define SECT_DESERT 10 /**< Desert */
*** Be sure to bump up NUM_SPELLS by 1
+ #define NUM_ROOM_SECTORS 11
*** In asciimap.c scroll down to the first instance of sector types.
*** At the next -1 at the bottom fill in your new sector type.
static struct map_info_type map_info[] =
{
{ SECT_INSIDE, "@c[@n.@c]@n" }, /* 0 */
{ SECT_CITY, "@c[@wC@c]@n" },
{ SECT_FIELD, "@c[@g,@c]@n" },
{ SECT_FOREST, "@c[@gY@c]@n" },
{ SECT_HILLS, "@c[@Mm@c]@n" },
{ SECT_MOUNTAIN, "@c[@rM@c]@n" }, /* 5 */
{ SECT_WATER_SWIM, "@c[@c~@c]@n" },
{ SECT_WATER_NOSWIM, "@c[@b=@c]@n" },
{ SECT_FLYING, "@c[@C^@c]@n" },
{ SECT_UNDERWATER, "@c[@bU@c]@n" },
- { -1, "" }, /* 10 */
+ { SECT_DESERT, "@c[@Y-@c]@n" }, /* 10 */
*** Scroll down a bit more to the next set and do the same.
*** Since we used @Y- for the symbol above, use it again here.
static struct map_info_type world_map_info[] =
{
{ SECT_INSIDE, "@n." }, /* 0 */
{ SECT_CITY, "@wC" },
{ SECT_FIELD, "@g," },
{ SECT_FOREST, "@gY" },
{ SECT_HILLS, "@Mm" },
{ SECT_MOUNTAIN, "@rM" }, /* 5 */
{ SECT_WATER_SWIM, "@c~" },
{ SECT_WATER_NOSWIM, "@b=" },
{ SECT_FLYING, "@C^" },
{ SECT_UNDERWATER, "@bU" },
- { -1, "" }, /* 10 */
+ { SECT_DESERT, "@y-" }, /* 10 */
*** Finally, jump down even more to where they're listed again like this, and add your new sector.
count += sprintf(buf + count, "@n%s Swim\\\\", map_info[SECT_WATER_SWIM].disp);
count += sprintf(buf + count, "@n%s Boat\\\\", map_info[SECT_WATER_NOSWIM].disp);
count += sprintf(buf + count, "@n%s Flying\\\\", map_info[SECT_FLYING].disp);
count += sprintf(buf + count, "@n%s Underwater\\\\", map_info[SECT_UNDERWATER].disp);
+ count += sprintf(buf + count, "@n%s Desert\\\\", map_info[SECT_DESERT].disp);
The question came up today so wanted to post it here for future reference.
First if you use autorun you need to change it in the appropriate autorun file:
i.e. the majority of MUD's will have to edit the autorun file line 37.
autorun:37:PORT=4000
autorun.cmd:21:PORT=4000
autorun.pl:25:$port = 4000;
autorun.sh:36:PORT=4000
Then go to the src folder and change config.c:
config.c:199:ush_int DFLT_PORT = 4000;
make and then reboot the game and connect.