Myrddin's BBS v4.0.6 MUSHCode help files

Help files for Myrddin's BBS v4.0.6. Formatted for MUSH output (ie. imbedded [space()]'s, %r's, etc). Use these if you have a soft coded +help.

Author: Myrddin
Category: Bulletin Board
Compatibility: PennMUSH.

Instructions

Copy and paste the below code into a compatible MUSH or MUX.

MUSHCode for Myrddin's BBS v4.0.6 MUSHCode help files

@@ These are MUSHCode formatted help files (for +help systems) for Myrddin's BBS v4.0.6
@@ The code for the Bulletin Board is available at: http://www.mushcode.com/ViewFile.aspx?Id=15

&bbhelp_help me=[repeat(=,78)]%r[space(16)]Commands for Myrddin's Bulletin Board 4.0.6%r[repeat(-,78)]%r[space(5)]Requiem's BBS is a global, multi-threaded board with a rich set of%r[space(5)]features. To see help on a particular topic, type '+help <topic>'%r[space(5)](Example: +help bbread).%r%r[space(5)]TOPIC[space(17)]DESCRIPTION%r[space(5)]~~~~~[space(17)]~~~~~~~~~~~%r[space(5)]bbread[space(16)]Reading bulletin board messages.%r[space(5)]bbpost[space(16)]Posting bulletin board messages.%r[space(5)]bbmisc[space(16)]Other commands (removing messages, unsubscribing%r[space(29)]groups, resubscribing to groups, etc)%r%r[space(5)]bbtimeout[space(13)]Expanded help on the topic of message timeouts.%r[repeat(=,78)]

&bbhelp_read me=[repeat(=,78)]%r[space(18)]Commands for Myrddin's Bulletin Board 4.0.6%r[repeat(-,78)]%r[space(5)]+bbread[space(25)]Scans joined bulletin board groups.%r[space(5)]+bbread <#>[space(21)]Scans messages in group <#>.%r[space(5)]+bbread <#>/<list>[space(14)]Reads message(s). <list> can be a single%r[space(40)]number, multiple numbers, or a range%r[space(40)]of numbers (ie. 1-6), or any combo.%r[space(5)]+bbread <#>/u[space(19)]Reads all unread messages in group <#>.%r[space(5)]+bbcatchup <#>[space(18)]Marks all messages in group <#> as read.%r[space(40)]You can use multiple group #'s/names%r[space(40)]or may use the word 'all' to catchup%r[space(40)]on all messages on all boards.%r%r[space(5)]+bbscan[space(8)]Totals unread postings (if any) in each joined group. You%r[space(20)]can place this command in your @aconnect, and it's%r[space(20)]recommended you do so.%r%rNote: You can use the boards name (or abbreviation) in place of it's number.%r[repeat(-,78)]%rSee also: +help bbpost, +help bbmisc%r[repeat(=,78)]

&bbhelp_post me=[repeat(=,78)]%r[space(18)]Commands for Myrddin's Bulletin Board 4.0.6%r[repeat(-,78)]%r[space(5)]+bbpost <#>/<title>[space(13)]This starts a post to group <#>.%r[space(5)]+bbwrite <text>[space(17)]This adds text to an already started post.%r[space(5)]+bb <text>[space(22)]Same as +bbwrite.%r[space(5)]+bbedit <area>=<old>/<new>[space(6)]Edits your post in progress. Valid areas%r[space(39)]are: text, title%r[space(5)]+bbproof[space(24)]Displays your current post in progress.%r[space(5)]+bbtoss[space(25)]Discards your current post in progress.%r[space(5)]+bbpost[space(25)]This will post your current post in%r[space(39)]progress.%r%r[space(5)]+bbpost <#>/<subject>=<body>[space(4)]Posts a message to group <#>. This is a%r[space(39)]quick way of posting a message with%r[space(39)]one command.%r[space(5)]+bbedit <#>/<#>=<old>/<new>[space(5)]Edits one of your posted messages.%r%rNote: You can use the boards name (or abbreviation) in place of it's number.%r[repeat(-,78)]%rSee also: +help bbread, +help bbmisc%r[repeat(=,78)]

