From the NannyMUD documentation
2002-12-04
wizmod - NannyMUD's general and extensible wiztool.
/std/tools/basic_shell See doc on this for more information.
/std/tools/wizmod The wizmod itself. /std/tools/modules/* The standard modules.
GENERAL The wizmod is a general wiztool which can be easily extended. It is the official wiztool and it's the only one that is supported. It replaces all former wiztools. LOGGING IN AND OUT The wizmod is autoloading, and will thus appear when you logon. It will at that time read and perform commands from an alias named .login. Likewise will an alias .logout be used when you log out. BASIC FEATURES The wizmod provides commands, aliases and nicknames. You can give it whatever aliases you want, and whatever short description. VARIABLES There are a set of internal variables available that will influence the exact behaviour of the wizmod The following variables are available: short Whatever you want the wizmod to look like. alias Add aliases for your wizmod. filewatch If set the wizmod will show you new material from from your error file in log when it grows. Use an integer. invisible "yes" or "no". verbose "yes" or "no". keeppath "yes" or "no". If you want to automatically change path to the one you had when you logged out. dangerclass "yes" or "no". Set this if ou want to use the system with 'danger classes' instead of 'danger levels'. See below for a description. dangerlevel Integer, see below: The dangerlevel is used when the wizmod want to destruct an object to see if it really should. the object is rated, and a check is done. If the object has a rating higher than the dangerlevel, it will be destructed. Below is a list, but read /include/dangerlevel.h instead, as that is the authorative source. Dangerlevel Don't destruct 5 You. 10 Interactive players. 15 Linkdead players. 20 The wizmod. 25 Wizard castles. 30 Board readers and other tools. 35 Doors. 40 Souls. 42 Guildmarks. 44 Clubmarks. 45 Other autoloaders. 50 Rooms from the room area. 55 Invisible objects. 60 Objects not created by you. 65 Worn/wielded. 70 Objects with the property "no". 75 Living objects. 100 Everything not covered above. To set your dangerlevel to X, do: modstatus dangerlevel X The danger classes are similar to the danger levels, but allow for a more fine-grained control. Using this, you can pick what classes of objects you want to protect from accidental destruction. You can, for example, protect autoloaders and invisible objects, while not protecting rooms from the room area. That would not be possible to do using dangerlevels. To activate this, you do 'modstatus dangerclass yes'. The setup of the classes is done using the module 'dangers'; see the docs on that for details. COMMANDS The wizmod itself provides a small set of commands dealing with the wizmod only. Commands can be made to by-pass the wizmod by pre-pending them with a backslash, '\'. The commands are: mlink [module] - Link a module, or show a list of available modules. munlink- Unlink a module. mrelink - Re-link a module. mcmd [module] - Show what commands are in what module. mstatus - Show some info about the modules. MODULES - GENERAL The wizmod can easily be extended. This is done by creating separate modules which can then be linked to the wizmod. Several such modules are provided by the system. A basic set of them are linked by default, providing a minimalistic environment for the wizards of NannyMUD. CONFLICTING COMMANDS If module 'A' and 'B' both provides the command 'COM', they can be accessed by 'A.COM' and 'B.COM' respectively. This naturally demands that modules have unique names. ARGUMENT PARSING The wizmod delivers player input 'as-is' to the functions; no pre-processing is done. This is due to the general use of flags to the commands; to guess what are flags and what is not is too cumbersome and not guaranteed to succeed. BUILDING MODULES It is fairly straightforward to create new modules. See the example in /std/tools/modules/example_module.c for details. IMPORTANT DIFFERENCE BETWEEN MODULE CLONES AND NON-CLONES Module clones are the only modules that are not using the master object when executing commands. This means that if you do refresh on a NON-CLONE Module the changes will take effect at once.
dangers in std/module/dangers
NAME
mlink - Link a module, or show a list of available modules.SYNTAX
mlink [module]DESCRIPTION
Without an argument, show what modules there are that can be linked. With an argument, link that module.
NAME
munlink - Unlink a module.SYNTAX
munlinkDESCRIPTION
Unlink the specified module from the wizmod.
NAME
mrelink - Re-link a module.SYNTAX
mrelink [-a]DESCRIPTION
This command allows you to re-link a module, for example when you have updated it. The flag '-a' causes all currently linked modules to be re-linked.
NAME
mcmd - List what commands are provided by what module.SYNTAX
mcmd [module]SYNTAX
mcmd -aDESCRIPTION
With an argument, shows the commands resident in the specified module. Without an arguemnt, shows all commands in all linked modules. If you give the flag -a all commands are listed in alpabetical order and it also show in what module(s) the command appear.
NAME
mstatus - Show some info about the modules.SYNTAX
mstatusDESCRIPTION
This command makes the wizmod system go through it's internal lists and compute some statistics. The result is then presented in the form: Module: Name (Filename) use-clone/number-of-clonesNOTE
This is basically a maintainance command of little use to non-admin.
NAME
modstatus - Show the wizmod's user variables.SYNTAX
modstatusSYNTAX
modstatus [ variable] DESCRIPTION
This is exactly the same as 'shellstatus' for mortals, but since the wizmod isn't named shell, this alias has been installed.
NAME
wizmodstatus - An alias for modstatusSYNTAX
wizmodstatusSYNTAX
wizmodstatus [ variable] DESCRIPTION