^#^ refresh^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: refresh Usuage: refresh refresh <player> Description: Refresh replaces the player object with a new one. This is useful if any of the player objects have been updated, and you do not wish to log out, and back into the game. Only creators of security level SEC5 (50) can refresh other player characters. Related topics: none. ^#^ reset^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: reset Usuage: reset <item(s)> Description: This command allows you to call a reset(1) in any item(s). The reset() function in an item is normally called every 2 hours to reset monsters/rooms. Related topics: Reset. ^#^ Reset^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: Reset Usuage: Reset <item(s)> Description: This command allows you to call a reset(0) in any item(s). The reset() function in an item is normally called every 2 hours to reset monsters/rooms. In compat mode reset(0) will reset the items default startup settings. Related topics: reset. ^#^ review^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: review Usuage: review Description: This is a review of the creators messages and titles. Related topics: align, mhome, mclone, minvis, mtrans, mout, mmin, mmout, edtitle, review, title, pretitle, mdest. ^#^ rlog^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: rlog Usuage: rlog Description: rlog removes your error log file. Related topics: log, main, debug. ^#^ rm^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: rm Usuage: rm <file(s)> Description: This command allows you to remove file(s). Files can use the token '*' as a wildcard. If the destination directory/file is not given, the creator's default directory is used. rm will prompt the creator before removing the file. Related topics: Rm, mkdir, rmdir. ^#^ Rm^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: Rm Usuage: Rm <file(s)> Description: This command allows you to remove file(s). Files can use the token '*' as a wildcard. If the destination directory/file is not given, the creator's default directory is used. Rm will not prompt the creator before removing the file. Related topics: rm, mkdir, rmdir. ^#^ rmdir^#^ SUBTOPIC-creator^#^ -=[ Help ]=- command: rmdir Usuage: rmdir <directory> Description: This removes a directory. The directory must be empty or command fails. Directory can be any valid path. Related topics: path. ^#^ raise dead^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Raise Dead Sphere: Necromancy | | Level: 18 Cost: 18 | | Component: none. Usage: raise dead who | | Description: | | | | This prayer will allow the cleric to raise a dead person. | | The ghost or the corpse of the person, must be present. Any | | person raised by a raise dead will not lose as many stats, | | and the cleric gains experience. | | | |_______________________________________________________________| ()_______________________________________________________________) ^#^ remove curse^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Remove Curse Sphere: Combat | | Level: 2 Cost: 2 | | Component: None. Usage: remove curse who | | Description: | | | | The prayer will remove a curse off the recipient. | | | | | | | | | |_______________________________________________________________| ()_______________________________________________________________) ^#^ resist^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Resist Spells Sphere: Protection | | Level: 9 Cost: 9 | | Component: shield and armour Usage: resist <type> who | | Description: | | | | This prayer will allow the cleric to resist spell effects, of | | a specific element type. Element types include: light, | | darkness, death, draining, earth, air, fire, water, cold, | | acid, lightning, poison, disease, fear, and charm. The spell | | lasts for about 1 minute for every two levels of cleric. | |_______________________________________________________________| ()_______________________________________________________________) ^#^ restore^#^ SUBTOPIC-cleric^#^ _________________________________________________________ ()________________________________________________________) | Prayer: Restore Sphere: Necromancy | | Level: 21 Cost: 21 | | Component: None. Usage: restore who | | Description: | | | | This prayer will heal the life essence of the prayer's| | target. It will restore one level, that has been | | level drained by some dread beast, or spell. | | | | | |_______________________________________________________| ()________________________________________________________) ^#^ resurrect^#^ SUBTOPIC-cleric^#^ ________________________________________________________________ ()_______________________________________________________________) | Prayer: Resurrect Sphere: Necromancy | | Level: 35 Cost: 35 | | Component: none. Usage: resurrect who | | Description: | | | | This prayer will allow the cleric to resurrect a dead | | person. The dead person is brought to the presence of the | | cleric. They will not lose as many stats, be fully healed, | | and the cleric gains experience. | | | |_______________________________________________________________| ()_______________________________________________________________) ^#^ repair^#^ SUBTOPIC-fighter^#^ Command: repair <armour name> This skills allows you to repair all kinds of armour types. See also 'help fighter' for more details. ^#^ resist magic^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: Resist Magic |: Description: |:|| ||:| School: Abjuration |: |:|| ||:| Cost: 18 |: This spell gives the caster |:|| ||:| Level: 18 |: a small resistance to magic.|:|| ||:| Usage: resist magic |: |:|| ||:| |: |:|| ||:| Related Spells: |: |:|| ||:| None. |: |:|| ||:| |: |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ rope trick^#^ SUBTOPIC-mage^#^ ______________________________ ______________________________ __/ \/ \__ | /| |: |:|| ||:| Spell: Rope Trick |: Description: |:|| ||:| School: Alteration |: |:|| ||:| Cost: 4 |: This spell makes an inter- |:|| ||:| Level: 2 |: -dimensional space that can |:|| ||:| Usage: rope trick |: be climbed into. The rope |:|| ||:| |: can be raised and lowered to|:|| ||:| Related Spells: |: close the space. |:|| ||:| None. |: |:|| ||:| |: |:|| ||:|_____________________________ |: _____________________________|:|| ||/______________________________\|:/______________________________\|| |_______________________________ _______________________________| '----` ^#^ remove^#^ SUBTOPIC-armour^#^ -=[ Help ]=- command: remove Usuage: remove <item> Description: Stop wearing armour or clothing. Related topics: drop, wear, wield, classes (man). ^#^ random^#^ SUBTOPIC-efun^#^ EFUN random() SYNOPSIS int random(int n) DESCRIPTION Return a number in the random range [0 .. n-1]. It will fail if the number is zero or a negative number. EXAMPLE void do_damage(object ob) { ob->hit_player(random(10)); /* do 0 - 9 hit points of damage */ } SEE ALSO ^#^ read_bytes^#^ SUBTOPIC-efun^#^ EFUN read_bytes() SYNOPSIS string read_bytes(string path, int start, int length); DESCRIPTION This function reads 'length' bytes beginning at byte # 'start' in the file named 'path'. The bytes are returned as a string. Note that (start + length) must not be past the end of the file or else read_bytes will fail. If the second and third arguments are omitted, the entire file is returned. SEE ALSO /* from help.c */ #define MAX_BYTE_READ 8192 /* string lengths are limited to 8192 char */ /* convert help data files into help data array */ string *load_help_file(string topic_file) { string help_data, *tmp_data, *topic_data; string subtopic; int fp, fp_end; for(topic_data = ({}), fp = 0; fp < file_size(topic_file); fp += fp_end) { fp_end = MAX_READ_BYTE; if(fp_end + fp > file_size(topic_file)) fp_end = file_size(topic_file)-fp; if(!(help_data = read_bytes(topic_file,fp,fp_end))) { help_error(READ_ERROR); return ({}); } #ifdef OLD_EXPLODE tmp_data = explode(help_data + DELIMITER, DELIMITER); #else tmp_data = explode(help_data, DELIMITER); #endif /* OLD_EXPLODE */ if(sizeof(tmp_data) < 2 && sizeof(topic_data) < 2) { help_error(CORRUPT); return ({}); } if(sizeof(topic_data) > 1) { topic_data = topic_data[0..(sizeof(topic_data)-2)] + ({ topic_data[sizeof(topic_data)-1] + tmp_data[0], }); } if(sizeof(tmp_data) > 1) topic_data += tmp_data[1..(sizeof(tmp_data)-1)]; #ifdef MSDOS #ifdef OLD_EXPLODE fp_end += sizeof(explode(help_data +"\n","\n"))-1; #else fp_end += sizeof(explode(help_data,"\n"))-1; #endif /* OLD_EXPLODE */ #endif /* MSDOS */ } return topic_data; } SEE ALSO read_file(), write_bytes(), write_file(). ^#^ read_file^#^ SUBTOPIC-efun^#^ EFUN read_file() SYNOPSIS string read_file(string file, int start_line, int number_of_lines); DESCRIPTION Read a line of text from a file into a string. The second and third arguments are optional. If only the first argu- ment is specified, the entire file is returned (as a string). The start_line is the line number of the line you wish to read. This routine will return 0 if you try to read past the end of the file, or if you try to read from a nonposi- tive line. NOTE: This function works poorly on MSDOS and it does not read control characters too well so I try to avoid using it unless necessary. Try using read_bytes(). EXAMPLE /* simul efun cat() function */ varargs string cat(string file, int start, int block) { string str; if(!file) return 0; if(!block) block = 45; if(!(str = read_file(file,start,block))) { str = read_file(file,start); } if(str) write(str); return str; } SEE ALSO read_bytes(), write_bytes(), write_file(), log_file(). ^#^ regexp^#^ SUBTOPIC-efun^#^ EFUN regexp() SYNOPSIS string *regexp(string *lines, string pattern); DESCRIPTION When presented with an array of lines of test and a regular expression, regexp() returns an array containing those lines which match the pattern specified by the regular expression. REGULAR EXPRESSION SYNTAX A regular expression is zero or more branches, separated by `|'. It matches anything that matches one of the branches. A branch is zero or more pieces, concatenated. It matches a match for the first, followed by a match for the second, etc. A piece is an atom possibly followed by `*', `+', or `?'. An atom followed by `*' matches a sequence of 0 or more matches of the atom. An atom followed by `+' matches a sequence of 1 or more matches of the atom. An atom followed by `?' matches a match of the atom, or the null string. An atom is a regular expression in parentheses (matching a match for the regular expression), a range (see below), `.' (matching any single character), `^' (matching the null string at the beginning of the input string), `$' (matching the null string at the end of the input string), a `\' fol- lowed by a single character (matching that character), or a single character with no other significance (matching that character). A range is a sequence of characters enclosed in `[]'. It normally matches any single character from the sequence. If the sequence begins with `^', it matches any single charac- ter not from the rest of the sequence. If two characters in the sequence are separated by `-', this is shorthand for the full list of ASCII characters between them (e.g. `[0-9]' matches any decimal digit). To include a literal `]' in the sequence, make it the first character (following a possible `^'). To include a literal `-', make it the first or last character. AMBIGUITY If a regular expression could match two different parts of the input string, it will match the one which begins earli- est. If both begin in the same place but match different lengths, or match the same length in different ways, life gets messier, as follows. In general, the possibilities in a list of branches are con- sidered in left-to-right order, the possibilities for `*', `+', and `?' are considered longest-first, nested constructs are considered from the outermost in, and concatenated con- structs are considered leftmost-first. The match that will be chosen is the one that uses the earliest possibility in the first choice that has to be made. If there is more than one choice, the next will be made in the same manner (earli- est possibility) subject to the decision on the first choice. And so forth. For example, `(ab|a)b*c' could match `abc' in one of two ways. The first choice is between `ab' and `a'; since `ab' is earlier, and does lead to a successful overall match, it is chosen. Since the `b' is already spoken for, the `b*' must match its last possibility-the empty string-since it must respect the earlier choice. In the particular case where no `|'s are present and there is only one `*', `+', or `?', the net effect is that the longest possible match will be chosen. So `ab*', presented with `xabbbby', will match `abbbb'. Note that if `ab*' is tried against `xabyabbbz', it will match `ab' just after `x', due to the begins-earliest rule. (In effect, the deci- sion on where to start the match is the first choice to be made, hence subsequent choices must respect it even if this leads them to less-preferred alternatives.) ^#^ remove_call_out^#^ SUBTOPIC-efun^#^ EFUN remove_call_out() SYNOPSIS int remove_call_out(string fun) DESCRIPTION Remove next pending call out for function <fun> in this object. The time left is returned. If -1 is returned there was no call out pending to this function. EXAMPLE void adj_time_out(int t) { t += remove_call_out("time_out"); call_out("time_out", t); } SEE ALSO call_out(), find_call_out(). ^#^ restore_object^#^ SUBTOPIC-efun^#^ EFUN restore_object() SYNOPSIS int restore_object(string name) DESCRIPTION Restore values of variables for this object from file `name'. The <name> must NOT be prepended with a "/". EXAMPLE string guild_member; /* name of guild member */ status restore_guild_obj() { if(guild_member) { if(restore_object("players/zilanthius/guild/saves/"+ guild_member)) { return 1; } else { write("Your Guild membership has been lost!\n"); } } return 0; } SEE ALSO save_object(). ^#^ rtime^#^ SUBTOPIC-efun^#^ EFUN rtime() SYNOPSYS int rtime(string str) DESCRIPTION This is a simul-efun function. This function converts a ctime() string to a time() int. The ctime() string has the format string, "<day> <month> <date> <hour>:<min>:<sec> <year>" SEE ALSO time(), ctime() ^#^ raise_error^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void raise_error(string arg) DESCRIPTION Abort execution. If the current program execution was initiated by catch(), that catch expression will return arg as error code, else the arg will printed as error message. This is very similar to throw(), but while throw() is intended to be called inside catch(), raise_error() can be called anywhere. SEE ALSO catch(E), throw(E) ^#^ referencep^#^ SUBTOPIC-amylaar^#^ SYNOPSIS int referencep(mixed arg) DESCRIPTION returns true if arg was apssed by refrence to the current function, instead of the usual call-by-value. SEE ALSO references(LPC) ^#^ regexplode^#^ SUBTOPIC-amylaar^#^ SYNOPSIS string *regexplode (string text, string pattern) DESCRIPTION This function is similar to explode but accepts a regular expression as delimiter. Every second part of the returned array is a delimiter. SEE ALSO explode(E), regexp(E) ^#^ remove_action^#^ SUBTOPIC-amylaar^#^ SYNOPSIS int remove_action(string verb, object ob) DESCRIPTION Removes the action for the optional object, default is for this_player(). SEE ALSO add_action(), move_object() ^#^ remove_interactive^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void remove_nteractive(object ob) DESCRIPTION Close the connection to the interactive object ob. SEE ALSO connect(M), lgon(M), disconnect(M) ^#^ rename^#^ SUBTOPIC-amylaar^#^ SYNOPSIS int rename(string from, string to) DESCRIPTION The efun rename() will move from to the new name to. If from is a file, then to may be either a file or a directory. If from is a directory, then to has to be a directory. If to exists and is a directory, then from will be placed in that directory and keep its original name. You must have write permission for from to rename the file. It is only possible to change name of a directory within a directory on machines running System V, i.e. it is not possible to move to another directory. It is not possible to move a directory across filesystems on any system. On successfull completion rename() will return 0. If any error occurs 1 is returned. EXAMPLE rename("/players/wizard/obj.c", "/players/wizard/newobj.c"); SEE ALSO mkdir(E), rmdir(E), rm(E) ^#^ rename_object^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void rename_object (object ob, string new_name); DESCRIPTION Give the current object a new file_name. Causes a privilege violation. The new name must not contain a # character, except at the end, to avoid confusion with clone numbers. SEE ALSO creator(E), file_name(E) ^#^ replace_program^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void replace_program(string program) DESCRIPTION Substitutes a program with an inherited one. This is useful if you consider the performance and memory consumption of the driver. A program which doesn't need any additional variables and functions (except during creation) can call replace_program() to increase the function-cache hit-rate of the driver which decreases with the number of programs in the system. Rooms are a good example for the application of this function, as many rooms just consist of an inherit statement and the configure function. Any object can call replace_program() but looses all extra variables and functions which are not defined by the inherited program. ^#^ rusage^#^ SUBTOPIC-amylaar^#^ SYNOPSIS int *rusage(void) DESCRIPTION Return an array with current system resource usage statistics, as returned by the getrusage(2) of Unix. namely: utime, stime, maxrss, rus.ru_ixrss, rus.ru_idrss, rus.ru_isrss, rus.ru_minflt, rus.ru_majflt, rus.ru_nswap, rus.ru_inblock, rus.ru_oublock, rus.ru_msgsnd, rus.ru_msgrcv, rus.ru_nsignals, rus.ru_nvcsw, rus.ru_nivcsw This function is optional. SEE ALSO sys/resource.h (Unix) ^#^ reactivate_destructed_master^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void reactivate_destructed_master(int flag) DESCRIPTION This function is called in an already destructed master object if no new master object could be loaded. flag will be 1 if the old master object could be reclaimed form the list of objects that were marked for destruction but not yet terminated. If flag is 0, all variables of the object have been set to 0 and must be re-initialized. After this function, inaugurate_master() will be applied again. SEE ALSO destruct(E), inaugurate_master(M), master(M) ^#^ receive_imp^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void receive_imp(string host, string msg) DESCRIPTION Handle a received IMP message. This function is called for every message received on the IMP port. Usually it is passed on to some object that handles inter mud communications. SEE ALSO send_imp(E), query_imp_port(E) ^#^ remove_player^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void remove_player(object ob) DESCRIPTION Remove an interactive user object ob from the system. This function is called by the interpreter to expell remaining users from the system on shutdown in a polite way. If this functions fails to quit/destruct the user, he will be destructed the hard way by the interpreter. This function must not cause runtime errors. SEE ALSO remove_interactive(E), slow_shut_down(M) ^#^ retrieve_ed_setup^#^ SUBTOPIC-amylaar^#^ SYNOPSIS int retrieve_ed_setup(object command_giver) DESCRIPTION Should return an integer that gives the ed setup flags for the user that is denoted by command_giver. SEE ALSO save_ed_setup(M) ^#^ runtime_error^#^ SUBTOPIC-amylaar^#^ SYNOPSIS void runtime_error(string err, string prg, string curobj, int line) DESCRIPTION This function has to announce a runtime error to the active user. If the user has enough privileges, it might give him the full error message together with the source line. Else it should issue a decent message ("Your sensitive mind notices a wrongness in the fabric of space"). Note that prg denotes the program actually executed (which might be an inherited one) whereas curobj is just the offending object. SEE ALSO log_error(M), heart_beat_error(M), raise_error(E)