Object Maker created by Haderach@Frontiers 4/9/98 Purpose The purpose of this documentation is to provide creators with an overview of the Object Maker. By providing an explanation of its abilities and limititations, I believe that the Frontiers community will benefit as a whole. By "object" I refer to rooms, NPC's, and items. Introduction I wrote this Object Maker because I found that development was lacking. When I asked creators why that was so, I got the answer that the documentation was too difficult to read or that they just didn't have time to know all the functions to make a good object. Even people who had read the documention and were familiar with the functions needed to successfully create an object were often having trouble because it's so hard to remember everything. Well, this handy little object solves all those problems. By providing creators with a menu-driven system, it makes development easy and allows room for development of ideas instead of rooms. One final note. All rooms and monsters created adhere to the Magnafix standards. This means that all rooms have to have a roomdef.h defined, or else the room will not be read correctly by the MudLIB. You can, of course, delete the third line of the file and get rid of that requirement, but it isn't advised. Under approval guidelines, these are the rules, so follow them. Menu System I have tried to make the menu system as easily understood as possible. Within each menu, the possible choices are all listed. All one has to do is enter the number or the letter in front of the desired function. The main menu has six choices and an option to quit from the program. MAIN MENU 1. Edit Room 2. Edit Item 3. Edit NPC 4. Load Room 5. Load Item 6. Load NPC q. Quit The first three choices deal with the actual editing of the object. They are the vital part of the entire operation. Within each one, you can edit the fields of the object, write to file, clear the buffer, and set the default directory. The second three choices deal with the loading of an existing file into the buffer. Note that this will load the information from each known field to the program into the buffer. It will write out a completely new file, and if you overwrite the old file, the old file will be lost. This makes it very important that only files created by this object maker are loaded. Otherwise, some functions may be lost and a lot of time will be wasted on stuff that you did. Most of the time when you are entering text, you can enter simply a "c" on a single line (without the quotes, of course) to cancel what you were doing. However, if it doesn't work, make sure that you mail me about it. Note that the cancel option only works in fields where you have to enter text, not in an actual menu. If you press "c" in a menu, oftentimes it will clear the buffer. Editing Rooms Editing rooms is quite easy using this object. For each field, there is a pair of parentheses after it showing what is currently the value of that field. When you first start using the object maker, it won't contain anything except default values for under the properties option. In order to enter something into the field, simply type the number on the menu list. For example, to enter the town name, enter "1". The object will ask you for the name of the town that you want. Simply type in the name and press enter. As soon as that is done, it will reprint the entire menu, this time with the new value of Town set. Here is the menu: EDIT ROOM 1. Town () 2. Climate () 3. Properties ( "no attack":0, "no bump":0, "no steal":0, "no magic":0, "no paralyze":0, "no teleport":0, ) DayLight(30) NightLight (15) 4. Short () 5. DayLong () 6. NightLong () 7. Items () 8. Inventory () 9. Smell () 10. Listen () 11. Obvious Exits () 12. Exits () w. Write to File c. Clear Buffers d. Default Directory (/realms/haderach/) p. Previous Menu The numbers are for functions that you can change. After you finish changing all that you want to change, you can type "w" and write the contents to a file. It will prompt you for a filename within the default directory that is set. I've taken the liberty of setting the default directory to everyone's home directory. Note that it will write the file to somewhere in the default directory. If you want to write it somewhere else, you have to change the default directory. After you're done, you can choose to change something small and then rewrite everything to a second file. Oftentimes rooms in people's realms look amazingly alike each other, except for minor differences. This object maker makes the creation of such rooms really easy. However, if you want to create a completely different room, you can clear the buffers by typing "c". Everything will be reset to its default state except the default directory. If you have changed that, it should remain the same. Within fields like Inventory, Smell, Listen, Items, and Exits where there is a list of things that you enter, there are extra menus that allow you to add and remove each item. The remove function is especially handy if you screw up on one thing or another. In some menus, it will mention "add to OBJDIR" or "add to ROOMDIR". If you don't know what that means, read the introduction to this document and also the immortal board for further information. The idea is that you can enter simply the filename of the defined OBJDIR or ROOMDIR without typing in the entire absolute path. It is not advised that you ever use the absolute path option. Editing Items Editing items is in essence the exact same thing as editing rooms. The only difference is that there is a special option 11 which allows you to create specialized items. The current possible special items are armour, weapons, torches, and matches. More will be added later. Basically, if you want to create anything other than the special items, use the ordinary item menu to write to file. Otherwise, fill in the ordinary item menu and go on to the special items menu. Write from the appropriate menu. Editing NPC's It's exactly the same as editing rooms. Just enter text in the fields and read the appropriate documentation for what each field means. Make sure that you follow the balance guidelines. Conclusion The object maker can make your life really easy. However, it won't do everything for you. It incorporates the most basic functions. In the future, I might incorporate more advanced features, but for now, this will have to do. If you want to add functions to rooms, items, or npc's, you'll have to do that manually. About adding things manually. If you wish to add object functions manually add it between the comments: //funs //snuf This is so that the object loader will recognize them and add them into the newly written file. If you want to add functions that aren't usually defined for the object, add them after the extras comment: //extras The loader will read everything after this comment and append it to the regular file. Well that's about it. Hope everyone enjoys this awesome tool. I have certainly found it to be extremely useful.