&bbhelp_misc me=[repeat(=,78)]%r[space(18)]Commands for Myrddin's Bulletin Board 4.0.6%r[repeat(-,78)]%r[space(5)]+bbremove <#>/<list>[space(12)]Removes a message by you. <list> can be a%r[space(39)]single number, a group of numbers, or a%r[space(39)]range (10-14).%r[space(5)]+bbmove <#>/<#> to <#>[space(10)]Moves one of your messages to a new group.%r[space(5)]+bbleave <#>[space(20)]Unsubscribe from group <#>.%r[space(5)]+bbjoin <#>[space(21)]Joins a group you've previously 'left'.%r[space(5)]+bblist[space(25)]Listing of all groups available to you%r[space(39)]along with their timeout values.%r[space(5)]+bbsearch <#>/<name>[space(12)]Shows you a list of <name>'s postings on%r[space(39)]group <#>.%r[space(5)]+bbtimeout <#>/<#>=<days>[space(7)]Changes timeout for a message to <days>.%r[space(5)]+bbnotify <#>=<on|off>[space(10)]Turn post notification for group <#> on%r[space(39)]or off.%r%r[space(2)]%rFor a '.sig', set an attribute on you called BB_SIG, and place your%rsignature in that.%r%rNote: You can use the board's name (or abbreviation) in place of its number.%r[repeat(-,78)]%rSee also: +help bbread, +help bbpost, +help bbtimeout, +help bbchanges%r[repeat(=,78)]

&bbhelp_timeout me=[repeat(=,78)]%r[space(3)]Expanded Help on Message Timeouts for Myrddin's Bulletin Board (1 of 2)%r[repeat(-,78)]%rThere's only a couple of things that need to be understood in order to take%rfull advantage of message timeouts.%r%r1: Once a day, the TR_TIMEOUT attribute on the bbpocket should be triggered.%r[space(3)]Some games already have a way of accomplishing this. For games that do not,%r[space(3)]simply have a wizard execute set the 'autotimeout' global parameter:%r[space(6)]+bbconfig autotimeout=on%r[space(3)]Turning that parameter on sets up the board to take care of its own daily%r[space(3)]triggering.[space(2)]Setting the paramenter to 'off' turns off the BBS's internal%r[space(3)]triggering.%r%r[repeat(-,78)]%rConcluded in: +help bbtimeout2%r[repeat(=,78)]

&bbhelp_timeout2 me=[repeat(=,78)]%r[space(3)]Expanded Help on Message Timeouts for Myrddin's Bulletin Board (2 of 2)%r[repeat(-,78)]%r%r2: There are 3 different timeout values:%r%r[space(3)]The global parameter 'timeout' (set via the '+bbconfig timeout=<days>'%r[space(3)]command) sets a default timeout that will be set on any new bb groups%r[space(3)]created after the execution of this command.%r%r[space(3)]The group parameter 'timeout' (set via the '+bbconfig <#>/timeout=<days>'%r[space(3)]command) sets a default timeout for the group <#>. Any new messages%r[space(3)]posted to this group will inherit that timeout.%r%r[space(3)]The user command '+bbtimeout <group>/<message list>=<days>' will set the%r[space(3)]specified timeout on individual messages. Players can only modify their%r[space(3)]own messages, wizards can modify any messages. Players can only set%r[space(3)]timeouts equal to or less than the default timeout for the board, wizards%r[space(3)]can set any timeout.%r%r[space(3)]In all cases, a timeout of '0' indicates no timeout.%r[repeat(=,78)]

