1stMUD4.0/bin/
1stMUD4.0/doc/MPDocs/
1stMUD4.0/player/
1stMUD4.0/win32/
1stMUD4.0/win32/rom/
1stMUD F.A.Q
----------------------------------------

Q1. How do I add a new race?

A1. Its really quite simple, type 'raedit create <race name>'.
    This will enter a new race and set an OLC editor for you.
    To make the race usuable by players you have to set it as
    a 'PC' race.

Q2. How do I add a new class?

A2. Type 'cledit create <class name>'.  This will create the
    class and set all skill levels to immortal.
   
Q3. How do I add a new clan?

A3. Type 'cedit create <clan name>' (Ahhhhhhh.... OLC).

Q4. How do I add a new skill/spell?

A4. After you have written your spell or skill, if it had a gsn 
    (global skill number) add an entry to gsn.h, and/or if it has a 
    spell function add an entry to spells.h.  Compile the code and if all goes
    well, copyover. Then in the mud type 'skedit make <skill/spell name>'. 
    Set the appropriate gsn/spell entries and other values. If the skill 
    has a command see A6, how to create a command.

Q5. What is the point of the CH_CMD() and MAGIC() macros?

A5. This is done so you can easily change the arguments needed by
    those type of functions.

Q6. How do I create a new command?

A6. Write the command and add an entry to dofun.h (ex. COMMAND_FUN (do_test) ).
    Then in the mud type 'cmdedit create <cmd name>' and set the dofun pointer
    to the exact entry in dofun.h (ex. 'dofun do_test').
   
Q7. How do I run 1stMUD in windows?

A7. Compile the code in MSVC++ (you can use the workspace included).  After its
    built move the ROM.exe file AND the zlib.dll file to the area directory.
    (Note: you may have to turn on view system/hidden files in folder
    preferences to see zlib.dll).  There is no startup script included so
    just double click on ROM.exe from the area directory, and connect
    using 'localhost <port>' (127.0.0.1).

Q8. How do I make a new social?

A8. By using the social editor.  Type 'sedit create <social name>'.

Q9. 1stMUD areas look different then ROM areas, will they still load?

A9. Yes. If you want to load any stock ROM area file, just add it to
    the area.lst.  Keep in mind that the area file might still have
    vnums that don't exist.

Q10. How do I use the patch file?

A10. Put the patch file in the src directory and type 'patch < patchfile'.
     Parts of the patch that failed will be saved into filename.rej,
     which you can go through manually and edit (If you run the patch on
     modified src code ect.)

Q11. How do I add custom colour to something?

A11. Define a number to use in ansi.h (ex #define _NEWCHANNEL 43) and increase 
     MAX_CUSTOM_COLOUR. You then have to add an entry to the cslot_table[] in
     tables.c where you define the default colour.  Anywhere you want to add 
     its colour you use the CTAG() macro (ex. CTAG(_NEWCHANNEL) ).

Q12. Why the change to chprint, chprintln, chprintf, and chprintlnf functions?

A12. Well, in case you want to make better use of C++, these functions
     could easily be changed.  My thoughts where to have ch->println("");
     victim->printf(""); ect., but I still want 1stMUD to compile in both
     C and C++.  Besides they feel cooler than send_to_char.

Q13. How do I change the maximum level of 1stMUD?

A13. First you would change MAX_LEVEL in merc.h to a new level, keeping in mind
     the old max level.  Lets say it used to be 60, and we changed it to 110.
     To take care of immortals in player files, first find the line in save.c,
     fwrite_char() that looks like this: fprintf(fp, "Vers %d\n", 7);  '7' is 
     the old version so we increase that to 8 (fprintf(fp, "Vers %d\n", 8);)
     Then in load_char_obj() you'll find something like this at the bottom:
     set_player_level(ch, 0, 0, 0); we can now change that to:
     set_player_level(ch, 60, 110, 8);, where 60 is the old max level, 110 is
     the new max level, and 8 is the new version.  OK, that being done, do a
     clean compile.  Now, change directory to the area directory and run
     '../src/rom levels 60 110'  This will change any old immortal levels in
     data files and areas, to new immortal levels.  That should be it.

Q14. Why doesn't 'make' work under FreeBSD??

A14. You have to use 'gmake'.

Q15. How do I use 'gdb'?

A15.    gdb rom
	cd ../area
	run <port>

     It would be a good idea to type 'help' once in gdb
     to figure out what you can do from there, there are also
     many resources on the web.

Q16. How to create a new channel?

A16. First create a global channel number in h/gcn.h (ex 'gcn_chat').
     If the channel is not a public channel add an entry to channel_types
     in h/merc.h (ex 'spec_chat_flag').  If the channel display requires
     special formatting, add it to format_channel() in channels.c and
     validate_chanformat() in olc_act.c.  Create a command function for
     the channel with a call to public_ch(). (ex CH_CMD(do_chat))  Add an 
     entry for the command in h/dofun.h (ex (COMMAND_FUN(do_chat)).  
     Compile and copyover/reboot.  In the game type 'chanedit create <name>' 
     to create the channel and edit.  Then create the command 
     'cmdedit create <name>' and edit.

Q17. How do I create a new jukebox song?

A17. In the game type 'songedit create <name>' and edit.

Q18. How do I create a new note board?

A18. Increase MAX_BOARD and add an entry to board_table[] in board.c

Q19. How do I disable/remove the web server?

A19. Define NO_WEB either in the Makefile (-DNO_WEB) or one of the main
     header files (h/config.h or h/merc.h)

Q20. How do I use the configure script?

A20. The configure script is made by editing configure.in and type autoconf.
     The configure script when run makes a Makefile from Makefile.in and
     a config.h file from config.h.in.  The config.h.in file is generated by
     the configure.in file by running 'autoheader'.  To generate a default
     configure.in file, run 'autoscan' which will make a configure.scan file
     to edit and rename.  The purpose of the configure script is to make
     defines based on whats available/not available on your system.  1stMUD
     then becomes easier to control over multiple systems.  You can reset
     your configuration by typing 'make resetconfig'.

Q21. How do I backup my stuff?

A21. If you'd like to have your own backups use the backup script in ../bin.
     For convienience 'make backup' will backup player/data/area/src files
     to the ../backup directory.

Q22.

A22.