! ^ Use ! to repeat the last command typed at the keyboard. Use ^ to replace a string from the last command with a new string. The syntax is the same as in csh: "^old-string^replacement" Examples: > tell rasmusse Hi there, how are you? No-one by that name here. > ^rasmusse^rasmussen You tell Rasmussen, 'Hi there, how are you?' > ^you^you doing^ You tell Rasmussen, 'Hi there, how are you doing?' See also: ALIAS #1 %ASOUND% OASOUND MASOUND WASOUND ASOUND %asound% <message> The message is sent to all surrounding rooms. Trigger Intended Assignment: Rooms Trigger Type: Random , Numeric Arg: 10, Arg list: None Commands: %asound% You hear a blood chilling howl from nearby. #0 %AT% WAT MAT OAT %at% <target> <command> Using %at% will perform the command in the room where target is found. Example: @RTSTAT 19@n @RTSTAT 20@n #0 %DAMAGE% ODAMAGE MDAMAGE WDAMAGE %damage% %victim% amount Cause amount points of damage to victim. The amount can be negative, to create a healing effect. %damage% %actor% -20 - cause 20 points of healing %damage% %actor% 20 - cause 20 points damage %damage% %actor% %random.20% - cause 1-20 points damage randomly eval stunned %actor.hitp% - evaluate all hitpoints and then damage %damage% %actor% %stunned% - leaving the player stunned, but will recover eval num_hitp %actor.hitp%/2 - calculate half of hitpoints and then damage %damage% %actor% %num_hitp% Example: @RTSTAT 16 TSTAT 3008@n See Also: DEATH #0 %DOOR% WDOOR ODOOR MDOOR TRIGEDIT-EXIT TRIG-EXIT %door% <vnum> < direction> < field> [value] Used for adding, deleting, and modifying doors in room #vnum. Direction determines which door is being changed, and can be north, south, east, west, up, or down. If the door does not exist first, a new door will be created. Field is what property of the door is being changed. Valid fields are: purge - remove the exit in the direction specified - no value needed description - value will become the new exit description flags - value will be the new door flags bitvector as defined here: a - Exit is a door that can be opened and closed. Default is open b - The door is closed. c - The door is locked. d - The door is pick-proof. key - value is the vnum of the key to the door in this direction. name - value is the name of the door in the specified direction. room - value is the vnum of the room this direction leads to Example: @RTSTAT 17@n #0 %ECHO% %ECHOAROUND% %SEND% TRIG-SEND %ZONEECHO% ZONEECHO ZECHOAROUND ECHOAROUND OECHO WECHO MECHO OECHOAROUND WECHOAROUND MECHOAROUD OSEND WSEND MSEND ZONECHO %echo% <message> Message is sent to all non-sleeping characters in the same room that this script is executing in. %echoaround% <victim> <message> Message will be sent to all characters in the room with victim, except for the victim. %send% <victim> <message> Message will be sent to the victim only. %zoneecho% <room vnum> <message> Zoneecho echoes message to the entire zone. room vnum should be any vnum in the zone you wish to echo around. 13400 would echo in zone 134. NOTE: When used with mobs make sure the mobs can see the players. i.e not blind, set INFRA. Example: @RTSTAT 18@n See Also: %ASOUND% #0 %FOLLOW% TRIG-FOLLOW MFOLLOW mfollow <victim> The mobile will begin following the victim without the revealing "starts following you" message. A silent follow. Examples: @RTSTAT 40, 39@n #0 %FORCE% OFORCE WFORCE MFORCE TRIGEDIT-FORCE TRIG-FORCE %force% <victim> <command> Force the victim to perform a particular command. Cannot be made to force level 32 and above. This little script teleports the actor to another place when he enters the room. It then makes him look to see the description. Trigger Intended Assignment: Rooms Trigger Type: Enter , Numeric Arg: 100, Arg list: None Commands: wait 1 s %echo% A powerful force drags you down. %teleport% %actor% 3001 %force% %actor% look #0 %KILL% WKILL OKILL MKILL mkill <victim> mkill %actor% mkill causes the mob to hit the victim. It is the same as kill, except mkill works for low level mobs attacking PCs, where kill might not. #0 %LOAD% OLOAD MLOAD WLOAD %load% <obj|mob> <vnum> [name [position]] This command loads a mob or object into the game. No-take objects loaded to a mob will load to the room. load an object to room: %load% obj 1300 load a mob to room : %load% mob 1300 load obj to player inv: %load% obj 1300 %actor% inv equip obj to player : %load% obj 1300 %actor% waist See Also: POSITIONS, CHAR-VAR #0 %PURGE% OPURGE MPURGE WPURGE %purge% <victim> Purge removes objects or mobs from the game. If no argument is given, then all objects and mobs in the room will be removed. If there is an argument, only that mob or object will be purged. Players can not be purged. Examples: %purge% %self% %purge% %actor.inventory(1300)% %purge% %actor.eq(hold)% Example: @RTSTAT 1375, 6300@n See Also: POSITIONS #0 %TELEPORT% WTELEPORT OTELEPORT MTELEPORT PORTALS %teleport% <victim> <location> Teleport moves the victim to the target. The victim does not need to be in the same room as the mob. If the victim is 'all', all the characters in the room will be teleported to the target room. No messages are generated by this command. %teleport% all 17401 %teleport% %actor% 1300 PORTAL EXAMPLES: OBJ: @RTSTAT 100@n ROOM: @RTSTAT 101@n MOB: @RTSTAT 102@n #0 %TRANSFORM% MTRANSFORM OTRANSFORM TRANSFORM %transform% <vnum|-vnum> This command causes the executing mob or object to transform into another mob or object, based on the vnum argument supplied. The transformation is permanent, though additional transformations may be performed. No message regarding the transformation is sent to the room. The new mob or object will have the same script as the original, rather than any script normally assigned to the new, and no load trigger will be executed. Mobs - The hit points, max hit points, position, gold, and experience value will remain those of the original mob but all other statistics and descriptions will be those of the new mob. (The new mob can be made to have all of its normal statistics by using a negative vnum.) Only mobiles may use this command (naturally). Objects - Based on the vnum argument supplied. The four basic values will remain those of the original mob but all other statistics and descriptions will be those of the new object. The transformation is permanent, additional transformations may be performed. No message regarding the transformation is sent to the room. The new object will have the same script as the originating object, rather than any script normally assigned to the new object, and no load trigger will be executed. Example: @RTSTAT 21, 1370@n #0 AC "AC" is your armor class. It is a number from -10 to 10, roughly defined as follows: AC Roughly equivalent to ----------------------------------------------------------- 10 Naked person 0 Very Heavily armored (Plate mail, and "two shields") -10 Armored battle tank The score command displays your armor class as a number such as 78/10; this means 78 on a scale from -100 to 100 (i.e., 7.8 on the scale from -10 to 10.) See also: SCORE #1 ADVANCE Usage: advance <victim> <level> ADVANCE moves a player to a new level. If used to promote a player to an immortal level, and if you have the autowiz program installed, the wizlist and immlist will automatically be recreated. Example: > advance rasmussen 34 See also: SET #31 AEDIT See Also: OASIS OASIS-EDIT ASTAT #1 ALIAS ALIASES Usage: alias [alias name] [command] An alias is a single command used to represent one or more other commands. The ALIAS command can be used to manipulate your character's aliases. Type ALIAS alone to see a list of your currently defined aliases. > alias Type ALIAS <alias name> <command> to create a new alias. The alias name must be one word. The command can be any string. Aliases may not be nested or used recursively. Any command may be overridden by an alias (other than the ALIAS command itself, of course). > alias gbb get bread bag > alias gac get all corpse Type ALIAS <alias-name> to delete an alias that has already been defined. > alias gbb A semicolon (";") can be used to define multiple actions to be taken with a single alias. > alias eat get bread bag; eat bread Note that the 'eat' contained within the eat alias is interpreted as the MUD's internal eat command; aliases may not be nested or used recursively. The variables $1, $2, ... $9 may be used to represent arguments given with an alias. Examples: > alias killem cast 'fireball' $1; cast 'harm' $2 > killem fido mage Would cast fireball on fido, followed by casting harm on mage. Variables may be used repeatedly and in any order: > alias helpem cast 'heal' $1; cast 'bless' $1; cast 'armor' $1 The special variable $* represents the entire input line after an alias: > alias tr tell rasmussen $* > tr hi there, how are you today? You tell Rasmussen, 'hi there, how are you today?' See also: ! ^ #1 ANSI COLOR Usage: color [off | brief | normal | complete] If you have a color-capable terminal and wish to see useful color-coding of information, use the COLOR command to set the level of coloring you see. > color off This command disables all color. > color brief > color normal > color complete These three commands turn color on to various levels. Experiment to see which level suits your personal taste. 'color' with no argument will display your current color level. Using color will slow down the speed at which you see messages VERY slightly. The effect is more noticeable on slower connections. Even if you have color turned on, non-colorized messages will not be slowed down at all. The colorcode entry will show you what codes can be used to make what colors. See also: COLORCODE COLORSPRAY, "COLOR SPRAY" #1 AREAS These zones are maintained in the latest CircleMUD world format with DG Scripts on The Builder's Academy (TBA) telnet://builderacademy.net:9091/ and are available for download at: http://cruelworld.dune.net/cgi-bin/FTPex.pl These areas include all donated areas from the CircleMUD FTP and modified stock. TBA is always looking for new submissions or help on improving the current zones. Please report any problems, bugs, typos, ideas, or submissions to: Rumble The Builder's Academy builderacademy.net 9091 wintersn.geo@@yahoo.com This is a listing of the areas available for exploration and play testing by mortals on TBA player port: telnet://builderacademy.net:5000/ Area Creator Levels 0 Limbo -- DikuMUD all 1 SANCTUS -- Rumble 1-34 2 SANCTUS II -- Rumble 1-34 3 SANCTUS III -- Rumble 1-34 4 JADE Forest -- Unknown 10-25 5 NEWBIE Farm -- Unknown 1-10 6 SEA of Souls -- Unknown 10-25 7 CAMELOT -- Rumble 20-30 9 River Island Of Minos -- Mahatma 4-25 12 God Simplex -- CircleMUD all 13 Builder's Academy -- Rumble all 14 Builder's Academy II -- Rumble all 15 Straight Path -- Steppin 13-30 16 CAMELOT II -- Rumble 20-30 17 CAMELOT III -- Rumble 20-30 18 NUCLEAR Wasteland -- Rumble 35-40 19 SPIDER Swamp -- Detta 15-20 20 ARENA -- Rumble 10-20 22 TOWER of the Undead -- Rumble 30-35 25 High Tower of Magic -- Skylar 1-30 26 High Tower Of Magic II -- Skylar 1-30 27 MEMLIN Caves -- Detta 17-25 30 Northern MIDGAARD -- DikuMUD 1-33 31 Southern MIDGAARD -- DikuMUD 1-33 32 MIDGAARD -- DikuMUD 1-33 33 Three Of Swords -- C.A.W. 5-30 35 Miden'Nir -- Copper II 4-10 36 Chessboard of Midgaard -- Exxon 6-30 40 Mines of Moria -- Redferne 3-13 41 Mines of Moria II -- Redferne 3-13 44 ORC Camp -- Welcor 3- 7 45 Woodland MONASTERY -- Gnoff 12-15 46 ANT Hill -- Garrison 3- 7 50 Great Eastern Desert -- Rorschach 3-24 51 Drow City -- Rorschach 1-25 52 City Of Thalos -- Rorschach 3-25 53 Great Pyramid -- Andersen 5-30 54 New Thalos -- Duke 1-30 55 New Thalos II -- Duke 1-30 56 New Thalos Wilderness -- Duke 1-30 57 ZODIAC -- Gatia 10-14 60 Haon-Dor, Light Forest -- Quifael 1- 8 61 Haon-Dor, Light Forest II -- Quifael 5-30 62 Orc Enclave -- C.A.W. 1-15 63 Arachnos -- Mahatma 2-26 64 Rand's Tower -- C.A.W. 8-19 65 Dwarven Kingdom -- Depeche 3-33 70 Sewer, First Level -- Redferne 1-19 71 Second Sewer -- Redferne 1-19 72 Sewer Maze -- Redferne 1-19 73 Tunnels in the Sewer -- Redferne 1-19 74 Newbie GRAVEyard -- Jojen 3- 5 75 ZAMBA -- Shimmer 14-18 79 Redferne's Residence -- DikuMUD 12-26 83 GLUMGOLD's Sea -- Meyekul 10-30 86 DUKE Kalithorn's Keep -- Destiny 3-14 90 OASIS -- Rumble 6- 8 96 DOMIAE -- Kas 7-10 100 NORTHERN Highway -- Rumble 3- 7 101 SOUTH Road -- Unknown 6- 8 103 DBZ World -- Taylor 1-34 104 Land of ORCHAN -- Taylor 4-34 106 ELCARDO -- Daiko 7-14 107 Realms of IUEL -- Rumble Santa 3-26 115 Monestary OMEGA -- Polar 3- 7 120 Rome -- Onivel 4-34 125 HANNAH -- Rhunter 7-10 140 WYVERN City -- Balm 7-26 150 King Welmar's Castle -- CircleMUD 1-33 175 CARDINAL Wizards -- Unknown 18-22 186 Newbie Zone -- Maynard 1- 7 187 CIRCUS -- Wolfgaar Arina 2- 4 200 WESTERN Highway -- Talandra 3- 7 232 TERRINGHAM -- Ferret 21-24 233 DRAGON Plains -- Unknown 15-17 234 Newbie SCHOOL -- Ferret 1- 4 235 Dwarven MINES -- Unknown 10-14 236 ALDIN -- Welcor 10-14 237 Dwarven Trade Route -- Welcor 3-10 238 CRYSTAL Castle -- Polar Higgins 22-26 239 South PASS -- Crysanthia 16-21 240 Dun MAURA -- Rumble 7-10 241 Starship ENTERPRISE -- Crazyman 26-30 242 NEW Midgaard -- Crazyman 3- 7 243 Snowy VALLEY -- Crazyman 7-10 244 Cooland PRISON -- Crazyman 30 245 The NETHER -- Kaan 20 246 The NETHER II -- Kaan 20 247 GraveYARD -- Rasta 20-24 248 ELVEN Woods -- Gbetz 15-17 249 JEDI Clan House -- G.Threepwood 30 250 DRAGONSPYRE -- Unknown 28-30 251 APE Village -- Crazyman 18-22 252 Castle of the VAMPYRE -- Kaan 20-30 253 WINDMILL -- Kaan 15-17 254 Mordecai's VILLAGE -- Kaan 6-30 255 SHIPWRECK -- Kaan 8-30 256 Lord's KEEP -- Kaan 6-29 257 JARETH Main City -- Kaan 1-33 258 LIGHT Forest -- Kaan 20 259 Haunted MANSION -- Kaan 25-30 260 GRASSLANDS -- Kaan 13-16 261 Inna & IGOR'S Castle -- Kaan 18-30 262 FOREST Trails -- Kaan 7-15 263 FARMLANDS -- Kaan 1- 7 264 BANSHIDE -- Kaan 30-34 265 BEACH and Lighthouse -- Kaan 20-30 266 The Realm of Lord ANKOU -- Kaan 25-34 267 VICE Island -- Questor 20-25 268 VICE Island II -- Questor 20-25 269 The Southern DESERT -- Freak 17-20 270 WASTELAND -- AsA 12-15 271 SUNDHAVEN -- Mercy 1-10 272 SUNDHAVEN II -- Mercy 1-10 273 Space STATION Alpha -- Magnus 25-30 274 SMURFVILLE -- Brett & Andy 4- 8 275 New SPARTA -- Naved 1-10 276 New SPARTA II -- Naved 1-10 277 SHIRE -- Unknown 14-18 278 OCEANIA -- Questor 21-24 279 NOTRE Dame -- Apollo 10-15 280 Living MOTHERBOARD -- Kinesthesia 28-30 281 Forest of KHANJAR -- Methem 1- 8 282 Infernal Pit of KERJIM -- Raf Blizzard 30-33 283 HAUNTED House -- Matt 20-30 284 GHENNA -- Nosferatu 30-33 285 Descent to Hell II -- Strahd 20-30 286 Descent to HELL -- Strahd 20-30 287 Ofingia and the GOBLIN Town -- Pippin 1-33 288 GALAXY -- Doctor 28-34 289 WERITH'S Wayhouse -- Builder_5 of C.A.W. 5-15 290 LIZARD Lair Safari -- Matrix of C.A.W. 10-15 291 BLACK Forest -- SilverAngel 10-30 292 KEROFK -- Amanda Builder_5 of C.A.W. 5-25 293 KEROFK II -- Amanda Builder_5 of C.A.W. 5-25 294 TRADE Road -- C.A.W 1-18 295 Makira's JUNGLE zone -- Martin 5-20 296 FROBOZ Factory -- C.A.W 1- 6 298 Castle Of DESIRE -- HoneyBear 1-30 299 Abandoned CATHEDRAL -- Matrix of C.A.W. 30-34 300 ANCALADOR -- Mercutio of C.A.W. 6-20 301 CAMPUS -- Matrix of C.A.W. 1-15 302 CAMPUS II -- Matrix of C.A.W. 1-15 303 CAMPUS III -- Matrix of C.A.W. 1-15 304 Temple of the BULL -- Aten 10-15 305 CHESSBOARD -- Aten 2-10 306 Newbie TREE -- Kaan 1- 9 307 CASTLE -- Kaan 21-27 308 BARON Cailveh -- Kaan 25-34 309 Keep of Baron WESTLAWN -- Kaan 38-99 310 GRAYE Area -- Aten 12-30 311 Dragon's TEETH -- Kaan 20-30 312 LEPER Island -- Kaan 25-30 313 Farmlands of OFINGIA -- Kaan 8-15 314 X'Raantra's ALTAR of Sacrifice -- Kaan 7-34 315 MCGINTEY Business District -- Kaan 1-34 316 MCGINTEY Guild Area -- Kaan 25-30 317 WHARF -- Kaan 1-34 318 DOCK Area -- Kaan 1-34 319 YLLYNTHAD Sea -- Kaan 20-34 320 Yllynthad Sea II -- Kaan 20-34 321 Yllynthad Sea III -- Kaan 20-34 322 McGintey BAY -- Kaan 20-30 323 Caverns of the PALE Man -- Kaan 20-30 324 ARMY Encampment -- Kaan 12-23 325 REVELRY -- Kaan 6-30 326 Army PERIMETER -- Kaan 8-30 Zone names CAPITALIZED are accessed by teleporter. i.e. "teleport sanctus" Uncitalized zones are linked through a capitalized zone. Teleporter: Trigger 99. The current_world.tgz file includes all the above zones. Just unpack it in the main directory of your MUD and you will have (as of Feb 04): 7068 mobiles 3443 prototypes 7376 objects 4164 prototypes 11552 rooms 175 zones 1022 triggers If you wish to see what standards we have used to balance these zones just stop by TBA and see the help files on OBJ-LIMITS, MOB-LIMITS. A huge thank you goes to Welcor for everything he has done for TBA and CircleMUD. Thanks to everyone who donated their time and effort. #1 ARMOR Usage : cast 'armor' [target] Accumulative: No Duration : 24 Hours Level : Mage level 4, Cleric level 1. The Armor spell will improve your AC by 2. See also: AC #1 ASSEMBLIES ASSEMBLE MAKE BAKE BREW CRAFT FLETCH KNIT MIX THATCH WEAVE ASSEDIT FORGE These are no longer implemented here since the same thing can be done with DG Scripts. @RTSTAT 38@n @RTSTAT 48@n #0 ASSIST Usage: ASSIST <person in need> If Quifael is being beaten senseless by a warg and you feel brave enough to help him, type ASSIST QUIFAEL to hit the warg. Note that the warg will keep hitting Quifael; assist only makes you start to fight whomever the person you're assisting is fighting. > assist Doctor See also: FLEE, KILL, RESCUE #1 ASTAT Usage: astat <social> See Also: OASIS AEDIT #1 ATTACH Builder's working on their trial vnum do not need to learn this command, yet. Usage: attach mob {trigger vnum/name} {mob name} [location] attach obj {trigger vnum/name} {obj name} [location] attach room {trigger vnum/name} {room vnum} [location] Attach lets you attach a script to one instance of a mob/obj/room, for testing or other purposes. The command only attaches the script once, and will not last over a reboot (or crash). The 'location' is what number in the triggerlist the trigger will assume. It is important to first attach a trigger to test before you manually add it through oedit/medit/redit. Examples: attach room 14500 14520 - Attaches room trigger 14500 to room 14520. attach mob 1332 santa - Attaches mob trigger 1332 to mob 1308 (santa). attach obj 1480 sword - Attaches obj trigger 1480 to a sword. See also: DETACH, TRIG-ATTACH, TRIG-DETACH, OLC, TRIGEDIT, TSTAT, STAT, ROOMFLAGS #0 AUCTION GOSSIP GRATS NOAUCTION NOGOSSIP NOGRATS Usage: auction <message> gossip <message> grats <message> These are channels reserved for specific purposes. Messages on these channels reach everyone who is monitoring them. You must be at least level three to use these channels. Examples: > auction short sword -- minimum bid 100k > gossip Hey, is that a short sword on your belt or are you happy to see me? > grats LEVEL!!!!!!!! > grats GRATS CATJE!!!!!!!! See also: EMOTE, GSAY, HOLLER, NOREPEAT, SAY, SHOUT #1 AUTOEXIT Usage: autoexit [ off | normal | complete ] Toggles the automatic display of currently available exits. Not all possible exits will be displayed, only those immediately available. If a door is closed it will not show up as a possible exit. In normal mode, available exit directions are listed in a single line, while in complete mode, each available exit, and the room name the exit leads to, is shown on individual lines. Autoexit without a value shows your current autoexit level. See also: TOGGLE #1 BACKSTAB Thief only. Backstab is a way to sneak up on a person and attempt to place your dagger in his back, at exactly the point where it does most damage. A successful backstab gives a damage multiplier, depending on level: Levels Multiplier ------ ---------- 1-7 2 8-13 3 14-20 4 21-30 5 The chance of successfully backstabbing a person depends on how well you have practiced backstab at your guild. You can always backstab sleeping people. #1 BAN UNBAN Usage: ban [<all | new | select> <site>] unban <site> These commands prevent anyone from a site with a hostname containing the site substring from logging in to the game. You may ban a site to ALL, NEW or SELECT players. Banning a site to NEW players prevents any new players from registering. Banning a site to ALL players disallows ANY connections from that site. Banning a site SELECTively allows only players with site-ok flags to log in from that site. Ban with no argument returns a list of currently banned sites. Unban removes the ban. Examples: > ban all whitehouse.gov > unban ai.mit.edu See also: WIZLOCK #31 BANK WITHDRAW DEPOSIT BALANCE Commands to take money out of the bank, put money in the bank, or see how much money you have in the bank. Can be used at any branch of the First National Bank of CircleMUD (wherever you see an automatic teller machine). Examples: > deposit 400 > withdraw 1000 > balance See also: GOLD, SCORE #1 BASH Fighters only. The success of a bash depends upon how well you are learned. To bash someone is to attempt to 'knock' that person over. If you succeed you will inflict minor damage, and cause the victim to fall on it's rear. The victim will be unable to issue any commands for 2 rounds of violence. If you miss you loose your balance and fall. A bash makes you unable to type commands for 2 rounds of violence. Note that hitting a person who is resting/sitting will inflict 1.5 * damage. See also: KICK, RESCUE #1 BLAST SHOOT GUN RANGED-WEAPONS BOWS QUIVERS MISSILES Not currently implemented. The same effect may be created through trigedit. @RTSTAT 1361, 9000, 11838@n #0 BLESS Usage : cast 'bless' <victim | object> Accumulative: No Duration : 6 Hours, permanent for objects. Level : Cleric level 5. Bless on a victim will improve the victims saving throw versus spells by 1, and furthermore improve the hitroll by 2. Bless on an item currently has no defined action. It is only possible to bless non-evil items, and the object blessed may weigh no more than five pounds per level of caster. #1 BLINDNESS Usage : cast 'blindness' <victim> Accumulative: No Duration : 2 hours. Level : Mage level 9, Cleric level 6. Blindness will blind a victim failing its saving throw. A blinded person will have -4 penalty to both hitroll and AC. See also: AC #1 BOARDS Bulletin boards are the forum of inter-player communication on the MUD. There are different bulletin boards for different purposes -- for example, a standard mortal board, a board for immortals, a board for fun "social" messages, etc. Naturally, not all players may be allowed to read all types of boards. Type "LOOK BOARD" to see the messages already posted on a board. Type "WRITE <subject>" to post a message to a board; terminate a message with a '@' as the first character on a line. Type "READ <number>" to read a post. Type "REMOVE <number>" to remove your own messages. Example: > look at board > write Am I using these boards correctly? [writes the message; terminates with a '@'] > look at board > read 6 > remove 6 See also: MAIL, READ, WRITE #1 BRIEF Usage: brief Toggle "brief mode". When in brief mode, you don't see the descriptions of the room you are in; only the name of the room and the people and objects there. Unless you're very familiar with the area in which you're traveling, however, it is not advisable to use this command. Frequently, you will find small but vital hints in the descriptions of the rooms: An extra peek at your surroundings could mean the difference between life and death! If you explicitly type 'look', you will always see the full room description, even in BRIEF mode. See also: COMPACT, LOOK #1 BUG TYPO IDEA Usage: bug <bug report> idea <your new idea> typo <that nasty typo> For making useful suggestions and reporting problems to the Powers that Be. Examples: > bug the entire game crashes when I type 'put bag in bag' > idea make a restaurant in Midgaard > typo 'sence' should be spelled 'sense' #1 BUILDWALK Usage: buildwalk This command toggles "buildwalking" mode on and off. In this mode, walking in a direction where a room doesn't exist will find the next available room vnum in that zone, create a new room with that vnum, and make a two way link between the room the builder was standing in and the new room. See Also: OASIS DIG RCLONE REDIT #1 "BURNING HANDS" Usage : cast 'burning hands' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 5. Save : Versus spell for half damage. This spell is more powerful than the chill touch spell. See also: "CHILL TOUCH" #1 BUY Usage: buy <item name> buy #<item number> buy n.<item name> buy n <item name> buy n #<item number> If you'd like to purchase an item from a shop and have the money, you can buy it. Items can be bought by name, or by their number in the shop listing, and can be bought in quantity. Examples: > buy sword (buy the first sword on the list) > buy #3 (buy the third item on the list) > buy 4.sword (buy the fourth sword on the list) > buy 10 bread (buy 10 pieces of bread) > buy 10 #2 (buy 10 of the second item on the list) See also: LIST, SELL, SHOPS, VALUE #1 "CALL LIGHTNING" Usage : cast 'call lightning' <victim> Accumulative: - Duration : Instantaneous Level : Cleric level 15. Save : Versus spell for half damage. This spell will use the "force of nature" to make a lightning strike the victim. It is therefore only possible to call lightning outside, and it has to be raining (or worse). See also: "CONTROL WEATHER", WEATHER #1 CAST Usage: cast '<spell name>' [target] For "magical" people. If you want to throw a spell at someone or something. Example: > cast 'burning hands' <player> Note that the name of the spell must be enclosed by "'"s. See also: help on each individual spell: Examples: > help cure ligh > help ventri > help energy drain #1 CEDIT Usage: cedit This command is used to modify a mange of run-time configuration values that control the operation of the mud. See Also: OASIS OASIS-EDIT #1 "CHARM PERSON" Usage : cast 'charm person' <victim> Accumulative: No Duration : (432/Intelligence points of person) hours Level : Mage level 16. Is is not possible to charm anyone that is already charmed, if you're charmed yourself, or if the person is higher level than yourself. The person will get a saving throw versus "paralysation". A charmed person will follow you, and not be able to attack you, you can order the charmed person using the order command. See also: FOLLOW, ORDER #1 CHECK MAIL RECEIVE Usage: check mail <person> receive The commands used by the Midgaard Mail System (MMS) are MAIL, CHECK, and RECEIVE. These commands can only be used while in an Official MMS Post Office. You must be at least second level in order to use the MMS. Examples: To check and see if you have any mail waiting: > check To write mail to Niandra: > mail Niandra To ask the Postmaster to give you your mail, if you have any waiting: > receive Stamps cost 150 coins. #1 CHECKLOAD Usage: checkload <O|M|T> <vnum> Checkload will scan the zone information and tell you where any given mob, obj, or trig loads. We recommend you use this in conjuction with the lists to ensure everything created in your zone is actually used. #31 "CHILL TOUCH" Usage : cast 'chill touch' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 3. Save : Versus spell for half damage. This spell is more powerful than the magic missile spell. A victim failing its saving throw will get its strength reduced by one. See also: "MAGIC MISSILE" #1 CHOWN Usage: chown <object> <player> This command will cause the named object to be transferred from the target player's inventory (or if equipped) to your inventory. It can be used slightly more effectively than the force command. See also: FORCE #31 CIRCLE CIRCLEMUD CREDITS C I R C L E M U D 3 . 0 CircleMUD was developed from DikuMud (Gamma 0.0) by Jeremy "Ras" Elson at Johns Hopkins University's Department of Computer Science. All code unique to CircleMUD is protected under a copyright by the Trustees of the Johns Hopkins University. Many, many people contributed to CircleMUD in one way or another throughout the course of its development. Although it's impossible for me to remember them all, I'd like to extend special thanks to certain people: -- Jeff Fink and George Greer, for submitting a veritable mountain of excellent code. -- Chris Epler and Chris Herringshaw for extensive beta-testing and bug reporting. -- Furry (Alex Fletcher), for single-handedly managing Circle's world files. -- Fred Merkel, Ryan Watkins, Jay Levino, and Sharon Goza, for other code and area submissions. -- Jean-Jack Riethoven for porting the code to the Amiga, David Carver for porting it to OS/2, and Jack Patton and Steffen Haeuser for the Amiga port. -- Bill Bogstad and Tim Stearns for allowing Circle to exist at JHU. -- The DikuMud folk, and the good old WhatMUD implementors Dave & Justin, for starting the ball rolling. -- Bryan Jolson, Steven Lacher, Cat Stanton, and Naved Surve, for being there in the very early days of Circle's development. -- Sharon, Ben, Erica, Aly, and Josh, for keeping me sane. -- Jules (hamotek sheli) for being the greatest. ...plus everyone else in the Circle community who has submitted material! Thanks everyone! Anonymous FTP: ftp.circlemud.org or ftp2.circlemud.org in pub/CircleMUD To report bugs: bugs@circlemud.org To get help: help@circlemud.org URL: http://www.circlemud.org/ Mailing List: listserv@post.queensu.ca (write "subscribe circle <first name> <last name>") --Jeremy Elson (jelson@circlemud.org) See also: AREAS #1 CLEAR CLS Clears the screen. #1 CLERIC Clerics have an ancient belief in not carrying sharp weapons. Hence, they can only wield bludgeoning weapons. This class gives you the wisdom of peace, blessing and healing, though it is possible to learn more violent spells. You can improve your spells by using the practice command. See 'help spells' for a list of spells available. See also: PRACTICE, SPELLS #1 COLORCODE COLORCODES The letters for the colors are to be preceded by a single @@ sign, where the actual code will be @@<letter>. Double @@@@ = single @@. All use of colorcodes MUST be terminated with @n to restore normal color to prevent color bleeding. The colors are: n - @nnormal@n d - black* D - @Dgray@n 0 - @0background black@n b - @bblue@n B - @Bbright blue@n 1 - @1background blue@n g - @ggreen@n G - @Gbright green@n 2 - @2background green@n c - @ccyan@n C - @Cbright cyan@n 3 - @3background cyan@n r - @rred@n R - @Rbright red@n 4 - @4background red@n m - @mmagenta@n M - @Mbright magenta@n 5 - @5background magneta@n y - @yyellow@n Y - @Ybright yellow@n 6 - @6background yellow@n w - @wwhite@n W - @Wbright white@n 7 - @7background white@n Extra codes: l - @lblink@n o - @obold@n x - @xrandom @xcolor@n u - @uunderline@n e - @ereverse video@n * Black is not shown here, as typically black on black background is not visible. All color usage should be used to enhance a description, not detract from it. See also: ANSI, PROMPT #1 COLORSPRAY "COLOR SPRAY" Usage : cast 'color spray' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 11. Save : Versus spell for half damage. This spell is more powerful than the lightning bolt spell. See also: "LIGHTNING BOLT" For help on actual color, see: ANSI #1 COMMANDS Usage: commands The COMMANDS command gives a canonical list of all the known verbs. Each command listed should have help available by typing "HELP <command>". See also: SOCIAL, SOCIALS #1 COMMENT * * This is an example of a comment in trigedit. Because of the *'s the lines * are not parsed, so the script still works even if it has a lot of * explanations built in. All triggers should be heavily commented. * The below line sends the text 'Trigger firing' to the room. %echo% Trigger firing Comments are useful in scripts to document what is happening, for future reference, and for others to see what the script does. See also: REDIT-ROOM-FLAGS #0 COMPACT Usage: compact This command toggles the extra blank line output to your screen after each command. Useful if you have a small display. See also: BRIEF #1 COMPARE usage: compare <object1> <object2> This command allows you to judge the relative effectiveness of two similar objects. You may only compare certain types of objects (weapons, armor and treasure), and then only similar types to each other. You cannot, for example compare a wooden shield to a huge diamond. You will be told whether they are about the same, or which seems better or worse. #1 CONSIDER Usage: consider <monster> This command will compare your Level with the <monsters> level. You will then receive a rough estimate, which is by no means exact. Consider does not take hitpoints/special attacks/damage into account. Example: > consider fido See also: HIT, KILL #1 CONTEXT Usage: context number * This little script will make sure one %has_said_hello% exist for each player. context %actor.id% set has_said_hello 1 global has_said_hello * now only scripts running with context = %actor.id% can access this particular * variable. however - it's a better idea to use vars set on players: help remote. Changes the "context" of a script to this value. When first run, a script's context is 0. When a variable is made global, it is given the current context. When a variable is accessed, if it must be searched for globally, a "found" variable must either have context 0 or the current context. The net result of this is you may have many global variables in a single script, with the same name, differing only by context. Players may have variables; this mostly removes the need for variable context. Previously, a player's ID could be used as variable context to allow a script to service multiple players at once. See Also: REMOTE #0 "CONTROL WEATHER" Usage : cast 'control weather' <'better' | 'worse'> Accumulative: Yes Duration : - Level : Cleric level 17. This spell will change the "course" of the current weather. Example: > cast 'control wea' worse #1 "CREATE FOOD" Usage : cast 'create food' Accumulative: - Duration : Instantaneous Level : Cleric level 2. This spell instantly creates a fresh waybread. The waybread will be filling for the next (5+level) hours, up to a maximum of 24 hours. See also: "CREATE WATER" #1 "CREATE WATER" Usage : cast 'create water' <drink container> Accumulative: No Duration : Instantaneous Level : Cleric level 2. Expect disastrous results if cast upon a drink container which contains another liquid than water. Empty or water containers will be filled depending on the level of the caster. Double amount of water will be created if it is raining (or worse). See also: "CREATE FOOD" #1 "CURE BLIND" Usage : cast 'cure blind' <victim> Accumulative: No Duration : Instantaneous Level : Cleric level 4. This spell will cure a person blinded by the "blindness" spell, it can not remove blindness caused by for example cursed items. #1 "CURE CRITIC" Usage : cast 'cure critic' <victim> Accumulative: - Duration : Instantaneous Level : Cleric level 9. This spell cures 3d8+3 hitpoints of damage. #1 "CURE LIGHT" Usage : cast 'cure light' <victim> Accumulative: - Duration : Instantaneous Level : Cleric level 1. Cures minor wounds and scratches. #1 CURSE Usage : cast 'curse' <victim | object> Accumulative: Yes Duration : 7 Days, permanent on objects. Level : Mage level 14. Curse cast on a person that fails the saving throw, will reduce their hitroll and damage roll both by one. It will also reduce the saving throw versus paralysation by one. When cast upon an object, the object will become undropable. #1 DATE Shows the current real time. (Not a social) #31 DC Usage: dc <descriptor number> DC (DisConnect) is used to disconnect a socket. If used on a playing socket, the player will lose his/her link, but, unlike PURGE, will not extract the player or dump the player's inventory on the ground. DC is also useful for disconnecting people who have accidentally left themselves at the main menu, or connections sitting in the "Get name" state. See also: USERS #31 DETACH Builder's working on their trial vnum do not need to learn this command, yet. Usage: detach [mob | obj] {target name} {trigger name/vnum | 'all'} detach room {target vnum | '.'} {trigger name/vnum | 'all'} Detach removes a script to one instance of a mob/obj/room, for testing or other purposes. The command only removes the trigger temporarily, until the room/obj/mob is reloaded via reboot, zreset, load. Use the optional arguments 'mob' and 'obj' to differentiate if more entities with the same alias are in the room. Examples: detach room 14500 14520 - remove trigger 14500 from room 14520. detach room all - removes all triggers from a room. detach santa 1332 - detach trigger 1332 from mob 1308 (santa). detach mob santa all - detach all triggers from Santa. detach santa all - Same as above. detach sword 1300 - detach trigger 1300 from sword. detach obj sword 1300 - You guessed it - same as above. detach sword all - detach all triggers from the sword. See also: ATTACH, TRIG-DETACH, TRIG-ATTACH, OLC, TRIGEDIT, TSTAT, STAT, ROOMFLAGS #0 "DETECT ALIGNMENT" Usage : cast 'detect alignment' Accumulative: Yes (Duration) Duration : 12 hours + level Level : Cleric level 4. Allows the caster to detect the alignment of those around them. Evil will show as a red aura, good in a blue aura. See also: "DETECT INVISIBILITY" #1 "DETECT INVISIBILITY" Usage : cast 'detect invisibility' [self] Accumulative: Yes (Duration) Duration : 12 hours + level/4 Level : Mage level 2, Cleric level 6. This spell enables you to see invisible items and players. #1 "DETECT MAGIC" Usage : cast 'detect magic' [self] Accumulative: Yes (Duration) Duration : 12 hours + level Level : Mage level 2. This spell will let you see the magical aura surrounding magical objects. #1 "DETECT POISON" Usage : cast 'detect poison' <victim | food | drink> Accumulative: No Duration : Instantaneous Level : Mage level 10, Cleric level 3. Cast on food or drinks (drink containers) you will be able to sense if it is poisoned. Cast on a person you will be able to see if that person is poisoned. #1 DG-SCRIPTS DG_SCRIPTS DGSCRIPTS Stands for Death Gate scripts and are named after the original MUD they came from. See: @RTRIGEDIT@n #0 DG_AFFECTS Usage: dg_affect <target> <property> <value> <duration> Modifies an affection or apply on the target. Durations must be non-zero. dg_affect %actor% sanct on 20 -- Sets sanctuary on actor for 20 hours. dg_affect %actor% maxhit 100 20 -- Sets maxhit on actor +100 for 20 hours. Example: @RTSTAT 1382@n See also: APPLIES, AFFECTIONS #0 DG_CAST dg_cast 'spellname' [target] This allows the holder of a trigger to cast spells. Spells will work for rooms and objects, as well as mobiles. This simple example allows the mob to cast poison 10% of the time while fighting. Trigger Intended Assignment: Mobiles Trigger Type: Fight , Numeric Arg: 10, Arg list: None Commands: dg_cast 'poison' %actor% Example: @RTSTAT 132@n See Also: SPELLS #0 DIAGNOSE Usage: diagnose [character] The DIAGNOSE command tells you how wounded a character looks. If you are fighting someone, you can use DIAGNOSE with no arguments to diagnose the person you're fighting. Examples: > diagnose > diagnose rasmussen See also: CONSIDER #1 DIG Usage: dig <direction> <room vnum> dig <direction> -1 This command will create a new exit from your current room to the target room, and if possible, create the reverse exit from the target room back to the current room. You can remove an existing exit by specifying a target room of "-1". See Also: OASIS BUILDWALK RCLONE REDIT #1 DISABLE Usage: disable <command> disable This will allow any command specified by <command> to be disabled for use. This can be very handy! With no argument the disable command displays the list of currently disabled commands in the game. To enable a previously disabled command you simply disable <command> again. #31 "DISPEL EVIL" Usage : cast 'dispel evil' <victim> Accumulative: - Duration : Instantaneous Level : Cleric level 14. Save : Special This spell will only affect evil creatures. An evil person of level equal or less than caster will suffer 100 damage points. If the victim is higher level than caster, the spell will inflict (caster_level)d4 damage points, saving throw versus half damage. See also: DISPEL GOOD #1 "DISPEL GOOD" Usage : cast 'dispel good' <victim> Accumulative: - Duration : Instantaneous Level : Cleric level 14. Save : Special This spell will only affect good creatures. A good person of level equal or less than caster will suffer 100 damage points. If the victim is higher level than caster, the spell will inflict (caster_level)d4 damage points, saving throw versus half damage. See also: DISPEL EVIL #1 DISPLAY PROMPT Usage: display < H | M | V | all | auto | off > Modify your prompt to show your hit points, mana, and/or movement points. > display hv Display hit points and movement points > display off Return to normal display > display all Display hit, mana, and move points > display auto Display hit, mana, and move when they are below 30% See also: TOGGLE #1 DONATE Usage: donate <object> donate <number> coins This command takes an object that you no longer want and deposits it in the donation room of Midgaard to assist newbies in getting started. There is a 75% chance objects donated will wind up in a donation room in Midgaard, and a 25% chance the item will be junked. > donate shield > donate all.bread > donate 500 coins See also: JUNK #1 DROP Usage: drop <item> drop all.<item> drop all drop <number> coins If you lose interest in a carried item, you can drop it on the ground. > drop bottle > drop all.bread > drop all > drop 1000 coins See also: DONATE, GET, JUNK #1 DWARF Dwarves are known for their skill in warfare, their ability to withstand physical and magical punishment, their knowledge of the earth's secrets, their hard work, and their capacity for drinking ale. Their mysterious kingdoms, carved out from the insides of mountains, are renowned for the marvelous treasures that they produce as gifts or for trade. Dwarves are slow to laugh or jest and suspicious of strangers, but they are generous to those few who earn their trust. Dwarves value gold, gems, jewelry, and art objects made with these precious materials, and they have been known to succumb to greed. They fight neither recklessly nor timidly, but with a careful courage and tenacity. Their sense of justice is strong, but at its worst it can turn into a thirst for vengeance. Among gnomes, who get along famously with dwarves, a mild oath is "If I'm lying, may I cross a dwarf." Dwarves stand only 4 to 4 1/2 feet tall, but they are so broad and compact that they are, on average, almost as heavy as humans. Dwarven men are slightly taller and noticeably heavier than dwarven women. Dwarves' skin is typically deep tan or light brown, and their eyes are dark. Their hair is usually black, grey, or brown, and worn long. Dwarven men value their beards highly and groom them very carefully. Dwarves favor simple styles for their hair, beards, and clothes. Dwarves are considered adults at about age 50, and they can live to be over 400 years old. #1 EARTHQUAKE Usage : cast 'earthquake' Accumulative: - Duration : Instantaneous Level : Cleric level 12. Save : - This spell will damage everybody except the caster by 1d8+level_of_caster hitpoints. #1 EAT DRINK SIP TASTE Usage: eat <item> taste [from] <item> drink [from] <item> sip [from] <item> If you're hungry or thirsty, these commands are for you! > eat bread > taste bread > drink from cup > sip fountain #1 ECHO GECHO QECHO SEND Usage: echo <message> gecho <message> send <victim> <message> qecho <message> ECHO displays a string to everyone in your room. GECHO displays the string to everyone in the game. QECHO displays the string to everyone with the QUEST flag. SEND displays the string to a particular person. Examples: > echo Hi, everyone in the room. > gecho Hi, everyone in the game, isn't this annoying? > send rasmussen You are being watched. #31 ELF Elves mingle freely in human lands, always welcome yet never at home there. They are well known for their poetry, dance, song, lore, and magical arts. Elves favor things of natural and simple beauty. When danger threatens their woodland homes, however, elves reveal a more martial side, demonstrating skill with sword, bow, and battle strategy. Elves are more often amused than excited, more likely to be curious than greedy. With such long lives, they tend to keep a broad perspective on events, remaining aloof and unfazed by petty happenstance. When pursuing a goal, however, whether an adventurous mission or learning a new skill or art, they can be focused and relentless. They are slow to make friends and enemies, and even slower to forget them. They reply to petty insults with disdain and to serious insults with vengeance. Elves are short and slim, standing about 4 1/2 to 5 1/2 feet tall and typically weighing 85 to 135 pounds, with elven men the same height as and only marginally heavier than elven women. They are graceful but frail. They tend to be pale-skinned and dark-haired, with deep green eyes. Elves have no facial or body hair. They prefer simple, comfortable clothes, especially in pastel blues and greens, and they enjoy simple yet elegant jewelry. Elves possess unearthly grace and fine features. Many humans and members of other races find them hauntingly beautiful. An elf achieves adulthood at about 110 years in age and can live to be over 700 years old. #1 EMOTE : Usage: emote <message> : <message> Show people what you're feeling. The shorthand is ":". "emote <string>" will display your name, then the string. Example: If your name is "Helt", > emote is feeling very sad today. will display: Helt is feeling very sad today. See also: SOCIALS #1 "ENCHANT WEAPON" Usage : cast 'enchant weapon' <weapon> Accumulative: No Duration : Permanent Level : Mage level 26. This spell will enchant non-magical (non-modifying) weapons only. By non-modifying weapons we refer to weapons that might alter any ability such as for example damage. The only way to know if a weapon is suitable for enchantment is to fully identify it. The enchantment will modify the weapon as: Level Hit Roll Damage 0..17 +1 +1 18..19 +2 +1 20..20+ +2 +2 #1 "ENERGY DRAIN" Usage : cast 'energy drain' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 13. Save : Versus spell for half damage. This spell does not give much damage, but victims failing their saving throws will loose up to 40,000 XP points. You will gain a quarter of this XP. Beware that this spell is evil. #1 ENTER Usage: enter [place] If you type 'enter' while you are outdoors, you'll enter any nearby shelter. You can also follow 'enter' with an argument; for example, 'enter window'. #1 EQUIPMENT Usage: equipment Gives you a list of all the equipment you're wearing, holding, and wielding. See also: INVENTORY, REMOVE, WEAR #1 EQUIPMENT POSITIONS WORN FINGERS NECKS BODY HEADS LEGS FEET HANDS ARMS SHIELDS ABOUT WAIST WRISTS WIELDED HELD Usage: equipment Gives you a list of all the equipment you're wearing, holding, and wielding. You are using: Trigedit positions <used as light> [200] a generic light light 0 <worn on finger> [201] a generic ring rfinger 1 <worn on finger> [202] a generic ring lfinger 2 <worn around neck> [203] a generic necklace neck1 3 <worn around neck> [204] a generic necklace neck2 4 <worn on body> [205] a set of generic body armor body 5 <worn on head> [206] a generic helm head 6 <worn on legs> [207] a pair of generic leggings legs 7 <worn on feet> [208] a pair of generic boots feet 8 <worn on hands> [209] a pair of generic gloves hands 9 <worn on arms> [210] a pair of generic sleeves arms 10 <worn as shield> [211] a generic shield shield 11 <worn about body> [212] a generic cape about 12 <worn about waist> [213] a generic belt waist 13 <worn around wrist> [214] a generic wristguard rwrist 14 <worn around wrist> [215] a generic wristguard lwrist 15 <wielded> [216] a generic weapon wield 16 <held> [217] a generic staff hold 17 <inventory> inv 18 AC is modified on some positions as follows: Body X3, Head and Legs X2. See also: INVENTORY, REMOVE, WEAR #0 EVAL Usage: eval <variable> <expression> * this example immediately evaluates the expression below and stores the result * in %result%: eval result %self.hitp% * 100 / %self.maxhitp% say My hitpoint percentage is %result% * this result will not change after the evaluation even if %self.hitp% changes. The eval command is used to set (or create) the specified variable equal to the result of the immediate evaluation of the provided expression. There also exists a "set" command, with the same syntax. Set differs in that the expression is not evaluated until the variable is accessed. See Also: TRIG-SET #0 EXAMINE Usage: examine <thing to examine> May give you some valuable information about an item or monster. See also: LOOK #1 EXITS Usage: exits Gives you a list of the obvious exits from your location. Of course, the less obvious ones won't show up here - you have to THINK in order to locate those. See also: AUTOEXIT #1 EXPERIENCE XP Whenever you kill a monster or a player, you earn experience points. When enough experience points are earned, you raise a level. Things you should know about experience points: * When damaging a monster, you get experience points. * If you kill a monster of higher level than yourself, you get bonus experience points. If killing a monster of lower level you'll gain less experience points See also: GROUP, SCORE #1 EXPRESSIONS TRIGEDIT-EXPRESSIONS INCREMENTS MATHEMATICAL /= || \ A false expression is any expression that evaluates to 0, or an empty string. A true expression is any expression that evaluates to anything other than a false expression. The following list are the recognized operators. The higher the operator is on the list, the higher the precedence. The expression is evaluated from left to right. Parenthesis can be used to group. |Operator| Name | Examples 0=False 1=True | -------------------------------------------------------------- | || | logical or | 0 || ( ) = 0; 5 || 0 = 1 | | && | logical and | 1 && 0 = 0; 5 && 3 = 1 | | == | equivalence | 5 == 3 = 0; dog == DoG = 1| | != | inequality | 0 != Z = 0; dog != d = 1 | | < | less than | 4 < 3 = 0; 4 < 5 = 1 | | > | greater than | 4 > 3 = 1; 4 > 4 = 0 | | <= | less than or equal | 4 <= 3 = 0; 4 <= 5 = 1 | | >= | greater than or equal | 4 >= 3 = 1; 4 >= 4 = 1 | | /= | substring | "concatenate" /= "cat" | | - | subtraction | 15 - 10 = 5 | | + | addition | 10 + 15 = 25 | | * | multiplication | 10 * 20 = 400 | | / | division | 100 / 20 = 5 | | ! | negation | !() = 1; !0 = 1; !dog = 0;| -------------------------------------------------------------- Example: @RTSTAT 63@n #0 EXTRACT Usage: extract to-variable word-number from-text * could be used to do strange things to what people say: extract testvar1 1 %speech% extract testvar2 2 %speech% extract testvar3 3 %speech% extract testvar4 4 %speech% say do you mean %testvar4% %testvar3% %testvar2% %testvar1% ? Place a specific word from the 'from-text' into a new or existing variable 'to-variable'. Do not enclose the name of the to-variable in %'s. #0 FILL Usage: fill <item> <object to fill from> If you want to fill a container you're holding with liquid from a fountain in the same room as you. Example: > fill canteen fountain See also: POUR #1 FIREBALL Usage : cast 'fireball' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 15. Save : Versus spell for half damage. This spell is the most powerful spell a magic user can cast. See also: "COLOR SPRAY" #1 FLAGS Players sometimes have FLAGS after their names in the WHO list. These flags are always in parentheses, not brackets or braces. FLAG MEANING ----------- --------------------------------------------------------- (KILLER) Player is trying to kill other players. That means you can try to kill him/her without being flagged. (THIEF) Player is trying to steal from other players. Fire away. (invis) Player is invisible; you can see him/her because you are sensitive to the presence of invisible things. (writing) Player is writing on the board; do not disturb. (mailing) Player is writing mail; do not disturb. (deaf) Player has chosen not to hear shouts. (notell) Player has chosen not to accept tells. (quest) Player is participating in a quest currently being run by the Gods. See also: NOSHOUT, NOTELL, QUEST, STEAL, VISIBLE #1 FLEE Usage: flee If you are in a fight and things are beginning to get a little uncomfortable (maybe you are dying), just type 'flee', and presto! You are out of harms way - that is, IF there is a suitable exit nearby, and IF that exit doesn't simply bring you from the ashes to the fire... but then, who wants to live forever? See also: WIMPY #1 FOLLOW Usage: follow <leader> Use FOLLOW to automatically follow someone else. Examples: > follow ras > follow self See also: GROUP, SNEAK #1 FORCE Usage: force <victim | all> <command> <arguments> FORCE forces a character, either monster or player, to perform a certain action. FORCE ALL forces everyone in the game; FORCE ROOM forces everyone in your room. Example: > force fido drop meat > force all save > force room look fido If you are invisible to the one being forced, the force will be performed silently. #31 FREEZE THAW Usage: freeze <victim> thaw <victim> FREEZE, originally invented here at CircleMUD (we think), is used to prevent a player from playing. If frozen, the game will ignore all commands entered by the player, including QUIT, until the player is unfrozen with THAW. Obviously, this command should only be used in extreme disciplinary circumstances. See also: SET -> FROZEN #31 FRENCH Don't you know how they kiss in France?? -- try it! #1 FURNITURE COUCH CHAIR There is no object type for furniture since this is stock CircleMUD. But it can be done through trigedit. Just set the object type to OTHER and attach a trigger similar to the example below. Just change the word chair to the name you desire. Example: @RTSTAT 1399@n #0 GET TAKE "Get" and "take" are exactly the same and can be used interchangeably. Usage: get | take <object> get | take all [object] get | take all all.<object> get | take all.<object> all.<object> If you find something interesting on the ground, you may use 'get' to pick it up. 'get' can also be used to extract items from containers. Examples: > get sword corpse > get all corpse > get all all.bag > get all.bread all.bag See also: DROP, PUT #1 GIVE Usage: give <object> <victim> give <number> coins <victim> If you feel benevolent, you may give some stuff to someone in need. > give all ras > give bread doctor > give all.bronze mirlen > give 40000 coins nia #1 GLOBALS GLOBAL-VARIABLES GLOBAL-VARS GVARS Usage: global variablename * To make a variable 'reachable' from other scripts it has to be made 'global'. * In this case I make a local known var %has_bribed_guard% and make it global. * It's a good idea to use this in conjunction with context. global has_bribed_guard Used to change a variable from local to global. If a global variable is modified, this command must be used to update the global contents as well. Example: @RTSTAT 45@n See Also: VARIABLES, CONTEXT #0 GNOME Gnomes are welcome everywhere as technicians, alchemists, and inventors. Despite the demand for their skills, most gnomes prefer to remain among their own kind, living in comfortable burrows beneath rolling, wooded hills where animals abound but hunting is a very bad idea. Gnomes adore animals, beautiful gems, and jokes of all kinds. Gnomes have a great sense of humor, and while they love puns, jokes, and games, they relish tricks -- the more intricate the better. Fortunately, they apply the same dedication to more practical arts, such as engineering, as they do to their pranks. Gnomes are inquisitive. They love to find things out by personal experience. At times they're even reckless. Their curiosity makes them skilled engineers, since they are always trying new ways to build things. Sometimes a gnome pulls a prank just to see how the people involved will react. Gnomes stand about 3 to 3 1/2 feet tall and weigh 40 to 45 pounds. Their skin ranges from dark tan to woody brown, their hair is fair, and their eyes can be any shade of blue. Gnomes males prefer short, carefully trimmed beards. Gnomes generally wear leather or earth tones, and they decorate their clothes with intricate stitching or fine jewelry. Gnomes reach adulthood at about age 40, and they live about 350 years, though some can live almost 500 years. #1 GOLD Usage: gold Displays how much gold your carrying. See also: BALANCE, DEPOSIT, WITHDRAW #1 GOTO TRANS WIZTELEPORT Usage: goto <location> trans <victim> teleport <victim> <location> These commands are used to transports yourself and others to different rooms. GOTO allows you to go to other rooms; TRANS transports a person from wherever they are to the room YOU are in; TELEPORT transports your victim to some other location. For both GOTO and TELEPORT, the location specifier can be either a virtual room number, or the name of a character or object. Examples: > goto 3001 > goto rasmussen > trans fido > teleport fido 3001 > teleport fido 2.fido See also: POOFIN, POOFOUT, SET -> ROOM, WIZAT #31 GRAB HOLD Usage: grab <object> hold <object> For getting a good grip on something; a torch, for example. Examples: > hold torch > grab stone See also: EQUIPMENT, REMOVE, WEAR, WIELD #1 GROUP Usage: group [player] group all GROUP with no arguments shows the status of your group. GROUP <player> adds or removes <player> from your group. GROUP ALL adds everyone who is following you to your group. If you are a group member, then you will share experience points for killing monsters equally among the group. Experience points will only be shared among group members that are in the same location, at the time of the killing blow. Sharing is regardless of whether the group members have been participating in the fight. Group with no argument shows a list of people with whom you are grouped. "group all" groups all people who are following you. To make a group, a "leader" must be selected. All members of the group must then "follow" the leader using the follow command. The leader should NOT follow anyone at all! The leader can now toggle group membership for each player in the group, by using "group <player_name>". The leader should remember to include himself in the group. Example: Quifael and Redferne wishes to group with Dragon. Quifael : "follow dragon" Redferne: "follow dragon" (Dragon should be following no one but himself) Dragon : "group dragon" Dragon : "group redferne" Dragon : "group quifael" Later when Dragon get upset at Quifael (because he is sleeping all the time) he types : "Group Quifael" to kick Quifael out of the group. See also: EXPERIENCE, UNGROUP, XP #1 GSAY GTELL Usage: gsay <message> gtell <message> Tell something to all the members of your group, even if they're not in the room. See also: GROUP, TELL, SAY #1 GUILD The Guildhouse is the place where mortals may go to escape the troubles and perils of a cruel world. Each guild is heavily guarded, so that only members may enter the building. Guilds are also the places where people come to learn and practice the skills of their trade. See also: PRACTICE #1 HALT Usage: halt Halt terminates the trigger execution. * This script attacks players of level 20 and above. The reason for the use of * halt and return 0 is to make sure other scripts are checked too. if %actor.level% < 20 return 0 halt end %echo% %self.name% yells a Battlecry and throws himself at you. mkill %actor% Terminates the trigger execution. #0 HANDBOOK Usage: handbook Guidelines for having an Immortal character -- you should read it. #31 HARM Usage : cast 'harm' <victim> Accumulative: - Duration : Instantaneous Level : Cleric level 19. Save : Versus spell for half damage. This spell removes all but 1d4 hitpoints from the victim. The maximum number of damage points are 100. It is not possible to kill using this spell (but almost). #1 HCONTROL Usage: hcontrol build <house vnum> <exit dir> <player name> hcontrol destroy <house vnum> hcontrol pay <house vnum> hcontrol show House control, controls the addition, removal, and payments of houses. Hcontrol show will show all the houses currently defined in the game along with their last 'rent' payment date. See also: HOUSE, HOUSES #31 HEAL Usage : cast 'heal' <victim> Accumulative: No Duration : Instantaneous Level : Cleric level 16. Heal will heal all the hitpoints from a person, except 1d4 points. Maximum 100 points can be healed. A victim who is blinded will also be cured by the heal spell. See also: "CURE BLINDNESS" #1 HELP Usage: help [command] Help searches for a partial match of the entered word, including any spaces that may follow the word. Help alone will give a list of the most common commands in the game. Examples: > help magic mis will find the help text for the magic missile spell. > help mag will match 'magic user' or 'magic missile' depending on first occurrence in the help file. See also: COMMANDS, SOCIALS #1 HIDE Thieves Only. When you type hide there is a chance that you hide in the room. If hidden you can only be "sensed" by the "sense life" spell. Even if sensed your identity will remain hidden. Hide is broken by pressing return, regardless of whether you typed a command or not. Example: > hide Ok. > (you wait for ex. 5 mins and remain hidden for 5 mins) > (You pressed enter and no longer hide) See also: SNEAK #1 HOLYLIGHT Usage: holylight A toggle which allows you to see: Invisible people and objects, even if you don't have 'detect invisibility' Hidden people, even if you don't have 'sense life' Dark rooms, even if you don't have a light It is expected most immortals will keep HOLYLIGHT on most of the time; it exists so that you have the ability to see what mortals see for debugging purposes. #31 HOUSE The HOUSE command is used to add or remove guests from your house's guest list. You must be standing in your house to use this command. Only the primary owner of a house (not guests) may change the guest list using the HOUSE command. Usage: house [<player name>] Typing 'house' with no arguments gives a list of the people currently on your house's guest list. Typing 'house' with the name of a player will add that player to your guest list if the player is not on the list, or will remove the player from the guest list if the player is already on the list. The player specified must be in the player database for the MUD, although he or she does not necessarily have to be logged on at the time. Guests of your house will be able to enter your house until you remove them from the guest list. See also: HOUSES #1 HOUSES Houses have been implemented as of CircleMUD 3.0. A house entails two things: access control and crash protection. Only you and your guests will be allowed to enter the house. Your house will be crash-saved every five minutes. You can force your house to save by typing 'save' while standing in your house. In the event of a crash, the objects in your house as of the last crash-save will be loaded back into your house when the MUD reboots. Also, if you own a house, and quit from the game while standing in your house, you will be loaded into your house next time you enter the game. Guests of your house can be defined using the HOUSE command. See HOUSE for more information. Houses are an alternative to renting. You can simply enter your house and quit; your objects will drop to the ground and be crash-saved for when you return. There is currently no limit to the number of objects which can be stored in your house. Of course, players must expect to pay a much higher premium for the convenience of houses; contact your local Implementor for a fee schedule. See also: HOUSE #1 HUMAN Most humans are the descendants of pioneers, conquerors, traders, travelers, refugees, and other people on the move. As a result, human lands are a mix of people -- physically, culturally, religiously, and politically. Hardy or fine, light-skinned or dark, showy or austere, primitive or civilized, devout or impious, humans run the gamut. Humans are the most adaptable, flexible, and ambitious people among the common races. They are diverse in their tastes, morals, customs, and habits. Others accuse them of having little respect for history, but it's only natural that humans, with their relatively short life spans and constantly changing cultures, would have a shorter collective memory than dwarves, elves, gnomes, and halflings. Humans typically stand from 5 feet to a little over 6 feet tall and weight from 125 to 250 pounds, with men noticeably taller and heavier than women. Thanks to their penchant for migration and conquest, and to their short generations, humans are more physically diverse than other common races, with skin shades that run from nearly black to very pale, hair from black to blond (curly, kinky, or straight), and facial hair (for men) from sparse to thick. Plenty of humans have a dash of nonhuman blood, and they may demonstrate hints of elven, orc, or other lineages. Humans are often ostentatious or unorthodox in their grooming and dress, sporting unusual hairstyles, fanciful clothiers, tattoos, body piercings, and the like. Humans have short life spans, achieving adulthood at about age 15 and rarely living even a single century. #1 I will be posting updates for the mud here. [::Version 1::] * Prompt has been changed * Definied a max_powerlevel cap to 2,000,000,000 billion. #0 I will be posting updates for the mud here. [::Version 1::] * Prompt has been changed * Definied a max_powerlevel cap to 2,000,000,000 billion. * Added comma's #0 I will be posting updates for the mud here. [::Version 1::] * Prompt has been changed * Definied a max_powerlevel cap to 2,000,000,000 billion. * Added Commas #0 I will be posting updates for the mud here. [::Version 1::] * Prompt has been changed * Definied a max_powerlevel cap to 2,000,000,000 billion. * Medit has been changed. #0 I will be posting updates for the mud here. [::Version 1::] * Prompt has been changed * Definied a max_powerlevel cap to 2,000,000,000 billion. * Medit has been changed #0 I will be posting updates for the mud here. [::Version 1::] * Prompt has been changed * Definied a max_powerlevel cap to 2,000,000,000 billion. * Changed medit #0 IF ELSEIF END Usage: if (expression) ... elseif (expression) ... else ... end if (if %actor.vnum% == -1) %echo% You are a player else %echo% You are a mob. end An 'if' must occur before the other three. If expression evaluates to true (@RHELP EXPRESSIONS@n), the statements between the if statement and the next elseif, else, or end are executed. If it stopped at an elseif or else, it scans for the next end, and continues execution at that point. If the expression evaluated to false, it searches for the next elseif, else, or end. If it finds an elseif, it checks that expression. If it is true, it executes the statements between the elseif and the next elseif, else, or end, and then finds the end of the block. If it is false, it continues searching in the same pattern, until a true elseif is found, an else is found, or an end is found. There may be 0 or 1 else statements and 0 or many elseif statements in the block. For anyone having trouble with the format of if/elseif/else/end blocks @RTSTAT 22@n. Relsqui made this excellent example. ***EVERY IF NEEDS AN END: 2 IF'S NEEDS 2 ENDS....*** See Also: EXPRESSIONS, NESTED #0 IMOTD Usage: imotd Displays the Immortal message of the day. This file usually contains new information on commands recently added, new features and other important information that immortals should be aware of. See also: MOTD #31 IMPLEMENTOR The most powerful being in existence. #1 INFO NEWS POLICY VERSION These commands show you important information about CircleMUD. It is a good idea to read them every once in a while. info - useful information about the game for beginners news - latest changes to the code and areas policy - policies on topics like player killing credits - the people who made CircleMUD possible! version - displays the current CircleMUD version number #1 INFRAVISION Usage : cast 'infravision' Accumulative: Yes (Duration) Duration : 12 hours + level Level : Mage level 3, Cleric level 7. Allows the caster to detect the heat given off by objects giving them the ability to have much better vision in dark conditions. See also: "DETECT INVISIBILITY" #1 INN INNS CRYOGENIC CRYO RECEPTION Inns are places where the weary traveler may rest while the innkeeper looks after his equipment and treasure. Specifically, the game will save your equipment while you are logged out. There is a daily cost for renting, based on your equipment. Each item has a per diem charge. The per diem charge is calculated to the nearest second, however -- if you rent at the rate of 2400 coins per day, and you come back 39 hours later, you will be charged 3900 coins. A CRYOGENIC CENTER will store your items for a one-time charge of four days rent. Rent files are deleted if you run out of money to pay the per diem charges or after 30 days. Cryogenic-rent files are deleted after 60 days. See also: OFFER, RENT #1 INVENTORY Usage: inventory If you're uncertain about what you're carrying, or simply want to check that no thieves have got to your backpack. See also: EQUIPMENT, GRAB, HOLD, REMOVE, WEAR #1 INVIS Usage: invis [level] INVIS sets your invisibility level. With no argument, invis toggles between making you fully visible and fully invisible. If you specify a level, only people at and above the level you specify will be able to see you. Examples: > invis > invis 31 See also: VISIBLE #31 INVISIBILITY Usage : cast 'invisibility' <victim | object> Accumulative: Yes (Duration) Duration : 24 hours, permanent on objects. Level : Mage level 4. Makes the target of the spell invisible to everyone except those who have the "detect invisibility" spell. Attacking while invisible will immediately break the spell. See also: "DETECT INVISIBILITY" #1 JUNK Usage: junk <object> junk <number> coins Use JUNK instead of DROP if you want to keep the world a little cleaner. If you JUNK something, it will disappear and you'll get a few coins or experience points, just as if you had dropped it in the dump. Examples: > junk cup > junk all.bronze > junk 500 coins See also: DONATE, DROP #1 KICK Fighters only. Usage: kick <victim> The success of a kick depends upon how well you are learned. The higher level you reach the harder you kick. There is one small catch -- whenever you kick (or miss) you will be unable to type any command for three rounds of 'Violence' -- so be sure that you do not need to flee! See also: BASH, RESCUE #1 KILL HIT Usage: kill <victim> hit <victim> A good way to start a fight. Not a good idea to hit other players. See also: FLEE, WIMPY #1 KISS Well can't you guess? #1 LAST Usage: last <player_name> For checking the last time a person logged on, their sitename, and their ID number. Example: > last ras [ 24] [14 Cl] Ras : somesite.edu : Tue May 16 22:07:09 1995 See also: STAT #31 LEAVE Usage: leave If you feel claustrophobic, typing 'leave' will make you use the nearest obvious exit to the outside. #1 LEVELS Usage: levels Lists the levels of your class and the experience required to attain each level. #1 "LIGHTNING BOLT" Usage : cast 'lightning bolt' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 9. Save : Versus spell for half damage. This spell is more powerful than the shocking grasp spell. See also: "SHOCKING GRASP" #1 LINK A lot of players have problems with their links to the game. This can be very hazardous to your health in the middle of a battle, of course. I. If your link is broken, you will automatically attempt to flee each time someone attempts to hit you. If you manage to flee, then you will be saved by divine forces, and put in a safe place until you reconnect to the game. II. If your link jams (freezes), you have a problem. The only solution we can give is that you break your link as quickly as possible. By breaking the link you can hope that the above procedure is initiated. Do not try to get out of a fight by breaking link. You will be not reimbursed for any experience or equipment if you purposefully cut your link. #1 LINKS Usage : links <zone number> Lists all links from the given zone to any other zones. If no <zone number> is specified, or a '.' will display the zone you are currtenly in. See Also: #31 LIST Usage: list [item type] If you'd like to see what items a shop has for sale, take a look at the list. The list contains all of the items currently for sale and in what quantity. The price for each item is also listed. If you are interested in a particular type of item, you can specify which items to list. Examples: > list (list all items for sale) > list sword (list all swords for sale) See also: BUY, SELL, SHOPS, VALUE #1 LOAD Usage: load <mob | obj> <virtual number> LOAD is used to create mobiles and objects. The first argument specifies if you are trying to load a mobile or an object; the second is the virtual number. Example: > load obj 3099 You create a bulletin board. > load mob 3005 You create the receptionist. See also: VNUM #31 "LOCATE OBJECT" Usage : cast 'locate object' <object> Accumulative: - Duration : Instantaneous Level : Mage level 6. If possible you will know exactly where an object is, or the name of the person using it. If more than one object by the same name exists, you will get a listing of several objects. The maximum number of objects you can simultaneously locate is your level divided by 2. #1 LOOK Usage: look look [in | at] [the] <item> look <direction> For studying your surroundings. Examples: > look > look AT the angel > look IN the bag > look south (May give some information as to what is south) Note that if you LOOK AT CORPSE you will not see its inventory. To see what's inside a container (i.e. a corpse) use LOOK IN <object>. See also: EXAMINE, GET, READ, TAKE #1 "MAGIC MISSILE" Usage : cast 'magic missile' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 1. Save : Versus spell for half damage. Causes a bolt of magical energy to be thrown from the casters hands at the victim. #1 "MAGIC USER" WIZARD MAGE This is the class of powerful and violent magic, but the magic user do not control the nature, and can therefore not bless and such. You can improve your spells by using the practice command. See 'help spells' for a list of spells available. See also: PRACTICE, SPELLS #1 MAKEUID VAREXISTS %VAREXISTS% %EXISTS% EXISTS Usage: makeuid variable id * We have one mob giving a quest. This mob sets the targets id as a global on * the player via the 'remote' command, like this: eval quest_object %obj.id% remote quest_object %actor.id% * We then have another mob receiving the quest object, with the following script. if !(%actor.varexists(quest_object)%) return 0 halt end * now we know the player has a quest_object variable makeuid obj %actor.quest_object% say Have you brought me %obj.shortdesc%, %actor.name% ? say You must bring it to me to complete your quest, you know. Creates a new variable with the name given, whose contents shall be suitable for referring to a character, object, or room whose id is provided. #0 MANA Mana is used when casting spells. You must have a certain amount of mana in order to cast any particular spell. If you do not have enough mana to cast the spell you must rest until you gain enough points to cast. See also: SPELLS #1 MEDIT Usage: medit <mob vnum> This is used to create or modify a mobile. See Also: OASIS OASIS-EDIT MLIST #1 MEDIT-AFF-FLAGS AFFECTIONS AFFECTS M) AFF Flags : @cNOBITS@n 1) BLIND Mob is blind. 2) INVIS Mob is invisible. 3) DET-ALIGN Mob is sensitive to the alignment of others. 4) DET-INVIS Mob can see invisible characters and objects. 5) DET-MAGIC Mob is sensitive to magical presence. 6) SENSE-LIFE Mob can sense hidden life. 7) WATWALK Mob can traverse unswimmable water sectors. 8) SANCT Mob is protected by sanctuary (takes half damage). 9) GROUP Reserved for internal use. Do not set. 10) CURSE Mob is cursed. 11) INFRA Mob can see in dark. 12) POISON Mob is poisoned. 13) PROT-EVIL Mob is protected from evil characters. 14) PROT-GOOD Mob is protected from good characters. 15) SLEEP Reserved for internal use. Do not set. 16) NO_TRACK Mob cannot be tracked. 17) UNUSED Unused (room for future expansion). 18) UNUSED Unused (room for future expansion). 19) SNEAK Mob can move quietly without room being informed. 20) HIDE Mob is hidden; can only be seen with sense life. 21) UNUSED Unused (room for future expansion). 22) CHARM Reserved for internal use. Do not set. See Also: MEDIT-NPC-FLAGS #0 MFORGET MREMEMBER %FORGET% %REMEMBER% mremember <victim> [command] The victim is placed into this mobile's memory list. The next time the victim is seen by the mobile, the mobile will perform command if set, or execute the memory trigger if no command was provided. When the command is carried out or the script executed, the victim is forgotten. NOTE: Any mob using the mremeber command MUST have a MEMORY trigger attached. It doesn't matter if the Memory trigger is never called (Narg 0). Only Mobs may use mremember. mforget <victim> Remove victim from this mobile's memory list. Example: @RTSTAT 74@n @RTSTAT 75@n #0 MGOTO %GOTO% %goto% <target> This command moves the mob to the given target. The target may be an object, room, or character, as long as it is not in a private room occupied with two or more characters, or god room. No message is given. %goto% 1233 %goto% Rumble %goto% fountain #0 MHUNT %HUNT% HUNT mhunt <victim> The mobile will begin to hunt for victim, and engage in combat upon finding them. Only Mobiles may use this command. Hunting mobs will walk through NOMOB rooms. *mobs do not currently engage upon finding, it is bugged. Examples: @RTSTAT 41, 202, 19596, 19695@n #0 MIDGAARD MAP Temple Altar | | Reading -- Temple -- Donations Room of Midgaard Post Reception | Office / Cleric | | / Guild----Temple Square----Grunting---Bar (Fountain) Boar Inn Magic | Shop Bakery | Grocer Weaponsmith | | | | | East <---West-----+------+----Market----+--------+--------Gate---> Gate | | Square | | | | Mage Armory | Pet Warrior Wally's (Wall Guild | Shop Guild World of Water Road) | | | Uncle Juans's | | | +-(Poor-Alley)-+----Square----+(Dark-Alley)-------+ | | | | | | | Grubby | Thieves Levee Warehouse | Inn | Guild | (Wall Dump | Road) Sewers/ | | | | Midgaard <=== [Bridge] =============================== River =============> | | +(Concourse)+------------+-------------+----------+ | | | | | | + +----Cafe +---Penny | | | Park--v | | Lane | | City | +--+--+ | | | Guard----+----+----+--o--+-----+----+---City | | HQ | | Hall | | + +--(Emerald)--+ | (Concourse) | | (Concourse) | +------(Park-+-Road)-------+ | | | | | | +--(Emerald)-+ +---Elm | | | | Street | | + + | | | | | +-----------+------(Concourse)---------+----------+ | Graveyard Entrance #1 MJUNK %JUNK% mjunk <object | all> The object in the mob's inventory specified is removed from the game. 'Mjunk all' removes all of the objects in the mob's inventory. No message is sent by this command. Only mobs may use this command. #0 MLIST Usage: mlist mlist . mlist <zone> mlist <start room> <end room> This provides a list of mobiles, giving the mob vnum, name and mob level. When called without any parameters, or by "mlist .", all mobs in the zone you are currently in will be listed. Alternatively, you can specify a particular zone number, and all mobs in that zone will be listed, or a minimum and maximum mob vnum, and all mobs in that range will be listed. See Also : OASIS MEDIT #1 MOB-TRIGGERS MOBILE-TRIGGERS TRIGEDIT-MOB-TYPES 1) Global @RHELP TRIGEDIT-MOB-GLOBAL@n 2) Random @RHELP TRIGEDIT-MOB-RANDOM@n 3) Command @RHELP TRIGEDIT-MOB-COMMAND@n 4) Speech @RHELP TRIGEDIT-MOB-SPEECH@n 5) Act @RHELP TRIGEDIT-MOB-ACT@n 6) Death @RHELP TRIGEDIT-MOB-DEATH@n 7) Greet @RHELP TRIGEDIT-MOB-GREET@n 8) Greet-All @RHELP TRIGEDIT-MOB-GREET-ALL@n 9) Entry @RHELP TRIGEDIT-MOB-ENTRY@n 10) Receive @RHELP TRIGEDIT-MOB-RECEIVE@n 11) Fight @RHELP TRIGEDIT-MOB-FIGHT@n 12) HitPrcnt @RHELP TRIGEDIT-MOB-HITPRCNT@n 13) Bribe @RHELP TRIGEDIT-MOB-BRIBE@n 14) Load @RHELP TRIGEDIT-MOB-LOAD@n 15) Memory @RHELP TRIGEDIT-MOB-MEMORY@n 16) Cast @RHELP TRIGEDIT-MOB-CAST@n 17) Leave @RHELP TRIGEDIT-MOB-LEAVE@n 18) Door @RHELP TRIGEDIT-MOB-DOOR@n #0 MOTD Usage: motd Displays the message of the day. Contains important information regarding the status of the MUD. You should be sure to read it when you login. If you miss it at login, just use this command! #1 MUDCOMMAND CMD.MUDCOMMAND %CMD.MUDCOMMAND% %MUDCOMMAND% Used to match text to existing commands in the MUD. This will also match any abbreviations. * check for command sit with arg chair. Also matching any abbreviations. if %cmd.mudcommand% == sit && chair /= %arg% && %arg% Examples: @RTSTAT 81 TSTAT 52 TSTAT 62@n #0 MURDER Usage: murder <victim> Kill command to hit another player. To avoid accidental flagging (i.e. trying to type "kiss Nia" but accidentally typing "kill Nia"). Note that it is illegal to kill other players. If you try you will get a KILLER flag. If you are flagged as a killer, you are unable to do damage and other players will be allowed to use the MURDER command to kill you without being flagged themselves. See also: FLAGS #1 MUTE Usage: mute <victim> MUTE is used to shut a player up. When muted, a player will not be able to use most communication channels until he/she is unmuted. See also: FLAGS #31 NESTED-IFS A nested if is an if statement contained within another if or if...else statement. Nested if's allow the creation of a decision tree or flow chart of events with multiple conclusions. Always use /f to format and indent your trigger. This will warn you if you do not have the correct number of ifs to ends. @RWARNING:@n multiple unmatched if/ends will crash us. Make sure everything lines up with /f before you test. Example: @RTSTAT 1490, 41000@n #0 NOHASSLE Usage: nohassle Toggles a flag to prevent aggressive monsters from attacking. #31 NOP Almost a no-operation. Certain variable/subfield combinations for characters change some attribute about the character. nop allows those changes to be used legally on lines that do not need to process the result. * this will award the actor with 10 gold nop %actor.gold(10)% * this awards 10 experience nop %actor.exp(10)% Here is a workaround to use a variable: *nop workaround eval making %%self.gold(%coins%)%% nop %making% #0 NOREPEAT Usage: norepeat This command toggles whether or not you see your communication echoed back to you (i.e., from commands such as SAY, SHOUT, HOLLER, GOSSIP, etc.) Useful if you have a slow connection or if it just annoys you. See also: TOGGLE #1 NORTH SOUTH EAST WEST UP DOWN Usage: north south east west up down To travel in a given direction. #1 NOSHOUT Usage: noshout NOSHOUT toggles whether or not you hear shouts. (deaf) will appear after your name in the WHO list. See also: FLAGS, HOLLER, SHOUT, TOGGLE, WHO #1 NOSUMMON Usage: nosummon Due to problems we've had with players killing other players by summoning them to Bad Places, all characters now have SUMMON PROTECTION turned on by default. This prevents people from summoning you and gives you a warning message if someone tries. If you want to let someone summon you (i.e. if someone wants to summon you for a legitimate reason), type NOSUMMON to turn off summon protection. You can then type NOSUMMON again to turn protection back on. See also: SUMMON, TOGGLE #1 NOTELL Usage: notell Use NOTELL if you wish to prevent other players from using "tell" to communicate with you. (notell) will appear after your name in the WHO list if you have notell on. See also: FLAGS, TELL, TOGGLE, WHO #1 NOTITLE Usage: notitle <vicitim> Prevent players from being able to set their own titles; i.e., if the player consistently has an offensive title. The definition of offensive is left as an exercise for the reader. See also: TITLE #31 NOWIZ Usage: nowiz Allows you to hear or ignore messages coming over the wiznet. See also: WIZNET #31 NUMERIC-ARGUMENTS NUMARG NARG TRIGEDIT-NUMERIC-ARGUMENTS TRIGEDIT-ARGUMENTS 4) Numeric Arg : @y100@n 5) Arguments : Dependant on the trigger type, these values will mean different things. For instance, if you've decided to use a hitpcnt trigger, the numeric Arg is the percent a mobs hit points have to fall to, before the trigger is activated, and the command list is executed. #0 OASIS OasisOLC is the name given to a set of on line editing tools that can be used by authorized players to examine, change and create the various world entities that make up the Mud environment. It is referred to as "on line" creation because it allows people to create and edit things while the mud is running, or on line. This is opposed to the traditional method of editing the various text files that comprise the mud "world" using various off-line editors (typically vi or emacs), and the restarting the mud so that the updated files are reloaded. Categories of Oasis Commands ---------------------------- 1) Commands to examine the existing mud operation. These are the [x]list commands, that can be used to view a range of world objects, and give a summary of their descriptions. The actual commands are: astat - Actions (socials) status rlist - List Rooms mlist - List Mobiles slist - List Shops olist - List Objects zlist - List Zones 2) Commands to change or create entities and mud operation values. The commands are: aedit - Actions (socials) editor redit - Room editor cedit - Configuration editor sedit - Shop editor medit - Mobile editor tedit - Text file editor oedit - Object editor zedit - Zone editor 3) Miscellaneous commands. buildwalk - Create rooms by walking around dig - Open exits between two rooms rclone - Create a copy of a room Using the Editing Commands -------------------------- All of the edit commands are menu driven. See OASIS-EDIT for general instructions on how the menu interface works. Granting Access to Oasis Commands --------------------------------- Access to the Oasis commands are controlled through a number of means. Of course, the master command list (in interpreter.c) specifies the minimum level for a player to call the command. This is typically set to either LVL_BUILDER, or LVL_GOD. A few commands are restricted to the implementor. A player can always edit a zone and its contents if their name is in the zone builders list (see ZEDIT for more information). Finally, a player may be granted OLC rights to a specific zone by means of the "set" command, using "set <player> olc <zone>". The implementor has unfettered access to all Oasis commands. External Documentation ---------------------- Refer to "The CircleMUD Builder's Manual" that is shipped with the CircleMUD distrobution, as this provides considerable invaluable information that is essential to anyone building on a mud, whether off-line or using Oasis. The main reference documentation for OasisOLC can be found at: http://dgstripts.n3.net/ See Also: OASIS-EDIT ASTAT MLIST OLIST RLIST SLIST ZLIST AEDIT CEDIT MEDIT OEDIT REDIT SEDIT TEDIT ZEDIT BUILDWALK DIG RCLONE #1 OASIS-EDIT The OasisOLC edit programs make use of a menu interface, and each of the various commands has a similar appearance. Each attribute of the thing you are editing is listed, with a menu number against it. These numbers start from the number 1, run through the digits to 9, then use the letters A onwards. You enter the number (or letter) corresponding to the item you wish to change. Some menu items will lead to sub-menus, for example setting various bit fields. In general, the letter "Q" will quit (with the option to save) the menu level you are currently at, although some sub-menus use the number "0" to leave the menu. Types of Menu Items ------------------- 1) Single value items. These correspond to attributes that have a single value or a simple list. For example, a room name, an object's weight, or the lsit of aliases for a mobile. Enter the value(s) and press the return key. 2) Long text fields. This corresponds to a multi-line text string, such as a room's description. This makes use of the "enhanced edit" text editor. Use the "/h" command in the editor to see the various options. 3) Multi-value fields. This is a menu item where you have to enter several values, such as an object's value flags, where there can be up to four values that you have to enter. Each value will have its own prompt, so enter the value as directed by the prompt, and press the return key. 4) Bit string fields. This menu item goes to a sub-menu, with all of the possible bit values listed. You can select as many values as you wish, with each menu number on this sub-menu toggling its corresponding flag on and off. Use the menu item "0" once you have set all the flags you require to return to the top menu. 5) Multiple choice fields. This is where the attribute has one of a number of possible values, such as an object's type or a room's sector type. The sub-menu will list all the possible values, so to choose the value you want, enter the menu item number that corresponds to the particular choice you want. This is unliek the bit string field, in that once you make a choice, that value is recorded and you are returned to the upper menu. 6) Sub menus. Selecting this menu option takes you to a sub-menu where a new set of menu items are listed. Once you have finished working at this sub-menu level, generally 0 or Q will return you to the upper menu. Saving Your Changes ------------------- If you have changed the thing you are working on in any way, taking the "Q" option from the top-most menu will save the object, if you respond with a "Y" at the save object prompt. See Also: OASIS #1 OBJ-TRIGGERS OBJECT-TRIGGERS TRIGEDIT-OBJ-TYPES 1) Global @RHELP TRIGEDIT-OBJ-GLOBAL@n 2) Random @RHELP TRIGEDIT-OBJ-RANDOM@n 3) Command @RHELP TRIGEDIT-OBJ-COMMAND@n 6) Timer @RHELP TRIGEDIT-OBJ-TIMER@n 7) Get @RHELP TRIGEDIT-OBJ-GET@n 8) Drop @RHELP TRIGEDIT-OBJ-DROP@n 9) Give @RHELP TRIGEDIT-OBJ-GIVE@n 10) Wear @RHELP TRIGEDIT-OBJ-WEAR@n 12) Remove @RHELP TRIGEDIT-OBJ-REMOVE@n 14) Load @RHELP TRIGEDIT-OBJ-LOAD@n 17) Leave @RHELP TRIGEDIT-OBJ-LEAVE@n #0 OEDIT Usage: oedit <object vnum> This is used to create or modify an object. See Also: OASIS OASIS-EDIT OLIST #1 OFFER RENT Usage: offer rent For use in the receptions of inns. Offer makes the innkeeper tell you the cost of storing your belongings for one day. Rent stores you belongings and exits you from the game. When you re-enter, you will start where you rented. There is a daily charge for rent. You may store your things at the CRYOGENIC CENTER for a one-time charge of four days rent. See INNS for details on the rent policy. See also: CRYOGENIC, INN, RECEPTION #1 OLC Usage: olc { . | set | show | obj | mob | room} [args] .: Repeat last modification command set: Set OLC characteristics show: Show OLC characteristics obj: Modify an object mob: Modify a mob room: Modify a room OnLine Creation. A feature which will eventually allow the creation of areas ONLINE, without having to reboot the system. See also: SHOW->ZONES, ZRESET #31 OLIST Usage: olist olist . olist <zone> olist <start room> <end room> This provides a list of objects, giving the obj vnum, name and object type. When called without any parameters, or by "olist .", all objects in the zone you are currently in will be listed. Alternatively, you can specify a particular zone number, and all objects in that zone will be listed, or a minimum and maximum object vnum, and all objects in that range will be listed. See Also : OASIS OEDIT #1 OPEN CLOSE LOCK UNLOCK Usage: open | close | lock | unlock <door> [direction] To open, close, lock, and unlock doors, of course. Examples: > open portal > lock door > unlock door south > close gate See also: ENTER, LEAVE #1 ORDER Usage: order <character> <command> order followers <command> Used for ordering pets and charmed people to do your evil bidding. You can order everyone under your command with "order followers". Examples: > order puppy eat bread > order cityguard sleep See also: CHARM #1 OSETVAL %SETVAL% osetval <position> <value> Osetval lets you alter the object values of an object. The meaning of the values depends on the object type (@RHELP OEDIT-VALUES@n). #0 OTIMER %TIMER% otimer <value> Set the countdown timer of this object to value. Useful for objects with timer triggers. #0 PAGE Usage: page <player | all> <message> PAGE is used to send a message, along with a beep, to another player. Use PAGE ALL to send a message and a beep to everyone in the game. Examples: > page rasmussen Hey, are you still at the keyboard? > page all GAME WILL BE SHUTTING DOWN IN 10 MINUTES Do not abuse this command. #31 PARDON Usage: pardon <victim> Removes killer and thief flags from a player. #31 "PICK LOCKS" Thieves only. Usage: pick <lock name> [direction] For picking locks. Not all locks can be picked. Examples: > pick door south > pick safe See Also : OPEN, CLOSE, LOCK, UNLOCK #1 POISON Usage : cast 'poison' <victim | food | drink> Accumulative: Yes on persons. Duration : Level hours, or permanent on food and drinks. Level : Cleric Level 8, Mage level 14. Casting poison on food or drink (containers) will poison it. Eating poisoned food/drinks will poison the person eating or drinking. A person who is poisoned will suffer damage every hour, lose strength, and gain less points than usual. See also: "REMOVE POISON", "DETECT POISON" #1 POOFIN POOFOUT Usage: poofin <message> poofout <message> Sets the message seen by players when you use GOTO to move to a different room. POOFIN with no argument resets your poofin to the default "appears with an ear-splitting bang"; POOFOUT with no argument defaults to "disappears in a puff of smoke." See also: GOTO #31 POUR Usage: pour <from container> <to container> pour <from container> out If you want to pour some liquid from one container to another. Pouring out simply empties the contents of the container onto the ground. Examples: > pour canteen cup > pour cup out See also: FILL #1 PRACTICE PRACTISE Usage: practice [skill or spell name] Practice is the way you improve your spells and skills. You can only do so in your guild, where your guildmaster can help you train. Type "practice <skill>" to improve your abilities while in your guild. You can only practice a certain amount for each level you gain. Unused practice sessions will accumulate for use in future levels. If you type practice anywhere other than in your guild, you will get a list of all of the spells and skills you know and your level of proficiency at each. #1 "PROTECTION FROM EVIL" Usage : cast 'protection from evil' [self] Accumulative: Yes (Duration) Duration : 24 hours Level : Cleric level 8. The meaning of this spell is not yet fully defined. #1 PURGE Usage: purge [name] Purge destroys things. If used with no arguments, it will clear a room of all mobiles and objects, but will not harm players. If the argument is an object, that object (and all of its contents, if any) will be destroyed. If the argument is a mobile, the mobile will be destroyed, leaving its inventory and equipment lying on the ground. If the argument is the name of a player, the player's inventory and equipment will drop on the ground and the player will lose his/her connection. For this reason, PURGE should only be used on players in disciplinary situations. Examples: > purge > purge Pom > purge sword > purge dragon See also: DC #31 PUT Usage: put <item> <container> put all.<item> <container> put all <container> For putting items into containers. Examples: > put bread bag > put all.bread bag > put all chest See also: GET #1 QSAY Usage: qsay <message> To tell something to everyone on the current Quest. See also: QUEST #1 QUAFF POTION POTIONS Usage: quaff <potion> Quaff is used to "drink" a (magical) potion. The magic will take effect immediately, for better or for worse... #1 QUEST Usage: quest This simple toggle command merely informs the Powers that Be that you wish to participate in the currently running Quest. If an immortal is running a Quest and needs to know who wishes to participate, he/she will ask players to turn on their Quest flags using this QUEST command if they are interested in the Quest. It also allows you to listen in on the quest channel and receive information specific to the quest. See also: QSAY #1 QUI SHUTDOW Just to prevent accidental quittings and/or shutdowns. This command doesn't DO anything, it simply is. Note to immortals: If you type QUI, you will quit and all your items will drop to the ground. See also: QUIT #1 QUIT When you get tired of playing, you can leave the game by typing 'quit'. Note that quitting this way may cause any items you might be carrying to simply be left on the ground (Dependant upon how the game is currently configured). If you wish to have your equipment stored, you may have to find an inn and pay rent. See also: INN, OFFER, RENT #1 RANDOM-TIMING TIMING Since random triggers fire every 13 seconds you can set how often the trigger fires by modifying numeric arg to the following values: 1% = 22 minutes 2% = 11 minutes 5% = 4 minutes 10% = 2 minutes 20% = 1 minute 50% = 26 seconds 100% = 13 seconds See Also: TRIGEDIT-OBJ-RANDOM, TRIGEDIT-MOB-RANDOM, TRIGEDIT-ROOM-RANDOM #0 RCLONE Usage: rclone <room vnum> This command will create a new room with the provided vnum that is an exact copy of the current room. This includes all exits, room flags and extra descriptions. See Also: OASIS BUILDWALK DIG REDIT #1 RDELETE Usage: rdelete variable id * This is used to remove a variable say Thank you, %actor.name% - your quest is completed. rdelete quest_object %actor.id% Delete a remote variable from the script referred to by the id of its owner. See Also: VDELETE, REMOTE #0 READ Usage: read <object> read <board message number> When you want to read something. READ is also used to read messages on bulletin boards; type HELP BOARDS for more information. Example: > read note See also: BOARDS #1 RECITE SCROLL SCROLLS Usage: recite <scroll> [Target] Is used to "read" a magical scroll. Target can be an object, character or nothing (which may be yourself). See also: SPELLS #1 REDIT Usage: redit [<room vnum>] This is used to create or modify a room. When called without a room vnum, it will modify the room you are currently in. See Also: OASIS OASIS-EDIT RLIST BUILDWALK DIG RCLONE #1 RELOAD Usage: reload < '*' | all | file > Reload is used to reload text files such as the MOTD from disk into memory. reload * reloads all the text files below. Valid files are: background (/mud_dir/lib/text/background) credits (/mud_dir/lib/text/credits) greetings (/mud_dir/lib/text/greetings) handbook (/mud_dir/lib/text/handbook) help (/mud_dir/lib/text/help) immlist (/mud_dir/lib/text/immlist) imotd (/mud_dir/lib/text/imotd) news (/mud_dir/lib/text/news) motd (/mud_dir/lib/text/motd) info (/mud_dir/lib/text/info) policy (/mud_dir/lib/text/policies) wizlist (/mud_dir/lib/text/wizlist) xhelp (/mud_dir/lib/text/help/*) #31 REMOTE Usage: remote <variable> <id> Remoting a variable saves that variable to the player file for future access. This is used heavily for quests to limit a player to only performing it once. Here is a quick example from zone 14. The variable must first be set and then saved to the players file via remote, like: * setting the variable to 1 means completed. set solved_example_quest_zone_14 1 remote solved_example_quest_zone_14 %actor.id% Then in future triggers it is checked if that variable already exists in the player file. In this example, if it does the player is not allowed to continue. <variable> should always be a unique name. I suggest always including zone #. <id> can be any value or text you wish to use later. Create a global variable belonging to a character or player whose id is specified. The variable must first exist in the script that is running. For more examples go through the trigedit hallway. Examples: @RTSTAT 1409-1411, 23612-23614@n See Also: RDELETE, VDELETE, TRIG-SET, CONTEXT #0 REMOVE Usage: remove <item> remove all remove all.<keyword> If you tire of wearing some armor or wielding a weapon. Examples: > remove boots > remove sword > remove all > remove all.bronze See also: GRAB, HOLD, WEAR, WIELD #1 "REMOVE CURSE" Usage : cast 'remove curse' <victim | object> Accumulative: No Duration : Instantaneous Level : Cleric level 26. Will remove a curse on carried objects or any persons in the room. #1 "REMOVE POISON" Usage : cast 'remove poison' <victim | food | drink> Accumulative: No Duration : Instantaneous Level : Cleric level 10. Will remove the affects of poison from a victim or an object. See also: POISON #1 REPLY Usage: reply <message> This command will send a reply to the last person to send you a message using TELL. It works just as if you had typed 'tell <player> <message>' but makes it a bit easier. It can also be very useful in case someone invisible sends you a message. Example: Ras tells you, 'Hi!' > reply hey You tell Ras, 'hey' > Someone tells you, 'I am your secret admirer.' > reply Who are you? You tell someone, 'Who are you?' See also: TELL, NOTELL #1 REPORT Usage: report This command sends a report of your current health to the other people in your group. #1 REROLL Usage: reroll <player> REROLL gives a player new stats (i.e., Str, Int, Wis, Dex, Con, and Cha) See also: STAT #31 RESCUE Fighters Only. Usage: rescue <victim> This command is useful if you want to try and make an attacker hit you instead of your poor friend who is being pummeled. You can only 'turn' one monster for each rescue attempt. This is very useful when playing in groups, of course. Example: > rescue Yankee #1 RESTORE Usage: restore <player | mobile> RESTORE restores a player or mobile to full hit, mana, and movement points. If used on immortals, it also sets all skill levels to 100%. #31 RETURN Usage: return RETURN returns you to your regular body if you are switched into a mob. See also: SWITCH #31 ROOM-TRIGGERS TRIGEDIT-ROOM-TYPES 1) Global @RHELP TRIGEDIT-ROOM-GLOBAL@n 2) Random @RHELP TRIGEDIT-ROOM-RANDOM@n 3) Command @RHELP TRIGEDIT-ROOM-COMMAND@n 4) Speech @RHELP TRIGEDIT-ROOM-SPEECH@n 6) Zone Reset @RHELP TRIGEDIT-ROOM-ZONE@n 7) Enter @RHELP TRIGEDIT-ROOM-ENTER@n 8) Drop @RHELP TRIGEDIT-ROOM-DROP@n 16) Cast @RHELP TRIGEDIT-ROOM-CAST@n 17) Leave @RHELP TRIGEDIT-ROOM-LEAVE@n 18) Door @RHELP TRIGEDIT-ROOM-DOOR@n #0 ROOMFLAGS Usage: roomflags Toggles a flag which causes the virtual room number and room flags, if any, to be displayed next to room names. #31 SANCTUARY Usage : cast 'sanctuary' [self] Accumulative: Yes (Duration) Duration : 4 hours Level : Cleric level 15. When protected by sanctuary you will only receive 1/2 the normal damage caused by a particular blow. See also: ARMOR, BLESS #1 SAVE Usage: save Save your persona. This includes experience points, strength, gold, etc. Your equipment is also saved in the (unlikely?) event of a crash. The game periodically auto-saves you and your equipment, so it is not necessary to have your client auto-save you as well. You CANNOT load a saved version if you die -- your persona still exists, but you will lose experience, and all your objects stay in the game, with your corpse. Note that the SAVE command only saves your equipment in the event of a crash. If you are leaving the game normally, SAVE will NOT save your equipment -- you must find an Inn to store your belongings. See also: INN, RENT #1 SAY TELL ASK WHISPER SHOUT YELL HOLLER ' Usage: say | shout | holler <string> tell | whisper | ask <player> <string> If you consider communicating with other beings, you might be understood better if you start your sentences with either say, tell, whisper or shout. Examples: > say Hey, does anyone know how to get to Oz? > tell catje hi, how are you? You can use ' as a shorthand for say, as in: > ' hello there. Shout broadcasts your message to everyone is your geographic zone. Holler broadcasts to everyone in the game but costs 20 movement points. You must be level 2 before you can use shout and yell. See also: AUCTION, GOSSIP, GSAY, NOREPEAT, QSAY, REPLY #1 SCORE Usage: score Provides useful information on your status such as age, hit points, mana, movement points, armor class, alignment, experience points, gold on hand, how long you've been playing, and your level. See also: AC, EXPERIENCE #1 SEDIT Usage: sedit <shop vnum> This is used to create or modify an existing shop. See Also: OASIS OASIS-EDIT SLIST #1 SELL Usage: sell [#] <item> sell <#>.<item> If you'd like to sell an item to a shopkeeper, trying selling it to them. Most shops specialize in what they will buy, so you may have to look around to find a buyer for your items. Examples: > sell sword (sell the first sword in your inventory) > sell 3 sword (sell the first three swords in your inventory) See also: BUY, LIST, SHOPS, VALUE #1 "SENSE LIFE" Usage : cast 'sense life' Accumulative: Yes (Duration) Duration : Level hours. Level : Cleric level 5, Mage level 17. Allows the caster to sense the presence of a player or monster in the room which is hiding. The true identity will remain hidden however. Invisible persons are also considered hidden. See also: HIDE #1 SET Usage: set [ file | player ] <character> <field> <value> SET is an extremely powerful command, capable of setting dozens of aspects of characters, both players and mobiles. SET PLAYER forces set to look for a player and not a mobile; useful for players with names such as 'guard'. SET FILE lets you change players who are not logged on. If you use SET FILE on a player who IS logged on, your change will be lost. If you wish to set a player who is in the game but is linkless, use set twice -- once with the FILE argument, and once without -- to make sure that the change takes. For toggled fields (BINARY), the value must be ON, OFF, YES, or NO. The following are valid fields: Field Level Required Who Value Type Decription ----------------------------------------------------------------------------- age LVL_GRGOD BOTH NUMBER Character's age brief LVL_GOD PC BINARY Brief mode invstart LVL_GOD PC BINARY Invisible @ Start title LVL_GOD PC MISC Player's title nosummon LVL_GRGOD PC BINARY NOSUMMON flag maxhit LVL_GRGOD BOTH NUMBER Max HP maxmana LVL_GRGOD BOTH NUMBER Max mana maxmove LVL_GRGOD BOTH NUMBER Max movement hit LVL_GRGOD BOTH NUMBER Current HP mana LVL_GRGOD BOTH NUMBER Current mana move LVL_GRGOD BOTH NUMBER Current movement align LVL_GOD BOTH NUMBER Alignment str LVL_GRGOD BOTH NUMBER Strength stradd LVL_GRGOD BOTH NUMBER Additional STR (18/xx) int LVL_GRGOD BOTH NUMBER Inteligence wis LVL_GRGOD BOTH NUMBER Wisdom dex LVL_GRGOD BOTH NUMBER Dexterity con LVL_GRGOD BOTH NUMBER Constitution cha LVL_GRGOD BOTH NUMBER Charisma sex LVL_GRGOD BOTH MISC Sex ac LVL_GRGOD BOTH NUMBER Armor class gold LVL_GOD BOTH NUMBER Gold (On hand) bank LVL_GOD PC NUMBER Gold in bank exp LVL_GRGOD BOTH NUMBER Experience points hitroll LVL_GRGOD BOTH NUMBER To-Hit modifier damroll LVL_GRGOD BOTH NUMBER Damage modifier invis LVL_IMPL PC NUMBER Invisible (level) nohassle LVL_GRGOD PC BINARY NOHASSLE flag frozen LVL_FREEZE PC BINARY FROZEN flag practices LVL_GRGOD PC NUMBER # of practices lessons LVL_GRGOD PC NUMBER # of practices drunk LVL_GRGOD BOTH MISC Drunkeness hunger LVL_GRGOD BOTH MISC Hrs to hunger thirst LVL_GRGOD BOTH MISC Hrs to thirst killer LVL_GOD PC BINARY KILLER flag thief LVL_GOD PC BINARY THIEF flag level LVL_IMPL BOTH NUMBER Level room LVL_IMPL BOTH NUMBER Move to room roomflag LVL_GRGOD PC BINARY ROOMFLAGS flag siteok LVL_GRGOD PC BINARY SITEOK flag deleted LVL_IMPL PC BINARY DELETED flag class LVL_GRGOD BOTH MISC Class (W/T/C/M) nowizlist LVL_GOD PC BINARY Not Wizlistable flag quest LVL_GOD PC BINARY QUESTING flag loadroom LVL_GRGOD PC MISC Room to load in (#/off) color LVL_GOD PC BINARY COLOR flag idnum LVL_IMPL PC NUMBER ID Number passwd LVL_IMPL PC MISC Player password nodelete LVL_GOD PC BINARY Undeletable flag See also: STAT #31 "SHOCKING GRASP" Usage : cast 'shocking grasp' <victim> Accumulative: - Duration : Instantaneous Level : Mage level 7. Save : Versus spell for half damage. This spell is more powerful than the burning hands spell. See also: "BURNING HANDS" #1 SHOPS Shops are places where the adventurer may purchase equipment for his quests, and where he may sell his treasure if he should manage to survive the perils with his life and sanity intact. Many shops trade only in a specific type of merchandise. Thus, a baker may well refuse to buy your armor, even if it is of high quality! To some people, the prospect of obtaining the entire inventory of a shop by murdering the keeper may appear tempting - but beware: The shopkeepers are often rugged, capable men; roughened by years of trading and, indeed, surviving in a world where the only safe prospect is death in the end. See also: BUY, SELL, LIST, VALUE #1 SHOW Usage: show <mode> [argument] Valid Modes: death errors godrooms houses player rent shops stats zones The SHOW command displays information. Some modes of show require additional information, such as a player name. death: Shows all death traps in the game. errors: Shows errant rooms. godrooms: Shows the rooms in the 'god zone'. houses: Shows the houses that are currently defined. player: Shows player summary information, simply provide a player name. rent: Shows the filename and path to a players rent file. shops: Shows all the shops in the game and their buy/sell parameters. stats: Shows game status information including players in game, mobs etc. zones: Shows all the zones in the game and their current reset status. An age of -1 means it is in the 'to be reset next' queue. See also: STAT, ZRESET #31 SHUTDOWN Usage: shutdown [reboot | die | pause] SHUTDOWN shuts the MUD down. The SHUTDOWN command works in conjunction with CircleMUD's 'autorun' script. If you are not using autorun, the arguments are meaningless. If you are using autorun, the following arguments are available: REBOOT Pause only 5 seconds instead of the normal 40 before trying to restart the MUD. DIE Kill the autorun script; the MUD will not reboot until autorun is explicitly run again. PAUSE Create a file called 'paused' in Circle's root directory; do not try to restart the MUD until 'paused' is removed. #31 SKILLSET Usage: skillset <name> '<skill>' <value> Sets the specified skill to the specified value. See also: SET #31 SLEEP SLEEP is both a command and the name of a spell. The SLEEP command puts you to sleep, allowing you to regain your health more quickly. You will be largely unaware of your surroundings while asleep. You can awaken yourself with the WAKE command. The SLEEP spell forces the victim into a magical sleep such that they cannot be awakened until the spell wears off. Usage : cast 'sleep' <victim> Accumulative: Yes (Duration) Duration : 4 hours + level/4 Level : Mage level 8. If failing saving throw versus spell, the person will fall asleep. A person who is affected by sleep can only be awakened if attacked. See also: WAKE #1 SLIST Usage: slist slist . slist <zone> slist <start room> <end room> This provides a list of shops, giving the shop vnum, rnum and the room vnum(s) that the shop is located in. When called without any parameters, or by "slist .", all shops in the zone you are currently in will be listed. Alternatively, you can specify a particular zone number, and all shops in that zone will be listed, or a minimum and maximum shop vnum, and all rooms in that range will be listed. See Also : OASIS SEDIT #1 SLOWNS Usage: slowns Toggles whether or not IP addresses are resolved into readable site names. If slow nameserver is enabled, USERS will show only IP addresses. (128.123.222.111 etc). See also: USERS #31 SMILE Whenever you feel like smiling... #1 SNEAK Thieves Only. Usage: sneak Used for sneaking (moving in and out of rooms without anyone taking notice). When you type sneak, there is no way to know if you're actually sneaking. If you successfully sneak, then you'll continue to sneak for a little while. See also: HIDE #1 SNOOP Usage: snoop [player] Snoop allows you to listen in on another player's session; everything the player sees or types will be displayed on your terminal preceded by a '%'. Obviously, there are many ethical considerations to the use of this command; snoop should be used minimally, and only for disciplinary purposes. Type snoop <your name> or just snoop to stop snooping. #31 SNOWBALL Snowball is just a social -- it prints a funny message, and nothing more. #31 SOCIALS Usage: <social> [<victim>] Socials are commands used to show your affective state to others. The actor, victim and bystanders may receive different messages. Generally, social commands are used only to express emotion and not to take action, but it is possible that some mobs (or players) will take action based on the social. (Slap a dragon lately?) Example: > shake homer > applaud marge > stare The SOCIALS command generates a canonical listing of all available socials. > socials See also: EMOTE #1 SPELL SPELLS Magic User Cleric (1) Magic Missile (1) Armor (1) - (1) Cure Light (2) Detect Magic (2) Create Water (2) Detect Invisible (2) Create Food (3) Chill Touch (3) Detect Poison (3) Infravision (3) - (4) Invisibility (4) Cure Blindness (4) Armor (4) Detect Evil (4) - (4) Detect Alignment (5) Burning Hands (5) Bless (6) Locate Object (6) Blindness (6) Strength (6) Detect Invisible (7) Shocking Grasp (7) Infravision (8) Sleep (8) Protection From Evil (8) - (8) Poison (9) Lightning Bolt (9) Cure Critical (9) Blindness (9) Group Armor (10) Detect Poison (10) Summon (10) - (10) Remove Poison (11) Color Spray (11) - (12) - (12) Earthquake (12) - (12) Word of Recall (13) Energy Drain (13) - (14) Curse (14) Detect Evil (14) Poison (14) Detect Good (14) - (14) Dispel Evil (14) - (14) Dispel Good (15) Fireball (15) Call Lightning (15) - (15) Sanctuary (16) Charm Person (16) Heal (17) Sense Life (17) Control Weather (19) - (19) Harm (22) - (22) Group Heal (26) Enchant Weapon (26) Remove Curse #1 SPLIT Usage: split <amount to split> Split is used to split money among people in your group who are in the same room as you. If you are in a group with 4 other people, all of whom are in the same room with you, and you type SPLIT 100, you will give each of the other 4 group members 20 coins each. (100 coins is split 5 ways; you keep your share and give everyone else their share). See also: FOLLOW, GROUP #1 STAT Usage: stat [player | object | mobile | file] <name> Gives information about players, monsters, and objects in the game. The type argument is optional. STAT PLAYER will search only for players; useful for statting people with names such as Red or Cityguard. STAT OBJECT will search only for objects. STAT MOBILE will search only for monsters. STAT FILE is used to stat players who are not logged in; the information displayed comes from the playerfile. Examples: > stat fido > stat player red > stat mobile red > stat file niandra > stat object thunderbolt See also: VSTAT #31 STEAL Thief Only. Usage: steal <item> <victim> Use steal to steal gold or items from people. The chance of not getting caught depends on how well you have practiced steal, and if the person is asleep. Due to misuse of the steal command, it is now illegal to steal from other players. Doing so will get you a flag for your trouble. Examples: > steal gold drunk > steal sword mercenary (If it's wielded, only possible if he is sleeping) See also: FLAGS #1 STRENGTH Usage : cast 'strength' <victim> Accumulative: Yes Duration : Level/2 + 4 Level : Mage level 6. A person will gain 1 strength point per spell (2 points if level of caster is greater than 18). Maximum strength is 18/100. #1 STRING Usage: string <type> <name> <field> [<string> | <keyword>] For changing the text-strings associated with objects and characters. The format is: Type is either 'obj' or 'char'. Field is one of the following(the names may be abbreviated): Name (the call-name of an obj/char - kill giant) Short (for inventory lists (obj's) and actions (char's)) Long (for when obj/character is seen in room) Title (for players) Description (For look at. For obj's, must be followed by a keyword) Delete-description (only for obj's. Must be followed by keyword) Where a string is expected as the last argument, a newline will make you enter a string mode, and the game will prompt you for new lines to the string until you exceed the maximum length for the string or you end a line with a '@'. Mobiles and objects currently cannot be strung. #31 SUMMON Usage : cast 'summon' <victim> Accumulative: - Duration : Instantaneous Level : Cleric level 10. Will summon a person of the name spoken. It is not possible to summon someone of three or more levels above yourself. If you attempt to summon a monster, it will get a saving throw. See also: NOSUMMON #1 SWITCH Usage: switch <monster> SWITCH is used to take over the body of mobiles; useful for interactive adventures. If the monster in which you are switched is killed you will be returned to your own body. See also: RETURN #31 SYSLOG Usage: syslog [off | brief | normal | complete] The SYSLOG command controls how detailed of an on-line system log you see. Messages surrounded by '[' and ']' are syslog messages and are in green if you have color on. The messages you receive are level dependent. Examples: > syslog complete > syslog off See also: COLOR #31 TEDIT Usage: tedit <text file> This command allows you to edit - using the enhanced editor - a number of text files and save these to disk. See Also: OASIS OASIS-EDIT #1 TEXT-EDITOR TEXTEDITOR /d /i /h /s /a /c /ra /l /fi WORDWRAP WORD-WRAP FORMATTING /e# The text editor is what you use to write room/mob/obj/extra descriptions, mudmails, and even boards. It allows you more commands than the typical entry. To learn the commands while using the text editor, type /h. It will tell you what all the / commands do. Always use /fi to format, indent, and word wrap. It looks much better to see writing that is formatted than one that runs all over the place wrapping around etc. Just simply type /fi on a new line and hit enter. Before you save type /l to list the buffer and see for yourself how it looks. Fix as needed. When entering the text editor for the first time make sure to use /c to clear the current contents. Indent and format all descriptions by typing /fi (format with indent) in the text editor. This includes all forms of OLC, mudmails, boards, and anywhere else you use the text editor. This will indent the line by 3 spaces and wrap your text at less than 80 characters so telnet users can read it. Editor command formats: /<letter> @n/a - aborts editor @n/c - clears buffer @n/d# - deletes a line # @n/e# <text> - changes the line at # with <text> @n/f - formats text. @n/fi - indented formatting of text (highly recommended for all desc's) @n/h - list text editor commands @n/i# <text> - inserts <text> before line # @n/l - lists buffer @n/n - lists buffer with line numbers @n/r 'a' 'b' - replace 1st occurance of text <a> in buffer with text @n/ra 'a' 'b'- replace all occurances of text <a> within buffer with text usage: /ra 'pattern' 'replacement' @n/s - saves text NOTE: /f and /fi in trigedit will autoindent your trigger. Commands such as /r, /n, /e#, /i#, /d# are invaluable and will make your job much easier. For example lets say you mistype "the" with "teh" in a 10 line description. Instead of /c (clearing) the text you can /r 'teh' 'the' or if it was on line 5 you can type /e5 <line with teh spelled correctly> or /d5. Learn all these options. #0 THIEF THIEVES Thieves are known to have very special qualities, that no other class offers. Their specialty tends to be in the darker, sneakier art. Many of these qualities can come in handy in many situations, such as picking locks. You can improve you skills by using the practice command. Skills available to thieves: sneak, hide, steal, backstab, pick lock, track See the help on each skill for more information. See also: PRACTICE #1 this is the test entry test2 #0 this is the test entry #0 this is the test entry #0 TIME Usage: time Gives you the current game time. Your initial reaction to the output of this command may be one of surprise, but you'll get used to it. You'll have to, at any rate, since certain things in the game depend on this particular notion of time; the opening hours of the shops, for example. #1 TITLE Usage: title <new title> Sets the title people see on the WHO list and when you're in the room with them. You can't use parentheses (the "(" and ")" characters) because those are reserved for flags. Do not abuse this command; if you do, it will be taken from you. See also: FLAGS, WHO #1 TLIST TRIGLIST TRIG-LIST TRIGEDIT-LIST Usage: tlist <range of vnums or zone number> Tlist gives you a list of the triggers numbered within the parameters. Be warned that all the triggers on TBA may not work since anyone could have made them. Ask around for the best examples. Zone 13, 40, 41 is a good start. tlist 13 - lists all triggers defined in zone 13 tlist 4000 4099 - lists all existing triggers from vnum 4000 to 4099 See also: TSTAT, TRIGEDIT, OLC #0 TOGGLE Usage: toggle TOGGLE shows you the current values of various toggles available on the MUD. This command CAN NOT be used to change these values (see related commands.) All of these toggles remain the same until you change them; i.e. they are saved when you quit or rent. See also: BRIEF, COMPACT, DISPLAY, NOSHOUT, NOSUMMON, NOTELL, QUEST REPEAT, WIMP #1 TRACK Usage: track <victim> Used for finding the first step on the shortest route to a monster. Example: > track fido You sense a trail south from here! #1 TRIG-ATTACH Usage: attach vnum id * This small trigger will attach a trigger to the carrier this can for instance * be used if you want the mob to change attitude by adding another trigger * (ie - mob was mad - mob got apple - mob gets a 'nicer' trigger attached attach 3001 %self.id% This command allows a script to attach a trigger (referenced by vnum) to anything capable of receiving triggers, by id number. (%self.id%, %object.id%, and %actor.id% are examples of id numbers, for use with this command.) See Also: ATTACH, DETACH, TRIG-DETACH #0 TRIG-DETACH Usage: detach <vnum | all> id * if we - as described in the attach example, want our mob/obj/room to behave * differently, it's not always enough to just add another trigger with attach. * it might be necessary to remove some old ones : detach 3000 %self.id% or detach all %self.id% The opposite of attach, this removes triggers from the specified target. Example: @RTSTAT 45@n See Also: ATTACH, DETACH, TRIG-ATTACH #0 TRIG-RETURN Usage: return 0 Return sets the return value of the trigger. Normally, a script will return 1, unless return 0 is specified. Unlike most computer languages, the return command does not end the trigger's execution. The value is returned after all the commands have been executed, or a wait or halt command is called. Example: @RTSTAT 1364@n See Also: HALT, WAIT #0 TRIG-SET Usage: set <variable> <value> Set sets variable to value, without evaluating it. Example: set foobar 15 - 5 sets the variable foobar to the string "15 - 5" * this example sets the value of result to '%self.hitp% * 100 / %self.maxhitp%' set result %self.hitp% * 100 / %self.maxhitp% * The %result% var now works as a 'function' every time it's accessed. say My hitpoint percentage is %result% %damage% %self% 30 say My hitpoint percentage is %result% The set command is used to set (or create) the specified variable equal to the provided expression, which will be evaluated when the variable is accessed. There also exists an "eval" command, with the same syntax. Eval differs in that the expression is evaluated immediately. See Also: EVAL #0 TRIG-SWITCH TRIGEDIT-SWITCH CASE DEFAULT BREAK Usage: switch expression switch %random.4% case 1 emote sings a merry song about someone named Fulbert and Beatrice. break case 2 emote booms out loudly, 'Heigh Ho! Heigh Ho! It's home from work we go!' break case 3 emote tries to sing falsetto, but his voice doesn't agree. break default sing break done Switch evaluates an expression and looks for a match amongst the case statements that follow. If none of the following case statements are a match, and a default statement exists, the default statement is considered a match. If a match is found, the commands that follow it, up until a break or done command, are executed. Break is used to terminate commands in a switch. Case is used to begin a new conditional group in a switch block. Default is similiar to case but matches any condition not met. Done is used to terminate a while or switch block. Examlpe: @RTSTAT 18@n #0 TRIGEDIT TRIGS TRIGGEREDIT TRIGGER-EDIT TRIGGERS DG SCRIPTS MOBPROGS MPROGS PROGS SCRIPTING Builder's working on their trial vnum do not need to learn this command, yet. Usage: trigedit <trigger vnum> This command will let you edit a trigger/script within your designated zone. If you specify an unused vnum, a new script will be created with that number. trigedit 3001 -- make a trigger in zone 30, with the vnum 3001 Go to http://welcor.n3.net to access the building documents. Join the mailing list at: http://groups.yahoo.com/group/dg_scripts/ @RNOTE: You must disable NOHASSLE to test triggers.@n @RGOTO 1310@n to enter the trigedit hallway. See also: TRIGEDIT-MENU, TSTAT, TLIST, OLC #0 TRIGEDIT-ADVANCED @RWARNING: long and verbose (wordy)@n To add life to the worlds circlemud uses something called scripts (or triggers). There are three major types of game objects which can use scripts. These are mobiles (mobs), objects, and rooms (world objects). Examples of scripts in the game are: Cityguards screaming 'PROTECT THE INNOCENT! BANZAI! CHARGE!', (a mob script). A portal that teleports players when they enter it (an object script). A room that creates a new exit when a player pulls a lever (a room script). Each game item (room, mobile, or object) can have a script. A script is composed of one or more triggers, which work in collaboration to define complex actions of the game object. A trigger is a definition of an event that the script watches for, and list of commands to execute when that event occurs. There are several different types of triggers. Each trigger type determines when the trigger will be checked. For example, a mob speech trigger is checked every time a character who is in the same room as the mob with the trigger uses the 'say' command. A room enter trigger is checked every time a character enters the room. There are two parts of the trigger used to determine if the trigger's commands are executed when it is checked, the argument and numerical argument (NArg). Some triggers use both; some may use only one of the two; and some may use neither. The interpretation of these two fields is dependant on the type, and is described in more detail on the webpage and in the help files. When an event in the game occurs, each script in the room where the event occurred is checked to see if there are any triggers which are supposed to react to that event. A trigger currently running (such as from a 'wait' command) is skipped. Only one trigger of each script will be run by a single event. For example, if there are two triggers on a script, and both are the same type with the same arguments, the second trigger will only be run if the first one is already running. Triggers can be of more than one type. For example, to simulate a cursed item, a trigger on the object could be of types drop, give, and remove. A more common combined trigger would have both random and global types, so the random trigger would be checked even when the zone was empty. Combined triggers must have the same argument and numerical argument. The other component of a trigger is the command list. This is a series of commands that are executed when the trigger is run. Commands are chosen from two groups of commands, script specific commands and game commands. Script specific commands are those commands that only the script interpreter can recognize. These include flow control commands (such as if, elseif, else, end, halt, wait, and return), and commands to manipulate variables (such as set, eval, unset, and global). Game commands are those commands that a player could issue from their command line as well as special commands added for mobiles, objects, and rooms. #0 TRIGEDIT-ADVANCED-TUTORIAL This section is a step by step tutorial to explain the writing of scripts (triggers). It goes through the script creation process developing a practical script. Decide what you want the script to do. Consider how your mob, item, or room should behave. Doing this before worrying what can be done prevents you from limiting yourself to what you have seen other scripts do, and allows you to produce a more interesting script. For example, I want to create a gate guard for a small walled town. The ruler of the town has decided that each group of people will be charged ten coins to enter his domain. The gate guard must notify travelers of the cost to enter, collect the money, allow people who have payed to enter the city, and close the gate after them. This will be a mob script. Decide what trigger types you need. Look through the section on triggers to see the currently available trigger types. New trigger types can be added by one of the implementors if needed. All types are listed in the help files @RHELP TRIGEDIT-TYPE@n. Our gate guard needs to react to five different events: 1. A character entering the room from the south, the road leading away from the town, needs to be informed of the price for entrance. This will be a greet trigger. 2. When the guard is given ten or more coins, the guard must open the gate. This is done by a bribe trigger. 3. If the guard is given less than ten coins, the guard needs to inform the character that it is insufficient. This is also a bribe trigger. 4. When someone passes through the gate into the city, the guard must close the gate behind them. This is done with an act trigger. 5. When the gate is opened from the other side, the guard must eventually close it. This will be another act trigger. Determine the argument and the numerical argument of the triggers. Read the specifications on trigger types, and decide what the values for argument and Numeric Arg must be for the trigger to react appropriately to the events. @RHELP TRIGEDIT-MOB-GREET@n Argument : not used Numeric Arg : the percent chance that the trigger is run when checked. Since I want it run every time someone enters the room, it should be 100. @RHELP TRIGEDIT-MOB-BRIBE@n Argument : not used Numeric Arg . minimum number of gold pieces required to activate this trigger. The guard should only open the gate when given 10 coins, so it should be 10. For the second bribe trigger, the guard must respond whenever someone gives him 1 or more coins, so Numeric Arg should be 1. @RHELP TRIGEDIT-MOB-ACT@n Argument : the text the mob should react to. Since I want the guard to react to a character going north, argument should be "leaves north." Numeric Arg : Since argument is a phrase, NArg should be 0. The second act trigger should trigger on text "The gate is opened from the other side", so it is triggered whenever someone opens the gate from inside the town. Again, Numeric Arg should be 0 for a phrase. Write the list of commands for the trigger. This is the most complex and time consuming part of a trigger to write. The valid commands are explained in the help files and on the webpage. Variables and expressions are also used in the commands list. For the greet trigger, I want the guard to inform anyone entering from the south how to get into the city. First, I must check if the character is entering from the south. If they are entering from that direction, the guard should tell the character the cost of entry. The command list for this trigger will be as follows: if (%direction% == south) wait 1 sec emote snaps to attention as you approach. wait 1 sec say Admittance to the city is 10 coins. end Checking the specifications of the greet trigger, we see that the variable "direction" is set to the direction that the character entered. The percent sign surrounding direction means it is a variable. The two equal signs together compare the value of the variable to the word "south". If these are equal, the statements between this line and the line "end" will be executed. The "wait 1 sec" pauses briefly while the character finishes his move. (The greet trigger is actually checked before the character enters the room, so if we did not have this line, he or she would never see the guard snap to attention.) After another brief pause, the guard announces the cost to enter the town. The indentations are not needed, but make it easier to read. The guard must open the gate if ten or more coins were given to him. The command list looks like this: wait 1 sec unlock gate open gate wait 10 sec close gate lock gate After a brief wait (so everything doesn't happen at once), the guard unlocks the gate and opens it. The guard will close the gate after 10 seconds, even if no one passes through it. The guard must inform the character that his payment was not enough, and return the money. The commands list will be: wait 1 sec say This is not enough! give %amount% coins %actor.name% For the line "give %amount% coins %actor.name%", the variables amount and actor, both set when the bribe trigger is called, are substituted into the line before the guard performs the command. The gate guard returns the number of coins he was given. For the first act trigger, I want the guard to close and lock the gate after someone passes through the gate. The guard should wait briefly so he isn't shutting the gate on the character's back, and close and lock the gate. The command list will be: wait 1 sec close gate lock gate For the last act trigger we want the guard to close and lock the gate when it is opened from the other side. The commands will look like: wait 5 sec close gate lock gate The "wait 5 sec" gives time for someone on the other side to get through the gate. Decide the order of the triggers. The triggers are checked from first to last. If there are two triggers of the same type, the first one run will be the only one run. There are two sets of triggers which are the same type, the bribe triggers and the act triggers. If the bribe trigger with the Numeric Arg of 1 is first, the other trigger would never be run, since ten or more coins is still one or more. In order for my triggers to work right, the trigger with Numeric Arg of 10 must be before the trigger with the NArg of 1 in the list. The other possible conflict is with the act triggers. Since both have arguments that will not occur together, the order does not matter. Create the trigger file. Simply use trigedit to create your triggers and they will be saved for you when you exit the editor. Put the triggers into the game. In the OasisOLC medit / redit / oedit menus, use menu option S to enter the script editor. Then select the triggers that will be part of your script. Note, that order is important! If there are two possible triggers that could both be executed at the same time, only the first one found in the list will be activated. In this example, it means place the bribe trigger for 10 or more coins BEFORE the bribe trigger for 1 coin. Test the script. You should see how the script actually works in the game, and watch other people interact with it. Often you will see ways you can improve it. @RGOTO 1310@n and work your way north to test these out. Triggers 4-8. #0 TRIGEDIT-ARGUMENTS ARGUMENTS Argument: This describes the text argument, if any, which can be used to filter out matches to the trigger. See also: TRIGEDIT-MENU #0 TRIGEDIT-ARRAYS ARRAYS TRIG-ARRAYS Trigedit can even use arrays to store information. @RTSTAT 150, 41005, 1325@n #0 TRIGEDIT-COMMANDLISTS 6) Commands: @csay My trigger commandlist is not complete!@n This is the command list, which contains the actions which take place, when the trigger is executed. The command list makes use of the @RHELP TEXT-EDITOR@n. This is often called the 'script', and is actually a small program, executed step by step. In it, you can use different types of commands: script - specific commands, flow control commands - if this is a mobile script, you can use standard mud commands like say or give. #0 TRIGEDIT-COMMANDS TRIG-COMMANDS TRIGGER-COMMANDS TRIGEDIT-COMMANDLISTS | Script Commands | Mobile Commands | Object Commands | Room Commands | ============================================================================= | * (comment) | %send% | %send% | %send% | | nop | %echo% | %echo% | %echo% | | attach | %echoaround% | %echoaround% | %echoaround% | | global | %door% | %door% | %door% | | context | %force% | %force% | %force% | | eval | %load% | %load% | %load% | | set | %purge% | %purge% | %purge% | | unset | %teleport% | %teleport% | %teleport% | | detach | %damage% | %damage% | %damage% | | extract | %zoneecho% | %zoneecho% | %zoneecho% | | if | %asound% | %asound% | %asound% | | halt | dg_affect | dg_affect | dg_affect | wait | dg_cast | dg_cast | dg_cast | | makeuid | %at% | %at% | %at% | | rdelete | %transform% | %transform% |==================| | remote | mhunt | otimer | | return | mremember | osetval | | switch | mforget |===================| | case | %goto% | | break | mkill | | done | %junk% | Further help can be accessed by | while | %follow% | typing: @RHELP <COMMAND>@n. =======================================| See also: TRIG-TYPES, VARIABLES, EXPRESSIONS #0 TRIGEDIT-INTENDED 2) Intended for : @yMobiles@n This is either Mobiles (the default), Objects or Rooms. While in most cases it is possible to make a script work for either one, it is highly recommended to only use the correct type. 0: Mobiles, 1: Objects, 2: Rooms: 0 #0 TRIGEDIT-MENU TRIG-MENU TRIG-EDIT TRIGEDIT-EDITOR SCRIPT-EDITOR SCRIPT-MENU Trigger Editor [1300] @RHELP TRIGEDIT-EDITOR@n 1) Name : @ynew trigger@n @RHELP TRIGEDIT-NAME@n 2) Intended for : @yMobiles@n @RHELP TRIGEDIT-INTENDED@n 3) Trigger types: @yGreet@n @RHELP TRIGEDIT-TYPES@n 4) Numeric Arg : @y100@n @RHELP TRIGEDIT-NUMERIC@n 5) Arguments : @RHELP TRIGEDIT-ARG@n 6) Commands: @RHELP TRIGEDIT-COMMANDLIST@n @csay My trigger commandlist is not complete!@n Q) Quit Enter Choice : See Also: TRIGEDIT-TYPES, TRIGEDIT-COMMANDS, VARIABLES, TRIGEDIT-MOB-TUTORIAL, TRIGEDIT-ADVANCED-TUTORIAL, TRIGEDIT-ADVANCED #0 TRIGEDIT-MOB-ACTION ACTIONS Activated when a matching action is performed by a character in the room. Actions are any text output via the act() function, and include most output from the mud. (Notable exclusions are character say's, and immortal echo's.) Numeric Arg : 0: argument is a substring that must be found in the text to cause a match. 1: argument is a list of words, any of which found in the text will activate the trigger. Argument : a phrase or wordlist to be matched. Variables: %actor% - the character causing the trigger to activate %victim% - the character, if any, on the receiving end of the action %object% - the object, if any, used in the action %target% - the target of the action, if any %arg% - the entire phrase Example: @RTSTAT 64, 1372@n #0 TRIGEDIT-MOB-BRIBE Activated when a character gives a specified amount of gold to the mobile. Numeric Arg : minimum number of gold pieces required to activate this trigger. Argument : not used. Variables: %actor% - the character providing gold to the mobile %amount% - number of coins given Example: @RTSTAT 72@n #0 TRIGEDIT-MOB-CAST Activated when the mob is targetted by a spell. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Used with return 0 will cause the spell not to be cast. Variables: %actor% - the caster of the spell %spell% - the number of the spell %spellname% - the name of the spell Example: @RTSTAT 76@n #0 TRIGEDIT-MOB-COMMAND Activates when commands are performed in the same room as the mobile. Does not work for level 32 and above. Numeric Arg : not used. Argument : text which must be part of the command typed to filter out uninteresting commands. If 0 is returned by the trigger, character will receive the same message as if the trigger did not exist, and any other command triggers will be checked. Variables: %actor% - the character issuing the command %cmd% - the exact command (without arguments) issued %arg% - the arguments, if any, following the command Example: @RTSTAT 153, 1371, 62@n #0 TRIGEDIT-MOB-DEATH Activated when this mobile dies. Numeric Arg : percent chance this trigger will be activated upon the mobile's death. Argument : not used. If used with a return 0 no death cry will be heard from the mobile. Variables: %actor% - the character killing this mob, if any Example: @RTSTAT 65, 19537@n #0 TRIGEDIT-MOB-DOOR Activated when the mobile is in the same room as someone using the door specific commands 'close, open, pick, lock, unlock' on a door. Used with return 0 will prevent the command from executing. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character using the command. %direction% - the direction the command is used on. %cmd% - the specific command activating the trigger Example: @RTSTAT 78@n #0 TRIGEDIT-MOB-ENTRY ENTRY TRIGEDIT-ENTRY TRIGGER-ENTRY Activated each time the mobile it is attached to enters a room. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Example: @RTSTAT 68@n #0 TRIGEDIT-MOB-FIGHT Activated each round of fighting, after the mobile has had all of its attacks. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character this mobile is fighting Example: @RTSTAT 70@n #0 TRIGEDIT-MOB-GLOBAL Not a trigger type by itself; used in conjunction with Random @RHELP TRIGEDIT-MOB-RANDOM@n. While Random triggers only trigger if players are in the same room, Global Random triggers will trigger regardless. Numeric Arg : not used. Argument : not used. Example: @RTSTAT 60@n #0 TRIGEDIT-MOB-GREET GREET Activated when a player attempts to enter the room and the character is visible to the mobile with this trigger. Does not work for poofins. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character entering the room %direction% - the direction the character came from Example: @RTSTAT 66@n #0 TRIGEDIT-MOB-GREET-ALL GREET-ALL TRIGEDIT-MOB-GREETALL Identical to greet except the mobile does not have to see the entering character for this trigger to activate. Does not work for poofins. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character entering the room %direction% - the direction the character came from Example: @RTSTAT 67@n #0 TRIGEDIT-MOB-HITPERCENT TRIGEDIT-MOB-HITPRCNT Activated during combat when the mobiles hit point percentage drops below a specified percentage. Numeric Arg : percentage of hitpoints at the threshhold of allowing this trigger to activate. Argument : not used. Variables: %actor% - the character this mobile is fighting Example: @RTSTAT 71@n #0 TRIGEDIT-MOB-LEAVE Activated when someone leaves the room the mob is in if the mob can see the person. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Used with return 0 will prevent the player from leaving the room. Variables: %actor% - the character leavering the room. %direction% - the direction the character is leaving to. Example: @RTSTAT 77@n #0 TRIGEDIT-MOB-LOAD TRIGEDIT-LOAD TRIG-LOAD Activated when this mobile is created. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Example: @RTSTAT 73@n #0 TRIGEDIT-MOB-MEMORY Activated when the mobile encounters a character in its memory (mremember) list and there is no over-riding command. Any mobile making use of mremember MUST have a memory script, even if it will never be called. Numeric Arg : percent chance this trigger will be activated.. Argument : not used. Variables: %actor% - the character being remembered Example: @RTSTAT 74@n, @RTSTAT 75@n #0 TRIGEDIT-MOB-RANDOM TRIGEDIT-RANDOM TRIG-MOB-RANDOM TRIG-RANDOM No specific event needs to occur for this trigger to be activated. Every 13 seconds this trigger has a chance to run. Numeric Arg : 0-100: percentage chance this trigger will run when its time comes due. Argument : not used. Example: @RTSTAT 61@n See Also: RANDOM-TIMING #0 TRIGEDIT-MOB-RECEIVE TRIG-MOB-RECEIVE Activated any time an object is given to the mobile. Numeric Arg : percent chance this trigger will be activated. Argument : not used. With a return 0 the object is not transferred to the mobile. Variables: %actor% - the character handing the object to the mobile %object% - the object being handed over Examples: @RTSTAT 69, 38, 152@n #0 TRIGEDIT-MOB-SPEECH Activates when matching text is spoken by a character in the same room as the mobile. Numeric Arg : 0: argument is a substring that must be found in the speech to cause a match. 1: argument is a list of words, any of which found in the speech will activate the trigger. Argument : a phrase or wordlist to be matched. Variables: %actor% - the character whose speech activated the trigger %speech% - the entire phrase spoken Example: @RTSTAT 2776, 63@n #0 TRIGEDIT-MOB-TUTORIAL TRIGEDIT-TUTORIAL Mob trigger tutorial This mini-quest is setup in TBA as an example. @RGOTO 1310@n and work your way north with nohassle off. The following 7 steps should give you a general idea about what to do, and how to go about making small quests in the dg scripting language. This example is concentrated on quests involving mobs. The process can be broken down to the following: 1. Decide what you want the script to do. 2. Make corresponding objects and mobs. 3. Split up the quest. 4. Find corresponding trigger types. 5. write the scripts for the triggers. 6. Attach the scripts - permanently 7. Done ? 1. Decide what you want the script to do. In this example, we want to make a small mini quest in an area. The quest will work like this: When you enter the room, where the first mob is, it will start to tell a tale. In this tale, you are instructed to perform a task, in this case, kill an evil ogre, that lives in a nearby forest. As proof of the kill, you must bring back the ogre's apprehension to the questgiving mob. 2. Make corresponding objects and mobs. Ingredients for this quest: 1 Questgiver mob - I've chosen 'the questmaster' - vnum 1310 1 Target mob - In this case 'an apprehensive Ogre' - vnum 1311 1 Quest object - 'some apprehension' - trash object, vnum 1300 3. Split up the quest. Next thing to do is look at the different steps involved with the quest. In this example, we have three steps: Player entering room -> tell story Player finds ogre -> load object (Do not just want the mob to carry it) Player gives questmaster apprehension -> reward player 4. Find corresponding trigger types. Having split the quest up also means we reasonably easy can decide what kinds of triggers we need - in this case: mob GREET trigger (attached to questmaster) mob DEATH trigger (attached to ogre) mob RECEIVE trigger (attached to questmaster) 5. write the scripts for the triggers. Up to this point, neither trigedit or the script editors have been used. All the info needed is in the help files and on the webpages. Notice most of the work required is PLANNING! You must know exactly what you want to do before you do it. Now is the time to fire up trigedit and start editing the triggers. Let's give the first one vnum 0, and edit it to look like the script below: > trigedit 0 Trigger Editor [0] 1) Name : @yMob Tutorial Example 1310 - Quest Offer@n 2) Intended for : @yMobiles@n 3) Trigger types: @yGreet @n 4) Numeric Arg : @y100@n 5) Arguments : 6) Commands: @c* we don't want him to tell this to mobs. vnum -1 is reserved for players. if %actor.vnum% == -1 * only greet players coming from the south. if %direction% == south *wait 1 second, always give the player time before you start sending text. wait 1 sec say Can you help me, %actor.name%? wait 1 sec say An apprehensive ogre has something of mine. wait 1 sec say If you slay him I'll give you all the coins I can spare. wait 1 sec say Please, bring me the apprehension he has stolen. end end@n The script above will be executed every time anyone enters the room. If the person entering is a mobile, the if check at the beginning will stop the execution. Note, that I've named the trigger as I did above. ALWAYS include the VNUM of where you plan on attaching the trigger. Also, give it a name so it is easy to see what part of the quest this trigger handles. The second script is very simple. > trigedit 1 Trigger Editor [1] 1) Name : @yMob Tutorial Example 1311 - Kill ogre@n 2) Intended for : @yMobiles@n 3) Trigger types: @yDeath@n 4) Numeric Arg : @y100@n 5) Arguments : 6) Commands: @csay you got the best of me %actor.name%. * load some apprehension %load% obj 1300 * reload the mob for the next questor %load% mob 1311@n The above script will be executed when the mob is killed - just before the death cry. The last script just needs to check if the object handed over is the correct one. Let's see it, here with vnum 2: > trigedit 2 Trigger Editor [2] 1) Name : @yMob Tutorial Example 1310 - Give/Quest Completion@n 2) Intended for : @yMobiles@n 3) Trigger types: @yReceive@n 4) Numeric Arg : @y100@n 5) Arguments : 6) Commands: @c* check if this was indeed the right object if %object.vnum% == 1300 wait 1 sec say Thank you, %actor.name% %send% %actor% %self.name% gives you a gold piece. %echoaround% %actor% %actor.name% is rewarded for his valor. nop %actor.gold(1)% wait 5 sec %purge% obj 1300 else * this wasn't the right object - don't accept it say I don't want that - bring me back my apprehension. return 0 end@n The script above is pretty self explanatory, but to clarify a bit: First check if the object is the correct vnum, then give the reward, and send messages to the player and others in the room. If it wasn't the object, reject it, and use the return value of the script to prevent the object being passed over. Lastly, and very importantly, 'end' ends the if. 6. Attach the scripts - permanently Proceed and add the scripts to the two mobiles through medit: > medit 1310 [medit menu] Enter choice ? S Script Editor Trigger List: <none> N) New trigger for this script D) Delete a trigger in this script X) Exit Script Editor Enter choice : Here, add the scripts by typing N, then the script vnum: Enter choice : n Please enter position, vnum (ex: 1, 200): 0 Enter choice ? n Please enter position, vnum (ex: 1, 200): 2 Enter choice ? x And add the trigger vnum 3 to the ogre in a similar manner. 7. Done ? The scripts are now attached to the correct mobs, and the players of your mud can now take the quest whenever they wish. This is a great time for considering improvements to the little quest: Balance issues: Should players get a smaller reward if they perform the quest many times ? Should it be limited to 1 quest per player or 1 per reboot ? Gameplay issues: Perhaps other mobs in town should tell the player to go see the old man ? Should the ogre always load the object, or only when people know he has it ? Are there other mobs who would like to pay for that object ? The above list is just a few examples. All of them could be implemented, but it is beyond the scope of this tutorial. 12DEC01 - mob tutorial by Welcor 04OCT02 - updated/modified by Rumble #0 TRIGEDIT-NAMES TRIG-NAMES 1) Name : @ynew trigger@n Always use names that explain the trigger. More importantly: always include the VNUM for the mob/obj/room the trigger is going to be attached to. It's important to give your trigger a name you and others can understand. Even more important is including the VNUM of what it is attached to. This way tlist and stat will show the name description and VNUM allowing others to quickly comprehend what the trigger does. A good name could be 'guard shout for help - 101' or 'mage cast poison - 300' even 'cursed object - 130.' Examples: Quest Offer - 1310 --> trigger attached to mob 1310 Fall Down Stairs - 1300 --> trigger attached to room 1300 No Dropping Stuff - 1301 --> trigger attached to obj 1301 #0 TRIGEDIT-OBJ-CAST Activated when the obj is targetted by a spell. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Used with return 0 will cause the spell not to be cast. Variables: %actor% - the caster of the spell %spell% - the number of the spell %spellname% - the name of the spell Example: @RTSTAT 90@n #0 TRIGEDIT-OBJ-COMMAND TRIGEDIT-OBJECT-COMMAND TRIG-OBJ-COMMAND Activates when commands are performed in the same room as the object. This does not work for level 32 and above. Numeric Arg : a bitfield to indicate where the object must be in order to cause the trigger to activate. Bits: 1: In character's worn equipment. 2: In character's carried inventory. 4: In same room with the character. These bits can be set at once by adding the values. 7= worn, inv, room. 3 = worn, inv. 5 = worn, room. Argument : text which must be part of the command typed to filter out uninteresting commands. If 0 is returned by the trigger, character will receive the same message as if the trigger did not exist, and any other command triggers will be checked. Variables: %actor% - the character issuing the command %cmd% - the exact command (without arguments) issued %arg% - the arguments, if any, following the command Example: @RTSTAT 81@n #0 TRIGEDIT-OBJ-CONSUME Activated any time a character attempts to consume (eat, drink, or quaff) this object. If used with a return 0 the character will fail to consume the object. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character attempting to consume the object. %self% - the object being consumed. %command% - either eat, drink, or consume. Example: @RTSTAT 1374@n #0 TRIGEDIT-OBJ-DROP DROP-TRIGGER TRIG-OBJ-DROP Activated any time a character attempts to drop this object. This includes putting the object into a container. If used with a return 0 the character will fail to drop the object. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character attempting to drop the object %self% - the item being dropped. Example: @RTSTAT 84@n #0 TRIGEDIT-OBJ-GET Activated any time a character attempts to pick up this object. Numeric Arg : percentage chance this trigger will activate. Argument : not used. If used with a return 0 the character will fail to pick the object up. Variables: %actor% - the character trying to get the object Example: @RTSTAT 83@n #0 TRIGEDIT-OBJ-GIVE Activated when a player attempts to give this object to another character. If used with a return 0 the character will fail to give the object. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character giving away the object %victim - the potential recipient of the object Example: @RTSTAT 85@n #0 TRIGEDIT-OBJ-GLOBAL Not a trigger type by itself; used in conjunction with Random @RHELP TRIGEDIT-OBJ-RANDOM@n. While Random triggers only trigger if players are in the same room, Global Random triggers will trigger regardless. Numeric Arg : not used. Argument : not used. Example: @RTSTAT 79@n #0 TRIGEDIT-OBJ-LEAVE Activated when someone leaves the room the obj is in. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Used with return 0 will prevent the player from leaving the room. Variables: %actor% - the character leavering the room. %direction% - the direction the character is leaving to. Example: @RTSTAT 89, 27147@n #0 TRIGEDIT-OBJ-LOAD Activated when the object is created. Can be used with the global trigger. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Example: @RTSTAT 88@n #0 TRIGEDIT-OBJ-RANDOM No specific event needs to occur for this trigger to be activated. Every 13 seconds this trigger has a chance to run. Numeric Arg : 0-100: percentage chance this trigger will run when its time comes due. Argument : not used. Example: @RTSTAT 80@n See Also: RANDOM-TIMING #0 TRIGEDIT-OBJ-REMOVE Activated each time a character tries to remove the object. Numeric Arg : not used. Argument : not used. With a return 0 the object is not removed. Variables: %actor% - the character attempting to remove the object Example: @RTSTAT 87@n #0 TRIGEDIT-OBJ-TIMER Activated when the timer for this object has expired. The otimer command may be used in a script to set the object's timer. Timer value of 1 equals about 1 minute. Numeric Arg : not used. Argument : not used. Example: @RTSTAT 82@n #0 TRIGEDIT-OBJ-WEAR Activated each time a character attempts to wear the object. Numeric Arg : not used. Argument : not used. Variables: %actor% - the character attempting to wear the object. Example: @RTSTAT 86@n #0 TRIGEDIT-ROOM-CAST Activated if a spell is cast in the room. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Used with return 0 will cause the spell not to be cast. Variables: %actor% - the caster of the spell %spell% - the number of the spell %spellname% - the name of the spell %vict% - the target (mob/player) of the spell, if any. %obj% - the target (object) of the spell, if any. Example: @RTSTAT 57@n #0 TRIGEDIT-ROOM-COMMAND Activates when commands are performed in the room. Does not work for level 32 and above. Numeric Arg : not used. Argument : text which must be part of the command typed to filter out uninteresting commands. If 0 is returned by the trigger, character will receive the same message as if the trigger did not exist, and any other command triggers will be checked. Variables: %actor% - the character issuing the command %cmd% - the exact command (without arguments) issued %arg% - the arguments, if any, following the command Example: @RTSTAT 52@n #0 TRIGEDIT-ROOM-DOOR TRIGEDIT-DOOR Activated when a player uses the door specific commands: 'close, open, pick, lock, unlock' on a door. Used with return 0 will prevent the command from executing. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character using the command. %direction% - the direction the command is used on. %cmd% - the specific command activating the trigger Example: @RTSTAT 59@n #0 TRIGEDIT-ROOM-DROP Activated any time a character attempts to drop an item in this room. If used with a return 0 the character will fail to drop anything. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Variables: %actor% - the character attempting to drop the object %object% - the object the character is attempting to drop Example: @RTSTAT 56@n #0 TRIGEDIT-ROOM-ENTER TRIGEDIT-ROOM-ENTRY TRIGEDIT-ENTRY TRIG-ROOM-ENTRY This trigger is checked whenever someone enters the room. This trigger is checked just before the character enters the room, so if you want the action to occur in the room the character is entering, you must use a wait. Numeric Arg : percentage chance this trigger will activate. Argument : not used. If used with a return 0 the character will fail to enter the room. Variables: %actor% - the character trying to get the object %direction% - the direction the character came from Example: @RTSTAT 55@n #0 TRIGEDIT-ROOM-GLOBAL Not a trigger type by itself; used in conjunction with Random @RHELP TRIGEDIT-ROOM-RANDOM@n. While Random triggers only trigger if players are in the same room, Global Random triggers will trigger regardless. Numeric Arg : not used. Argument : not used. Example: @RTSTAT 50@n #0 TRIGEDIT-ROOM-LEAVE Activated when someone leaves the room. Numeric Arg : percent chance this trigger will be activated. Argument : not used. Used with return 0 will prevent the player from leaving the room. Variables: %actor% - the character leavering the room. %direction% - the direction the character is leaving to. Example: @RTSTAT 58@n #0 TRIGEDIT-ROOM-RANDOM No specific event needs to occur for this trigger to be activated. Every 13 seconds this trigger has a chance to run. Numeric Arg : 0-100: percentage chance this trigger will run when its time comes due. Argument : not used. Example: @RTSTAT 51@n See ALso: RANDOM-TIMING #0 TRIGEDIT-ROOM-SPEECH Activates when matching text is spoken by a character in the room Numeric Arg : 0: argument is a substring that must be found in the speech to cause a match. 1: argument is a list of words, any of which found in the speech will activate the trigger. Argument : a phrase or wordlist to be matched. Variables: %actor% - the character whose speech activated the trigger %speech% - the entire phrase spoken Example: @RTSTAT 53@n #0 TRIGEDIT-ROOM-ZONE-RESET TRIGEDIT-ROOM-ZRESET TRIGEDIT-ROOM-LOAD Activated when the zone this room belongs to is reset. Note: %load% obj # will not work if it is NO_RENT Numeric Arg : percentage chance this trigger will activate. Argument : not used. Example: @RTSTAT 54@n #0 TRIGEDIT-TRIGGER-TYPES 3) Trigger types: @yGreet@n This is a bitvector of which kind of events this trigger is triggered by. This is the most important part of the trigger. It's here you decide if you want the trigger to react on people dying in the room, dropping objects, saying stuff, entering, jumping insanely up and down or whatever else you might think of. This part is also the most important, in the sense that the rest of the triggers' info means different things, depending on what trigger type the trigger has. For a full listing of types see: @RHELP TRIGEDIT-TYPES@n #0 TRIGEDIT-TYPES TRIGGER-LIST TRIGGER-TYPES TRIG-TYPES Triggers are broken up into three types by what they are attached to: | ROOMS | OBJECTS | MOBS | ============================================================================= | TRIGEDIT-ROOM-GLOBAL | TRIGEDIT-OBJ-GLOBAL | TRIGEDIT-MOB-GLOBAL | | TRIGEDIT-ROOM-RANDOM | TRIGEDIT-OBJ-RANDOM | TRIGEDIT-MOB-RANDOM | | TRIGEDIT-ROOM-COMMAND | TRIGEDIT-OBJ-COMMAND | TRIGEDIT-MOB-COMMAND | | TRIGEDIT-ROOM-SPEECH | TRIGEDIT-OBJ-TIMER | TRIGEDIT-MOB-SPEECH | | TRIGEDIT-ROOM-ZONE | TRIGEDIT-OBJ-GET | TRIGEDIT-MOB-ACT | | TRIGEDIT-ROOM-ENTER | TRIGEDIT-OBJ-DROP | TRIGEDIT-MOB-DEATH | | TRIGEDIT-ROOM-DROP | TRIGEDIT-OBJ-GIVE | TRIGEDIT-MOB-GREET | | TRIGEDIT-ROOM-CAST | TRIGEDIT-OBJ-WEAR | TRIGEDIT-MOB-GREET-ALL | | TRIGEDIT-ROOM-LEAVE | TRIGEDIT-OBJ-REMOVE | TRIGEDIT-MOB-ENTRY | | TRIGEDIT-ROOM-DOOR | TRIGEDIT-OBJ-LOAD | TRIGEDIT-MOB-RECEIVE | ========================| TRIGEDIT-OBJ-CAST | TRIGEDIT-MOB-FIGHT | | TRIGEDIT-OBJ-LEAVE | TRIGEDIT-MOB-HITPRCNT | | TRIGEDIT-OBJ-CONSUME | TRIGEDIT-MOB-BRIBE | Further help can be =========================| TRIGEDIT-MOB-LOAD | accessed by typing: | TRIGEDIT-MOB-MEMORY | @RHELP <TYPE>@n. | TRIGEDIT-MOB-CAST | i.e. @RHELP TRIGEDIT-MOB-ACT@n | TRIGEDIT-MOB-LEAVE | | TRIGEDIT-MOB-DOOR | See also: TRIG-COMMANDS, VARIABLES, EXPRESSIONS ========================= #0 TRIGEDIT-VARIABLES VARIABLES TRIG-VARS TRIG-VARIABLES VARS Variables appear as a name surrounded by '%'s, such as %actor% Before a command is processed, the line is scanned and any variables are replaced. First the list of local variables are checked to see if the variable is there. If not, the global variables are checked. A proper global match must have a zero context or the current context of the script. (When a script starts running, its context is 0. The script context command may be used to change context.) If a match is still not found, a list of 'built in' variables (ones not declared by the script) are checked. If no match is found, the variable is replaced with an empty string (the variable is removed from the line, and nothing added in its place). There are two types of variables, local and global. All local variables are deleted when a trigger finishes executing, and can only be used by the trigger. Global variables remain until removed with unset, or the script is removed. Global variables also have a context associated with them. By default, the context is 0. Any global being referenced with a context of zero will be seen. Through the 'context <value>' command, a script may set its context to any integer; Globals created are always assigned the current script context. When a global is referenced, if it's context is not 0 or the current context of the script, it will not be seen. This technique allows, among other things, arrays of globals to be created by using a series of contexts as indexes. Also, it allows globals to be associated with a specific character, room, or object in the game, by using the id of the target as the context. Variable Fields A field of a variable can also retrieved, based on their type. To get a field, a notation of %variable.field% is used. The valid fields are listed in the help files below. @RCHAR-VAR@n - Variables for characters. @RTSTAT 27@n @ROBJ-VAR@n - Variables for objects. @RTSTAT 28@n @RROOM-VAR@n - Variables for rooms. @RTSTAT 29@n @RTEXT-VAR@n - Variables for text. @RTSTAT 30@n @RSPEC-VAR@n - Variables for special stuff. @RTSTAT 31@n See Also: GLOBAL #0 TRIGEDIT-VARIABLES-CHARACTERS HAS_ITEM CHAR-VAR TRIGEDIT-CHAR-VAR ACTOR.INV %ACTOR.INV% %ACTOR.ALIGN% %ACTOR.EQ% %ACTOR.ID% ACTOR.ID ACTOR.VNUM %ACTOR.VNUM% %ACTOR.NAME% IS_PC %IS_PC% %ACTOR% MASTER %VICTIM% SELF %SELF% MOBVARS MOB-VARS When using field - The variable returns: alias - The list of aliases of the mob or the player name. align - The numeric alignment of the actor. affect() - Checks the actor for the affect in the subfield canbeseen - True if the actor can be seen by the mob (always true for non-mob triggers). cha - The actor's charisma. class - The actor's class, as a string. con - The actor's constitution. dex - The actor's dexterity. exp() - %actor.exp% returns the actor's XP. Using the subfield it can be modified up to 1000 Xp. %actor.exp(20)% gives actor 20 XP. The subfield can be negative. eq() - This will return the identifier (id) for the object equipped in position, if any. The specified position may be either a position number (0-18) or the name of the location. * checks all positions. @RHELP POSITIONS@n fighting - The unique id of the mob fighting the actor. follower(name) - The follower of the actor (as an id) with name supplied. gold() - %actor.gold% returns the amount of gold on the actor. This amount can be changed by the subfield. %actor.gold(20)% gives the actor 20 gold. The subfield can be negative. has_item() - Checks if the actor has a object (inventory, equipped and in containers) by subfield name/var/vnum. heshe - Returns the correct pronoun (he/she/it). himher - Returns the correct pronoun (him/her/it). hisher - Returns the correct pronoun (his/her/its). hitp - The current hit points of the actor. id - The unique id of the actor. int - The actor's intelligence. inventory() - Returns the id of the first item in the actors inventory or the id of the first object with vnum in the subfield. If the character doesn't have the item, an empty string is returned. %actor.inventory(1300)%. * checks for any inv. @RTSTAT 19537@n. is_killer(on/off) - If the ()'s are omitted, return value is whether or not the actor is marked as a Player killer. If the ()'s are omitted, return value is whether or not the character is marked as a killer. Can be set on or off with: nop %actor.is_killer(on)% is_pc - Checks if the actor is a player. Useful when you want a trigger to fire on players and not mobs. is_thief(on/off) - If the ()'s are omitted, return value is whether or not the actor is marked as a Player Thief. level - The actor's current level. mana - The current mana points of the actor. master - The master of the actor (as an id), or an empty return. maxhitp - The maximum hit points of the actor. maxmana - The maximum mana points of the actor. maxmove - The maximum movement points of the actor. move - The movement points of the actor. name - The actor's name (the short description for mobs). next_in_room - The next actor in the room as a variable (id) nice to use for loops, or an empty return. prac() - The actor's number of practices. Subfield modifies. race - The actor's race, as a string. (not used in stock Circle) room - The room the actor is in as a room variable. sex - The actor's sex, as a string: MALE, FEMALE, or NEUTRAL. skill() - The percentage of learnedness in the skill subfield. str - The actor's strength. stradd - The actor's strength addition (if str is 18). title() - The actor's title. Subfield sets. Not used for mobs. varexists() - Returns 1 if global variable in subfield exists, 0 if not. Useful when dealing with remote vars on players. vnum - The actor's virtual number. weight - The actor's weight. wis - The actor's wisdom. <global> - If the specified field is not a recognized one, the actor's script global list is searched for a matching global name. If found, its value will be returned. This can is also used to get values of vars set on players; if %actor.varexists(testvar)% set testvar %actor.testvar% end * and then later in the script write it back: remote testvar %actor.id% Example: @RTSTAT 27@n #0 TRIGEDIT-VARIABLES-OBJECTS OBJ-VAR %SHORTDESC% TRIGEDIT-OBJ-VAR VAL0 VAL1 VAL2 VAL3 %OBJECT% OBJVARS OBJ-VARS Objects When using field - The variable returns: carried_by - The id of the character carrying the object, or an empty return. contents - Gives the first object in a container. @RTSTAT 32@n cost - The cost (not rent cost) of the object. cost_per_day - The rent cost of the object id - The unique id of the object. is_inroom - Returns true if object is in room. name - The list of key words of the object. next_in_list - The id of the next object in the characters inventory, or an empty return room - Returns the room id the object is in. shortdesc - The name of the object that players see. timer - The timer of the object. type - The type of object, such as WAND, ARMOR, or KEY. val0 - Returns the current value 0 of the object, defined here. val1 - Returns the current value 1 of the object, defined here. val2 - Returns the current value 2 of the object, defined here. val3 - Returns the current value 3 of the object, defined here. vnum - The virtual number of the object. weight - The weight of the object. worn_by - The id of the character wearing the object, or an empty return Example: @RTSTAT 28@n #0 TRIGEDIT-VARIABLES-ROOMS ROOM-VARIABLES %WEATHER% %ID% %NAME% %DIRECTION% TRIGEDIT-ROOM-VAR %VNUM% CONTENTS %CONTENTS% %ROOMS% ROOM-VARS Rooms When using field - The variable returns: contents - The id of the first obj in the room. (dir) - The list of flags affecting the exit in the specified direction: north, south, east, west, up or down. The result is either: subfield, "vnum" - vnum of room in direction subfield, "key" - vnum of key to use subfield, "bits" - CLOSED LOCKED, etc. subfield, "room" - room variable for room in direction no subfield: same as 'bits'. %self.north(key)% id - The unique id of the room. name - The name of the room. people - The id of the first character in the room, or an empty return. sector - The sector type of the room. vnum - The room's vnum. weather - current weather: sunny, cloudy, rainy, or lightning @RTSTAT 41098@n. Example: @RTSTAT 29@n #0 TRIGEDIT-VARIABLES-SPECIALS SPEC-VAR %SELF% RANDOM %RANDOM% %TIME% %PEOPLE% TRIGEDIT-SPEC-VAR %RANDOM.CHAR% %SPEECH% Special Variables When using field - The variable returns: self - The mob, item, or room running the script. Normal fields may be used with this. time.<field> - Field may be hour, day, month, or year. The returned value will be the current hour in the mud (0-23), day of the month (1-35), month (1-16), or year respectively. people.<vnum> - This variable returns the number of people in the room specified via vnum. random.<#> - This returns a number between 1 and the field value. %random.10% would return a number between 1 and 10. random.char - This returns a random character in the room. speech - This variable is set to the complete phrase spoken by an actor that triggers a speech trigger. |%var% - name's, someone's, your &%var% - it, you, he/she *%var% - it, you, him/her * object only '%obj% - something, name Example: @RTSTAT 31@n #0 TRIGEDIT-VARIABLES-TEXTS TEXT-VAR %ARG% .CDR .CAR ARG.CDR CMD.CDR ARG.CAR CMD.CAR %TEXT% PUSH CMD %CMD% %CDR% %CAR% %TRIM% TRIGEDIT-TEXT-VAR %STRLEN% Text Variable Fields These fields pertain to any variable that contains a string of text. These are often the variables, such as %speech%, which are provided to a script, but can also be variables that have been created by the script, such as %room.north% When using field - The variable returns strlen - Returns the number of characters in the string. trim - Returns the string without any leading or trailing whitespace. This is used to trim extra spaces from the beginning or end of a string. car - Returns the first word of the string. For %text%="this is the string"; %text.car% will yield "this". @RTSTAT 53@n cdr - Returns all but the first word of the string, trimmed. For %text%= "this is the string"; %text.cdr% will yield "is the string". contains() - Subfield used for comparison. mudcommand - Returns the mud command the string is shorthand for. Used to make sure the command you react to is the one you want: For %text%="o" %text.mudcommand% will yield "open". @RHELP MUDCOMMAND@n Example: @RTSTAT 30@n #0 TRIGGER-EDITORS A trigger consists of the type, information on when to execute it, a list of commands, and a list of variables. Each class of game object (mobiles, objects, and rooms) have their own set of triggers. #0 TSTAT TRIGEDIT-EXAMPLES EXAMPLES TRIG-EXAMPLES Usage: tstat <trigger vnum> Tstat lets you learn more about a specific trigger. Be warned that all the triggers on TBA may not work since anyone could have made them. Ask around for the best examples. Zone 0 are the basic examples. For more examples check out zones 13, 19, 27, 29, 77, 236 and 237. There are numerous others. Look around, just beware some may not be "good" examples. To learn more about any of these just tlist <zone #> then tstat each trigger individually. You can always ask Rumble to find you an example. See also: TLIST, TRIGEDIT, OLC #0 UNAFFECT Usage: unaffect <victim> Removes all affections (i.e., spell effects) from a player. See also: STAT #31 UNGROUP Usage: ungroup [group member] UNGROUP can be used by group leaders to disband the entire group, or to kick a specific group member out of the group (and stop him/her from following the leader). Examples: > ungroup > ungroup homer See also: GROUP #1 UNSET Usage: unset variable * in this example we have a var %testvar% we no longer need: set testvar hops happily along %echo% %self.name% %testvar% unset testvar * please note - if we had made the var global, it'd be gone instead. Remove the variable from the global variables of this script, or if not found there, from the script. See Also: SET, EVAL #0 Updates I will be posting updates for the mud here. [::Version 1::] * Prompt has been changed * Definied a max_powerlevel cap to 2,000,000,000 billion. #0 UPTIME Usage: uptime Displays when the game was booted and calculates how long ago that was. #31 USE WAND STAFF STAFFS WANDS Usage: use <staff> use <wand> <Target> Using a staff will automatically target everybody (or everything) in a room, except yourself. Therefore staffs are naturally very powerful, and yet may be very dangerous to use around other players. Using wands require that you point it at a target, which can be either a character or an object. Both staffs and wands must be HELD in the hand prior to use! (Use the grab or hold commands). You must still supply the name of the staff or wand to avoid confusion. See also: RECITE #1 USERS Usage: users [switches] USERS gives a list of all sockets (i.e., connections) currently active on the MUD. The multi-column display shows the socket number (used by DC), class, level, and name of the player connected, connection state, idle time, and hostname. The following switches are available: -k or -o Show only outlaws (killers and thieves). -p Show only sockets in the playing sockets. -d Show only non-playing (deadweight) sockets. -l min-max Show only sockets whose characters are from level min to max. -n <name> Show the socket with <name> associated with it. -h <host> Show all sockets from <host>. See also: DC, SLOWNS #31 VALUE Usage: value <item> Before selling an item to a shop, you can ask the shopkeeper how much he or she is willing to pay for it. Example: > value bread See also: BUY, LIST, SELL, SHOPS #1 VDELETE Usage: vdelete <variablename> <id> Use this to remove a Variable from either mob, room, obj, or player. Examples: vdelete has_solved_quest 5351 To determine the player ID stat player > stat file test male PC 'Test' IDNum: [ 3531], In room [ 0] See Also: REMOTE, RDELETE #0 VENTRILOQUATE Usage : cast 'ventriloquate' <victim | object> <text> Accumulative: - Duration : Instantaneous Level : Mage level 1. Save : Versus spell victim only sees attempted cast. For all people in the same room as the caster that fail a saving throw, the spell will make the object or victim appear to say the text written. Example: > cast 'vent' Mirlen I got 399,823 coins, don't even consider killing me! #1 VISIBLE Usage: visible Use this command to break your spell of invisibility before it expires. See also: INVISIBILITY #1 VNUM Usage: vnum <mob | obj> <name> Gives a list of the virtual numbers of objects or mobiles which have the specified name. Examples: > vnum obj ring 1. [ 904] a platinum ring 2. [ 2543] a seashell ring 3. [ 2588] a small emerald ring > vnum mob dragon 1. [ 1] Puff 2. [ 908] the dragon turtle 3. [ 2548] the Master of Illusions #31 VSTAT Usage: vstat < mob | obj > <virtual number> Used to stat a prototypical mobile or object by virtual number. Examples: > vstat obj 3000 > vstat mob 3001 See also: LOAD, STAT, VNUM #31 WAIT WAITUNTIL WAIT-UNTIL PAUSE TRIGEDIT-TIMING TIMING Usage: wait <time> [s] wait until <mudtime> * This script gives the actor 10 seconds to get out. say GET OUT! NOW! wait 10 s mkill %actor% The wait statement is used to 'pause' the script execution for a period of time. When a script is being executed it will attempt to execute all commands right away. To get small breaks in, and perhaps give the players time to adjust, use the wait command. * If you want to syncronise your script, you can use the 'wait until' feature. * This script wakes the mob at dawn, and puts him to sleep at night. wait until 8:00 wake * wait # without seconds following it will wait 10 ticks, which is very quick. wait 10 yawn wait 10 stand * This one uses wait 10 seconds. Recommend you always use seconds wait 10 sec emote looks sleepy. wait until 21:00 yawn wait 10 s rest wait 10 s sleep #0 WAKE SLEEPING REST SIT STAND For changing your position. If you feel weary, it's probably a good idea to sit and rest for a while, or maybe even take a nap. #1 WARRIOR FIGHTER Warriors are known to have more strength than the average player. This makes them better at hand-to-hand-combat, as they possess skills of violence and fighting unequaled by the members of any other class. However, they lack the ability to use magic of any sort. You can improve your skills by using the practice command. Skills available to warriors: kick, rescue, track, bash See also: PRACTICE #1 WEAR Usage: wear <item> [location] If you want to wear some clothes, armor or the likes. Also, to wear everything in your inventory (or at least try to, as wearing things like loaves of bread is not a good way to win friends and influence people) you can type "wear all". Optionally, you can specify what part of your body to wear the equipment on. Examples: > wear boots > wear all.bronze > wear all > wear ring finger See also: EQUIPMENT, REMOVE #1 WEATHER Usage: weather If you're uncertain whether the sun is shining or the rain is pouring down. You'll have to be outside in order to tell however. See also: "CONTROL WEATHER" #1 WHERE Usage: where <monster | player> Tells you the location of a monster, a player or an object. Mortals can only "where" monsters or players, and only from their own zone. Immortals may type 'where' without arguments to see where everybody is. Example: > where > where torch > where dragon #1 WHILE DONE Usage: while expression The while command starts a loop, running until the expression becomes zero or negative. This can make permanent loops - be careful. The switch block must be terminated by a done. While loops are disabled after looping 100 times. Room example: @RTSTAT 24@n Obj example: @RTSTAT 23@n #0 WHO Usage: who [minlev[-maxlev]] [-n sname] [-s] [-o] [-q] [-r] [-z] Lists the people currently in the game. Some people may be invisible. Command-line options can be used to limit the listing. The parameters can be specified on the command-line in any order. minlev, maxlev : list only people whose level is at or above minlev, and optionally, at or below maxlev -n : list only people whose names or titles contain sname -s : list names in the short form (4 columns of names, without titles or flags) -o : list only outlaws (i.e. people with a killer or thief flag) -q : list only people who are on the Quest -r : list only people who are in your room -z : list only people in your zone Examples: > who -c wc -s -l 20 List, in short form, warriors and clerics at or above level 20 > who 15-25 -o -z List all outlaws between levels 15 and 25 who are in your zone. #1 WHOAMI Usage: whoami Displays your character's name, if you want to be sure you are who you think you are. #1 WIELD Usage: wield <weapon> When you get tired of bashing monsters with your fists, you might consider wielding a weapon. Example: > wield sword > wield 3.sword (Wield the third sword in your inventory) See also: EQUIPMENT, REMOVE, WEAR #1 WIMPY Usage: wimpy [hp] Use the WIMPY command to automatically flee once your health drops below a certain level. Examples: > wimpy 35 will make your character automatically flee a fight if you have less than 35 hit points. > wimpy 0 will turn off wimpy mode. > wimpy will show you your current wimp status. See also: FLEE, TOGGLE #1 WIZAT Usage: at <room VNUM | item | mob | player name> <command> <arguments> AT can be used to perform an action in a location other than where you are standing. The first argument can be a virtual room number or the name of a character or object. The remainder of the line is passed to the command interpreter. Examples: > at 3001 look > at fido kill fido > at 3.corpse get all corpse > at catje wave catje See also: GOTO #31 WIZHELP Usage: wizhelp Gives a list of the special commands available at your level. #31 WIZLIST IMMLIST Usage: wizlist | immlist Lists the most powerful beings on the MUD. These are the people responsible for administering the system. See also: IMPLEMENTOR #1 WIZLOCK Usage: wizlock [value] WIZLOCK allows you to restrict the game. WIZLOCK 1 prevents new characters from being created. WIZLOCK n, 2 <= n <= 34, prevents new characters and allows only characters level n and above to log on. WIZLOCK with no argument displays the current WIZLOCK level. See also: BAN #31 WIZNET ; The immortal communication channel. Usage: wiznet [ '@' | '+' | '-' | '#' ] [<text>] Examples: >; <text> - just sends text >; @ - shows all gods that are on and visible to you - also shows if the gods who are visible to you are writing This code was provided by Gnort. See also: NOWIZ #31 "WORD OF RECALL" Usage : cast 'word of recall' Accumulative: - Duration : Instantaneous Level : Cleric level 12. The caster will be transferred back to his hometown sanctuary (usually the Temple of Midgaard). #1 WRITE Usage: write <object> write <title of board note> In order to write a note, you need a piece of blank paper (or similar), and a pen of some sort. You can then type something like "write on the paper with the pen", whereupon you'll be asked to type in your note at the keyboard. WRITE is also used to post messages to bulletin boards. Type HELP BOARDS for more information. See also: BOARDS, MAIL #1 ZCHECK Zcheck checks a zone for these and other standards. OBJECT STANDARDS: |Applies Type |Maximum | Minimum| |================================================== |Str, Dex, Int, Wis, Con, Cha | 3 | -5 | |Class | Do not use. | |Level | Do not use. | |Age* | 10 | -10 | |Weight | 50 | 1 | |Cost | 1000 | 1 | |Hitpoints, Mana, Movement | 50 | -50 | |Gold | Do not use. | |Experience | Do not use. | |Armor Class Values | 10 | -10 | |Armor Class Applies^ | 10 | -10 | |Hitroll & Damroll | 5 | -5 | |Saving_throws^ | 2 | -2 | |Weapon Damage | 50 | 1 | |================================================== ^These applies should be negative to benefit the player. MOB STANDARDS (+/- 10% acceptable): Here is our autoroll standard, entering mob level will calculate the following: GET_LEVEL(OLC_MOB(d)) = LIMIT(i, 1, 34); GET_BONUS(OLC_MOB(d)) = mob_lev*10; /* hit point bonus */ GET_HIT(OLC_MOB(d)) = mob_lev/5; /* number of hitpoint dice */ GET_MANA(OLC_MOB(d)) = mob_lev/5; /* size of hitpoint dice */ GET_HITROLL(OLC_MOB(d)) = mob_lev/3; /* hitroll 0-10 */ GET_DAMROLL(OLC_MOB(d)) = mob_lev/6; /* damroll 0-5 */ GET_AC(OLC_MOB(d)) = (100-(mob_lev*6)); /* AC 94 to -80 */ GET_NDD(OLC_MOB(d)) = MAX(1, mob_lev/6); /* number damage dice 1-5 */ GET_SDD(OLC_MOB(d)) = MAX(2, mob_lev/6); /* size of damage dice 2-5 */ GET_EXP(OLC_MOB(d)) = (mob_lev*mob_lev*100); GET_GOLD(OLC_MOB(d)) = (mob_lev*10); #31 ZEDIT Usage: zedit [<room number>] zedit new <zone> <bottom room> <top room> zedit save [<zone>] The zedit command is used to create new zones, change the characteristics of existing zones, and create and edit individual zone commands. The first variant of the zedit command is used to change values for an existing zone and add or modify the zone commands that relate to a particular room. If no room number is given, zedit will work with the room the player is currently in, or if a room number is specified, it will work with the zone that contains that room. The zedit menu is in two parts, the upper part being used to set the overall value for the total zone (zone name, reset mode, and so on), while the lower part lists the zone commands that relate to the particular room. The second variant is used to create a brand new zone, specifying the zone number and the range of room vnums that the zone contains. This will bring up the standard zone edit menu. The third (and final) variant will save the complete zone to the disk file, for either the zone specified or, if no zone number was entered, for the zone that the player is currently in. See Also: OASIS OASIS-EDIT ZLIST #1 ZLIST Usage: zlist zlist <zone> This command can either show all information for a single zone, or a list of all zones in the game. The list of zones shows the zone number, zone name, and the builder (if assigned). See also: OASIS ZEDIT #1 ZRESET Usage: zreset < zone | '*' | '.' > Used to force a zone to reset. '*' forces all zones to reset. '.' forces the zone you are in to reset. See also: SHOW -> ZONES #31 $~