&bbhelp_changes me=[repeat(=,78)]%r[space(20)]Changes to Myrddin's Bulletin Board%r[repeat(-,78)]%rThe most recent version of this code, bug fixes, and patches can be found at:%r[space(20)]www.firstmagic.com/~merlin/mushcode%r%r4.0.6:%r[space(5)]BugFix: Patched a security hole (thanks to Alierak for pointing it out)%r[space(5)]PennFix: Minor tweak to +bbremove that will keep Penn's cleaner and%r[space(10)]prevent odd behavior%r[space(5)]Feature: Message headers internal to the bbs now store dbref of the owner%r[space(10)]of the poster.%r%r4.0.5:%r[space(5)]Improved +bbscan (Amberyl)%r[space(5)]Improved number range error handling (Kareila@ChaoticMUX)%r[space(5)]BugFix: +bbmove - better error handling, and replaced missing '}'%r[space(5)]BugFix: FN_SETR behaves better for those that need it.%r%r4.0.4:%r[space(5)]BugFix: +bbsearch now checks permissions properly%r[space(5)]BugFix: base 36 to base 10 conversion tweaked to be friendlier to Penn%r[space(13)](added a base case of '0' to fold()).%r[space(5)]BugFix: Posting to an anonymous board no longer appends your BB_SIG.%r[space(5)]BugFix: BBS is now aware of the 8k MUX buffer limit. This affects the%r[space(13)]'percentage' full meter.%r[space(5)]PennFix: +bbmove tweaked to be friendlier to PennMUSH.%r[space(5)]PennFix: Various other PennMUSH fixes, most involving flags. Should help%r[space(14)]the BBS run correctly on PennMUSH's.%r[space(5)]Feature: Post notification now includes \[board\]/\[#\]%r[space(5)]Help: Help files have been expanded in the areas of message timeouts and%r[space(11)]locking groups.%r%r4.0.3:%r[space(5)]BugFix: +bbcleargroup now checks permissions properly%r[space(5)]BugFix: +bbcleargroup will no longer re-order remaining groups%r[space(5)]BugFix: Automatic post notification for anonymous boards now uses%r[space(13)]the anonymous 'title' instead of the poster's name.%r%r4.0.2:%r[space(5)]BugFix: +bbsearch will now work properly on all servers%r[space(5)]Some attribute cleanup%r%r4.0.1:%r[space(5)]BugFix: Message ID's no longer improperly sorted by certain commands%r[space(5)]BugFix: Update-Installer should no longer scramble message ID's%r%r4.0.0:%r[space(5)]Misc. security enhancements.%r[space(5)]Up to 25\% increase in storage capacity.%r[space(5)]Support for message timeouts. Fully configurable.%r[space(5)]Support for anonymous boards. Configurable 'From' field title. Obviously,%r[space(7)]MUSH staff can determine original poster.%r[space(5)]Post notification: online players are notified of new posts. Configurable%r[space(5)]New Command: +bbsearch. Allows user to search a group for posts by a%r[space(7)]specific author.%r[space(5)]New Command: +bbnotify. Allows user to toggle post notification for%r[space(7)]boards.%r[space(5)]New Staff Command: +bbconfig. For setting global/group timeout values,%r[space(7)]anonymous boards, built-in timeout monitor.%r[repeat(=,78)]

&bbhelp_wiz me=[repeat(=,78)]%r[space(15)]Wizard Commands for Myrddin's Bulletin Board 4.0.6%r[repeat(-,78)]%r[space(5)]+bbnewgroup <title>[space(13)]Creates a new group.%r[space(5)]+bbcleargroup <#>[space(15)]Clears group <#> and all it's messages.%r[space(5)]+bblock <#>=<lock>/<key>[space(8)]Locks group <#>. Lock can be 'flag' or%r[space(39)]an attribute name.%r[space(39)]Examples: +bblock 4=flag/wizard%r[space(49)]+bblock 5=race/were%r[space(5)]+bbwritelock <#>=<lock>/<key>[space(3)]Same as above, but controls who may write%r[space(39)]to the group.%r[space(5)]+bbconfig[space(23)]Shows values of all config parameters.%r[space(39)]See '+shelp bbconfig' for help on%r[space(39)]config parameters and how to set them.%r[repeat(-,78)]%rSee also: +shelp bbconfig, +shelp bblock (contains expanded help for locks)%r[repeat(=,78)]

