@action man=#0=tmp/exit1
@link $tmp/exit1=$doctools
@propset $tmp/exit1=str:/_/fl:This command is currently down for maintenance.
@propset $tmp/exit1=lock:/_/lok:$dlock
@propset $tmp/exit1=str:/_default#:18
@propset $tmp/exit1=str:/_default#/1:
@propset $tmp/exit1=str:/_default#/10:LOOPS - Loops structures in MUF.
@propset $tmp/exit1=str:/_default#/11:DIRECTIVES - Compiler directives.
@propset $tmp/exit1=str:/_default#/12:LIBRARIES - How to use and make MUF libraries.
@propset $tmp/exit1=str:/_default#/13:LEVELS - Restrictions by mucker level.
@propset $tmp/exit1=str:/_default#/14:MULTITASKING - Various MUF multi-tasking information.
@propset $tmp/exit1=str:/_default#/15:FLAGS - What effects various flags have on programs.
@propset $tmp/exit1=str:/_default#/16:MISCELLANEOUS - Random bits of information.
@propset $tmp/exit1=str:/_default#/17:
@propset $tmp/exit1=str:/_default#/18:See also 'man #help'.
@propset $tmp/exit1=str:/_default#/2:----------------------------
@propset $tmp/exit1=str:/_default#/3:MUF Manual, LWDP Version
@propset $tmp/exit1=str:/_default#/4:----------------------------
@propset $tmp/exit1=str:/_default#/5:
@propset $tmp/exit1=str:/_default#/6:To get manual information on a topic, type MAN , the following
@propset $tmp/exit1=str:/_default#/7:topics are available:
@propset $tmp/exit1=str:/_default#/8:
@propset $tmp/exit1=str:/_default#/9:PRIMITIVES - Reference section relating to MUF programming.
@propset $tmp/exit1=str:/_docs/!#:4
@propset $tmp/exit1=str:/_docs/!#/1:
@propset $tmp/exit1=str:/_docs/!#/2:! ( x v -- )
@propset $tmp/exit1=str:/_docs/!#/3:
@propset $tmp/exit1=str:/_docs/!#/4:Sets variable v's value to x. See also variable, var, lvar, localvar, and miscellaneous. (Pronounced 'store'.)
@propset $tmp/exit1=str:/_docs/+ - ~a~ ~sl~ %#:4
@propset $tmp/exit1=str:/_docs/+ - ~a~ ~sl~ %#/1:
@propset $tmp/exit1=str:/_docs/+ - ~a~ ~sl~ %#/2:+ - * / % ( i1 i2 -- i )
@propset $tmp/exit1=str:/_docs/+ - ~a~ ~sl~ %#/3:
@propset $tmp/exit1=str:/_docs/+ - ~a~ ~sl~ %#/4:These words perform arithmetic operations on numbers. `+' = addition (i1 + i2); `-' = subtraction (i1 - i2); `*' = multiplication (i1 times i2, or i1 * i2); `/' = division (i1 divided by i2, or i1 / i2) with integer division truncation of fractions; `%' = modulo (remainder of i1 / i2, or i1 % i2) Please note: all these operations may also be performed where i1 is a variable type. This is mainly useful in calculating an offset for a variable array.
@propset $tmp/exit1=str:/_docs/< > = <= >=#:4
@propset $tmp/exit1=str:/_docs/< > = <= >=#/1:
@propset $tmp/exit1=str:/_docs/< > = <= >=#/2:< > = <= >= ( i1 i2 -- i )
@propset $tmp/exit1=str:/_docs/< > = <= >=#/3:
@propset $tmp/exit1=str:/_docs/< > = <= >=#/4:Performs relational operations on integers i1 and i2. These return i as 1 if the expression is true, and i as 0 otherwise.
@propset $tmp/exit1=str:/_docs/@#:4
@propset $tmp/exit1=str:/_docs/@#/1:
@propset $tmp/exit1=str:/_docs/@#/2:@ ( v -- x )
@propset $tmp/exit1=str:/_docs/@#/3:
@propset $tmp/exit1=str:/_docs/@#/4:Retrieves variable v's value x. (Pronounced 'fetch'.)
@propset $tmp/exit1=str:/_docs/abort#:8
@propset $tmp/exit1=str:/_docs/abort#/1:
@propset $tmp/exit1=str:/_docs/abort#/2:ABORT ( s -- )
@propset $tmp/exit1=str:/_docs/abort#/3:
@propset $tmp/exit1=str:/_docs/abort#/4:Aborts the MUF program with an error. ie: '"Bad vibes." abort' would stop the MUF program and tell the user a message like:
@propset $tmp/exit1=str:/_docs/abort#/5:
@propset $tmp/exit1=str:/_docs/abort#/6: Programmer error. Please tell Revar the following message:
@propset $tmp/exit1=str:/_docs/abort#/7: #1234 (line 23) ABORT: Bad vibes.
@propset $tmp/exit1=str:/_docs/abort#/8:
@propset $tmp/exit1=str:/_docs/addpennies#:4
@propset $tmp/exit1=str:/_docs/addpennies#/1:
@propset $tmp/exit1=str:/_docs/addpennies#/2:ADDPENNIES ( d i -- )
@propset $tmp/exit1=str:/_docs/addpennies#/3:
@propset $tmp/exit1=str:/_docs/addpennies#/4:d must be a player or thing object. Adds i pennies to object d. Without Wizard permissions, addpennies may only give players pennies, limited to between zero and MAX_PENNIES.
@propset $tmp/exit1=str:/_docs/addprop#:4
@propset $tmp/exit1=str:/_docs/addprop#/1:
@propset $tmp/exit1=str:/_docs/addprop#/2:ADDPROP ( d s1 s2 i -- )
@propset $tmp/exit1=str:/_docs/addprop#/3:
@propset $tmp/exit1=str:/_docs/addprop#/4:Sets property associated with s1 in object d. Note that if s2 is null "", then i will be used. Otherwise, s2 is always used. All four parameters must be on the stack; none may be omitted. If the effective user of the program does not control the object in question and the property begins with an underscore `_', the property cannot be changed. The same goes for properties beginning with a dot `.' which cannot be read without permission. If you store values, you must ensure that it they are never zero. Otherwise, when the user stores a non-zero number into the string field, (users may only access string fields) the next time TinyMUCK is dumped and loaded up again, the value field will be replaced with atoi(string field). If it is necessary to store zero, it is safer to just add 1 to everything.
@propset $tmp/exit1=str:/_docs/and#:4
@propset $tmp/exit1=str:/_docs/and#/1:
@propset $tmp/exit1=str:/_docs/and#/2:AND ( x y -- i )
@propset $tmp/exit1=str:/_docs/and#/3:
@propset $tmp/exit1=str:/_docs/and#/4:Performs the boolean `and' operation on x and y, returning i as 1 if both i1 and i2 are TRUE, and returning i as 0 otherwise.
@propset $tmp/exit1=str:/_docs/atoi#:4
@propset $tmp/exit1=str:/_docs/atoi#/1:
@propset $tmp/exit1=str:/_docs/atoi#/2:ATOI ( s -- i )
@propset $tmp/exit1=str:/_docs/atoi#/3:
@propset $tmp/exit1=str:/_docs/atoi#/4:Turns string s into integer i. If s is not a string, then 0 is pushed onto the stack.
@propset $tmp/exit1=str:/_docs/awake#:4
@propset $tmp/exit1=str:/_docs/awake#/1:
@propset $tmp/exit1=str:/_docs/awake#/2:AWAKE ( d -- i )
@propset $tmp/exit1=str:/_docs/awake#/3:
@propset $tmp/exit1=str:/_docs/awake#/4:Passed a players dbref, returns the number of connections they have to the game. This will be 0 if they are not connected.
@propset $tmp/exit1=str:/_docs/background#:4
@propset $tmp/exit1=str:/_docs/background#/1:
@propset $tmp/exit1=str:/_docs/background#/2:BACKGROUND ( -- )
@propset $tmp/exit1=str:/_docs/background#/3:
@propset $tmp/exit1=str:/_docs/background#/4:A way to turn on multitasking. Programs in the background let the program user go on and be able to do other things while waiting for the program to finish. You cannot use the READ command in a background program. Once a program is put into background mode, you cannot set it into foreground or preempt mode. A program will remain in the background until it finishes execution.
@propset $tmp/exit1=str:/_docs/begin#:4
@propset $tmp/exit1=str:/_docs/begin#/1:
@propset $tmp/exit1=str:/_docs/begin#/2:BEGIN ( -- )
@propset $tmp/exit1=str:/_docs/begin#/3:
@propset $tmp/exit1=str:/_docs/begin#/4:Marks the beginning of begin-until or begin-repeat loops.
@propset $tmp/exit1=str:/_docs/bg_mode#:10
@propset $tmp/exit1=str:/_docs/bg_mode#/1:
@propset $tmp/exit1=str:/_docs/bg_mode#/10:and bg_mode is defined as 2.
@propset $tmp/exit1=str:/_docs/bg_mode#/2:PR_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/bg_mode#/3:FG_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/bg_mode#/4:BG_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/bg_mode#/5:These are all standard built in defines. They are used with MODE and
@propset $tmp/exit1=str:/_docs/bg_mode#/6:SETMODE to show what mode the program is running in, or to set what mode
@propset $tmp/exit1=str:/_docs/bg_mode#/7:it will run in. For example, MODE returns an integer on the stack, that
@propset $tmp/exit1=str:/_docs/bg_mode#/8:you can compare against pr_mode, fg_mode, or bg_mode, to determine what
@propset $tmp/exit1=str:/_docs/bg_mode#/9:mode the program is in. pr_mode is defined as 0, fg_mode is defined as 1,
@propset $tmp/exit1=str:/_docs/bitand#:4
@propset $tmp/exit1=str:/_docs/bitand#/1:
@propset $tmp/exit1=str:/_docs/bitand#/2:BITAND (i i -- i)
@propset $tmp/exit1=str:/_docs/bitand#/3:
@propset $tmp/exit1=str:/_docs/bitand#/4:Does a mathematical bitwise and.
@propset $tmp/exit1=str:/_docs/bitor#:4
@propset $tmp/exit1=str:/_docs/bitor#/1:
@propset $tmp/exit1=str:/_docs/bitor#/2:BITOR (i i -- i)
@propset $tmp/exit1=str:/_docs/bitor#/3:
@propset $tmp/exit1=str:/_docs/bitor#/4:Does a mathematical bitwise or.
@propset $tmp/exit1=str:/_docs/bitshift#:4
@propset $tmp/exit1=str:/_docs/bitshift#/1:
@propset $tmp/exit1=str:/_docs/bitshift#/2:BITSHIFT (i i -- i)
@propset $tmp/exit1=str:/_docs/bitshift#/3:
@propset $tmp/exit1=str:/_docs/bitshift#/4:Shifts the first integer by the second integer's number of bit positions. Same as the C << operator. If the second integer is negative, its like >>.
@propset $tmp/exit1=str:/_docs/Bitwise Functions#:10
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/1:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/10:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/2:MUF Bitwise functions (words) include:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/3:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/4:bitor bitxor bitand bitshift
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/5:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/6:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/7:MUF Bitwise functions (words) include:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/8:
@propset $tmp/exit1=str:/_docs/Bitwise Functions#/9:bitor bitxor bitand bitshift
@propset $tmp/exit1=str:/_docs/bitxor#:6
@propset $tmp/exit1=str:/_docs/bitxor#/1:b
@propset $tmp/exit1=str:/_docs/bitxor#/2:bitxor
@propset $tmp/exit1=str:/_docs/bitxor#/3:
@propset $tmp/exit1=str:/_docs/bitxor#/4:BITXOR (i i -- i)
@propset $tmp/exit1=str:/_docs/bitxor#/5:
@propset $tmp/exit1=str:/_docs/bitxor#/6:Does a mathematical bitwise exclusive or.
@propset $tmp/exit1=str:/_docs/break#:4
@propset $tmp/exit1=str:/_docs/break#/1:
@propset $tmp/exit1=str:/_docs/break#/2:BREAK ( -- )
@propset $tmp/exit1=str:/_docs/break#/3:
@propset $tmp/exit1=str:/_docs/break#/4:Breaks out of the innermost loop. Jumps execution to the instruction after the UNTIL or REPEAT for the current loop.
@propset $tmp/exit1=str:/_docs/call#:4
@propset $tmp/exit1=str:/_docs/call#/1:
@propset $tmp/exit1=str:/_docs/call#/2:CALL ( d -- ?? )
@propset $tmp/exit1=str:/_docs/call#/3:
@propset $tmp/exit1=str:/_docs/call#/4:Calls another program d. d must have been compiled already. d will inherit the values of ME, LOC, TRIGGER, and all other variables.
@propset $tmp/exit1=str:/_docs/caller#:4
@propset $tmp/exit1=str:/_docs/caller#/1:
@propset $tmp/exit1=str:/_docs/caller#/2:CALLER ( -- d)
@propset $tmp/exit1=str:/_docs/caller#/3:
@propset $tmp/exit1=str:/_docs/caller#/4:Returns the dbref of the program that called this one, or the dbref of the trigger, if this wasn't called by a program.
@propset $tmp/exit1=str:/_docs/checkargs#:42
@propset $tmp/exit1=str:/_docs/checkargs#/1:
@propset $tmp/exit1=str:/_docs/checkargs#/10: E - exit dbref. (#-1, #-2 NOT allowed)
@propset $tmp/exit1=str:/_docs/checkargs#/11: f - program dbref. (#-1, #-2 allowed)
@propset $tmp/exit1=str:/_docs/checkargs#/12: F - program dbref. (#-1, #-2 NOT allowed)
@propset $tmp/exit1=str:/_docs/checkargs#/13: i - integer.
@propset $tmp/exit1=str:/_docs/checkargs#/14: p - player dbref. (#-1, #-2 allowed)
@propset $tmp/exit1=str:/_docs/checkargs#/15: P - player dbref. (#-1, #-2 NOT allowed)
@propset $tmp/exit1=str:/_docs/checkargs#/16: r - room dbref. (#-1, #-2 allowed) (#-3 is a room)
@propset $tmp/exit1=str:/_docs/checkargs#/17: R - room dbref. (#-1, #-2 NOT allowed) (#-3 is a room)
@propset $tmp/exit1=str:/_docs/checkargs#/18: s - string.
@propset $tmp/exit1=str:/_docs/checkargs#/19: S - non-null string.
@propset $tmp/exit1=str:/_docs/checkargs#/2:CHECKARGS (??? s -- )
@propset $tmp/exit1=str:/_docs/checkargs#/20: t - thing dbref. (#-1, #-2 allowed)
@propset $tmp/exit1=str:/_docs/checkargs#/21: T - thing dbref. (#-1, #-2 NOT allowed)
@propset $tmp/exit1=str:/_docs/checkargs#/22: v - local or global variable.
@propset $tmp/exit1=str:/_docs/checkargs#/23: ? - any stack item type.
@propset $tmp/exit1=str:/_docs/checkargs#/24:
@propset $tmp/exit1=str:/_docs/checkargs#/25:Tests can be repeated multiple times by following the test with a number. ie: '"i12" checkargs' would test the stack for 12 integers.
@propset $tmp/exit1=str:/_docs/checkargs#/26:
@propset $tmp/exit1=str:/_docs/checkargs#/27:The last test in the string expression will be done on the top stack item. Tests are done from the top of the stack down, in order, so the last test that fails in a string expression will be the one that the Program Error will be given for. ie: '"sdSi" checkargs' will test that the top stack item is an integer, then it tests that the next item down is a non-null string, then it tests the third item from the top to see if it is a dbref, and lastly it tests to make sure that the 4th item from the top is a string.
@propset $tmp/exit1=str:/_docs/checkargs#/28:
@propset $tmp/exit1=str:/_docs/checkargs#/29:Spaces are ignored, so "s d i" is the same as "sdi". However, multipliers are ignored if they follow a space, so "s 4d i" is also the same as "sdi". This is because you are basically telling it to repeat the space 4 times, and since spaces are ignored, it has no effect.
@propset $tmp/exit1=str:/_docs/checkargs#/3:
@propset $tmp/exit1=str:/_docs/checkargs#/30:
@propset $tmp/exit1=str:/_docs/checkargs#/31:If you have a function that takes a stack item of any type, you can use the "?" test. "?" will match a string, integer, dbref, or any other type.
@propset $tmp/exit1=str:/_docs/checkargs#/32:
@propset $tmp/exit1=str:/_docs/checkargs#/33:Since sometimes arguments are passed in ranges, such as the way that the explode primitive returns multiple strings with an integer count on top, there is a way to group arguments, to show that you expect to recieve a range of that type. ie: '"{s}" checkargs' would test the stack for a set of strings like '"first" "second" "third" "fourth" 4' where the top stack item tells how many strings to expect within the range.
@propset $tmp/exit1=str:/_docs/checkargs#/34:
@propset $tmp/exit1=str:/_docs/checkargs#/35:Sometimes a function takes a range of paired arguments, such as: '"one" 1 "two" 2 "three" 3 "four" 4 4' where the count on the top of the range refers to the number of pairs. To test for the range given above, you would use '"{si}" checkargs' to tell it that you want to check for a range of paired strings and integers. You can group as many argument tests together in a range as you would like. ie: you could use "{sida}" as an expression to test for a range of related strings, integers, dbrefs, and function addresses.
@propset $tmp/exit1=str:/_docs/checkargs#/36:
@propset $tmp/exit1=str:/_docs/checkargs#/37:Since the argument multipliers refer to the previous test OR range, you can test for two string ranges with the test '"{s}2" checkargs'. ie: It would succeed on a stack of: '"one" "two" "three" 3 "four" "five" 2'. '"{s2}" checkargs', however, would test for one range of paired strings. ie: It would succeed with a stack of: '"one" "1" "two" "2" "three" "3" 3'.
@propset $tmp/exit1=str:/_docs/checkargs#/38:
@propset $tmp/exit1=str:/_docs/checkargs#/39:If, for some reason, you need to pass a range of ranges to a function, you can test for it by nesting the braces. ie: '"{{s}}" checkargs'
@propset $tmp/exit1=str:/_docs/checkargs#/4:Takes a string argument that contains an expression that is used to test the arguments on the stack below the given string. If they do not match what the expression says should be there, then it aborts the running program with an appropriate Program Error Message. The expression is formed from single character argument tests that refer to different argument types. The tests are:
@propset $tmp/exit1=str:/_docs/checkargs#/40:
@propset $tmp/exit1=str:/_docs/checkargs#/41:Now, as one last example, the primitive notify_exclude, if we were to test the arguments passed to it manually, would use the test '"R{p}s" checkargs' to test for a valid room dbref, a range of player dbrefs or #-1s, and a string.
@propset $tmp/exit1=str:/_docs/checkargs#/42:
@propset $tmp/exit1=str:/_docs/checkargs#/5:
@propset $tmp/exit1=str:/_docs/checkargs#/6: a - function address.
@propset $tmp/exit1=str:/_docs/checkargs#/7: d - dbref. (#-1, #-2, #-3 are okay)
@propset $tmp/exit1=str:/_docs/checkargs#/8: D - valid, non-garbage dbref. (#-1, #-2 NOT allowed. #-3 is okay)
@propset $tmp/exit1=str:/_docs/checkargs#/9: e - exit dbref. (#-1, #-2 allowed)
@propset $tmp/exit1=str:/_docs/checkpassword#:5
@propset $tmp/exit1=str:/_docs/checkpassword#/1:
@propset $tmp/exit1=str:/_docs/checkpassword#/2:CHECKPASSWORD ( d s -- i )
@propset $tmp/exit1=str:/_docs/checkpassword#/3:
@propset $tmp/exit1=str:/_docs/checkpassword#/4:Checks if password string s is valid for player dbref d. returns 1 on
@propset $tmp/exit1=str:/_docs/checkpassword#/5:success, otherwise returns 0. Wizbit only.
@propset $tmp/exit1=str:/_docs/Compiler Directives#:48
@propset $tmp/exit1=str:/_docs/Compiler Directives#/1:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/10:$echo
@propset $tmp/exit1=str:/_docs/Compiler Directives#/11:Echos the given string to the screen of the person compiling the
@propset $tmp/exit1=str:/_docs/Compiler Directives#/12:program. Runs at compile-time.
@propset $tmp/exit1=str:/_docs/Compiler Directives#/13:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/14:__version
@propset $tmp/exit1=str:/_docs/Compiler Directives#/15:A pre$defined macro that contains the current server version. Contains
@propset $tmp/exit1=str:/_docs/Compiler Directives#/16:the same string that the VERSION primitive returns.
@propset $tmp/exit1=str:/_docs/Compiler Directives#/17:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/18:$ifdef $else
@propset $tmp/exit1=str:/_docs/Compiler Directives#/19:$endif
@propset $tmp/exit1=str:/_docs/Compiler Directives#/2:Compiler directives for MUF:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/20:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/21:$ifndef $else
@propset $tmp/exit1=str:/_docs/Compiler Directives#/22:$endif
@propset $tmp/exit1=str:/_docs/Compiler Directives#/23:where is either a $defined name, or a test that consists of
@propset $tmp/exit1=str:/_docs/Compiler Directives#/24:a $defined name, a comparator (=, <, or >) and a test value, all in one
@propset $tmp/exit1=str:/_docs/Compiler Directives#/25:word without space. The $else clause is optional. Compiler directives
@propset $tmp/exit1=str:/_docs/Compiler Directives#/26:are nestable also. Some examples:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/27:$ifndef __version>Muck2.2fb3.5 $define envprop .envprop $enddef $endif
@propset $tmp/exit1=str:/_docs/Compiler Directives#/28:$define ploc $ifdef proplocs .proploc $else $endif $enddef
@propset $tmp/exit1=str:/_docs/Compiler Directives#/29:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/3:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/30:$include
@propset $tmp/exit1=str:/_docs/Compiler Directives#/31:Sets a bunch of $defines from the properties in the /_defs/ propdir. For
@propset $tmp/exit1=str:/_docs/Compiler Directives#/32:example, if object #345 had the following properties:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/33: /_defs/desc: "_/de" getpropstr
@propset $tmp/exit1=str:/_docs/Compiler Directives#/34: /_defs/setpropstr: dup if 0 addprop else pop remove_prop then
@propset $tmp/exit1=str:/_docs/Compiler Directives#/35: /_defs/setpropval: dup if "" swap addprop else pop remove_prop then
@propset $tmp/exit1=str:/_docs/Compiler Directives#/36: /_defs/setprop: dup int? if setpropval else setpropstr then
@propset $tmp/exit1=str:/_docs/Compiler Directives#/37:then if a program contained '$include #345' in it, then all subsequent
@propset $tmp/exit1=str:/_docs/Compiler Directives#/38:references to 'desc', 'setpropstr', 'setpropval', and 'setprop' would be
@propset $tmp/exit1=str:/_docs/Compiler Directives#/39:expanded to the string values of their respective programs. ie: 'desc'
@propset $tmp/exit1=str:/_docs/Compiler Directives#/4:$define $enddef
@propset $tmp/exit1=str:/_docs/Compiler Directives#/40:would be replaced throughout the program with '"_/de" getpropstr'
@propset $tmp/exit1=str:/_docs/Compiler Directives#/41:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/42:You can now escape a token in MUF so that it will be interpreted
@propset $tmp/exit1=str:/_docs/Compiler Directives#/43:literally. ie: \.pmatch will try to compile '.pmatch' without expanding
@propset $tmp/exit1=str:/_docs/Compiler Directives#/44:it as a macro. This lets you make special things with $defines such as:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/45:$define addprop over over or if \addprop else pop pop remove_prop
@propset $tmp/exit1=str:/_docs/Compiler Directives#/46:$enddef so that all the 'addprop's in the program will be expanded to
@propset $tmp/exit1=str:/_docs/Compiler Directives#/47:the definition, but the 'addprop' in the definition will not try to
@propset $tmp/exit1=str:/_docs/Compiler Directives#/48:expand recursively. It will call the actual addprop.
@propset $tmp/exit1=str:/_docs/Compiler Directives#/5:Basically the same as C's #define
@propset $tmp/exit1=str:/_docs/Compiler Directives#/6:
@propset $tmp/exit1=str:/_docs/Compiler Directives#/7:$undef
@propset $tmp/exit1=str:/_docs/Compiler Directives#/8:About the same as C's #undef
@propset $tmp/exit1=str:/_docs/Compiler Directives#/9:
@propset $tmp/exit1=str:/_docs/conboot#:4
@propset $tmp/exit1=str:/_docs/conboot#/1:
@propset $tmp/exit1=str:/_docs/conboot#/2:CONBOOT (i -- )
@propset $tmp/exit1=str:/_docs/conboot#/3:
@propset $tmp/exit1=str:/_docs/conboot#/4:Takes a connection number and disconnects that connection from the server. Basically @boot for a specific connection. (wizbit only)
@propset $tmp/exit1=str:/_docs/concount#:4
@propset $tmp/exit1=str:/_docs/concount#/1:
@propset $tmp/exit1=str:/_docs/concount#/2:CONCOUNT ( -- i)
@propset $tmp/exit1=str:/_docs/concount#/3:
@propset $tmp/exit1=str:/_docs/concount#/4:Returns how many connections to the server there are. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/condbref#:4
@propset $tmp/exit1=str:/_docs/condbref#/1:
@propset $tmp/exit1=str:/_docs/condbref#/2:CONDBREF (i -- d)
@propset $tmp/exit1=str:/_docs/condbref#/3:
@propset $tmp/exit1=str:/_docs/condbref#/4:Returns the dbref of the player connected to this connection. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/condescr#:4
@propset $tmp/exit1=str:/_docs/condescr#/1:
@propset $tmp/exit1=str:/_docs/condescr#/2:CONDESCR ( i -- i )
@propset $tmp/exit1=str:/_docs/condescr#/3:
@propset $tmp/exit1=str:/_docs/condescr#/4:Takes a connection number and returns the descriptor number associated with it. (Requires Mucker Level 3) See DESCRIPTORS, DESCRCON.
@propset $tmp/exit1=str:/_docs/conhost#:4
@propset $tmp/exit1=str:/_docs/conhost#/1:
@propset $tmp/exit1=str:/_docs/conhost#/2:CONHOST (i -- s)
@propset $tmp/exit1=str:/_docs/conhost#/3:
@propset $tmp/exit1=str:/_docs/conhost#/4:Returns the hostname of the connection. (wizbit only)
@propset $tmp/exit1=str:/_docs/conidle#:4
@propset $tmp/exit1=str:/_docs/conidle#/1:
@propset $tmp/exit1=str:/_docs/conidle#/2:CONIDLE (i -- i)
@propset $tmp/exit1=str:/_docs/conidle#/3:
@propset $tmp/exit1=str:/_docs/conidle#/4:Returns how many seconds the connection has been idle. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/connotify#:4
@propset $tmp/exit1=str:/_docs/connotify#/1:
@propset $tmp/exit1=str:/_docs/connotify#/2:CONNOTIFY (i s -- )
@propset $tmp/exit1=str:/_docs/connotify#/3:
@propset $tmp/exit1=str:/_docs/connotify#/4:Sends a string to a specific connection to the server. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/contents#:4
@propset $tmp/exit1=str:/_docs/contents#/1:
@propset $tmp/exit1=str:/_docs/contents#/2:CONTENTS ( d -- d' )
@propset $tmp/exit1=str:/_docs/contents#/3:
@propset $tmp/exit1=str:/_docs/contents#/4:Pushes the dbref of the first thing contained by d. This dbref can then be referenced by `next' to cycle through all of the contents of d. d may be a room or a player.
@propset $tmp/exit1=str:/_docs/contime#:4
@propset $tmp/exit1=str:/_docs/contime#/1:
@propset $tmp/exit1=str:/_docs/contime#/2:CONTIME (i -- i)
@propset $tmp/exit1=str:/_docs/contime#/3:
@propset $tmp/exit1=str:/_docs/contime#/4:Returns how many seconds the given connection has been connected to the server. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/continue#:4
@propset $tmp/exit1=str:/_docs/continue#/1:
@propset $tmp/exit1=str:/_docs/continue#/2:CONTINUE ( -- )
@propset $tmp/exit1=str:/_docs/continue#/3:
@propset $tmp/exit1=str:/_docs/continue#/4:Jumps execution to the beginning of the current loop.
@propset $tmp/exit1=str:/_docs/Control Structures#:7
@propset $tmp/exit1=str:/_docs/Control Structures#/1:
@propset $tmp/exit1=str:/_docs/Control Structures#/2:MUF Control-structure functions (words) include:
@propset $tmp/exit1=str:/_docs/Control Structures#/3:
@propset $tmp/exit1=str:/_docs/Control Structures#/4:if else then begin while break
@propset $tmp/exit1=str:/_docs/Control Structures#/5:continue until repeat jmp exit execute
@propset $tmp/exit1=str:/_docs/Control Structures#/6:call
@propset $tmp/exit1=str:/_docs/Control Structures#/7:
@propset $tmp/exit1=str:/_docs/controls#:5
@propset $tmp/exit1=str:/_docs/controls#/1:
@propset $tmp/exit1=str:/_docs/controls#/2:CONTROLS ( d1 d2 -- i )
@propset $tmp/exit1=str:/_docs/controls#/3:
@propset $tmp/exit1=str:/_docs/controls#/4:Takes a player dbref d1 and an object dbref d2, and returns true if the
@propset $tmp/exit1=str:/_docs/controls#/5:player has control over the given object.
@propset $tmp/exit1=str:/_docs/conuser#:4
@propset $tmp/exit1=str:/_docs/conuser#/1:
@propset $tmp/exit1=str:/_docs/conuser#/2:CONUSER (i -- s)
@propset $tmp/exit1=str:/_docs/conuser#/3:
@propset $tmp/exit1=str:/_docs/conuser#/4:Returns the username of the connection. (wizbit only)
@propset $tmp/exit1=str:/_docs/copyobj#:4
@propset $tmp/exit1=str:/_docs/copyobj#/1:
@propset $tmp/exit1=str:/_docs/copyobj#/2:COPYOBJ ( d -- d' )
@propset $tmp/exit1=str:/_docs/copyobj#/3:
@propset $tmp/exit1=str:/_docs/copyobj#/4:Creates a new object (returning d' on top of the stack), that is a copy of object d. Each program is allowed to create only one new object per run.
@propset $tmp/exit1=str:/_docs/Data Conversion#:5
@propset $tmp/exit1=str:/_docs/Data Conversion#/1:
@propset $tmp/exit1=str:/_docs/Data Conversion#/2:MUF Data-conversion functions (words) include:
@propset $tmp/exit1=str:/_docs/Data Conversion#/3:
@propset $tmp/exit1=str:/_docs/Data Conversion#/4:atoi intostr dbref int variable
@propset $tmp/exit1=str:/_docs/Data Conversion#/5:
@propset $tmp/exit1=str:/_docs/date#:4
@propset $tmp/exit1=str:/_docs/date#/1:
@propset $tmp/exit1=str:/_docs/date#/2:DATE ( -- i i i)
@propset $tmp/exit1=str:/_docs/date#/3:
@propset $tmp/exit1=str:/_docs/date#/4:Returns the monthday, month, and year. ie: if it were February 6, 1992, date would return 6 2 1992 as three integers on the stack.
@propset $tmp/exit1=str:/_docs/dbcmp#:4
@propset $tmp/exit1=str:/_docs/dbcmp#/1:
@propset $tmp/exit1=str:/_docs/dbcmp#/2:DBCMP ( d1 d2 -- i )
@propset $tmp/exit1=str:/_docs/dbcmp#/3:
@propset $tmp/exit1=str:/_docs/dbcmp#/4:Performs comparison of database objects d1 and d2. If they are the same object, then i is 1, otherwise i is 0.
@propset $tmp/exit1=str:/_docs/dbref#:4
@propset $tmp/exit1=str:/_docs/dbref#/1:
@propset $tmp/exit1=str:/_docs/dbref#/2:DBREF ( i -- d )
@propset $tmp/exit1=str:/_docs/dbref#/3:
@propset $tmp/exit1=str:/_docs/dbref#/4:Converts integer i to object reference d.
@propset $tmp/exit1=str:/_docs/dbref?#:4
@propset $tmp/exit1=str:/_docs/dbref?#/1:
@propset $tmp/exit1=str:/_docs/dbref?#/2:DBREF? ( x -- i )
@propset $tmp/exit1=str:/_docs/dbref?#/3:
@propset $tmp/exit1=str:/_docs/dbref?#/4:Returns true if x is a dbref.
@propset $tmp/exit1=str:/_docs/dbtop#:4
@propset $tmp/exit1=str:/_docs/dbtop#/1:
@propset $tmp/exit1=str:/_docs/dbtop#/2:DBTOP ( -- d)
@propset $tmp/exit1=str:/_docs/dbtop#/3:
@propset $tmp/exit1=str:/_docs/dbtop#/4:Returns the dbref of the first object beyond the top object of the database. 'dbtop ok?' would return a false value.
@propset $tmp/exit1=str:/_docs/depth#:4
@propset $tmp/exit1=str:/_docs/depth#/1:
@propset $tmp/exit1=str:/_docs/depth#/2:DEPTH ( -- i )
@propset $tmp/exit1=str:/_docs/depth#/3:
@propset $tmp/exit1=str:/_docs/depth#/4:Returns the number of items on the stack.
@propset $tmp/exit1=str:/_docs/desc#:4
@propset $tmp/exit1=str:/_docs/desc#/1:
@propset $tmp/exit1=str:/_docs/desc#/2:DESC ( d -- s )
@propset $tmp/exit1=str:/_docs/desc#/3:
@propset $tmp/exit1=str:/_docs/desc#/4:Takes object d and returns its description (@desc) string field.
@propset $tmp/exit1=str:/_docs/descr_setuser#:9
@propset $tmp/exit1=str:/_docs/descr_setuser#/1:
@propset $tmp/exit1=str:/_docs/descr_setuser#/2:DESCR_SETUSER ( i d s -- i )
@propset $tmp/exit1=str:/_docs/descr_setuser#/3:
@propset $tmp/exit1=str:/_docs/descr_setuser#/4:Reconnects descriptor i to the player with dbref d and password s. It first
@propset $tmp/exit1=str:/_docs/descr_setuser#/5:disconnects from the old dbref, then connects the new one, as if QUIT was
@propset $tmp/exit1=str:/_docs/descr_setuser#/6:typed then the new character was logged in. If the password doesn't match
@propset $tmp/exit1=str:/_docs/descr_setuser#/7:the player's password, then it gives a permission denied error. This
@propset $tmp/exit1=str:/_docs/descr_setuser#/8:returns a 1 if successful or a 0 if the given descriptor wasn't found.
@propset $tmp/exit1=str:/_docs/descr_setuser#/9:Wizbit only.
@propset $tmp/exit1=str:/_docs/descrcon#:4
@propset $tmp/exit1=str:/_docs/descrcon#/1:
@propset $tmp/exit1=str:/_docs/descrcon#/2:DESCRCON (i -- i)
@propset $tmp/exit1=str:/_docs/descrcon#/3:
@propset $tmp/exit1=str:/_docs/descrcon#/4:Takes a descriptor and returns the associated connection number, or 0 if no match was found. See DESCRIPTORS, CONDESCR.
@propset $tmp/exit1=str:/_docs/descriptors#:4
@propset $tmp/exit1=str:/_docs/descriptors#/1:
@propset $tmp/exit1=str:/_docs/descriptors#/2:DESCRIPTORS (d -- ix...i1 i)
@propset $tmp/exit1=str:/_docs/descriptors#/3:
@propset $tmp/exit1=str:/_docs/descriptors#/4:Takes a player dbref, or #-1, and returns the range of descriptor numbers associated with that dbref (or all for #-1) with their count on top. Descriptors are numbers that always stay the same for a connection, while a connection# is the relative position in the WHO list of a connection. See DESCRCON, CONDESCR.
@propset $tmp/exit1=str:/_docs/drop#:4
@propset $tmp/exit1=str:/_docs/drop#/1:
@propset $tmp/exit1=str:/_docs/drop#/2:DROP ( d -- s )
@propset $tmp/exit1=str:/_docs/drop#/3:
@propset $tmp/exit1=str:/_docs/drop#/4:Takes object d and returns its drop (@drop) string field.
@propset $tmp/exit1=str:/_docs/dup#:4
@propset $tmp/exit1=str:/_docs/dup#/1:
@propset $tmp/exit1=str:/_docs/dup#/2:DUP ( x -- x x )
@propset $tmp/exit1=str:/_docs/dup#/3:
@propset $tmp/exit1=str:/_docs/dup#/4:Duplicates the item at the top of the stack.
@propset $tmp/exit1=str:/_docs/envpropstr#:4
@propset $tmp/exit1=str:/_docs/envpropstr#/1:
@propset $tmp/exit1=str:/_docs/envpropstr#/2:ENVPROPSTR ( d s -- d s )
@propset $tmp/exit1=str:/_docs/envpropstr#/3:
@propset $tmp/exit1=str:/_docs/envpropstr#/4:Takes a starting object dbref and a property name and searches down the environment tree from that object for a property with the given name. If the property isn't found, it returns #-1 and a null string. If the property is found, it will return the dbref of the object it was found on, and the string value it contained.
@propset $tmp/exit1=str:/_docs/execute#:4
@propset $tmp/exit1=str:/_docs/execute#/1:
@propset $tmp/exit1=str:/_docs/execute#/2:EXECUTE ( a -- ?? )
@propset $tmp/exit1=str:/_docs/execute#/3:
@propset $tmp/exit1=str:/_docs/execute#/4:Executes the function pointed to by the address a on the stack.
@propset $tmp/exit1=str:/_docs/exit#:4
@propset $tmp/exit1=str:/_docs/exit#/1:
@propset $tmp/exit1=str:/_docs/exit#/2:EXIT ( -- )
@propset $tmp/exit1=str:/_docs/exit#/3:
@propset $tmp/exit1=str:/_docs/exit#/4:Exits from the word currently being executed, returning control to the calling word, at the statement immediately after the invokation of the call (exiting the program if applicable).
@propset $tmp/exit1=str:/_docs/exit?#:4
@propset $tmp/exit1=str:/_docs/exit?#/1:
@propset $tmp/exit1=str:/_docs/exit?#/2:EXIT? ( d -- i )
@propset $tmp/exit1=str:/_docs/exit?#/3:
@propset $tmp/exit1=str:/_docs/exit?#/4:Returns 1 if object d is an exit object, 0 if otherwise. See also player?, program?, room?, thing?, ok?.
@propset $tmp/exit1=str:/_docs/exits#:4
@propset $tmp/exit1=str:/_docs/exits#/1:
@propset $tmp/exit1=str:/_docs/exits#/2:EXITS ( d -- d' )
@propset $tmp/exit1=str:/_docs/exits#/3:
@propset $tmp/exit1=str:/_docs/exits#/4:Returns the first exit in the linked exit list of room/player/object d. This list can be transversed with 'next'.
@propset $tmp/exit1=str:/_docs/explode#:12
@propset $tmp/exit1=str:/_docs/explode#/1:
@propset $tmp/exit1=str:/_docs/explode#/10: "world" "Hello" 2
@propset $tmp/exit1=str:/_docs/explode#/11:
@propset $tmp/exit1=str:/_docs/explode#/12:on the stack. (Note that if you read these items off in order, they will come out "Hello" first, then "world".) For TinyMUCK 2.2, s2 may be any length. But "" (null string) is not an acceptable string for parameter s2.
@propset $tmp/exit1=str:/_docs/explode#/2:EXPLODE ( s1 s2 -- ... i )
@propset $tmp/exit1=str:/_docs/explode#/3:
@propset $tmp/exit1=str:/_docs/explode#/4:s2 is the delimiter string, and s1 is the target string, which will be fragmented, with i pushed on top of the stack as the number of strings s1 was broken into. For instance:
@propset $tmp/exit1=str:/_docs/explode#/5:
@propset $tmp/exit1=str:/_docs/explode#/6: "Hello world" " " explode
@propset $tmp/exit1=str:/_docs/explode#/7:
@propset $tmp/exit1=str:/_docs/explode#/8:will result in
@propset $tmp/exit1=str:/_docs/explode#/9:
@propset $tmp/exit1=str:/_docs/fail#:4
@propset $tmp/exit1=str:/_docs/fail#/1:
@propset $tmp/exit1=str:/_docs/fail#/2:FAIL ( d -- s )
@propset $tmp/exit1=str:/_docs/fail#/3:
@propset $tmp/exit1=str:/_docs/fail#/4:Takes object d and returns its fail (@fail) string field.
@propset $tmp/exit1=str:/_docs/fg_mode#:10
@propset $tmp/exit1=str:/_docs/fg_mode#/1:
@propset $tmp/exit1=str:/_docs/fg_mode#/10:and bg_mode is defined as 2.
@propset $tmp/exit1=str:/_docs/fg_mode#/2:PR_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/fg_mode#/3:FG_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/fg_mode#/4:BG_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/fg_mode#/5:These are all standard built in defines. They are used with MODE and
@propset $tmp/exit1=str:/_docs/fg_mode#/6:SETMODE to show what mode the program is running in, or to set what mode
@propset $tmp/exit1=str:/_docs/fg_mode#/7:it will run in. For example, MODE returns an integer on the stack, that
@propset $tmp/exit1=str:/_docs/fg_mode#/8:you can compare against pr_mode, fg_mode, or bg_mode, to determine what
@propset $tmp/exit1=str:/_docs/fg_mode#/9:mode the program is in. pr_mode is defined as 0, fg_mode is defined as 1,
@propset $tmp/exit1=str:/_docs/flag?#:4
@propset $tmp/exit1=str:/_docs/flag?#/1:
@propset $tmp/exit1=str:/_docs/flag?#/2:FLAG? ( d s -- i )
@propset $tmp/exit1=str:/_docs/flag?#/3:
@propset $tmp/exit1=str:/_docs/flag?#/4:Reads the flag of object d, specified by s, and returns its state: 1 = on; 0 = off. Different flags may be supported in different installations. flag? returns 0 for unsupported or unrecognized flags. You can check the "interactive" flag to see if a player is currently in a program's READ, or if they are in the MUF editor.
@propset $tmp/exit1=str:/_docs/force#:4
@propset $tmp/exit1=str:/_docs/force#/1:
@propset $tmp/exit1=str:/_docs/force#/2:FORCE (d s -- )
@propset $tmp/exit1=str:/_docs/force#/3:
@propset $tmp/exit1=str:/_docs/force#/4:Forces player d to do action s as if they were @forced. (wizbit only)
@propset $tmp/exit1=str:/_docs/foreground#:4
@propset $tmp/exit1=str:/_docs/foreground#/1:
@propset $tmp/exit1=str:/_docs/foreground#/2:FOREGROUND ( -- )
@propset $tmp/exit1=str:/_docs/foreground#/3:
@propset $tmp/exit1=str:/_docs/foreground#/4:To turn on multitasking, you can issue a foreground command. While a program is in foreground mode, the server will be multitasking and handling multiple programs at once, and input from other users, but it will be blocking any input from the user of the program until the program finishes. You cannot foreground a program once it is running in the background. A program will stay in foreground mode until it finishes running or until you change the mode.
@propset $tmp/exit1=str:/_docs/fork#:4
@propset $tmp/exit1=str:/_docs/fork#/1:
@propset $tmp/exit1=str:/_docs/fork#/2:FORK ( -- i)
@propset $tmp/exit1=str:/_docs/fork#/3:
@propset $tmp/exit1=str:/_docs/fork#/4:This primitive forks off a BACKGROUND (muf) process from the currently running program. It returns the pid of the child process to the parent process, and returns a 0 to the child. If the timequeue was full, then it returns a -1 to the parent process, and there is no child process. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/getlink#:4
@propset $tmp/exit1=str:/_docs/getlink#/1:
@propset $tmp/exit1=str:/_docs/getlink#/2:GETLINK ( d -- d' )
@propset $tmp/exit1=str:/_docs/getlink#/3:
@propset $tmp/exit1=str:/_docs/getlink#/4:Returns what object d is linked to, or #-1 if d is unlinked. The interpretation of link depends on the type of d: for an exit, returns the room, player, program, action, or thing that the exit is linked to. For a player, program, or thing, it returns its `home', and for rooms returns the drop-to.
@propset $tmp/exit1=str:/_docs/getlockstr#:4
@propset $tmp/exit1=str:/_docs/getlockstr#/1:
@propset $tmp/exit1=str:/_docs/getlockstr#/2:GETLOCKSTR ( d -- s )
@propset $tmp/exit1=str:/_docs/getlockstr#/3:
@propset $tmp/exit1=str:/_docs/getlockstr#/4:Returns the lock expression for the given object in the form of a string. Returns "*UNLOCKED*" if the object doesn't have a lock set.
@propset $tmp/exit1=str:/_docs/getpropstr#:2
@propset $tmp/exit1=str:/_docs/getpropstr#/1:GETPROPSTR ( d s -- s )
@propset $tmp/exit1=str:/_docs/getpropstr#/2:s must be a string. Retrieves string associated with property s in object d. If the property is cleared, "" (null string) is returned.
@propset $tmp/exit1=str:/_docs/getpropval#:4
@propset $tmp/exit1=str:/_docs/getpropval#/1:
@propset $tmp/exit1=str:/_docs/getpropval#/2:GETPROPVAL ( d s -- i )
@propset $tmp/exit1=str:/_docs/getpropval#/3:
@propset $tmp/exit1=str:/_docs/getpropval#/4:s must be a string. Retrieves the integer value i associated with property s in object d. If the property is cleared, 0 is returned.
@propset $tmp/exit1=str:/_docs/gmtoffset#:4
@propset $tmp/exit1=str:/_docs/gmtoffset#/1:
@propset $tmp/exit1=str:/_docs/gmtoffset#/2:GMTOFFSET ( -- i)
@propset $tmp/exit1=str:/_docs/gmtoffset#/3:
@propset $tmp/exit1=str:/_docs/gmtoffset#/4:Returns the machine's offset from Greenwich Mean Time in seconds.
@propset $tmp/exit1=str:/_docs/if#:4
@propset $tmp/exit1=str:/_docs/if#/1:
@propset $tmp/exit1=str:/_docs/if#/2:IF ... [ else ... ] then ( x -- )
@propset $tmp/exit1=str:/_docs/if#/3:
@propset $tmp/exit1=str:/_docs/if#/4:Examines boolean value x. If x is TRUE, the sequence of statements after the 'if' up until the `then' (or until the `else' if it is present) performed. If it is FALSE, then these statements are skipped, and if an `else' is present, the statements between the `else' and the `then' are performed. Control continues as usual at the statement after the `then'. Note that checking the top of the stack actually pops it, so if you want to re-use it, you should dup (see DUP) it before the if. For every IF in a word, there MUST be a THEN, and vice-versa. ELSE is optional.
@propset $tmp/exit1=str:/_docs/Input-Output#:5
@propset $tmp/exit1=str:/_docs/Input-Output#/1:
@propset $tmp/exit1=str:/_docs/Input-Output#/2:MUF I/O functions (words) include:
@propset $tmp/exit1=str:/_docs/Input-Output#/3:
@propset $tmp/exit1=str:/_docs/Input-Output#/4:read notify notify_except notify_exclude
@propset $tmp/exit1=str:/_docs/Input-Output#/5:
@propset $tmp/exit1=str:/_docs/instr#:4
@propset $tmp/exit1=str:/_docs/instr#/1:
@propset $tmp/exit1=str:/_docs/instr#/2:INSTR ( s s1 -- i )
@propset $tmp/exit1=str:/_docs/instr#/3:
@propset $tmp/exit1=str:/_docs/instr#/4:Returns the first occurrence of string s1 in string s, or 0 if s1 is not found. See also RINSTR.
@propset $tmp/exit1=str:/_docs/instring#:4
@propset $tmp/exit1=str:/_docs/instring#/1:
@propset $tmp/exit1=str:/_docs/instring#/2:INSTRING ( s s1 -- i )
@propset $tmp/exit1=str:/_docs/instring#/3:
@propset $tmp/exit1=str:/_docs/instring#/4:Returns the first occurrence of string s1 in string s, or 0 if s1 is not found. Non-case sensitive. See also RINSTRING, INSTR, and RINSTR. This is an inserver define to 'tolower swap tolower swap instr'
@propset $tmp/exit1=str:/_docs/int#:4
@propset $tmp/exit1=str:/_docs/int#/1:
@propset $tmp/exit1=str:/_docs/int#/2:INT ( x -- i )
@propset $tmp/exit1=str:/_docs/int#/3:
@propset $tmp/exit1=str:/_docs/int#/4:Converts variable or object x to integer i.
@propset $tmp/exit1=str:/_docs/int?#:4
@propset $tmp/exit1=str:/_docs/int?#/1:
@propset $tmp/exit1=str:/_docs/int?#/2:INT? ( x -- i )
@propset $tmp/exit1=str:/_docs/int?#/3:
@propset $tmp/exit1=str:/_docs/int?#/4:Returns true if x is an int.
@propset $tmp/exit1=str:/_docs/intostr#:4
@propset $tmp/exit1=str:/_docs/intostr#/1:
@propset $tmp/exit1=str:/_docs/intostr#/2:INTOSTR ( x -- s )
@propset $tmp/exit1=str:/_docs/intostr#/3:
@propset $tmp/exit1=str:/_docs/intostr#/4:x must be an integer or a dbref. Converts x into string s.
@propset $tmp/exit1=str:/_docs/ispid?#:4
@propset $tmp/exit1=str:/_docs/ispid?#/1:
@propset $tmp/exit1=str:/_docs/ispid?#/2:ISPID? (i -- i)
@propset $tmp/exit1=str:/_docs/ispid?#/3:
@propset $tmp/exit1=str:/_docs/ispid?#/4:Takes a process id and checks to see if an event with that pid is in the timequeue. It returns 1 if it is, and 0 if it is not. NOTE: since the program that is running is not on the timequeue WHILE it is executing, but only when it is swapped out letting other programs run, 'pid ispid?' will always return 0.
@propset $tmp/exit1=str:/_docs/jmp#:19
@propset $tmp/exit1=str:/_docs/jmp#/1:
@propset $tmp/exit1=str:/_docs/jmp#/10: 'countforever jmp
@propset $tmp/exit1=str:/_docs/jmp#/11: ;
@propset $tmp/exit1=str:/_docs/jmp#/12:
@propset $tmp/exit1=str:/_docs/jmp#/13:A better ways to do the same thing with looping primitives would be:
@propset $tmp/exit1=str:/_docs/jmp#/14: : countforever ( i -- )
@propset $tmp/exit1=str:/_docs/jmp#/15: begin
@propset $tmp/exit1=str:/_docs/jmp#/16: 1 +
@propset $tmp/exit1=str:/_docs/jmp#/17: dup intostr .tell
@propset $tmp/exit1=str:/_docs/jmp#/18: repeat
@propset $tmp/exit1=str:/_docs/jmp#/19: ;
@propset $tmp/exit1=str:/_docs/jmp#/2:JMP (a -- )
@propset $tmp/exit1=str:/_docs/jmp#/3:
@propset $tmp/exit1=str:/_docs/jmp#/4:The JMP primitive takes an address like those supplied by 'funcname and moves execution to that point. It is one early way that was used to do tail-recursion loops without as much overhead, and without failing due to system stack overflows. It is mostly obsolete now, except that it's one of the three or four internal primitives used to implement if-else-then and begin-while-repeat loops and such.
@propset $tmp/exit1=str:/_docs/jmp#/5:
@propset $tmp/exit1=str:/_docs/jmp#/6:Example of JMP as a tail-recursion optimization:
@propset $tmp/exit1=str:/_docs/jmp#/7: : countforever ( i -- )
@propset $tmp/exit1=str:/_docs/jmp#/8: 1 +
@propset $tmp/exit1=str:/_docs/jmp#/9: dup intostr .tell
@propset $tmp/exit1=str:/_docs/kill#:4
@propset $tmp/exit1=str:/_docs/kill#/1:
@propset $tmp/exit1=str:/_docs/kill#/2:KILL (i -- i)
@propset $tmp/exit1=str:/_docs/kill#/3:
@propset $tmp/exit1=str:/_docs/kill#/4:Attempts to kill the given process number. Returns 1 if the process existed, and 0 if it didn't. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/Libraries#:45
@propset $tmp/exit1=str:/_docs/Libraries#/1:
@propset $tmp/exit1=str:/_docs/Libraries#/10: in your program and it will run as if it were a function in your program.
@propset $tmp/exit1=str:/_docs/Libraries#/11:
@propset $tmp/exit1=str:/_docs/Libraries#/12:How to make a library:
@propset $tmp/exit1=str:/_docs/Libraries#/13:1) create a program with several useful generic subroutines.
@propset $tmp/exit1=str:/_docs/Libraries#/14:2) DOCUMENT those subroutines in a commented out header in the prog.
@propset $tmp/exit1=str:/_docs/Libraries#/15:3) @set =_docs:
@propset $tmp/exit1=str:/_docs/Libraries#/16:4) make sure that all the functions are declared PUBLIC.
@propset $tmp/exit1=str:/_docs/Libraries#/17:5) Make sure the program is set LINK_OK.
@propset $tmp/exit1=str:/_docs/Libraries#/18:6) Globally register the program with the @register command with a
@propset $tmp/exit1=str:/_docs/Libraries#/19: prefix of "lib/". ie: @reg lib strings=lib/strings
@propset $tmp/exit1=str:/_docs/Libraries#/2:Libraries:
@propset $tmp/exit1=str:/_docs/Libraries#/20:7) Set up the interface for each function on the program. To do this,
@propset $tmp/exit1=str:/_docs/Libraries#/21: you will need to set properties on the program in the form
@propset $tmp/exit1=str:/_docs/Libraries#/22: _defs/:"$" match "" call where
@propset $tmp/exit1=str:/_docs/Libraries#/23: is the name that you want to have people use to invoke it
@propset $tmp/exit1=str:/_docs/Libraries#/24: in their programs, is the registered name you gave it (ie:
@propset $tmp/exit1=str:/_docs/Libraries#/25: lib/strings), and is the actual name of the function in
@propset $tmp/exit1=str:/_docs/Libraries#/26: the program. Example:
@propset $tmp/exit1=str:/_docs/Libraries#/27: @set lib-strings=_defs/.split:"$lib/strings" match "split" call
@propset $tmp/exit1=str:/_docs/Libraries#/28:8) You're done!
@propset $tmp/exit1=str:/_docs/Libraries#/29:
@propset $tmp/exit1=str:/_docs/Libraries#/3:
@propset $tmp/exit1=str:/_docs/Libraries#/30:Currently standard libraries:
@propset $tmp/exit1=str:/_docs/Libraries#/31: $lib/strings Functions for manipulating strings.
@propset $tmp/exit1=str:/_docs/Libraries#/32: $lib/props Routines for searching for properties, or setting
@propset $tmp/exit1=str:/_docs/Libraries#/33: them.
@propset $tmp/exit1=str:/_docs/Libraries#/34: $lib/lmgr Standard list manager routines.
@propset $tmp/exit1=str:/_docs/Libraries#/35: $lib/stackrng Routines to handle variable sized ranges on the
@propset $tmp/exit1=str:/_docs/Libraries#/36: stack.
@propset $tmp/exit1=str:/_docs/Libraries#/37: $lib/edit String range editing and manipulation routines.
@propset $tmp/exit1=str:/_docs/Libraries#/38: $lib/editor Standard user text editor.
@propset $tmp/exit1=str:/_docs/Libraries#/39: $lib/mesg Standard message manager routines.
@propset $tmp/exit1=str:/_docs/Libraries#/4:How to use a library:
@propset $tmp/exit1=str:/_docs/Libraries#/40: $lib/mesgbox Routines for handling lists of messages.
@propset $tmp/exit1=str:/_docs/Libraries#/41: $lib/match Object or string matching routines.
@propset $tmp/exit1=str:/_docs/Libraries#/42: $lib/reflist Dbref-list management routines.
@propset $tmp/exit1=str:/_docs/Libraries#/43: $lib/index Hashed linked list manager with partial key
@propset $tmp/exit1=str:/_docs/Libraries#/44: matching.
@propset $tmp/exit1=str:/_docs/Libraries#/45:
@propset $tmp/exit1=str:/_docs/Libraries#/5:1) Use "@register lib" to list what libraries exist.
@propset $tmp/exit1=str:/_docs/Libraries#/6:2) Use "@view $lib/" to list the docs on that library.
@propset $tmp/exit1=str:/_docs/Libraries#/7:3) When you've found the library and the function you want, then all you
@propset $tmp/exit1=str:/_docs/Libraries#/8: have to do in your program is, at the beginning of it, $include
@propset $tmp/exit1=str:/_docs/Libraries#/9: $lib/ then just use the function name to invoke it later
@propset $tmp/exit1=str:/_docs/localvar#:4
@propset $tmp/exit1=str:/_docs/localvar#/1:
@propset $tmp/exit1=str:/_docs/localvar#/2:LOCALVAR (i -- l)
@propset $tmp/exit1=str:/_docs/localvar#/3:
@propset $tmp/exit1=str:/_docs/localvar#/4:Takes an integer and returns the respective local variable. Similar to the 'variable' primitive.
@propset $tmp/exit1=str:/_docs/location#:4
@propset $tmp/exit1=str:/_docs/location#/1:
@propset $tmp/exit1=str:/_docs/location#/2:LOCATION ( d -- d' )
@propset $tmp/exit1=str:/_docs/location#/3:
@propset $tmp/exit1=str:/_docs/location#/4:Returns location of object d as object d'.
@propset $tmp/exit1=str:/_docs/locked?#:4
@propset $tmp/exit1=str:/_docs/locked?#/1:
@propset $tmp/exit1=str:/_docs/locked?#/2:LOCKED? (d d -- i)
@propset $tmp/exit1=str:/_docs/locked?#/3:
@propset $tmp/exit1=str:/_docs/locked?#/4:Takes, in order, the dbref of the object to test the lock on, and the dbref of the player to test the lock against. It tests the lock, running programs as necessary, and returns a integer of 0 if it is not locked against her, or 1 if it is.
@propset $tmp/exit1=str:/_docs/Locks#:6
@propset $tmp/exit1=str:/_docs/Locks#/1:
@propset $tmp/exit1=str:/_docs/Locks#/2:MUF Lock-handling functions (words) include:
@propset $tmp/exit1=str:/_docs/Locks#/3:
@propset $tmp/exit1=str:/_docs/Locks#/4:locked? getlockstr setlockstr parselock unparselock prettylock
@propset $tmp/exit1=str:/_docs/Locks#/5:testlock
@propset $tmp/exit1=str:/_docs/Locks#/6:
@propset $tmp/exit1=str:/_docs/Loop Example#:20
@propset $tmp/exit1=str:/_docs/Loop Example#/1:
@propset $tmp/exit1=str:/_docs/Loop Example#/10: 15 begin (BEGIN inner loop)
@propset $tmp/exit1=str:/_docs/Loop Example#/11: dup while 1 - (This WHILE, and.. )
@propset $tmp/exit1=str:/_docs/Loop Example#/12: dup 5 % not if break then (... this BREAK, refer to inner loop)
@propset $tmp/exit1=str:/_docs/Loop Example#/13: repeat (This REPEAT statement ends inner
@propset $tmp/exit1=str:/_docs/Loop Example#/14: loop.)
@propset $tmp/exit1=str:/_docs/Loop Example#/15: then
@propset $tmp/exit1=str:/_docs/Loop Example#/16: dup 7 % not if continue then (This CONTINUE, and...)
@propset $tmp/exit1=str:/_docs/Loop Example#/17: dup 3 % not if dup 9 % while then (this WHILE refer to the outer
@propset $tmp/exit1=str:/_docs/Loop Example#/18: loop)
@propset $tmp/exit1=str:/_docs/Loop Example#/19: dup intostr me @ swap notify
@propset $tmp/exit1=str:/_docs/Loop Example#/2:Example of a complex loop structure:
@propset $tmp/exit1=str:/_docs/Loop Example#/20: dup 1 = until pop (This UNTIL ends the outer loop)
@propset $tmp/exit1=str:/_docs/Loop Example#/3:
@propset $tmp/exit1=str:/_docs/Loop Example#/4: 101 begin (BEGIN the outer loop)
@propset $tmp/exit1=str:/_docs/Loop Example#/5: dup while 1 - (This WHILE, ...)
@propset $tmp/exit1=str:/_docs/Loop Example#/6: dup not if break then (this BREAK, and..)
@propset $tmp/exit1=str:/_docs/Loop Example#/7: dup 2 % not if continue then (this CONTINUE refer to the outer
@propset $tmp/exit1=str:/_docs/Loop Example#/8: loop)
@propset $tmp/exit1=str:/_docs/Loop Example#/9: dup 10 % not if
@propset $tmp/exit1=str:/_docs/Loops#:30
@propset $tmp/exit1=str:/_docs/Loops#/1:
@propset $tmp/exit1=str:/_docs/Loops#/10: it jumps execution to the statement after the BEGIN statement,
@propset $tmp/exit1=str:/_docs/Loops#/11: otherwise, it falls through on execution to the statement after
@propset $tmp/exit1=str:/_docs/Loops#/12: the UNTIL.
@propset $tmp/exit1=str:/_docs/Loops#/13:
@propset $tmp/exit1=str:/_docs/Loops#/14:Within a loop, even within IF-ELSE-THEN structures within the loop
@propset $tmp/exit1=str:/_docs/Loops#/15:structure, you can place WHILE, CONTINUE, or BREAK statements. There
@propset $tmp/exit1=str:/_docs/Loops#/16:is no limit as to how many, or in what combinations these instructions
@propset $tmp/exit1=str:/_docs/Loops#/17:are used.
@propset $tmp/exit1=str:/_docs/Loops#/18:
@propset $tmp/exit1=str:/_docs/Loops#/19: A WHILE statement checks to see if the value on the stack is false.
@propset $tmp/exit1=str:/_docs/Loops#/2:Loops:
@propset $tmp/exit1=str:/_docs/Loops#/20: If it is, execution jumps to the first statement after the end of
@propset $tmp/exit1=str:/_docs/Loops#/21: the loop. If the value was true, execution falls through to the
@propset $tmp/exit1=str:/_docs/Loops#/22: statement after the WHILE.
@propset $tmp/exit1=str:/_docs/Loops#/23: The CONTINUE statement forces execution to jump to the beginning of
@propset $tmp/exit1=str:/_docs/Loops#/24: the loop, after the BEGIN.
@propset $tmp/exit1=str:/_docs/Loops#/25: The BREAK statement forces execution to jump to the end of the loop,
@propset $tmp/exit1=str:/_docs/Loops#/26: at the statement after the REPEAT or UNTIL, effectively exiting the
@propset $tmp/exit1=str:/_docs/Loops#/27: loop.
@propset $tmp/exit1=str:/_docs/Loops#/28:
@propset $tmp/exit1=str:/_docs/Loops#/29:Note: You can nest loops complexly, but WHILE, BREAK, and CONTINUE
@propset $tmp/exit1=str:/_docs/Loops#/3:
@propset $tmp/exit1=str:/_docs/Loops#/30:statements only refer to the innermost loop structure. See 'loop example'.
@propset $tmp/exit1=str:/_docs/Loops#/4:The BEGIN statement marks the beginning of a loop.
@propset $tmp/exit1=str:/_docs/Loops#/5:Either the UNTIL or the REPEAT statement marks the end of the loop.
@propset $tmp/exit1=str:/_docs/Loops#/6:
@propset $tmp/exit1=str:/_docs/Loops#/7: REPEAT will do an unconditional jump to the statement after the
@propset $tmp/exit1=str:/_docs/Loops#/8: BEGIN statement.
@propset $tmp/exit1=str:/_docs/Loops#/9: UNTIL checks to see if the value on the stack is false. If it is,
@propset $tmp/exit1=str:/_docs/lvar#:4
@propset $tmp/exit1=str:/_docs/lvar#/1:
@propset $tmp/exit1=str:/_docs/lvar#/2:LVAR
@propset $tmp/exit1=str:/_docs/lvar#/3:
@propset $tmp/exit1=str:/_docs/lvar#/4:This declares a variable as a local variable, that is local to a specific program. If another program calls this program, the values of the local variables will not be changed in the calling program, even if the called program changes them.
@propset $tmp/exit1=str:/_docs/match#:4
@propset $tmp/exit1=str:/_docs/match#/1:
@propset $tmp/exit1=str:/_docs/match#/2:MATCH ( s -- d )
@propset $tmp/exit1=str:/_docs/match#/3:
@propset $tmp/exit1=str:/_docs/match#/4:Takes string s, first checks all objects in the user's inventory, then checks all objects in the current room, as well as all exits that the player may use, and returns object d which contains string s. If nothing is found, d = #-1. If ambiguous, d = #-2. If HOME, d = #-3.
@propset $tmp/exit1=str:/_docs/Math Functions#:9
@propset $tmp/exit1=str:/_docs/Math Functions#/1:
@propset $tmp/exit1=str:/_docs/Math Functions#/2:MUF Math and comparison functions (words) include:
@propset $tmp/exit1=str:/_docs/Math Functions#/3:
@propset $tmp/exit1=str:/_docs/Math Functions#/4:+ - * / % <
@propset $tmp/exit1=str:/_docs/Math Functions#/5:> = <= >= strcmp stringcmp
@propset $tmp/exit1=str:/_docs/Math Functions#/6:strncmp number? dbcmp and or not
@propset $tmp/exit1=str:/_docs/Math Functions#/7:player? thing? room? program? exit? ok?
@propset $tmp/exit1=str:/_docs/Math Functions#/8:int? string? dbref?
@propset $tmp/exit1=str:/_docs/Math Functions#/9:
@propset $tmp/exit1=str:/_docs/Message Management#:7
@propset $tmp/exit1=str:/_docs/Message Management#/1:
@propset $tmp/exit1=str:/_docs/Message Management#/2:MUF Message-management functions (words) include:
@propset $tmp/exit1=str:/_docs/Message Management#/3:
@propset $tmp/exit1=str:/_docs/Message Management#/4:desc name succ fail drop osucc
@propset $tmp/exit1=str:/_docs/Message Management#/5:ofail odrop setname setdesc setsucc setfail
@propset $tmp/exit1=str:/_docs/Message Management#/6:setdrop setosucc setofail
@propset $tmp/exit1=str:/_docs/Message Management#/7:
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#:9
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/1:
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/2:MUF includes the following miscellaneous functions (words):
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/3:
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/4:pennies addpennies random location owner moveto
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/5:set flag? match rmatch copyobj contents
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/6:setlink setown newobject newroom newexit recycle
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/7:stats version dbtop prog trig caller
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/8:force timestamps mlevel part_pmatch checkpassword
@propset $tmp/exit1=str:/_docs/Miscellaneous Funcs#/9:
@propset $tmp/exit1=str:/_docs/Miscellaneous#:41
@propset $tmp/exit1=str:/_docs/Miscellaneous#/1:
@propset $tmp/exit1=str:/_docs/Miscellaneous#/10:
@propset $tmp/exit1=str:/_docs/Miscellaneous#/11:There is a COMMAND variable, similar to ME, LOC, and TRIGGER, except
@propset $tmp/exit1=str:/_docs/Miscellaneous#/12:that it contains a string. The string contains the command the user
@propset $tmp/exit1=str:/_docs/Miscellaneous#/13:typed that triggered the the program, without the command line
@propset $tmp/exit1=str:/_docs/Miscellaneous#/14:arguments. ie: if there was an exit named "abracadabra;foo
@propset $tmp/exit1=str:/_docs/Miscellaneous#/15:bar;frozzboz" that was linked to the program, and the user typed in "foo
@propset $tmp/exit1=str:/_docs/Miscellaneous#/16:bar baz", then the program would run with "baz" on the stack, and "foo
@propset $tmp/exit1=str:/_docs/Miscellaneous#/17:bar" in the global COMMAND variable.
@propset $tmp/exit1=str:/_docs/Miscellaneous#/18:
@propset $tmp/exit1=str:/_docs/Miscellaneous#/19:Programs are now compiled when they are run or called instead of
@propset $tmp/exit1=str:/_docs/Miscellaneous#/2:Miscellaneous:
@propset $tmp/exit1=str:/_docs/Miscellaneous#/20:when the databate is loaded. They are compiled with the uid of the
@propset $tmp/exit1=str:/_docs/Miscellaneous#/21:owner of the program.
@propset $tmp/exit1=str:/_docs/Miscellaneous#/22:
@propset $tmp/exit1=str:/_docs/Miscellaneous#/23:A room or player may have a "_connect" property set that contains
@propset $tmp/exit1=str:/_docs/Miscellaneous#/24:the dbref of a program to run when a player connects. The program must
@propset $tmp/exit1=str:/_docs/Miscellaneous#/25:be either link_ok or must be owned by the player connecting. When the
@propset $tmp/exit1=str:/_docs/Miscellaneous#/26:program is run, the string on the stack will be "Connect", the "loc @"
@propset $tmp/exit1=str:/_docs/Miscellaneous#/27:will be the location of the connecting player, the "me @" will be the
@propset $tmp/exit1=str:/_docs/Miscellaneous#/28:connecting player, and the "trigger @" (and "trig") will be the object
@propset $tmp/exit1=str:/_docs/Miscellaneous#/29:that had the _connect property on it. All programs referred to by
@propset $tmp/exit1=str:/_docs/Miscellaneous#/3:
@propset $tmp/exit1=str:/_docs/Miscellaneous#/30:_connect properties on the player, and on rooms down the environment
@propset $tmp/exit1=str:/_docs/Miscellaneous#/31:tree from the player, will be QUEUEd up to run. When a player
@propset $tmp/exit1=str:/_docs/Miscellaneous#/32:desconnects, programs referred to by _disconnect properties will be run
@propset $tmp/exit1=str:/_docs/Miscellaneous#/33:in a similar manner. (connect and disconnect _actions_ are also
@propset $tmp/exit1=str:/_docs/Miscellaneous#/34:implemented.)
@propset $tmp/exit1=str:/_docs/Miscellaneous#/35:
@propset $tmp/exit1=str:/_docs/Miscellaneous#/36:Programs refered to by props in _depart/_arrive/_connect/_disconnect
@propset $tmp/exit1=str:/_docs/Miscellaneous#/37:propdirs will all be queued up, eliminating the need for a dispatcher
@propset $tmp/exit1=str:/_docs/Miscellaneous#/38:program. An example would be _connect/announce:1234 That would queue
@propset $tmp/exit1=str:/_docs/Miscellaneous#/39:up program #1234 when a player connects. The name ("announce") is not
@propset $tmp/exit1=str:/_docs/Miscellaneous#/4:When a message is notify_except'ed or notify_exclud'ed to a room,
@propset $tmp/exit1=str:/_docs/Miscellaneous#/40:important, and can be anything you want, but they are queued up in
@propset $tmp/exit1=str:/_docs/Miscellaneous#/41:alphabetic order.
@propset $tmp/exit1=str:/_docs/Miscellaneous#/5:and LISTENERS and LISTENERS_ENV are defined, then it will run ALL the
@propset $tmp/exit1=str:/_docs/Miscellaneous#/6:programs referred to in all the _listen properties down the environment
@propset $tmp/exit1=str:/_docs/Miscellaneous#/7:tree, And in all of the objects in the room with LISTENERS_OBJ defined.
@propset $tmp/exit1=str:/_docs/Miscellaneous#/8:Also, the muf NOTIFY primitive was changed to run the listen program on
@propset $tmp/exit1=str:/_docs/Miscellaneous#/9:an object or player if a message is sent to them that way.
@propset $tmp/exit1=str:/_docs/mlevel#:4
@propset $tmp/exit1=str:/_docs/mlevel#/1:
@propset $tmp/exit1=str:/_docs/mlevel#/2:MLEVEL (d -- i)
@propset $tmp/exit1=str:/_docs/mlevel#/3:
@propset $tmp/exit1=str:/_docs/mlevel#/4:Returns the mucker (or priority) level of the given object. Also see MUCKER LEVELS
@propset $tmp/exit1=str:/_docs/moveto#:22
@propset $tmp/exit1=str:/_docs/moveto#/1:
@propset $tmp/exit1=str:/_docs/moveto#/10: !JUMP_OK, the moveto fails.
@propset $tmp/exit1=str:/_docs/moveto#/11: c) If the object being moved is not a player, is owned by the owner
@propset $tmp/exit1=str:/_docs/moveto#/12: of either the source or destination rooms, and either room where
@propset $tmp/exit1=str:/_docs/moveto#/13: the ownership matches is !JUMP_OK, the moveto fails.
@propset $tmp/exit1=str:/_docs/moveto#/14:
@propset $tmp/exit1=str:/_docs/moveto#/15:The moveto succeeds under any other circumstances. MOVETO rules follow the
@propset $tmp/exit1=str:/_docs/moveto#/16:permissions of the current effective userid. MOVETO will run programs in
@propset $tmp/exit1=str:/_docs/moveto#/17:the @desc and @succ/@fail of a room when moving a player.
@propset $tmp/exit1=str:/_docs/moveto#/18:
@propset $tmp/exit1=str:/_docs/moveto#/19:(Note: fb5.46 and later have been modified to allow re-attachment with of
@propset $tmp/exit1=str:/_docs/moveto#/2:MOVETO ( d1 d2 -- )
@propset $tmp/exit1=str:/_docs/moveto#/20:exits with MOVETO, but the fix is not universally effective: on some 5.46
@propset $tmp/exit1=str:/_docs/moveto#/21:MUCKS, MOVETO will not re-attach an exit. On earlier versions, it will not
@propset $tmp/exit1=str:/_docs/moveto#/22:re-attach exits; on later versions, it should.
@propset $tmp/exit1=str:/_docs/moveto#/3:
@propset $tmp/exit1=str:/_docs/moveto#/4:Moves object d1 to object d2. MOVETO is affected by the following rules:
@propset $tmp/exit1=str:/_docs/moveto#/5:
@propset $tmp/exit1=str:/_docs/moveto#/6: a) If the object being moved is !JUMP_OK and is it being moved by
@propset $tmp/exit1=str:/_docs/moveto#/7: someone other than the object's owner, then the moveto fails.
@propset $tmp/exit1=str:/_docs/moveto#/8: b) If the object being moved is a person and either the source or
@propset $tmp/exit1=str:/_docs/moveto#/9: destination rooms (if not owned by the person being moved) are
@propset $tmp/exit1=str:/_docs/Mucker Levels#:66
@propset $tmp/exit1=str:/_docs/Mucker Levels#/1:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/10:room they are. ie: OWNER, NAME, LOCATION, etc all fail if the object
@propset $tmp/exit1=str:/_docs/Mucker Levels#/11:isn't in the same room as the player. Level one MUCKER programs always
@propset $tmp/exit1=str:/_docs/Mucker Levels#/12:run as if they are set SETUID. NOTIFY, NOTIFY_EXCEPT, and
@propset $tmp/exit1=str:/_docs/Mucker Levels#/13:NOTIFY_EXCLUDE will refuse to send messages to rooms the user is not in.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/14:Level one programs cannot use ADDPENNIES. Additionally, level one
@propset $tmp/exit1=str:/_docs/Mucker Levels#/15:programs have an absolute instruction limit that is the same size as the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/16:PREEMPT instruction limit. This is usually around 20,000 instructions.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/17:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/18:Level two MUCKERs are also called Journeymen. Their permissions are
@propset $tmp/exit1=str:/_docs/Mucker Levels#/19:equivalent to the permissions for a normal MUCKER under older versions
@propset $tmp/exit1=str:/_docs/Mucker Levels#/2:Mucker Levels:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/20:of the server. Level two programs can run as many as four times the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/21:number of instructions that a preempt program could. This is usually
@propset $tmp/exit1=str:/_docs/Mucker Levels#/22:around 80,000 instructions.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/23:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/24:Level three MUCKERs are referred to as Masters. They can use the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/25:con- nection info primitives (ie: CONDBREF, ONLINE, etc.), read the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/26:EXITS list of any room, use NEXTOBJ on objects, can use NEWROOM,
@propset $tmp/exit1=str:/_docs/Mucker Levels#/27:NEWOBJECT, NEWEXIT, and COPYOBJ without limitations, can use QUEUE and
@propset $tmp/exit1=str:/_docs/Mucker Levels#/28:KILL, and can override the permissions restrictions of MOVETO. You only
@propset $tmp/exit1=str:/_docs/Mucker Levels#/29:give a player MUCKER level 3 if they are very trusted. There is no
@propset $tmp/exit1=str:/_docs/Mucker Levels#/3:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/30:absolute instruction count limit for level three or above.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/31:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/32:A player who is wizbitted is effectively Mucker Level 4. MUCKER
@propset $tmp/exit1=str:/_docs/Mucker Levels#/33:level four is required for the RECYCLE primitive, the CONHOST primitive,
@propset $tmp/exit1=str:/_docs/Mucker Levels#/34:the FORCE primitive, and the SETOWN primitive. ML4 also allows
@propset $tmp/exit1=str:/_docs/Mucker Levels#/35:overriding of permissions of the SET* primitives, and property
@propset $tmp/exit1=str:/_docs/Mucker Levels#/36:permissions. Props not listed by NEXTPROP with ML3 are listed with ML4.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/37:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/38:The MUCKER level permissions that a program runs at is the lesser of
@propset $tmp/exit1=str:/_docs/Mucker Levels#/39:it's own MUCKER level and the MUCKER level of it's owner.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/4:There are now four levels of MUCKERs in fb4.0. Level zero is a non-
@propset $tmp/exit1=str:/_docs/Mucker Levels#/40:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/41:If it is owned by a player who is MUCKER level 2, and it is MUCKER
@propset $tmp/exit1=str:/_docs/Mucker Levels#/42:level 3, then it runs at Muckr level 2. The one exception to this is
@propset $tmp/exit1=str:/_docs/Mucker Levels#/43:programs owned by a Wizard player. They run at Mucker level 2 if the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/44:program itself is not wizbit, and at Mucker level 4 if the program IS
@propset $tmp/exit1=str:/_docs/Mucker Levels#/45:set wizbit.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/46:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/47:Mucker level is referred to in flags lists by M# where the # is the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/48:Mucker level. Level zero objects don't show a flag for it. Example:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/49: Revar(#37PM3)
@propset $tmp/exit1=str:/_docs/Mucker Levels#/5:mucker. They cannot use the editor, and MUF programs owned by them run
@propset $tmp/exit1=str:/_docs/Mucker Levels#/50:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/51:In verbose flags lists, Mucker levels greater than zero are shown by
@propset $tmp/exit1=str:/_docs/Mucker Levels#/52:MUCKER# where # is the mucker level.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/53:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/54:To set a level on a player or program, use the level number as the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/55:flag name. MUCKER is the same as 2, and !MUCKER is the same as 0.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/56:Example: @set Revar=2
@propset $tmp/exit1=str:/_docs/Mucker Levels#/57:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/58:A player may set the MUCKER level on a program they own to any level
@propset $tmp/exit1=str:/_docs/Mucker Levels#/59:lower than or equal to their own level, and a wizard may set a program
@propset $tmp/exit1=str:/_docs/Mucker Levels#/6:as if they were level 1 MUCKERs.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/60:or player to any MUCKER level. A program cannot be set to Mucker Level
@propset $tmp/exit1=str:/_docs/Mucker Levels#/61:Zero, since it has no meaning for programs. (You expect them to use the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/62:MUF editor or something?)
@propset $tmp/exit1=str:/_docs/Mucker Levels#/63:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/64:When a program is created, it is automatically set to the same
@propset $tmp/exit1=str:/_docs/Mucker Levels#/65:MUCKER level as the creating player. When a program is loaded from the
@propset $tmp/exit1=str:/_docs/Mucker Levels#/66:db, if it is Mucker Level 0, it is upgraded to Mucker Level 2.
@propset $tmp/exit1=str:/_docs/Mucker Levels#/7:
@propset $tmp/exit1=str:/_docs/Mucker Levels#/8:Level one MUCKER's are apprentices. Their powers are restricted as
@propset $tmp/exit1=str:/_docs/Mucker Levels#/9:they cannot get information about any object that is not in the same
@propset $tmp/exit1=str:/_docs/Multitasking Funcs#:6
@propset $tmp/exit1=str:/_docs/Multitasking Funcs#/1:
@propset $tmp/exit1=str:/_docs/Multitasking Funcs#/2:MUF Multi-tasking functions (words) include:
@propset $tmp/exit1=str:/_docs/Multitasking Funcs#/3:
@propset $tmp/exit1=str:/_docs/Multitasking Funcs#/4:preempt background foreground sleep fork queue
@propset $tmp/exit1=str:/_docs/Multitasking Funcs#/5:kill setmode bg_mode fg_mode pr_mode
@propset $tmp/exit1=str:/_docs/Multitasking Funcs#/6:
@propset $tmp/exit1=str:/_docs/Multitasking#:22
@propset $tmp/exit1=str:/_docs/Multitasking#/1:
@propset $tmp/exit1=str:/_docs/Multitasking#/10:means that the program runs to completion without multitasking, taking
@propset $tmp/exit1=str:/_docs/Multitasking#/11:full control of the interpreter and not letting other users or progs
@propset $tmp/exit1=str:/_docs/Multitasking#/12:have timeslices, but imposes an instruction count limit unless the
@propset $tmp/exit1=str:/_docs/Multitasking#/13:program is a wizard program.
@propset $tmp/exit1=str:/_docs/Multitasking#/14:
@propset $tmp/exit1=str:/_docs/Multitasking#/15:Programs run by @locks, @descs, @succs, @fails, and @drops default
@propset $tmp/exit1=str:/_docs/Multitasking#/16:to the preempt mode when they run. Programs run by actions linked to
@propset $tmp/exit1=str:/_docs/Multitasking#/17:them default to running in foreground mode. QUEUEd program events, such
@propset $tmp/exit1=str:/_docs/Multitasking#/18:as those set up by _listen, _connect, _disconnect, etc, and those QUEUEd
@propset $tmp/exit1=str:/_docs/Multitasking#/19:by other programs default to running in background mode. (NOTE: these
@propset $tmp/exit1=str:/_docs/Multitasking#/2:Multitasking:
@propset $tmp/exit1=str:/_docs/Multitasking#/20:programs cannot be changed out of background mode)
@propset $tmp/exit1=str:/_docs/Multitasking#/21:
@propset $tmp/exit1=str:/_docs/Multitasking#/22:See also FOREGROUND, BACKGROUND, PREEMPT, FORK, QUEUE, KILL, and SLEEP.
@propset $tmp/exit1=str:/_docs/Multitasking#/3:
@propset $tmp/exit1=str:/_docs/Multitasking#/4:There are now 3 modes that a program can be in when running:
@propset $tmp/exit1=str:/_docs/Multitasking#/5:foreground, background, and preempt. A program running in the
@propset $tmp/exit1=str:/_docs/Multitasking#/6:foreground lets other users and programs have timeslices (ie
@propset $tmp/exit1=str:/_docs/Multitasking#/7:multitasking), but blocks input from the program user. Background mode
@propset $tmp/exit1=str:/_docs/Multitasking#/8:allows the user to also go on and do other things and issue other
@propset $tmp/exit1=str:/_docs/Multitasking#/9:commands, but will not allow the program to do READs. Preempt mode
@propset $tmp/exit1=str:/_docs/name#:4
@propset $tmp/exit1=str:/_docs/name#/1:
@propset $tmp/exit1=str:/_docs/name#/2:NAME ( d -- s )
@propset $tmp/exit1=str:/_docs/name#/3:
@propset $tmp/exit1=str:/_docs/name#/4:Takes object d and returns its name (@name) string field.
@propset $tmp/exit1=str:/_docs/newexit#:4
@propset $tmp/exit1=str:/_docs/newexit#/1:
@propset $tmp/exit1=str:/_docs/newexit#/2:NEWEXIT (d s -- d)
@propset $tmp/exit1=str:/_docs/newexit#/3:
@propset $tmp/exit1=str:/_docs/newexit#/4:Takes location and name and returns new exit's dbref. Owner is the person running the program. (program must have a wizbit)
@propset $tmp/exit1=str:/_docs/newobject#:4
@propset $tmp/exit1=str:/_docs/newobject#/1:
@propset $tmp/exit1=str:/_docs/newobject#/2:NEWOBJECT (d s -- d)
@propset $tmp/exit1=str:/_docs/newobject#/3:
@propset $tmp/exit1=str:/_docs/newobject#/4:Takes location and name and returns new thing's dbref. Owner is the person running the program. (program must have a wizbit)
@propset $tmp/exit1=str:/_docs/newroom#:4
@propset $tmp/exit1=str:/_docs/newroom#/1:
@propset $tmp/exit1=str:/_docs/newroom#/2:NEWROOM (d s -- d)
@propset $tmp/exit1=str:/_docs/newroom#/3:
@propset $tmp/exit1=str:/_docs/newroom#/4:Takes the dbref of the parent and the name of the room. It returns the dbref of the created room. Owner is the person running the program. (program must have a wizbit)
@propset $tmp/exit1=str:/_docs/next#:4
@propset $tmp/exit1=str:/_docs/next#/1:
@propset $tmp/exit1=str:/_docs/next#/2:NEXT ( d -- d' )
@propset $tmp/exit1=str:/_docs/next#/3:
@propset $tmp/exit1=str:/_docs/next#/4:Takes object d and returns the next thing in the linked contents/exits list of d's location.
@propset $tmp/exit1=str:/_docs/nextprop#:10
@propset $tmp/exit1=str:/_docs/nextprop#/1:
@propset $tmp/exit1=str:/_docs/nextprop#/10:A blank string is the same as "/". (Requires Mucker Level 3) Nextprop will skip properties if they would not be readable by the program with the given permissions and effective user id.
@propset $tmp/exit1=str:/_docs/nextprop#/2:NEXTPROP (d s -- s)
@propset $tmp/exit1=str:/_docs/nextprop#/3:
@propset $tmp/exit1=str:/_docs/nextprop#/4:This takes a dbref and a string that is the name of a property and returns the next property name on that dbref, or returns a null string if that was the last. To *start* the search, give it a propdir, or a blank string. For example,
@propset $tmp/exit1=str:/_docs/nextprop#/5:
@propset $tmp/exit1=str:/_docs/nextprop#/6: #10 "/" NEXTPROP
@propset $tmp/exit1=str:/_docs/nextprop#/7:or
@propset $tmp/exit1=str:/_docs/nextprop#/8: #28 "/letters/" NEXTPROP
@propset $tmp/exit1=str:/_docs/nextprop#/9:
@propset $tmp/exit1=str:/_docs/not#:4
@propset $tmp/exit1=str:/_docs/not#/1:
@propset $tmp/exit1=str:/_docs/not#/2:NOT ( x -- i )
@propset $tmp/exit1=str:/_docs/not#/3:
@propset $tmp/exit1=str:/_docs/not#/4:Performs the boolean `not' operation on x, returning i as 1 if x is FALSE, and returning i as 0 otherwise.
@propset $tmp/exit1=str:/_docs/notify#:4
@propset $tmp/exit1=str:/_docs/notify#/1:
@propset $tmp/exit1=str:/_docs/notify#/2:NOTIFY ( d s -- )
@propset $tmp/exit1=str:/_docs/notify#/3:
@propset $tmp/exit1=str:/_docs/notify#/4:d must be a player object. s must be a string. Tells player d message s. If s is null it will print nothing. This primitive will trigger the _listen'er property on the object the message is sent to, unless the program that would be run is the same as one one currently running.
@propset $tmp/exit1=str:/_docs/notify_except#:3
@propset $tmp/exit1=str:/_docs/notify_except#/1:
@propset $tmp/exit1=str:/_docs/notify_except#/2:NOTIFY_EXCEPT ( d1 d2 s -- )
@propset $tmp/exit1=str:/_docs/notify_except#/3:d1 must be a room object, s must be a string. Tells everyone at location d1 except object d2 message s. If object d2 is not a player or NOTHING (#-1) all players are notified. If s is null it prints nothing. NOTE: notify_except is now only an inserver $define. It is translated to '1 swap notify_exclude'. See also NOTIFY_EXCLUDE, below, and Directives, above.
@propset $tmp/exit1=str:/_docs/notify_exclude#:8
@propset $tmp/exit1=str:/_docs/notify_exclude#/1:
@propset $tmp/exit1=str:/_docs/notify_exclude#/2:NOTIFY_EXCLUDE (d dn ... d1 n s -- )
@propset $tmp/exit1=str:/_docs/notify_exclude#/3:
@propset $tmp/exit1=str:/_docs/notify_exclude#/4:Displays the message s to all the players (or _listening objects), excluding the n given players, in the given room. For example:
@propset $tmp/exit1=str:/_docs/notify_exclude#/5:
@propset $tmp/exit1=str:/_docs/notify_exclude#/6: #0 #1 #23 #7 3 "Hi!" notify_exclude
@propset $tmp/exit1=str:/_docs/notify_exclude#/7:
@propset $tmp/exit1=str:/_docs/notify_exclude#/8:would send "Hi!" to everyone in room #0 except for players (or objects) #1, #7, and #23. _listener's will not be triggered by a notify_exclude if the program they would run is the same as the current program running.
@propset $tmp/exit1=str:/_docs/number?#:4
@propset $tmp/exit1=str:/_docs/number?#/1:
@propset $tmp/exit1=str:/_docs/number?#/2:NUMBER? ( s -- i )
@propset $tmp/exit1=str:/_docs/number?#/3:
@propset $tmp/exit1=str:/_docs/number?#/4:Returns 1 if string on top of the stack contains a number. Otherwise returns 0.
@propset $tmp/exit1=str:/_docs/odrop#:4
@propset $tmp/exit1=str:/_docs/odrop#/1:
@propset $tmp/exit1=str:/_docs/odrop#/2:ODROP ( d -- s )
@propset $tmp/exit1=str:/_docs/odrop#/3:
@propset $tmp/exit1=str:/_docs/odrop#/4:Takes object d and returns its odrop (@odrop) string field.
@propset $tmp/exit1=str:/_docs/ofail#:4
@propset $tmp/exit1=str:/_docs/ofail#/1:
@propset $tmp/exit1=str:/_docs/ofail#/2:OFAIL ( d -- s )
@propset $tmp/exit1=str:/_docs/ofail#/3:
@propset $tmp/exit1=str:/_docs/ofail#/4:Takes object d and returns its ofail (@ofail) string field.
@propset $tmp/exit1=str:/_docs/ok?#:4
@propset $tmp/exit1=str:/_docs/ok?#/1:
@propset $tmp/exit1=str:/_docs/ok?#/2:OK? ( x -- i )
@propset $tmp/exit1=str:/_docs/ok?#/3:
@propset $tmp/exit1=str:/_docs/ok?#/4:Takes x and returns 1 if x is a type dbref, as well as 0 or above, below the top of the database, and is not an object of type garbage. See also EXIT?, PLAYER?, PROGRAM?, THING?.
@propset $tmp/exit1=str:/_docs/online#:4
@propset $tmp/exit1=str:/_docs/online#/1:
@propset $tmp/exit1=str:/_docs/online#/2:ONLINE ( -- d ... i )
@propset $tmp/exit1=str:/_docs/online#/3:
@propset $tmp/exit1=str:/_docs/online#/4:Returns a dbref for every connection to the game, and lastly the number of connections.
@propset $tmp/exit1=str:/_docs/or#:4
@propset $tmp/exit1=str:/_docs/or#/1:
@propset $tmp/exit1=str:/_docs/or#/2:OR ( x y -- i )
@propset $tmp/exit1=str:/_docs/or#/3:
@propset $tmp/exit1=str:/_docs/or#/4:Performs the boolean `or' operation on x and y. Returns i as 1 if either x or y is TRUE, returns i as 0 otherwise.
@propset $tmp/exit1=str:/_docs/osucc#:4
@propset $tmp/exit1=str:/_docs/osucc#/1:
@propset $tmp/exit1=str:/_docs/osucc#/2:OSUCC ( d -- s )
@propset $tmp/exit1=str:/_docs/osucc#/3:
@propset $tmp/exit1=str:/_docs/osucc#/4:Takes object d and returns its osuccess (@osucc) string field.
@propset $tmp/exit1=str:/_docs/over#:4
@propset $tmp/exit1=str:/_docs/over#/1:
@propset $tmp/exit1=str:/_docs/over#/2:OVER ( x y -- x y x )
@propset $tmp/exit1=str:/_docs/over#/3:
@propset $tmp/exit1=str:/_docs/over#/4:Duplicates the second-to-top thing on the stack. This is the same as 2 pick.
@propset $tmp/exit1=str:/_docs/owner#:4
@propset $tmp/exit1=str:/_docs/owner#/1:
@propset $tmp/exit1=str:/_docs/owner#/2:OWNER ( d -- d' )
@propset $tmp/exit1=str:/_docs/owner#/3:
@propset $tmp/exit1=str:/_docs/owner#/4:d is any database object. Returns d', the player object that owns d. If d is a player, d' will be the same as d.
@propset $tmp/exit1=str:/_docs/parselock#:7
@propset $tmp/exit1=str:/_docs/parselock#/1:
@propset $tmp/exit1=str:/_docs/parselock#/2:PARSELOCK (s -- l)
@propset $tmp/exit1=str:/_docs/parselock#/3:
@propset $tmp/exit1=str:/_docs/parselock#/4:Parses a lock string into a lock. If the parsing failed, then the lock
@propset $tmp/exit1=str:/_docs/parselock#/5:returned will be a TRUE_BOOLEXP, which is logically false to an 'if' test.
@propset $tmp/exit1=str:/_docs/parselock#/6:Also see UNPARSELOCK, LOCK?, PRETTYLOCK, TESTLOCK, GETLOCKSTR, SETLOCKSTR,
@propset $tmp/exit1=str:/_docs/parselock#/7:and LOCKED?.
@propset $tmp/exit1=str:/_docs/part_pmatch#:4
@propset $tmp/exit1=str:/_docs/part_pmatch#/1:
@propset $tmp/exit1=str:/_docs/part_pmatch#/2:PART_PMATCH (s -- d)
@propset $tmp/exit1=str:/_docs/part_pmatch#/3:
@propset $tmp/exit1=str:/_docs/part_pmatch#/4:Takes a player name, or the first part of the name, and matches it against the names of the players who are currently online. If the given string is a prefix of the name of a player who is online, then their dbref is returned. If two players could be matched by the given string, it returns a #-2. If None of the players online match, then it returns a #-1.
@propset $tmp/exit1=str:/_docs/pennies#:4
@propset $tmp/exit1=str:/_docs/pennies#/1:
@propset $tmp/exit1=str:/_docs/pennies#/2:PENNIES ( d -- i )
@propset $tmp/exit1=str:/_docs/pennies#/3:
@propset $tmp/exit1=str:/_docs/pennies#/4:Gets the amount of pennies player object d has, or the penny value of thing d.
@propset $tmp/exit1=str:/_docs/pick#:4
@propset $tmp/exit1=str:/_docs/pick#/1:
@propset $tmp/exit1=str:/_docs/pick#/2:PICK ( ni ... n1 i -- ni ... n1 ni )
@propset $tmp/exit1=str:/_docs/pick#/3:
@propset $tmp/exit1=str:/_docs/pick#/4:Takes the i'th thing from the top of the stack and pushes it on the top. 1 pick is equivalent to dup, and 2 pick is equivalent to over.
@propset $tmp/exit1=str:/_docs/player?#:4
@propset $tmp/exit1=str:/_docs/player?#/1:
@propset $tmp/exit1=str:/_docs/player?#/2:PLAYER? ( d -- i )
@propset $tmp/exit1=str:/_docs/player?#/3:
@propset $tmp/exit1=str:/_docs/player?#/4:Returns 1 if object d is a player object, otherwise returns 0. If the dbref is that of an invalid object, it will return 0. See also PROGRAM?, ROOM?, THING?, EXIT?, OK?.
@propset $tmp/exit1=str:/_docs/pop#:4
@propset $tmp/exit1=str:/_docs/pop#/1:
@propset $tmp/exit1=str:/_docs/pop#/2:POP ( x -- )
@propset $tmp/exit1=str:/_docs/pop#/3:
@propset $tmp/exit1=str:/_docs/pop#/4:Pops the top of the stack into oblivion.
@propset $tmp/exit1=str:/_docs/pr_mode#:10
@propset $tmp/exit1=str:/_docs/pr_mode#/1:
@propset $tmp/exit1=str:/_docs/pr_mode#/10:and bg_mode is defined as 2.
@propset $tmp/exit1=str:/_docs/pr_mode#/2:PR_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/pr_mode#/3:FG_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/pr_mode#/4:BG_MODE ( -- i)
@propset $tmp/exit1=str:/_docs/pr_mode#/5:These are all standard built in defines. They are used with MODE and
@propset $tmp/exit1=str:/_docs/pr_mode#/6:SETMODE to show what mode the program is running in, or to set what mode
@propset $tmp/exit1=str:/_docs/pr_mode#/7:it will run in. For example, MODE returns an integer on the stack, that
@propset $tmp/exit1=str:/_docs/pr_mode#/8:you can compare against pr_mode, fg_mode, or bg_mode, to determine what
@propset $tmp/exit1=str:/_docs/pr_mode#/9:mode the program is in. pr_mode is defined as 0, fg_mode is defined as 1,
@propset $tmp/exit1=str:/_docs/preempt#:4
@propset $tmp/exit1=str:/_docs/preempt#/1:
@propset $tmp/exit1=str:/_docs/preempt#/2:PREEMPT ( -- )
@propset $tmp/exit1=str:/_docs/preempt#/3:
@propset $tmp/exit1=str:/_docs/preempt#/4:Prevents a program from being swapped out to do multitasking. Needed in some cases to protect crutial data from being changed while it is being worked on. A program will remain in preempt mode until it's execution is completed. Basically what this command does is to turn off multitasking, but then you have a limit on how many instructions you can run without needing either to pause with a SLEEP, or have a wizbit on the program. See Multitasking, above.
@propset $tmp/exit1=str:/_docs/Preprocessor#:8
@propset $tmp/exit1=str:/_docs/Preprocessor#/1:
@propset $tmp/exit1=str:/_docs/Preprocessor#/2:Preprocessor Directives:
@propset $tmp/exit1=str:/_docs/Preprocessor#/3:
@propset $tmp/exit1=str:/_docs/Preprocessor#/4:This version makes use of several 'preprocessor directives'... additional steps the compiler performs before compiling the program.
@propset $tmp/exit1=str:/_docs/Preprocessor#/5:
@propset $tmp/exit1=str:/_docs/Preprocessor#/6:'$define' replaces all occurances of the first word following '$define' with any remaining words between the first word and the '$enddef' directive.
@propset $tmp/exit1=str:/_docs/Preprocessor#/7:
@propset $tmp/exit1=str:/_docs/Preprocessor#/8:The first of these directives, $define runningM1 "yes" $enddef, defines the word 'runningM1' as the string "yes".
@propset $tmp/exit1=str:/_docs/prettylock#:5
@propset $tmp/exit1=str:/_docs/prettylock#/1:
@propset $tmp/exit1=str:/_docs/prettylock#/2:PRETTYLOCK (l -- s)
@propset $tmp/exit1=str:/_docs/prettylock#/3:
@propset $tmp/exit1=str:/_docs/prettylock#/4:Unparses a lock into a string fit for players to see. Also see LOCK?,
@propset $tmp/exit1=str:/_docs/prettylock#/5:PARSELOCK, UNPARSELOCK, TESTLOCK, GETLOCKSTR, SETLOCKSTR, and LOCKED?.
@propset $tmp/exit1=str:/_docs/primitives#:7
@propset $tmp/exit1=str:/_docs/primitives#/1:The following lists of primitives are available:
@propset $tmp/exit1=str:/_docs/primitives#/2:
@propset $tmp/exit1=str:/_docs/primitives#/3:Variables Control Structures Data Conversion
@propset $tmp/exit1=str:/_docs/primitives#/4:Input/Output Multitasking Stack Handling
@propset $tmp/exit1=str:/_docs/primitives#/5:Message Management Strings Math Functions
@propset $tmp/exit1=str:/_docs/primitives#/6:Bitwise Functions Miscellaneous Funcs
@propset $tmp/exit1=str:/_docs/primitives#/7:
@propset $tmp/exit1=str:/_docs/prog#:4
@propset $tmp/exit1=str:/_docs/prog#/1:
@propset $tmp/exit1=str:/_docs/prog#/2:PROG ( -- d)
@propset $tmp/exit1=str:/_docs/prog#/3:
@propset $tmp/exit1=str:/_docs/prog#/4:Returns the dbref of the currently running program.
@propset $tmp/exit1=str:/_docs/program?#:4
@propset $tmp/exit1=str:/_docs/program?#/1:
@propset $tmp/exit1=str:/_docs/program?#/2:PROGRAM? ( d -- i )
@propset $tmp/exit1=str:/_docs/program?#/3:
@propset $tmp/exit1=str:/_docs/program?#/4:Returns 1 if object d is a program, otherwise returns 0. If the dbref is that of an invalid object, it will return 0. See also player?, room?, thing?, exit?, ok?.
@propset $tmp/exit1=str:/_docs/pronoun_sub#:20
@propset $tmp/exit1=str:/_docs/pronoun_sub#/1:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/10: "Igor has lost his marbles."
@propset $tmp/exit1=str:/_docs/pronoun_sub#/11:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/12:if the player's name was Igor and his sex were male. d does not have to be a player for the substitutions to work. The substitutions are
@propset $tmp/exit1=str:/_docs/pronoun_sub#/13:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/14: %a/%A for absolute possessive (his/hers/its, His/Hers/Its)
@propset $tmp/exit1=str:/_docs/pronoun_sub#/15: %s/%S for subjective pronouns (he/she/it, He/She/It)
@propset $tmp/exit1=str:/_docs/pronoun_sub#/16: %o/%O for objective pronouns (him/her/it, Him/Her/It)
@propset $tmp/exit1=str:/_docs/pronoun_sub#/17: %p/%P for possessive pronouns (his/her/its, His/Her/Its)
@propset $tmp/exit1=str:/_docs/pronoun_sub#/18: %r/%R for reflexive pronouns (himself/herself/itself,
@propset $tmp/exit1=str:/_docs/pronoun_sub#/19: %n/%N for the player's name. (Himself/Herself/Itself)
@propset $tmp/exit1=str:/_docs/pronoun_sub#/2:PRONOUN_SUB ( d s -- s' )
@propset $tmp/exit1=str:/_docs/pronoun_sub#/20:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/3:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/4:Takes database object d and substitutes string s according to o-message rules. For example:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/5:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/6: me @ "%N has lost %p marbles." pronoun_sub
@propset $tmp/exit1=str:/_docs/pronoun_sub#/7:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/8:would return:
@propset $tmp/exit1=str:/_docs/pronoun_sub#/9:
@propset $tmp/exit1=str:/_docs/propdir?#:4
@propset $tmp/exit1=str:/_docs/propdir?#/1:
@propset $tmp/exit1=str:/_docs/propdir?#/2:PROPDIR? (d s -- i)
@propset $tmp/exit1=str:/_docs/propdir?#/3:
@propset $tmp/exit1=str:/_docs/propdir?#/4:Takes a dbref and a property name, and returns whether that property is a propdir that contains other props. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/Properties#:14
@propset $tmp/exit1=str:/_docs/Properties#/1:MUF Property-management functions (words) include:
@propset $tmp/exit1=str:/_docs/Properties#/10:
@propset $tmp/exit1=str:/_docs/Properties#/11:awake? online concount condbref conidle contime
@propset $tmp/exit1=str:/_docs/Properties#/12:conhost conboot connotify condescr conuser
@propset $tmp/exit1=str:/_docs/Properties#/13:descr_setuser
@propset $tmp/exit1=str:/_docs/Properties#/14:
@propset $tmp/exit1=str:/_docs/Properties#/2:getpropval getpropstr addprop remove_prop envpropstr nextprop
@propset $tmp/exit1=str:/_docs/Properties#/3:propdir?
@propset $tmp/exit1=str:/_docs/Properties#/4:d
@propset $tmp/exit1=str:/_docs/Properties#/5:Connections
@propset $tmp/exit1=str:/_docs/Properties#/6:b
@propset $tmp/exit1=str:/_docs/Properties#/7:Connections
@propset $tmp/exit1=str:/_docs/Properties#/8:
@propset $tmp/exit1=str:/_docs/Properties#/9:MUF Connection-management functions (words) include:
@propset $tmp/exit1=str:/_docs/public#:10
@propset $tmp/exit1=str:/_docs/public#/1:
@propset $tmp/exit1=str:/_docs/public#/10:
@propset $tmp/exit1=str:/_docs/public#/2:PUBLIC
@propset $tmp/exit1=str:/_docs/public#/3:PUBLIC
@propset $tmp/exit1=str:/_docs/public#/4:
@propset $tmp/exit1=str:/_docs/public#/5:Declares a previously defined function to be public for execution by other programs. This is a compile-time directive, not a run-time primitive. To call a public function, put the dbref of the program on the stack, then put a string, containing the function name, on the stack, then use CALL.
@propset $tmp/exit1=str:/_docs/public#/6:
@propset $tmp/exit1=str:/_docs/public#/7:For example:
@propset $tmp/exit1=str:/_docs/public#/8:
@propset $tmp/exit1=str:/_docs/public#/9: #888 "functionname" CALL
@propset $tmp/exit1=str:/_docs/put#:13
@propset $tmp/exit1=str:/_docs/put#/1:
@propset $tmp/exit1=str:/_docs/put#/10:would return on the stack:
@propset $tmp/exit1=str:/_docs/put#/11:
@propset $tmp/exit1=str:/_docs/put#/12: "a", "e", "c", "d"
@propset $tmp/exit1=str:/_docs/put#/13:
@propset $tmp/exit1=str:/_docs/put#/2:PUT ( nx...n1 ni i -- nx...ni...n1 )
@propset $tmp/exit1=str:/_docs/put#/3:
@propset $tmp/exit1=str:/_docs/put#/4:Replaces the i'th thing from the top of the stack with the value of ni. 1 put is equivalent to swap pop
@propset $tmp/exit1=str:/_docs/put#/5:
@propset $tmp/exit1=str:/_docs/put#/6:Example:
@propset $tmp/exit1=str:/_docs/put#/7:
@propset $tmp/exit1=str:/_docs/put#/8: "a" "b" "c" "d" "e" 3 put
@propset $tmp/exit1=str:/_docs/put#/9:
@propset $tmp/exit1=str:/_docs/queue#:4
@propset $tmp/exit1=str:/_docs/queue#/1:
@propset $tmp/exit1=str:/_docs/queue#/2:QUEUE (i d s -- i)
@propset $tmp/exit1=str:/_docs/queue#/3:
@propset $tmp/exit1=str:/_docs/queue#/4:Takes a time in seconds, a program's dbref, and a parameter string. It will execute the given program with the given string as the only string on the stack, after a delay of the given number of second. Returns the pid of the queued process, or 0 if the timequeue was full. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/random#:4
@propset $tmp/exit1=str:/_docs/random#/1:
@propset $tmp/exit1=str:/_docs/random#/2:RANDOM ( -- i )
@propset $tmp/exit1=str:/_docs/random#/3:
@propset $tmp/exit1=str:/_docs/random#/4:Returns a random integer from 0 to the MAXINT of the system running the MUCK. In general this number is (2^31)-1 or 2,147,483,647 (2.1 billion).
@propset $tmp/exit1=str:/_docs/read#:4
@propset $tmp/exit1=str:/_docs/read#/1:
@propset $tmp/exit1=str:/_docs/read#/2:READ ( -- s )
@propset $tmp/exit1=str:/_docs/read#/3:
@propset $tmp/exit1=str:/_docs/read#/4:Reads a string s from the user. This command should not be used in a program that is locked (as opposed to linked) to an object, as the lock will always fail and print the fail messages at read time. It cannot be used in a program associated with a room object.
@propset $tmp/exit1=str:/_docs/recycle#:4
@propset $tmp/exit1=str:/_docs/recycle#/1:
@propset $tmp/exit1=str:/_docs/recycle#/2:RECYCLE (d -- )
@propset $tmp/exit1=str:/_docs/recycle#/3:
@propset $tmp/exit1=str:/_docs/recycle#/4:Recycles the given object d. Will not recycle players, the global environment, the player starting room, or any currently running program. (Can recycle objets owned by uid if running with Mucker Level 3 permissions. Can recycle other people's items with wizbit)
@propset $tmp/exit1=str:/_docs/remove_prop#:11
@propset $tmp/exit1=str:/_docs/remove_prop#/1:
@propset $tmp/exit1=str:/_docs/remove_prop#/10:
@propset $tmp/exit1=str:/_docs/remove_prop#/11:If these two lines were executed in this order, no error would be issued, but property "banned_lock/program" would not be removed. If the order of the two lines is reversed, both properties will be removed.)
@propset $tmp/exit1=str:/_docs/remove_prop#/2:REMOVE_PROP ( d s -- )
@propset $tmp/exit1=str:/_docs/remove_prop#/3:
@propset $tmp/exit1=str:/_docs/remove_prop#/4:Removes property s from object d. If the property begins with an underscore, `_' or a dot `.', and the effective user does not have permission on that object, the call fails.
@propset $tmp/exit1=str:/_docs/remove_prop#/5:
@propset $tmp/exit1=str:/_docs/remove_prop#/6:(NOTE: There is a slight bug with REMOVE_PROP in versions fb5.46 and earlier. If you use the primitive to remove a prop, and then later in the same process try to remove a prop whose name contains that of the earlier prop, the second property will not be removed. For example:
@propset $tmp/exit1=str:/_docs/remove_prop#/7:
@propset $tmp/exit1=str:/_docs/remove_prop#/8: loc @ "banned_lock" remove_prop
@propset $tmp/exit1=str:/_docs/remove_prop#/9: loc @ "banned_lock/program" remove_prop
@propset $tmp/exit1=str:/_docs/repeat#:4
@propset $tmp/exit1=str:/_docs/repeat#/1:
@propset $tmp/exit1=str:/_docs/repeat#/2:REPEAT ( -- )
@propset $tmp/exit1=str:/_docs/repeat#/3:
@propset $tmp/exit1=str:/_docs/repeat#/4:Jumps execution to the instruction after the BEGIN in a BEGIN-REPEAT loop. Marks the end of the current loop.
@propset $tmp/exit1=str:/_docs/rinstr#:4
@propset $tmp/exit1=str:/_docs/rinstr#/1:
@propset $tmp/exit1=str:/_docs/rinstr#/2:RINSTR ( s s1 -- i )
@propset $tmp/exit1=str:/_docs/rinstr#/3:
@propset $tmp/exit1=str:/_docs/rinstr#/4:Returns the last occurrence of string s1 in string s, or 0 if s1 is not found. '"abcbcba" "bc" rinstr' returns 4. See also instr.
@propset $tmp/exit1=str:/_docs/rinstring#:4
@propset $tmp/exit1=str:/_docs/rinstring#/1:
@propset $tmp/exit1=str:/_docs/rinstring#/2:RINSTRING ( s s1 -- i )
@propset $tmp/exit1=str:/_docs/rinstring#/3:
@propset $tmp/exit1=str:/_docs/rinstring#/4:Returns the last occurrence of string s1 in string s, or -1 if s1 is not found. Non-case sensitive. See also INSTRING, INSTR, and RINSTR. This is an inserver define to 'tolower swap tolower swap rinstr'
@propset $tmp/exit1=str:/_docs/rmatch#:4
@propset $tmp/exit1=str:/_docs/rmatch#/1:
@propset $tmp/exit1=str:/_docs/rmatch#/2:RMATCH ( d s -- d' )
@propset $tmp/exit1=str:/_docs/rmatch#/3:
@propset $tmp/exit1=str:/_docs/rmatch#/4:Takes string s, checks all objects and actions associated with object d, and returns object d' which matches that string. For example, matches actions and inventory objects for a player object, actions on a thing object, etc. If nothing is found, d'= #-1. if ambiguous, d' = #-2. If HOME, d' = #-3.
@propset $tmp/exit1=str:/_docs/room?#:4
@propset $tmp/exit1=str:/_docs/room?#/1:
@propset $tmp/exit1=str:/_docs/room?#/2:ROOM? ( d -- i )
@propset $tmp/exit1=str:/_docs/room?#/3:
@propset $tmp/exit1=str:/_docs/room?#/4:Returns 1 if object d is a room, otherwise returns 0. If the dbref is that of an invalid object, it will return 0.
@propset $tmp/exit1=str:/_docs/rot#:4
@propset $tmp/exit1=str:/_docs/rot#/1:
@propset $tmp/exit1=str:/_docs/rot#/2:ROT ( x y z -- y z x )
@propset $tmp/exit1=str:/_docs/rot#/3:
@propset $tmp/exit1=str:/_docs/rot#/4:Rotates the top three things on the stack. This is equivalent to 3 rotate.
@propset $tmp/exit1=str:/_docs/rotate#:4
@propset $tmp/exit1=str:/_docs/rotate#/1:
@propset $tmp/exit1=str:/_docs/rotate#/2:ROTATE ( ni ... n1 i -- n(i-1) ... n1 ni )
@propset $tmp/exit1=str:/_docs/rotate#/3:
@propset $tmp/exit1=str:/_docs/rotate#/4:Rotates the top i things on the stack.
@propset $tmp/exit1=str:/_docs/set#:4
@propset $tmp/exit1=str:/_docs/set#/1:
@propset $tmp/exit1=str:/_docs/set#/2:SET ( d s -- )
@propset $tmp/exit1=str:/_docs/set#/3:
@propset $tmp/exit1=str:/_docs/set#/4:Sets flag s to object d. Currently settable things are: abode, chown, dark, haven, jump, link, sticky. Boolean operations (e.g. `!abode') work as expected. See also SETNAME, SETDESC, and FLAG?.
@propset $tmp/exit1=str:/_docs/setdesc, etc#:14
@propset $tmp/exit1=str:/_docs/setdesc, etc#/1:
@propset $tmp/exit1=str:/_docs/setdesc, etc#/10: $define setosucc "_/osc" swap 0 addprop $enddef
@propset $tmp/exit1=str:/_docs/setdesc, etc#/11: $define setofail "_/ofl" swap 0 addprop $enddef
@propset $tmp/exit1=str:/_docs/setdesc, etc#/12: $define setodrop "_/odr" swap 0 addprop $enddef
@propset $tmp/exit1=str:/_docs/setdesc, etc#/13:
@propset $tmp/exit1=str:/_docs/setdesc, etc#/14:See also set, setname, addprop, getpropstr, remove_prop, desc, succ, fail, drop, osucc, ofail, and odrop.
@propset $tmp/exit1=str:/_docs/setdesc, etc#/2:SETDESC SETSUCC SETFAIL SETDROP SETOSUCC SETOFAIL SETODROP (D S -- )
@propset $tmp/exit1=str:/_docs/setdesc, etc#/3:
@propset $tmp/exit1=str:/_docs/setdesc, etc#/4:Takes object d, and sets the string field specified to s. A program may only set string fields of objects that are owned by the effective user of the program, or any object if the program is Wizard. These are all actually $defines to addprop with the apprpriate property name. They are effectively defined as:
@propset $tmp/exit1=str:/_docs/setdesc, etc#/5:
@propset $tmp/exit1=str:/_docs/setdesc, etc#/6: $define setdesc "_/de" swap 0 addprop $enddef
@propset $tmp/exit1=str:/_docs/setdesc, etc#/7: $define setsucc "_/sc" swap 0 addprop $enddef
@propset $tmp/exit1=str:/_docs/setdesc, etc#/8: $define setfail "_/fl" swap 0 addprop $enddef
@propset $tmp/exit1=str:/_docs/setdesc, etc#/9: $define setdrop "_/dr" swap 0 addprop $enddef
@propset $tmp/exit1=str:/_docs/setlink#:4
@propset $tmp/exit1=str:/_docs/setlink#/1:
@propset $tmp/exit1=str:/_docs/setlink#/2:SETLINK ( d1 d2 -- )
@propset $tmp/exit1=str:/_docs/setlink#/3:
@propset $tmp/exit1=str:/_docs/setlink#/4:Takes an exit dbref d1, and sets its destination to d2. You must have control of the exit, and if the exit is already linked, it must be unlinked first by doing setlink with #-1 as the destination.
@propset $tmp/exit1=str:/_docs/setlockstr#:4
@propset $tmp/exit1=str:/_docs/setlockstr#/1:
@propset $tmp/exit1=str:/_docs/setlockstr#/2:SETLOCKSTR (d s -- i)
@propset $tmp/exit1=str:/_docs/setlockstr#/3:
@propset $tmp/exit1=str:/_docs/setlockstr#/4:Tries to set the lock on the given object to the lock expression given in the string. If it was a success, then it will return a 1, otherwise, if the lock expression was bad, it returns a 0. To unlock an object, set its lock to a null string.
@propset $tmp/exit1=str:/_docs/setmode#:8
@propset $tmp/exit1=str:/_docs/setmode#/1:
@propset $tmp/exit1=str:/_docs/setmode#/2:SETMODE (i -- )
@propset $tmp/exit1=str:/_docs/setmode#/3:
@propset $tmp/exit1=str:/_docs/setmode#/4:Sets the current multitasking mode to the given mode. The integer this
@propset $tmp/exit1=str:/_docs/setmode#/5:uses will be the same as one of those defined by the standard $defines
@propset $tmp/exit1=str:/_docs/setmode#/6:bg_mode, fg_mode, and pr_mode, being background, foreground, and preempt
@propset $tmp/exit1=str:/_docs/setmode#/7:mode, respectively. Programs set BOUND will run PREEMPT, ignoring this
@propset $tmp/exit1=str:/_docs/setmode#/8:mode. Also see PR_MODE.
@propset $tmp/exit1=str:/_docs/setname#:4
@propset $tmp/exit1=str:/_docs/setname#/1:
@propset $tmp/exit1=str:/_docs/setname#/2:SETNAME ( d s -- )
@propset $tmp/exit1=str:/_docs/setname#/3:
@propset $tmp/exit1=str:/_docs/setname#/4:Takes object d, and sets the name to s. A program may only set the names of objects that are owned by the effective user of the program, or any object if the program is Wizard. The name of a player can never be set, since that would normally require a password. See also SET, NAME, and SETDESC.
@propset $tmp/exit1=str:/_docs/setown#:4
@propset $tmp/exit1=str:/_docs/setown#/1:
@propset $tmp/exit1=str:/_docs/setown#/2:SETOWN (d d -- )
@propset $tmp/exit1=str:/_docs/setown#/3:
@propset $tmp/exit1=str:/_docs/setown#/4:Sets the ownership of the first object to the player given in the second dbref. (wizbit only)
@propset $tmp/exit1=str:/_docs/setprop#:6
@propset $tmp/exit1=str:/_docs/setprop#/1:
@propset $tmp/exit1=str:/_docs/setprop#/2:SETPROP (d s ? -- )
@propset $tmp/exit1=str:/_docs/setprop#/3:
@propset $tmp/exit1=str:/_docs/setprop#/4:Stores a lock, dbref, integer, or string into the named property on the
@propset $tmp/exit1=str:/_docs/setprop#/5:given object. Permissions are the same as for ADDPROP. Also see SETPROP,
@propset $tmp/exit1=str:/_docs/setprop#/6:ADDPROP, REMOVE_PROP, GETPROPSTR, and GETPROPVAL.
@propset $tmp/exit1=str:/_docs/sleep#:4
@propset $tmp/exit1=str:/_docs/sleep#/1:
@propset $tmp/exit1=str:/_docs/sleep#/2:SLEEP (i -- )
@propset $tmp/exit1=str:/_docs/sleep#/3:
@propset $tmp/exit1=str:/_docs/sleep#/4:Makes the program pause here for 'i' seconds. the value of i cannot be negative. If the sleep is for more than 0 seconds, then the program may not thereafter use the READ primitive.
@propset $tmp/exit1=str:/_docs/smatch#:53
@propset $tmp/exit1=str:/_docs/smatch#/1:smatch ( s s2 -- i )
@propset $tmp/exit1=str:/_docs/smatch#/10:
@propset $tmp/exit1=str:/_docs/smatch#/11: * '{word1|word2|etc}' will match a single word, if it is one of those
@propset $tmp/exit1=str:/_docs/smatch#/12: given, separated by | characters, between the {}s. A word ends with
@propset $tmp/exit1=str:/_docs/smatch#/13: a space or at the end of the string. The given example would match
@propset $tmp/exit1=str:/_docs/smatch#/14: either the words "word1", "word2", or "etc".
@propset $tmp/exit1=str:/_docs/smatch#/15: {} word patterns will only match complete words: "{foo}*" and "{foo}p"
@propset $tmp/exit1=str:/_docs/smatch#/16: do not match "foop" and "*{foo}" and "p{foo}" do not match "pfoo".
@propset $tmp/exit1=str:/_docs/smatch#/17: {} word patterns can be easily meaningless; they will match nothing
@propset $tmp/exit1=str:/_docs/smatch#/18: if they:
@propset $tmp/exit1=str:/_docs/smatch#/19: (a) contains spaces,
@propset $tmp/exit1=str:/_docs/smatch#/2:
@propset $tmp/exit1=str:/_docs/smatch#/20: (b) do not follow a wildcard, space or beginning of string,
@propset $tmp/exit1=str:/_docs/smatch#/21: (c) are not followed by a wildcard, space or end of string.
@propset $tmp/exit1=str:/_docs/smatch#/22:
@propset $tmp/exit1=str:/_docs/smatch#/23: * If the first char of a {} word set is a '^', then it will match a single
@propset $tmp/exit1=str:/_docs/smatch#/24: word if it is NOT one of those contained within the {}s. Example:
@propset $tmp/exit1=str:/_docs/smatch#/25: '{^Foxen|Fiera}' will match any single word EXCEPT for Foxen or Fiera.
@propset $tmp/exit1=str:/_docs/smatch#/26:
@propset $tmp/exit1=str:/_docs/smatch#/27: * '[aeiou]' will match a single character as long as it is one of those
@propset $tmp/exit1=str:/_docs/smatch#/28: contained between the []s. In this case, it matches any vowel.
@propset $tmp/exit1=str:/_docs/smatch#/29:
@propset $tmp/exit1=str:/_docs/smatch#/3:Takes a string s, and a string pattern, s2, to check against. Returns true
@propset $tmp/exit1=str:/_docs/smatch#/30: * If the first char of a [] char set is a '^', then it will match a single
@propset $tmp/exit1=str:/_docs/smatch#/31: character if it is NOT one of those contained within the []s. Example:
@propset $tmp/exit1=str:/_docs/smatch#/32: '[^aeiou]' will match any single character EXCEPT for a vowel.
@propset $tmp/exit1=str:/_docs/smatch#/33:
@propset $tmp/exit1=str:/_docs/smatch#/34: * If a [] char set contains two characters separated by a '-', then it will
@propset $tmp/exit1=str:/_docs/smatch#/35: match any single character that is between those two given characters.
@propset $tmp/exit1=str:/_docs/smatch#/36: Example: '[a-z0-9_]' would match any single character between 'a' and
@propset $tmp/exit1=str:/_docs/smatch#/37: 'z', inclusive, any character between '0' and '9', inclusive, or a '_'.
@propset $tmp/exit1=str:/_docs/smatch#/38:
@propset $tmp/exit1=str:/_docs/smatch#/39: * The '\' character will disable the special meaning of the character that
@propset $tmp/exit1=str:/_docs/smatch#/4:if the string fits the pattern. This is case insensitive. In the pattern
@propset $tmp/exit1=str:/_docs/smatch#/40: follows it, matching it literally.
@propset $tmp/exit1=str:/_docs/smatch#/41:
@propset $tmp/exit1=str:/_docs/smatch#/42:Example patterns:
@propset $tmp/exit1=str:/_docs/smatch#/43: "d*g" matches "dg", "dog", "doog", "dorfg", etc.
@propset $tmp/exit1=str:/_docs/smatch#/44: "d?g" matches "dog", "dig" and "dug" but not "dg" or "drug".
@propset $tmp/exit1=str:/_docs/smatch#/45: "M[rs]." matches "Mr." and "Ms."
@propset $tmp/exit1=str:/_docs/smatch#/46: "M[a-z]" matches "Ma", "Mb", etc.
@propset $tmp/exit1=str:/_docs/smatch#/47: "[^a-z]" matches anything but an alphabetical character.
@propset $tmp/exit1=str:/_docs/smatch#/48: "{Moira|Chupchup}*" matches "Moira snores" and "Chupchup arghs."
@propset $tmp/exit1=str:/_docs/smatch#/49: "{Moira|Chupchup}*" does NOT match "Moira' snores".
@propset $tmp/exit1=str:/_docs/smatch#/5:string, the following special characters will do as follows:
@propset $tmp/exit1=str:/_docs/smatch#/50: "{Foxen|Lynx|Fier[ao]} *t[iy]ckle*\?" Will match any string starting with
@propset $tmp/exit1=str:/_docs/smatch#/51: 'Foxen', 'Lynx', 'Fiera', or 'Fiero', that contains either 'tickle' or
@propset $tmp/exit1=str:/_docs/smatch#/52: 'tyckle' and ends with a '?'.
@propset $tmp/exit1=str:/_docs/smatch#/53:
@propset $tmp/exit1=str:/_docs/smatch#/6:
@propset $tmp/exit1=str:/_docs/smatch#/7: * A '?' matches any single character.
@propset $tmp/exit1=str:/_docs/smatch#/8:
@propset $tmp/exit1=str:/_docs/smatch#/9: * A '*' matches any number of any characters.
@propset $tmp/exit1=str:/_docs/Stack Handling#:6
@propset $tmp/exit1=str:/_docs/Stack Handling#/1:
@propset $tmp/exit1=str:/_docs/Stack Handling#/2:MUF Stack-handling functions (words) include:
@propset $tmp/exit1=str:/_docs/Stack Handling#/3:
@propset $tmp/exit1=str:/_docs/Stack Handling#/4:pop depth dup swap over rot
@propset $tmp/exit1=str:/_docs/Stack Handling#/5:rotate pick put
@propset $tmp/exit1=str:/_docs/Stack Handling#/6:
@propset $tmp/exit1=str:/_docs/stats#:4
@propset $tmp/exit1=str:/_docs/stats#/1:
@propset $tmp/exit1=str:/_docs/stats#/2:STATS ( d -- total rooms exits things programs players garbage )
@propset $tmp/exit1=str:/_docs/stats#/3:
@propset $tmp/exit1=str:/_docs/stats#/4:Returns the number of objects owned by 'd', or the total objects in the system if d == #-1. This is broken up into a total, rooms, exits, things, programs, players, and garbage. This functions much as the @STAT command. (Requires Mucker Level 3)
@propset $tmp/exit1=str:/_docs/strcat#:4
@propset $tmp/exit1=str:/_docs/strcat#/1:
@propset $tmp/exit1=str:/_docs/strcat#/2:STRCAT ( s1 s2 -- s )
@propset $tmp/exit1=str:/_docs/strcat#/3:
@propset $tmp/exit1=str:/_docs/strcat#/4:Concatenates two strings s1 and s2 and pushes the result s = s1s2 onto the stack.
@propset $tmp/exit1=str:/_docs/strcmp#:4
@propset $tmp/exit1=str:/_docs/strcmp#/1:
@propset $tmp/exit1=str:/_docs/strcmp#/2:STRCMP ( s1 s2 -- i )
@propset $tmp/exit1=str:/_docs/strcmp#/3:
@propset $tmp/exit1=str:/_docs/strcmp#/4:Compares strings s1 and s2. Returns i as 0 if they are equal, otherwise returns i as the difference between the first non-matching character in the strings. For example, "a" "z" strcmp returns 25. The reason it returns a 0 for a match, and the difference on a non-match, is to allow for nice things like string sorting functions. This primitive is case sensitive, unlike stringcmp. See also STRNCMP.
@propset $tmp/exit1=str:/_docs/strcut#:13
@propset $tmp/exit1=str:/_docs/strcut#/1:
@propset $tmp/exit1=str:/_docs/strcut#/10: "Foo" "bar"
@propset $tmp/exit1=str:/_docs/strcut#/11:
@propset $tmp/exit1=str:/_docs/strcut#/12:If i is zero or greater than the length of s, returns a null string in
@propset $tmp/exit1=str:/_docs/strcut#/13:the first or second position, respectively.
@propset $tmp/exit1=str:/_docs/strcut#/2:STRCUT ( s i -- s1 s2 )
@propset $tmp/exit1=str:/_docs/strcut#/3:
@propset $tmp/exit1=str:/_docs/strcut#/4:Cuts string s after its i'th character. For example,
@propset $tmp/exit1=str:/_docs/strcut#/5:
@propset $tmp/exit1=str:/_docs/strcut#/6: "Foobar" 3 strcut
@propset $tmp/exit1=str:/_docs/strcut#/7:
@propset $tmp/exit1=str:/_docs/strcut#/8:returns
@propset $tmp/exit1=str:/_docs/strcut#/9:
@propset $tmp/exit1=str:/_docs/string?#:4
@propset $tmp/exit1=str:/_docs/string?#/1:
@propset $tmp/exit1=str:/_docs/string?#/2:STRING? ( x -- i )
@propset $tmp/exit1=str:/_docs/string?#/3:
@propset $tmp/exit1=str:/_docs/string?#/4:Returns true if x is a string.
@propset $tmp/exit1=str:/_docs/stringcmp#:7
@propset $tmp/exit1=str:/_docs/stringcmp#/1:
@propset $tmp/exit1=str:/_docs/stringcmp#/2:STRINGCMP ( s1 s2 -- i )
@propset $tmp/exit1=str:/_docs/stringcmp#/3:
@propset $tmp/exit1=str:/_docs/stringcmp#/4:Compares strings s1 and s2. Returns i as 0 if they are equal,
@propset $tmp/exit1=str:/_docs/stringcmp#/5:otherwise returns i as the difference between the first non-matching
@propset $tmp/exit1=str:/_docs/stringcmp#/6:character in the strings. For example, "a" "z" stringcmp returns 25.
@propset $tmp/exit1=str:/_docs/stringcmp#/7:This function is not case sensitive, unlike strcmp. See also strncmp.
@propset $tmp/exit1=str:/_docs/stringpfx#:4
@propset $tmp/exit1=str:/_docs/stringpfx#/1:
@propset $tmp/exit1=str:/_docs/stringpfx#/2:STRINGPFX (s s2 -- i)
@propset $tmp/exit1=str:/_docs/stringpfx#/3:
@propset $tmp/exit1=str:/_docs/stringpfx#/4:Returns 1 if string s2 is a prefix of string s. If s2 is NOT a prefix of s, then it returns 0. Case insensitive
@propset $tmp/exit1=str:/_docs/Strings#:7
@propset $tmp/exit1=str:/_docs/Strings#/1:
@propset $tmp/exit1=str:/_docs/Strings#/2:MUF String-handling functions (words) include:
@propset $tmp/exit1=str:/_docs/Strings#/3:
@propset $tmp/exit1=str:/_docs/Strings#/4:toupper tolower instring rinstring striplead striptail
@propset $tmp/exit1=str:/_docs/Strings#/5:strip unparseobj smatch strlen strcat instr
@propset $tmp/exit1=str:/_docs/Strings#/6:strcut explode subst pronoun_sub stringcmp strncmp
@propset $tmp/exit1=str:/_docs/Strings#/7:
@propset $tmp/exit1=str:/_docs/strip#:4
@propset $tmp/exit1=str:/_docs/strip#/1:
@propset $tmp/exit1=str:/_docs/strip#/2:STRIP (s -- s)
@propset $tmp/exit1=str:/_docs/strip#/3:
@propset $tmp/exit1=str:/_docs/strip#/4:This is a built in $define. It is interpreted as "striplead striptail" It strips the spaces from both ends of a string.
@propset $tmp/exit1=str:/_docs/striplead#:4
@propset $tmp/exit1=str:/_docs/striplead#/1:
@propset $tmp/exit1=str:/_docs/striplead#/2:STRIPLEAD (s -- s)
@propset $tmp/exit1=str:/_docs/striplead#/3:
@propset $tmp/exit1=str:/_docs/striplead#/4:Strips leading spaces from the given string.
@propset $tmp/exit1=str:/_docs/striptail#:4
@propset $tmp/exit1=str:/_docs/striptail#/1:
@propset $tmp/exit1=str:/_docs/striptail#/2:STRIPTAIL (s -- s)
@propset $tmp/exit1=str:/_docs/striptail#/3:
@propset $tmp/exit1=str:/_docs/striptail#/4:Strips trailing spaces from the given string.
@propset $tmp/exit1=str:/_docs/strlen#:4
@propset $tmp/exit1=str:/_docs/strlen#/1:
@propset $tmp/exit1=str:/_docs/strlen#/2:STRLEN ( s -- i )
@propset $tmp/exit1=str:/_docs/strlen#/3:
@propset $tmp/exit1=str:/_docs/strlen#/4:Returns the length of string s.
@propset $tmp/exit1=str:/_docs/strncmp#:4
@propset $tmp/exit1=str:/_docs/strncmp#/1:
@propset $tmp/exit1=str:/_docs/strncmp#/2:STRNCMP ( s1 s2 i -- i' )
@propset $tmp/exit1=str:/_docs/strncmp#/3:
@propset $tmp/exit1=str:/_docs/strncmp#/4:Compares the first i characters in strings s1 and s2. Return value is like strcmp. See also stringcmp.
@propset $tmp/exit1=str:/_docs/subst#:12
@propset $tmp/exit1=str:/_docs/subst#/1:
@propset $tmp/exit1=str:/_docs/subst#/10: "HEY YOU THIS IS"
@propset $tmp/exit1=str:/_docs/subst#/11:
@propset $tmp/exit1=str:/_docs/subst#/12:s2 and s3 may be of any length.
@propset $tmp/exit1=str:/_docs/subst#/2:SUBST ( s1 s2 s3 -- s )
@propset $tmp/exit1=str:/_docs/subst#/3:
@propset $tmp/exit1=str:/_docs/subst#/4:s1 is the string to operate on, s2 is the string to change all occurences of s3 into, and s is resultant string. For example:
@propset $tmp/exit1=str:/_docs/subst#/5:
@propset $tmp/exit1=str:/_docs/subst#/6: "HEY_YOU_THIS_IS" " " "_" subst
@propset $tmp/exit1=str:/_docs/subst#/7:
@propset $tmp/exit1=str:/_docs/subst#/8:results in
@propset $tmp/exit1=str:/_docs/subst#/9:
@propset $tmp/exit1=str:/_docs/succ#:4
@propset $tmp/exit1=str:/_docs/succ#/1:
@propset $tmp/exit1=str:/_docs/succ#/2:SUCC ( d -- s )
@propset $tmp/exit1=str:/_docs/succ#/3:
@propset $tmp/exit1=str:/_docs/succ#/4:Takes object d and returns its success (@succ) string field s.
@propset $tmp/exit1=str:/_docs/swap#:4
@propset $tmp/exit1=str:/_docs/swap#/1:
@propset $tmp/exit1=str:/_docs/swap#/2:SWAP ( x y -- y x )
@propset $tmp/exit1=str:/_docs/swap#/3:
@propset $tmp/exit1=str:/_docs/swap#/4:Takes objects x and y on the stack and reverses their order.
@propset $tmp/exit1=str:/_docs/sysparm#:94
@propset $tmp/exit1=str:/_docs/sysparm#/1:
@propset $tmp/exit1=str:/_docs/sysparm#/10:Parameters available:
@propset $tmp/exit1=str:/_docs/sysparm#/11:(str) dumpwarn_mesg - Message to warn of a coming DB dump
@propset $tmp/exit1=str:/_docs/sysparm#/12:(str) deltawarn_mesg - Message to warn of a coming delta dump
@propset $tmp/exit1=str:/_docs/sysparm#/13:(str) dumpdeltas_mesg - Message telling of a delta dump
@propset $tmp/exit1=str:/_docs/sysparm#/14:(str) dumping_mesg - Message telling of a DB dump
@propset $tmp/exit1=str:/_docs/sysparm#/15:(str) dumpdone_mesg - Message notifying a dump is done
@propset $tmp/exit1=str:/_docs/sysparm#/16:(str) penny - A single currency
@propset $tmp/exit1=str:/_docs/sysparm#/17:(str) pennies - Plural currency
@propset $tmp/exit1=str:/_docs/sysparm#/18:(str) cpenny - Capitolized currency
@propset $tmp/exit1=str:/_docs/sysparm#/19:(str) cpennies - Capitolized plural currency
@propset $tmp/exit1=str:/_docs/sysparm#/2:sysparm ( s -- s )
@propset $tmp/exit1=str:/_docs/sysparm#/20:(str) muckname - The name of the MUCK
@propset $tmp/exit1=str:/_docs/sysparm#/21:(str) rwho_passwd - Password for RWHO servers (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparm#/22:(str) rwho_server - RWHO server to connect to (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparm#/23:(str) huh_mesg - Message for invalid commands
@propset $tmp/exit1=str:/_docs/sysparm#/24:(str) leave_mesg - Message given when QUIT is used
@propset $tmp/exit1=str:/_docs/sysparm#/25:(str) idle_boot_mesg - Message given to an idle booted user
@propset $tmp/exit1=str:/_docs/sysparm#/26:(str) register_mesg - Message for a failed 'create' at login
@propset $tmp/exit1=str:/_docs/sysparm#/27:(str) playermax_warnmesg - Message warning off too many connects
@propset $tmp/exit1=str:/_docs/sysparm#/28:(str) playermax_bootmesg - Error given when a player cannot connect
@propset $tmp/exit1=str:/_docs/sysparm#/29:(time) rwho_interval - Interval between RWHO updates
@propset $tmp/exit1=str:/_docs/sysparm#/3:
@propset $tmp/exit1=str:/_docs/sysparm#/30:(time) dump_interval - Interval between dumps
@propset $tmp/exit1=str:/_docs/sysparm#/31:(time) dump_warntime - Warning prior to a dump
@propset $tmp/exit1=str:/_docs/sysparm#/32:(time) monolithic_interval - Max time between full DB dumps
@propset $tmp/exit1=str:/_docs/sysparm#/33:(time) clean_interval - Interval between unused object purges
@propset $tmp/exit1=str:/_docs/sysparm#/34:(time) aging_time - When an object is considered old and unused
@propset $tmp/exit1=str:/_docs/sysparm#/35:(time) maxidle - Maximum idle time allowed
@propset $tmp/exit1=str:/_docs/sysparm#/36:(int) max_object_endowment - Max value of an object
@propset $tmp/exit1=str:/_docs/sysparm#/37:(int) object_cost - Cost to create an object
@propset $tmp/exit1=str:/_docs/sysparm#/38:(int) exit_cost - Cost to create an exit
@propset $tmp/exit1=str:/_docs/sysparm#/39:(int) link_cost - Cost to link an exit
@propset $tmp/exit1=str:/_docs/sysparm#/4:Takes a tuneable system parameter and returns its value as a string. For
@propset $tmp/exit1=str:/_docs/sysparm#/40:(int) room_cost - Cost to dig a room
@propset $tmp/exit1=str:/_docs/sysparm#/41:(int) lookup_cost - Cost to lookup a player name
@propset $tmp/exit1=str:/_docs/sysparm#/42:(int) max_pennies - Max number of pennies a player can own
@propset $tmp/exit1=str:/_docs/sysparm#/43:(int) penny_rate - Rate for finding pennies
@propset $tmp/exit1=str:/_docs/sysparm#/44:(int) start_pennies - Starting wealth for new players
@propset $tmp/exit1=str:/_docs/sysparm#/45:(int) kill_base_cost - Number of pennies for a 100 percent chance
@propset $tmp/exit1=str:/_docs/sysparm#/46:(int) kill_min_cost - Minimum cost for doing a kill
@propset $tmp/exit1=str:/_docs/sysparm#/47:(int) kill_bonus - Bonus for a successful kill
@propset $tmp/exit1=str:/_docs/sysparm#/48:(int) command_burst_size - Maximum number of commands per burst
@propset $tmp/exit1=str:/_docs/sysparm#/49:(int) commands_per_time - Commands per time slice after burst
@propset $tmp/exit1=str:/_docs/sysparm#/5:an integer it returns it as a string, a time is returned as a string
@propset $tmp/exit1=str:/_docs/sysparm#/50:(int) command_time_msec - Time slice length in milliseconds
@propset $tmp/exit1=str:/_docs/sysparm#/51:(int) max_delta_objs - Max percent of changed objects for a delta
@propset $tmp/exit1=str:/_docs/sysparm#/52:(int) max_loaded_objs - Max percent of the DB in memory at once
@propset $tmp/exit1=str:/_docs/sysparm#/53:(int) max_process_limit - Total processes allowed
@propset $tmp/exit1=str:/_docs/sysparm#/54:(int) max_plyr_processes - Processes allowed for each player
@propset $tmp/exit1=str:/_docs/sysparm#/55:(int) max_instr_count - Max preempt mode instructions
@propset $tmp/exit1=str:/_docs/sysparm#/56:(int) instr_slice - Max uninterrupted instructions per time slice
@propset $tmp/exit1=str:/_docs/sysparm#/57:(int) mpi_max_commands - Max number of uninterruptable MPI commands
@propset $tmp/exit1=str:/_docs/sysparm#/58:(int) pause_min - Pause between input and output servicing
@propset $tmp/exit1=str:/_docs/sysparm#/59:(int) free_frames_pool - Number of program frames pre-allocated
@propset $tmp/exit1=str:/_docs/sysparm#/6:containing the number of seconds, a dbref is returned in standard dbref
@propset $tmp/exit1=str:/_docs/sysparm#/60:(int) listen_mlev - Minimum MUCKER level for _listen programs
@propset $tmp/exit1=str:/_docs/sysparm#/61:(int) playermax_limit - Manimum allowed connections
@propset $tmp/exit1=str:/_docs/sysparm#/62:(ref) player_start - The home for players without a home
@propset $tmp/exit1=str:/_docs/sysparm#/63:(bool) use_hostnames - Do reverse domain name lookup
@propset $tmp/exit1=str:/_docs/sysparm#/64:(bool) log_commands - The server logs commands (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparm#/65:(bool) log_failed_commands - The server logs failed commands (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparm#/66:(bool) log_programs - The server logs programs (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparm#/67:(bool) dbdump_warning - Warn about coming DB dumps
@propset $tmp/exit1=str:/_docs/sysparm#/68:(bool) deltadump_warning - Warn about coming delta dumps
@propset $tmp/exit1=str:/_docs/sysparm#/69:(bool) periodic_program_purge - Purge unused programs from memory
@propset $tmp/exit1=str:/_docs/sysparm#/7:format, and boolean is returned as 'yes' or 'no'
@propset $tmp/exit1=str:/_docs/sysparm#/70:(bool) support_rwho - Use RWHO server
@propset $tmp/exit1=str:/_docs/sysparm#/71:(bool) secure_who - WHO works only in command mode
@propset $tmp/exit1=str:/_docs/sysparm#/72:(bool) who_doing - Server support for @doing
@propset $tmp/exit1=str:/_docs/sysparm#/73:(bool) realms_control - Support for realm wizzes
@propset $tmp/exit1=str:/_docs/sysparm#/74:(bool) allow_listeners - Allow listeners
@propset $tmp/exit1=str:/_docs/sysparm#/75:(bool) allow_listeners_obj - Objects can be listeners
@propset $tmp/exit1=str:/_docs/sysparm#/76:(bool) allow_listeners_env - Listeners can be up the environment
@propset $tmp/exit1=str:/_docs/sysparm#/77:(bool) allow_zombies - Zombie objects allowed
@propset $tmp/exit1=str:/_docs/sysparm#/78:(bool) wiz_vehicles - Only wizzes can make vehicles
@propset $tmp/exit1=str:/_docs/sysparm#/79:(bool) force_mlev1_name_notify - M1 programs forced to show name on notify
@propset $tmp/exit1=str:/_docs/sysparm#/8:Checking an invalid parameter or a parameter with higher permissions then
@propset $tmp/exit1=str:/_docs/sysparm#/80:(bool) restrict_kill - Can only kill KILL_OK players
@propset $tmp/exit1=str:/_docs/sysparm#/81:(bool) registration - Only wizzes can create players
@propset $tmp/exit1=str:/_docs/sysparm#/82:(bool) teleport_to_player - Allow use of exits linked to players
@propset $tmp/exit1=str:/_docs/sysparm#/83:(bool) secure_teleport - Check teleport permissions for personal exits
@propset $tmp/exit1=str:/_docs/sysparm#/84:(bool) exit_darking - Players can set exits dark
@propset $tmp/exit1=str:/_docs/sysparm#/85:(bool) thing_darking - Players can set objects dark
@propset $tmp/exit1=str:/_docs/sysparm#/86:(bool) dark_sleepers - Sleepers are effectively dark
@propset $tmp/exit1=str:/_docs/sysparm#/87:(bool) who_hides_dark - Dark players are hidden (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparm#/88:(bool) compatible_priorities - Backwards compatibility for exit priorities
@propset $tmp/exit1=str:/_docs/sysparm#/89:(bool) do_mpi_parsing - Parse MPI strings in messages
@propset $tmp/exit1=str:/_docs/sysparm#/9:the program has will return an empty string.
@propset $tmp/exit1=str:/_docs/sysparm#/90:(bool) look_propqueues - Look triggers _lookq propqueue
@propset $tmp/exit1=str:/_docs/sysparm#/91:(bool) lock_envcheck - Locks will check the environment
@propset $tmp/exit1=str:/_docs/sysparm#/92:(bool) diskbase_propvals - Allow diskbasing of property values
@propset $tmp/exit1=str:/_docs/sysparm#/93:(bool) idleboot - Enable or disable idlebooting
@propset $tmp/exit1=str:/_docs/sysparm#/94:(bool) playermax - Enable or disable connection limit
@propset $tmp/exit1=str:/_docs/sysparms#:79
@propset $tmp/exit1=str:/_docs/sysparms#/1:
@propset $tmp/exit1=str:/_docs/sysparms#/10:(str) cpenny - Capitolized currency
@propset $tmp/exit1=str:/_docs/sysparms#/11:(str) cpennies - Capitolized plural currency
@propset $tmp/exit1=str:/_docs/sysparms#/12:(str) muckname - The name of the MUCK
@propset $tmp/exit1=str:/_docs/sysparms#/13:(str) rwho_passwd - Password for RWHO servers (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparms#/14:(str) rwho_server - RWHO server to connect to (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparms#/15:(str) huh_mesg - Message for invalid commands
@propset $tmp/exit1=str:/_docs/sysparms#/16:(str) leave_mesg - Message given when QUIT is used
@propset $tmp/exit1=str:/_docs/sysparms#/17:(str) register_mesg - Message for a failed 'create' at login
@propset $tmp/exit1=str:/_docs/sysparms#/18:(time) rwho_interval - Interval between RWHO updates
@propset $tmp/exit1=str:/_docs/sysparms#/19:(time) dump_interval - Interval between dumps
@propset $tmp/exit1=str:/_docs/sysparms#/2:Parameters available:
@propset $tmp/exit1=str:/_docs/sysparms#/20:(time) dump_warntime - Warning prior to a dump
@propset $tmp/exit1=str:/_docs/sysparms#/21:(time) monolithic_interval - Max time between full DB dumps
@propset $tmp/exit1=str:/_docs/sysparms#/22:(time) clean_interval - Interval between unused object purges
@propset $tmp/exit1=str:/_docs/sysparms#/23:(time) aging_time - When an object is considered old and unused
@propset $tmp/exit1=str:/_docs/sysparms#/24:(int) max_object_endowment - Max value of an object
@propset $tmp/exit1=str:/_docs/sysparms#/25:(int) object_cost - Cost to create an object
@propset $tmp/exit1=str:/_docs/sysparms#/26:(int) exit_cost - Cost to create an exit
@propset $tmp/exit1=str:/_docs/sysparms#/27:(int) link_cost - Cost to link an exit
@propset $tmp/exit1=str:/_docs/sysparms#/28:(int) room_cost - Cost to dig a room
@propset $tmp/exit1=str:/_docs/sysparms#/29:(int) lookup_cost - Cost to lookup a player name
@propset $tmp/exit1=str:/_docs/sysparms#/3:(str) dumpwarn_mesg - Message to warn of a coming DB dump
@propset $tmp/exit1=str:/_docs/sysparms#/30:(int) max_pennies - Max number of pennies a player can own
@propset $tmp/exit1=str:/_docs/sysparms#/31:(int) penny_rate - Rate for finding pennies
@propset $tmp/exit1=str:/_docs/sysparms#/32:(int) start_pennies - Starting wealth for new players
@propset $tmp/exit1=str:/_docs/sysparms#/33:(int) kill_base_cost - Number of pennies for a 100 percent chance
@propset $tmp/exit1=str:/_docs/sysparms#/34:(int) kill_min_cost - Minimum cost for doing a kill
@propset $tmp/exit1=str:/_docs/sysparms#/35:(int) kill_bonus - Bonus for a successful kill
@propset $tmp/exit1=str:/_docs/sysparms#/36:(int) command_burst_size - Maximum number of commands per burst
@propset $tmp/exit1=str:/_docs/sysparms#/37:(int) commands_per_time - Commands per time slice after burst
@propset $tmp/exit1=str:/_docs/sysparms#/38:(int) command_time_msec - Time slice length in milliseconds
@propset $tmp/exit1=str:/_docs/sysparms#/39:(int) max_delta_objs - Max percent of changed objects for a delta
@propset $tmp/exit1=str:/_docs/sysparms#/4:(str) deltawarn_mesg - Message to warn of a coming delta dump
@propset $tmp/exit1=str:/_docs/sysparms#/40:(int) max_loaded_objs - Max percent of the DB in memory at once
@propset $tmp/exit1=str:/_docs/sysparms#/41:(int) max_process_limit - Total processes allowed
@propset $tmp/exit1=str:/_docs/sysparms#/42:(int) max_plyr_processes - Processes allowed for each player
@propset $tmp/exit1=str:/_docs/sysparms#/43:(int) max_instr_count - Max preempt mode instructions
@propset $tmp/exit1=str:/_docs/sysparms#/44:(int) instr_slice - Max uninterrupted instructions per time slice
@propset $tmp/exit1=str:/_docs/sysparms#/45:(int) mpi_max_commands - Max number of uninterruptable MPI commands
@propset $tmp/exit1=str:/_docs/sysparms#/46:(int) pause_min - Pause between input and output servicing
@propset $tmp/exit1=str:/_docs/sysparms#/47:(int) free_frames_pool - Number of program frames pre-allocated
@propset $tmp/exit1=str:/_docs/sysparms#/48:(int) listen_mlev - Minimum MUCKER level for _listen programs
@propset $tmp/exit1=str:/_docs/sysparms#/49:(ref) player_start - The home for players without a home
@propset $tmp/exit1=str:/_docs/sysparms#/5:(str) dumpdeltas_mesg - Message telling of a delta dump
@propset $tmp/exit1=str:/_docs/sysparms#/50:(bool) use_hostnames - Do reverse domain name lookup
@propset $tmp/exit1=str:/_docs/sysparms#/51:(bool) log_commands - The server logs commands (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparms#/52:(bool) log_failed_commands - The server logs failed commands (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparms#/53:(bool) log_programs - The server logs programs (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparms#/54:(bool) dbdump_warning - Warn about coming DB dumps
@propset $tmp/exit1=str:/_docs/sysparms#/55:(bool) deltadump_warning - Warn about coming delta dumps
@propset $tmp/exit1=str:/_docs/sysparms#/56:(bool) periodic_program_purge - Purge unused programs from memory
@propset $tmp/exit1=str:/_docs/sysparms#/57:(bool) support_rwho - Use RWHO server
@propset $tmp/exit1=str:/_docs/sysparms#/58:(bool) secure_who - WHO works only in command mode
@propset $tmp/exit1=str:/_docs/sysparms#/59:(bool) who_doing - Server support for @doing
@propset $tmp/exit1=str:/_docs/sysparms#/6:(str) dumping_mesg - Message telling of a DB dump
@propset $tmp/exit1=str:/_docs/sysparms#/60:(bool) realms_control - Support for realm wizzes
@propset $tmp/exit1=str:/_docs/sysparms#/61:(bool) allow_listeners - Allow listeners
@propset $tmp/exit1=str:/_docs/sysparms#/62:(bool) allow_listeners_obj - Objects can be listeners
@propset $tmp/exit1=str:/_docs/sysparms#/63:(bool) allow_listeners_env - Listeners can be up the environment
@propset $tmp/exit1=str:/_docs/sysparms#/64:(bool) allow_zombies - Zombie objects allowed
@propset $tmp/exit1=str:/_docs/sysparms#/65:(bool) wiz_vehicles - Only wizzes can make vehicles
@propset $tmp/exit1=str:/_docs/sysparms#/66:(bool) force_mlev1_name_notify - M1 programs forced to show name on notify
@propset $tmp/exit1=str:/_docs/sysparms#/67:(bool) restrict_kill - Can only kill KILL_OK players
@propset $tmp/exit1=str:/_docs/sysparms#/68:(bool) registration - Only wizzes can create players
@propset $tmp/exit1=str:/_docs/sysparms#/69:(bool) teleport_to_player - Allow use of exits linked to players
@propset $tmp/exit1=str:/_docs/sysparms#/7:(str) dumpdone_mesg - Message notifying a dump is done
@propset $tmp/exit1=str:/_docs/sysparms#/70:(bool) secure_teleport - Check teleport permissions for personal exits
@propset $tmp/exit1=str:/_docs/sysparms#/71:(bool) exit_darking - Players can set exits dark
@propset $tmp/exit1=str:/_docs/sysparms#/72:(bool) thing_darking - Players can set objects dark
@propset $tmp/exit1=str:/_docs/sysparms#/73:(bool) dark_sleepers - Sleepers are effectively dark
@propset $tmp/exit1=str:/_docs/sysparms#/74:(bool) who_hides_dark - Dark players are hidden (Wizbit only)
@propset $tmp/exit1=str:/_docs/sysparms#/75:(bool) compatible_priorities - Backwards compatibility for exit priorities
@propset $tmp/exit1=str:/_docs/sysparms#/76:(bool) do_mpi_parsing - Parse MPI strings in messages
@propset $tmp/exit1=str:/_docs/sysparms#/77:(bool) look_propqueues - Look triggers _lookq propqueue
@propset $tmp/exit1=str:/_docs/sysparms#/78:(bool) lock_envcheck - Locks will check the environment
@propset $tmp/exit1=str:/_docs/sysparms#/79:(bool) diskbase_propvals - Allow diskbasing of property values
@propset $tmp/exit1=str:/_docs/sysparms#/8:(str) penny - A single currency
@propset $tmp/exit1=str:/_docs/sysparms#/9:(str) pennies - Plural currency
@propset $tmp/exit1=str:/_docs/systime#:4
@propset $tmp/exit1=str:/_docs/systime#/1:
@propset $tmp/exit1=str:/_docs/systime#/2:SYSTIME ( -- i )
@propset $tmp/exit1=str:/_docs/systime#/3:
@propset $tmp/exit1=str:/_docs/systime#/4:Returns the number of second from Jan 1, 1970. This is compatible with the system timestamps and may be broken down into useful values through 'timesplit'.
@propset $tmp/exit1=str:/_docs/testlock#:6
@propset $tmp/exit1=str:/_docs/testlock#/1:
@propset $tmp/exit1=str:/_docs/testlock#/2:TESTLOCK (d l -- i)
@propset $tmp/exit1=str:/_docs/testlock#/3:
@propset $tmp/exit1=str:/_docs/testlock#/4:Tests the player dbref against the given lock. If the test was successful,
@propset $tmp/exit1=str:/_docs/testlock#/5:then this returns a 1. If the test failed, then this returns a 0. Also see
@propset $tmp/exit1=str:/_docs/testlock#/6:LOCK?, PARSELOCK, UNPARSELOCK, PRETTYLOCK, GETLOCKSTR, SETLOCKSTR, and LOCKED?
@propset $tmp/exit1=str:/_docs/thing?#:4
@propset $tmp/exit1=str:/_docs/thing?#/1:
@propset $tmp/exit1=str:/_docs/thing?#/2:THING? ( d -- i )
@propset $tmp/exit1=str:/_docs/thing?#/3:
@propset $tmp/exit1=str:/_docs/thing?#/4:Returns i as 1 if object d is a thing, otherwise returns i as 0. See also PLAYER?, PROGRAM?, ROOM?, EXIT?, OK?.
@propset $tmp/exit1=str:/_docs/Time Functions#:5
@propset $tmp/exit1=str:/_docs/Time Functions#/1:
@propset $tmp/exit1=str:/_docs/Time Functions#/2:MUF Time functions (words) include:
@propset $tmp/exit1=str:/_docs/Time Functions#/3:
@propset $tmp/exit1=str:/_docs/Time Functions#/4:systime timesplit timefmt gmtoffset date
@propset $tmp/exit1=str:/_docs/Time Functions#/5:
@propset $tmp/exit1=str:/_docs/time#:4
@propset $tmp/exit1=str:/_docs/time#/1:
@propset $tmp/exit1=str:/_docs/time#/2:TIME ( -- s m h )
@propset $tmp/exit1=str:/_docs/time#/3:
@propset $tmp/exit1=str:/_docs/time#/4:Returns the time of day as integers on the stack, seconds, then minutes, then hours.
@propset $tmp/exit1=str:/_docs/timefmt#:37
@propset $tmp/exit1=str:/_docs/timefmt#/1:
@propset $tmp/exit1=str:/_docs/timefmt#/10: %B -- full month name.
@propset $tmp/exit1=str:/_docs/timefmt#/11: %C -- "%A %B %e, %Y"
@propset $tmp/exit1=str:/_docs/timefmt#/12: %c -- "%x %X"
@propset $tmp/exit1=str:/_docs/timefmt#/13: %D -- "%m/%d/%y"
@propset $tmp/exit1=str:/_docs/timefmt#/14: %d -- month day, "01" - "31"
@propset $tmp/exit1=str:/_docs/timefmt#/15: %e -- month day, " 1" - "31"
@propset $tmp/exit1=str:/_docs/timefmt#/16: %h -- "%b"
@propset $tmp/exit1=str:/_docs/timefmt#/17: %H -- hour, "00" - "23"
@propset $tmp/exit1=str:/_docs/timefmt#/18: %I -- hour, "01" - "12"
@propset $tmp/exit1=str:/_docs/timefmt#/19: %j -- year day, "001" - "366"
@propset $tmp/exit1=str:/_docs/timefmt#/2:TIMEFMT (s i -- s)
@propset $tmp/exit1=str:/_docs/timefmt#/20: %k -- hour, " 0" - "23"
@propset $tmp/exit1=str:/_docs/timefmt#/21: %l -- hour, " 1" - "12"
@propset $tmp/exit1=str:/_docs/timefmt#/22: %M -- minute, "00" - "59"
@propset $tmp/exit1=str:/_docs/timefmt#/23: %m -- month, "01" - "12"
@propset $tmp/exit1=str:/_docs/timefmt#/24: %p -- "AM" or "PM"
@propset $tmp/exit1=str:/_docs/timefmt#/25: %R -- "%H:%M"
@propset $tmp/exit1=str:/_docs/timefmt#/26: %r -- "%I:%M:%S %p"
@propset $tmp/exit1=str:/_docs/timefmt#/27: %S -- seconds, "00" - "59"
@propset $tmp/exit1=str:/_docs/timefmt#/28: %T -- "%H:%M:%S"
@propset $tmp/exit1=str:/_docs/timefmt#/29: %U -- week number of the year. "00" - "52"
@propset $tmp/exit1=str:/_docs/timefmt#/3:
@propset $tmp/exit1=str:/_docs/timefmt#/30: %w -- week day number, "0" - "6"
@propset $tmp/exit1=str:/_docs/timefmt#/31: %W -- week# of year, starting on a monday, "00" - "52"
@propset $tmp/exit1=str:/_docs/timefmt#/32: %X -- "%H:%M:%S"
@propset $tmp/exit1=str:/_docs/timefmt#/33: %x -- "%m/%d/%y"
@propset $tmp/exit1=str:/_docs/timefmt#/34: %y -- year, "00" - "99"
@propset $tmp/exit1=str:/_docs/timefmt#/35: %Y -- year, "1900" - "2155"
@propset $tmp/exit1=str:/_docs/timefmt#/36: %Z -- Time zone. "GMT", "EDT", "PST", etc.
@propset $tmp/exit1=str:/_docs/timefmt#/37:
@propset $tmp/exit1=str:/_docs/timefmt#/4:Takes a format string and a SYSTIME integer and returns a string formatted with the time. The format string is ascii text with formatting commands:
@propset $tmp/exit1=str:/_docs/timefmt#/5:
@propset $tmp/exit1=str:/_docs/timefmt#/6: %% -- "%"
@propset $tmp/exit1=str:/_docs/timefmt#/7: %a -- abbreviated weekday name.
@propset $tmp/exit1=str:/_docs/timefmt#/8: %A -- full weekday name.
@propset $tmp/exit1=str:/_docs/timefmt#/9: %b -- abbreviated month name.
@propset $tmp/exit1=str:/_docs/timesplit#:4
@propset $tmp/exit1=str:/_docs/timesplit#/1:
@propset $tmp/exit1=str:/_docs/timesplit#/2:TIMESPLIT ( i -- is im ih id im iy iw iyd )
@propset $tmp/exit1=str:/_docs/timesplit#/3:
@propset $tmp/exit1=str:/_docs/timesplit#/4:Splits a systime value into 8 values in the following order: seconds, minutes, hours, monthday, month, year, weekday, yearday. Weekday starts with sunday as 1, and yearday is the day of the year (1-366).
@propset $tmp/exit1=str:/_docs/timestamps#:4
@propset $tmp/exit1=str:/_docs/timestamps#/1:
@propset $tmp/exit1=str:/_docs/timestamps#/2:TIMESTAMPS ( d -- i i2 i3 i4 )
@propset $tmp/exit1=str:/_docs/timestamps#/3:
@propset $tmp/exit1=str:/_docs/timestamps#/4:Returns the following for a program, the time created (i), the time last modified (i2), the time last used (i3), and the number of uses(i4) for any object.
@propset $tmp/exit1=str:/_docs/tolower#:4
@propset $tmp/exit1=str:/_docs/tolower#/1:
@propset $tmp/exit1=str:/_docs/tolower#/2:TOLOWER (s -- s)
@propset $tmp/exit1=str:/_docs/tolower#/3:
@propset $tmp/exit1=str:/_docs/tolower#/4:Takes a string and returns it with all the letters in lowercase.
@propset $tmp/exit1=str:/_docs/toupper#:4
@propset $tmp/exit1=str:/_docs/toupper#/1:
@propset $tmp/exit1=str:/_docs/toupper#/2:TOUPPER (s -- s)
@propset $tmp/exit1=str:/_docs/toupper#/3:
@propset $tmp/exit1=str:/_docs/toupper#/4:Takes a string and returns it with all the letters in uppercase.
@propset $tmp/exit1=str:/_docs/trig#:4
@propset $tmp/exit1=str:/_docs/trig#/1:
@propset $tmp/exit1=str:/_docs/trig#/2:TRIG ( -- d)
@propset $tmp/exit1=str:/_docs/trig#/3:
@propset $tmp/exit1=str:/_docs/trig#/4:Returns the dbref of the original trigger.
@propset $tmp/exit1=str:/_docs/unparselock#:5
@propset $tmp/exit1=str:/_docs/unparselock#/1:
@propset $tmp/exit1=str:/_docs/unparselock#/2:UNPARSELOCK (l -- s)
@propset $tmp/exit1=str:/_docs/unparselock#/3:
@propset $tmp/exit1=str:/_docs/unparselock#/4:Unparses a lock into a string fit for program editing. Also see LOCK?,
@propset $tmp/exit1=str:/_docs/unparselock#/5:PARSELOCK, PRETTYLOCK, TESTLOCK, GETLOCKSTR, SETLOCKSTR, and LOCKED?.
@propset $tmp/exit1=str:/_docs/unparseobj#:4
@propset $tmp/exit1=str:/_docs/unparseobj#/1:
@propset $tmp/exit1=str:/_docs/unparseobj#/2:UNPARSEOBJ ( d -- s )
@propset $tmp/exit1=str:/_docs/unparseobj#/3:
@propset $tmp/exit1=str:/_docs/unparseobj#/4:Returns the name-and-flag string for an object. It always has the dbref and flag string after the name, even if the player doesn't control the object. For example: "One(#1PW)"
@propset $tmp/exit1=str:/_docs/until#:4
@propset $tmp/exit1=str:/_docs/until#/1:
@propset $tmp/exit1=str:/_docs/until#/2:UNTIL (i -- )
@propset $tmp/exit1=str:/_docs/until#/3:
@propset $tmp/exit1=str:/_docs/until#/4:If the value on top of the stack is false, then it jumps execution back to the instruction afer the matching BEGIN statement. (BEGIN-UNTIL, BEGIN-REPEAT, and IF-ELSE-THEN's can all be nested as much as you want.) If the value is true, it exits the loop, and executes the next instruction, following the UNTIL. Marks the end of the current loop. See also Loops, above.
@propset $tmp/exit1=str:/_docs/var#:4
@propset $tmp/exit1=str:/_docs/var#/1:
@propset $tmp/exit1=str:/_docs/var#/2:VAR
@propset $tmp/exit1=str:/_docs/var#/3:
@propset $tmp/exit1=str:/_docs/var#/4:Var is not a `true' primitive in that it must always be used outside words and does not alter the stack in any way. When the compiler sees a `var' statement, it allows the use of as a variable in all words sequentially defined after the var declaration. See also @, VARIABLE, and LOCALVAR.
@propset $tmp/exit1=str:/_docs/variable#:12
@propset $tmp/exit1=str:/_docs/variable#/1:
@propset $tmp/exit1=str:/_docs/variable#/10: 0 variable @
@propset $tmp/exit1=str:/_docs/variable#/11:
@propset $tmp/exit1=str:/_docs/variable#/12:will do the same thing (returning the user's dbref). User-defined variables are numbered sequentially starting at 3 by the compiler. Note that these variable numbers can be used even if variables have not been formally declared, making implementation of such things as arrays conveniently easy. See @, !, and VAR.
@propset $tmp/exit1=str:/_docs/variable#/2:VARIABLE ( i -- v )
@propset $tmp/exit1=str:/_docs/variable#/3:
@propset $tmp/exit1=str:/_docs/variable#/4:Converts integer i to variable reference v. Of the pre-defined variables, `me' corresponds to integer 0, `loc' to 1, and `trigger' to 2. Thus:
@propset $tmp/exit1=str:/_docs/variable#/5:
@propset $tmp/exit1=str:/_docs/variable#/6: me @
@propset $tmp/exit1=str:/_docs/variable#/7:
@propset $tmp/exit1=str:/_docs/variable#/8:and
@propset $tmp/exit1=str:/_docs/variable#/9:
@propset $tmp/exit1=str:/_docs/Variables#:5
@propset $tmp/exit1=str:/_docs/Variables#/1:
@propset $tmp/exit1=str:/_docs/Variables#/2:MUF Variable-handling functions (words) include:
@propset $tmp/exit1=str:/_docs/Variables#/3:
@propset $tmp/exit1=str:/_docs/Variables#/4:var lvar public localvar ! @
@propset $tmp/exit1=str:/_docs/Variables#/5:
@propset $tmp/exit1=str:/_docs/version#:4
@propset $tmp/exit1=str:/_docs/version#/1:
@propset $tmp/exit1=str:/_docs/version#/2:VERSION ( -- s)
@propset $tmp/exit1=str:/_docs/version#/3:
@propset $tmp/exit1=str:/_docs/version#/4:Returns the version of this code in a string. "Muck2.2fb5.6", currently.
@propset $tmp/exit1=str:/_docs/while#:4
@propset $tmp/exit1=str:/_docs/while#/1:
@propset $tmp/exit1=str:/_docs/while#/2:WHILE (i -- )
@propset $tmp/exit1=str:/_docs/while#/3:
@propset $tmp/exit1=str:/_docs/while#/4:If the value on top of the stack is false, then this causes execution to jump to the instruction after the UNTIL or REPEAT for the current loop. If the value is true, however, execution falls through to the instruction after the WHILE. See also Loops, above.
@propset $tmp/exit1=str:/_xrefs/$define:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/$echo:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/$endif:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/$ifdef:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/$ifndef:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/$include:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/$undef:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/%:+ - ~a~ ~sl~ %
@propset $tmp/exit1=str:/_xrefs/+:+ - ~a~ ~sl~ %
@propset $tmp/exit1=str:/_xrefs/-:+ - ~a~ ~sl~ %
@propset $tmp/exit1=str:/_xrefs/<:< > = <= >=
@propset $tmp/exit1=str:/_xrefs/<=:< > = <= >=
@propset $tmp/exit1=str:/_xrefs/=:< > = <= >=
@propset $tmp/exit1=str:/_xrefs/>:< > = <= >=
@propset $tmp/exit1=str:/_xrefs/>=:< > = <= >=
@propset $tmp/exit1=str:/_xrefs/__version:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/bitwise:bitwise functions
@propset $tmp/exit1=str:/_xrefs/comparison:math functions
@propset $tmp/exit1=str:/_xrefs/compiler:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/directives:Compiler Directives
@propset $tmp/exit1=str:/_xrefs/e:+ - ~a~ ~sl~ %
@propset $tmp/exit1=str:/_xrefs/fetch:@
@propset $tmp/exit1=str:/_xrefs/input:input-output
@propset $tmp/exit1=str:/_xrefs/levels:Mucker Levels
@propset $tmp/exit1=str:/_xrefs/logical operators:< > = <= >=
@propset $tmp/exit1=str:/_xrefs/math:math functions
@propset $tmp/exit1=str:/_xrefs/math operators:math functions
@propset $tmp/exit1=str:/_xrefs/Multitasking:Multitasking Funcs
@propset $tmp/exit1=str:/_xrefs/output:input-output
@propset $tmp/exit1=str:/_xrefs/preprocessor directives:preprocessor
@propset $tmp/exit1=str:/_xrefs/SETDESC:setdesc, etc
@propset $tmp/exit1=str:/_xrefs/SETDROP:setdesc, etc
@propset $tmp/exit1=str:/_xrefs/SETFAIL:setdesc, etc
@propset $tmp/exit1=str:/_xrefs/SETODROP:setdesc, etc
@propset $tmp/exit1=str:/_xrefs/SETOFAIL:setdesc, etc
@propset $tmp/exit1=str:/_xrefs/SETOSUCC:setdesc, etc
@propset $tmp/exit1=str:/_xrefs/SETSUCC:setdesc, etc
@propset $tmp/exit1=str:/_xrefs/store:!
@propset $tmp/exit1=str:/_xrefs/time:time functions
@propset $tmp/exit1=str:/_xrefs/variable operators:variables
@propset $tmp/exit1=str:/_xrefs/~a~:+ - ~a~ ~sl~ %
@propset $tmp/exit1=str:/_xrefs/~sl~:+ - ~a~ ~sl~ %