name mode size
hlp 040000
nws 040000
Makefile 100644 1.05kB
README 100644 3.57kB
colors.json 100644 95.64kB 100755 799B 100644 780B
connect.txt 100644 473B
down.txt 100644 350B
full.txt 100644 143B
guest.txt 100644 125B
help.txt 100644 1.27MB
motd.txt 100644 190B
news.txt 100644 53B
newuser.txt 100644 677B
quit.txt 100644 95B
register.txt 100644 301B
wizmotd.txt 100644 37B
Your local help/news/etc files can now be kept separate from those distributed with PennMUSH, and can now be managed as a set of files rather than a single large file. Here's the details: 1. The source files for help.txt, news.txt, and any other "help"-style commands you add are kept in separate files in their own directories - for "help" and "news" these are called game/txt/hlp and game/txt/nws. 2. Files in those directories which end in .<directoryname> are considered to be part of the text. That is, files in hlp/ which end in .hlp, and files in nws/ which end in .nws will be merged into the final help.txt, news.txt, or whatever. 3. When the MUSH is restarted, a 'make' is run in this directory. If a file in hlp/ is newer than help.txt, it calls to rebuild help.txt. Don't edit help.txt, news.txt, etc. directly; if you do, any changes will be lost! So, if you want to add your own news entries, make a file called nws/local.nws and put 'em there. Or maybe organize it into parts: nws/theme.nws, nws/code.nws, etc. ** DO NOT ** edit news.txt, help.txt, etc. directly or those changes will be lost. Files distributed with PennMUSH always begin with "penn", so don't start your files with that. All files should contain Unicode text. If all you use is ASCII characters, that's already the case and nothing special needs to be done. Otherwise, just make sure your editor is saving files using UTF-8 character encoding. To add a new "help"-style command, follow these steps. For this example, we'll add a command called "+foobar". 1) Create a new directory in the game/txt directory, in this case game/txt/foobar 2) Put your help topics in files in this directory. Each file's extension should match the directory name - for example, "this.foobar", "that.foobar", and so on. 2b) Make sure you include a topic with the same name as your command - this will be shown when people type the command with no topic name. For example: & FOOBAR This is shown when you type "foobar" without a topic. Type "foobar <topic>" to view a specific topic. 3) Edit game/txt/Makefile, duplicating the example for "rules.txt", but using your command name. For example: foobar.txt: foobar/*.foobar foobar sh ./ foobar $(INDEX_FLAGS) (Note: The second line starts with 1 tab, not spaces.) 4) Add "foobar.txt" to the end of the TXT= line near the top of the file. You'll get something like TXT=help.txt news.txt other.txt stuff.txt foobar.txt 5) To add the new command to your MUSH, add this line to your mush.cnf help_command +foobar txt/foobar.txt After you've made these changes, and created your "*.foobar" files, run the "make" command in the game/txt directory. This will build the "foobar.txt" file from your "*.foobar" files. You'll then need to @shutdown/reboot, to make the MUSH re-read your mush.cnf and add the new command. In future, when you make changes to your *.foobar files, re-run "make" in game/txt, and then type "@readcache" in your MUSH to make it check for new topics. TIP: To add a hardcoded "+help" command which shares topics with the "help" command, add: help_command +help txt/help.txt to your mush.cnf. Then just put your +help topics in hlp/*.hlp files. Make sure you include a topic called "+help" that'll be shown when people type "+help" without a topic! For example: & +HELP MyMUSH has help for the following commands: +foo +bar +etc