&bbhelp_lock me=[repeat(=,78)]%r[space(11)]Expanded Help on Group Locks for Myrddin's Bulletin Board%r[repeat(-,78)]%rA few notes about locking BB Groups.%r%rThe +bblock/+bbwritelock commands are only meant to take care of the simplest%rof locks.[space(2)]There is simply no way to write one bblock'ing command that can%rdeal with all the different ways people want to lock their BB Groups, and it%rcertainly isn't practical to keep adding different locking commands for each%rlocking method I come across.%r%rCoders can set up locks on Groups that are as customized or exotic as you like%rquite easily, however.[space(2)]Each Group has its own object.[space(2)]If you look inside%rthe global BBS object, you'll see them.[space(2)]Each Group object has a pair of%rattributes that control who may read and who may write to that Group.[space(2)]The%rattributes are named CANREAD and CANWRITE, respectively.[space(2)]The dbref of the%rplayer attempting to read/write is passed to the appropriate attribute as \%0.%rAs long as the attribute returns a non-zero result, the player can read/write.%r%rCANREAD Examples:%r[space(3)]CANREAD: 1[space(31)]Anyone can read%r[space(3)]CANREAD: hasflag(\%0,wizard)[space(14)]Only wizards can read%r[space(3)]CANREAD: strmatch(name(\%0),*z*)[space(10)]Only characters with a 'z' in%r[space(46)]their name can read%r[repeat(=,78)]

&bbhelp_config me=[repeat(=,78)]%r[space(10)]Configuration Parameters for Myrddin's Bulletin Board 4.0.6%r[repeat(-,78)]%rThere are two types of configuration parameters: global and group.[space(2)]Global%rconfiguration parameters affect the BB system as a whole, while group %rconfiguration parameters affect a single Group.%rTo set a global parameter:%r%r[space(5)]+bbconfig <param>=<value>[space(7)]Sets global config parameter.%r%rGlobal Parameters:%r%r[space(5)]timeout[space(12)]This sets the default timeout (in days) for any new%r[space(26)]groups created. A timeout of '0' means messages%r[space(26)]won't timeout. (ex. +bbconfig timeout=30)%r[space(5)]autotimeout[space(8)]If you don't have a way to trigger the TR_TIMEOUT%r[space(26)]attribute on the bbpocket (daily) to clean out%r[space(26)]expired messages, you can use the autotimeout param%r[space(26)]instead. Setting this param 'on' enables the BB's%r[space(26)]built in timer. Set this param to 'off' to disable.%r[repeat(-,78)]%rSee '+shelp bbconfig2' for info on Group parameters%r[repeat(=,78)]

&bbhelp_config2 me=[repeat(=,78)]%r[space(10)]Configuration Parameters for Myrddin's Bulletin Board 4.0.6%r[repeat(-,78)]%rTo set a Group parameter:%r%r[space(5)]+bbconfig <#>/<param>=<value>[space(3)]Sets config parameter for board <#>.%r%rGroup Parameters:%r%r[space(5)]anonymous[space(10)]Setting this value turns the Group 'anonymous'.[space(2)]This%r[space(26)]means that any future posting's 'Author' field will%r[space(26)]have the value of this param instead of the name of%r[space(26)]the author. Wizards will also see the actual name of%r[space(26)]author.[space(2)](examples:%r[space(26)]+bbconfig newspaper/anonymous=NewsPaper Staff,%r[space(26)]+bbconfig house rules/anonymous=The Staff)%r[space(5)]timeout[space(12)]Sets the default timeout value for the Group.[space(2)]Any new%r[space(26)]messages will have this new value.[space(2)]A value of '0'%r[space(26)]means messages won't timeout.%r[repeat(=,78)]