Geas MUD, enter the Aventure!
Geas Home | Play the Game

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5 The Tracer tool

The built-in wiztool called the Tracer tool is perhaps your absolutly best friend in trying to figure out what's going on inside an object that already is loaded into the game. It allows you to call specific function in any object, regardless of location, list inventories and even move objects around. In fact, it's so useful that on Genesis any other wiztool is forbidden. The reason being that you should learn how to use this one and not waste time on making anything inferior.

Some people complain that it's a bit difficult to use, but that's just because they didn't bother to read the manual. In any case, I'm going to give a more thorough lesson here and just maybe you won't have to bother with the in-game manual, which admittedly isn't the easiest of reads.

Please notice that all tracer tool commands are upper-case. This is to distinguish them from the ordinary commands, some of which have the same name. Also notice that since the tracer tool is intended for use by working people, it's only available to full wizards.

To begin with, let's look at how the tracer identifies an object:

`name'
This specifies the name of an object in your inventory or your environment, simply the object name. Beware that many objects share names (e.g. 'human', 'sword' etc).

`"desc"'
This specifies the short description of an object in your inventory or your environment. Usually more exact than just the name.

`path'
This specifies a file path to an object. If you want a specific indiviual item, you add the clone number. For instance not just ~Ansalon/guild/society/obj/nametag but specifically exactly ~Ansalon/guild/society/obj/nametag#22144 and no other.

The non-specific path identifies the master object, of course.

`@name'
This specifies the name of a player or a living (a monster) anywhere in the game. Please notice that the tracer will find the name as registerd by a call of the efun set_living_name() (described earlier) and not the name set by set_name() in the object itself. A player is automatically added to the list of living objects.

`*name'
This specifies the name of a player, and nothing else.

`here'
This specifies the environment of yourself, usually you are standing in a room of some kind.

`me'
This specifies yourself, your player object.

`#num'
This specifies the object number 'num' in the scope you indicate. If for example you know that the sword you are carrying is the third object, the reference would be '#3', simply. Please beware that object order may change without warning. If for example someone gives you something just before you type the command, object '#3' will no longer be the one you thought it was. Instead make extensive use of tracer variables (explained in the command Set) to void this problem.

`$var'
This specifies the contents of a tracer variable (explained later in the command Set).

Objects often exist in some sort of environment. Sometimes in the same place as another object, sometimes inside an object, sometimes the object is enveloping another. In order to give a relation of the type "the second object inside the teddybear in the same room as I am standing in", you give a list of object specifications separated by a :. The environment of an object is specified with a caret (:^).

For example, the previous description would come out as me:^:teddybear:#2. This really isn't very complicated, you just build the path based on an object that you are certain you know which it is.

Another example: "the sword stored in a bag held by the player Adam": *adam:bag:sword.

2.5.1 Perform a command in the environment of a player  
2.5.2 Call a function in an object  
2.5.3 Cat the file associated with an object  
2.5.4 Destroy all non-interactive objects in an object  Destruct all non-interactive objects in an object
2.5.5 Destruct a specific object  
2.5.6 Print information about an object  Print various information about an object
2.5.7 Ed the file associated with an object  
2.5.8 Enter the inventory of an object  
2.5.9 Perform a command in another object  
2.5.10 More the file associated with an object  
2.5.11 Move an object to a destination  
2.5.12 Set a tracer variable  
2.5.13 Update, load, clone and replace an object  
2.5.14 Tail the file associated with an object  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Ronny Wikh on July, 8 2003 using texi2html