@@ ############################################################################ @@ @@ SGP - Help Data and +help/+wizhelp commands for Penn and Tiny 2.2.x @@ 1 August 00 @@ This file creates one new SGP object for the purpose of helpfile storage. @@ It adds +help and +wizhelp commands to existing SGP commands objects and @@ sets reference attributes for use by this code. @@ @@ This +help system is very basic, but functional. Certainly, there are @@ better systems around. Look for one, if this code doesn't suit your needs. @@ @@ Coded by BEM and Audumla@Sandbox @@ @@ Updated 4 Jan 01 to add +version and correct a problem with &LIST_COMMANDS @@ on servers with native multipaging. @@ @@ Updated 28 Jun 00 to fix a bug in DO_COL that rendered +help and +wizhelp @@ non-functional. Patch by Raevnos@M*U*S*H @@ @@ Updated 17 July 00 to add a file for the +motd code. @@ @@ Updated 25 April 01 to update a file for the +motd code. @@ @@ ############################################################################ @pemit me=Setting +help and +wizhelp commands in the main globals.... Moment. &CMD-PLUS-HELP SGP - Main Globals=$+help*:@pemit %#=setq(0,help_[edit(trim(%0),%b,_)])[switch(setq(1,match(lattr(v(help-db)),%q0))%q1,0,{Sorry, no +help available on that topic},u(v(help-db)/[index(lattr(v(help-db)),,%q1,1)]))] &CMD-PLUS-WIZHELP SGP - Staff Globals=$+wizhelp*:@pemit %#=setq(0,wizhelp_[edit(trim(%0),%b,_)])[switch(setq(1,match(lattr(v(help-db)),%q0))%q1,0,{Sorry, no +wizhelp available on that topic},u(v(help-db)/[index(lattr(v(help-db)),,%q1,1)]))] @pemit me=Creating SGP - Help Data.... Moment. @create SGP - Help Data @wait 0=&HELP-DB SGP - Main Globals=num(SGP - Help Data) @wait 0=&HELP-DB SGP - Wizard Globals=num(SGP - Help Data) @wait 0=&HELP-DB SGP - Staff Globals=num(SGP - Help Data) @pemit me=Now setting functional code for +help code.... Moment. &DO_COL SGP - Help Data=[setq(0,fold(max_length,%0,0,%1))][setq(1,div(76,add(%q0,1)))][setq(2,sub(div(76,%q1),1))][setq(3,add(1,div(sub(words(%0,%1),1),%q1)))][setq(4,0)][iter(lnum(%q3),%r%b%b[iter(lnum(%q1),ljust(index(%0,%1,setq(4,add(1,%q4))%q4,1),%q2))])] &DO_LIST SGP - Help Data=[u(do_col,edit(edit(sort(edit(%0,HELP_,)),%b,|),_,%b),|)] &DO_WIZLIST SGP - Help Data=[u(do_col,edit(edit(sort(edit(%0,WIZHELP_,)),%b,|),_,%b),|)] &HELP_ SGP - Help Data=[repeat(-,78)]%RHelp on the following topics is avaliable by typing: +help %R[u(do_col,sort(v(list_commands),a,|),|)]%R[repeat(-,78)] &HELP_ALL SGP - Help Data=[repeat(-,78)]%RThe following is a list of ALL the topics available using +help:%R[u(do_list,lattr(me/help_*))]%R[repeat(-,78)] @switch version()=TinyMUSH version 2.2.*,{&LIST_COMMANDS SGP - Help Data=ALL|BACKGROUNDS|+beginner|+cnotes|+finger|+finger-setup|+glance|+ic|+info|+info-setup|+knock|+3who*|+lwho|+shout|+staff|+staff-all|+timestamp|+timestop|+uptime|+view|+view-setup|+warn|+where|+who|@register|CREDITS|mutter|OOC|PLACES|places-config|places-options|plook|mp},{&LIST_COMMANDS SGP - Help Data=ALL|BACKGROUNDS|+beginner|+cnotes|+finger|+finger-setup|+glance|+ic|+info|+info-setup|+knock|+3who*|+lwho|+shout|+staff|+staff-all|+timestamp|+timestop|+uptime|+view|+view-setup|+warn|+where|+who|@register|CREDITS|mutter|OOC|PLACES|places-config|places-options|plook} &MAX_LENGTH SGP - Help Data=max(%0,strlen(%1)) &WIZHELP_ SGP - Help Data=[repeat(-,78)]%RHelp on the following topics is avaliable by typing: +wizhelp %R[u(do_col,sort(v(wizlist_commands),a,|),|)]%R[repeat(-,78)] &WIZHELP_ALL SGP - Help Data=The following is a list of ALL the topics available using +wizhelp:%R[u(do_wizlist,lattr(me/wizhelp_*))] &WIZLIST_COMMANDS SGP - Help Data=ALL|+accept|BACKGROUNDS|+cnotes|+commands|+contents|+duty|+join|+motd|+register|+rjoin|+rsummon|+stnotes|+summon|+timestamp|CONFIGURE|DEFAULTS|FUNCTIONS|PROJECT|+staff|+version @pemit me=Now setting +HELP attributes.... Moment. &HELP_BACKGROUNDS Help Data=[repeat(-,78)]%RCommands for Setting your Background:[space(21)]%R%R[space(2)]SYNTAX:[space(2)]+bg <#>[space(17)]- Read a background section.%R[space(11)]+bglist[space(17)]- List out sections that have been created%R[space(11)]+bgadd <#>=[space(7)]- Add to a background section.%R[space(11)]+bgrem <#>=[space(7)]- Removes text from a background section.%R[space(11)]+bgrep <#>=/[space(2)]- Replaces text in a background section.%R[space(11)]+bgclear <#>[space(12)]- Clears a background section.%R[space(11)]+bglock <#>[space(13)]- Locks a background section when finished.%R%R[space(2)]The '<#>' sign in the BG help stands for the number of the section you are%R[space(2)]working on. The BG commands allows for multiple sections so that your %R[space(2)]background can be broken up into reasonably sized pieces of text.%R[repeat(-,78)] &HELP_CREDITS SGP - Help Data=[repeat(-,78)]%RCredits%R%R[space(2)]SGP is a broad, cross platform coding effort with numerous contributors.[space(2)]%R[space(2)]Current contributors of code and assistance in testing, writing helpfiles, %R[space(2)]and pithy comments are as follows:%R%R[space(4)]Audumla@Everywhere[space(3)]--A little bit of everything, +staff and +staff/all, %R[space(27)]+beginner, +version, and installer files.%R[space(4)]BEM@Granite[space(10)]--Much of the base code including +who, joining %R[space(27)]and summon commands, debugging. %R[space(4)]Miateila@Granite[space(5)]--+finger and LOTS of pithy commentary%R[space(4)]Hilikiradi@Sandbox[space(3)]--Debugging, Penn platform tests, +cnotes, %R[space(27)]+lwho, PLACES upgrades, and installer files. %R[space(4)]Brazil@Everywhere[space(4)]--MUX 2.0 issues%R[space(4)]Talek, Javelin, Raevnos, David,%R[space(4)]Vexon@M*U*S*H[space(8)]--Penn Issues%R[space(4)]Ashen-Shugar[space(9)]--RhostMUSH Issues%R[space(4)]Lilith@Sandbox[space(7)]--Debugging, @register %R[space(4)]Hunger@Pacifica[space(6)]--Debugging, Aesthetics%R[space(4)]Jeff@TSC[space(13)]--+version %R[repeat(-,78)] &HELP_+BEGINNER SGP - Help Data=[repeat(-,78)]%R+beginner%R%R[space(2)]MUSH is new to some of you and probably a little daunting. To ease your %R[space(2)]feelings of panic, we offer a very basic list of commands that will get you %R[space(2)]looking around and using the various features of the game.%R%R[space(4)]"[space(16)]You say .%R[space(4)]Say [space(13)]See above.%R[space(4)]ooc [space(13)]Makes an OOC statement or pose.%R[space(4)]page =[space(3)]Pages with .%R[space(4)]look[space(22)]Shows you the room you are standing in.%R[space(4)]look [space(3)]Shows the desc for that object or person.%R[space(4)]pose [space(12)]You pose EX: pose grins.->John Doe %R[space(30)]grins.%R[space(4)]:[space(16)]See 'pose" above%R[space(4)]WHO[space(23)]Shows a list of who is connected to the MUSH.%R[space(4)]+staff[space(20)]Shows connected Staff.%R[space(4)]+staff/all[space(16)]Shows the staff roster.%R%R[space(2)]NOTE: MUSH commands may be case sensitive. You can always page a staffer %R[space(2)]for help.%R%R[space(2)]'+beginner' also recalls this file%R[repeat(-,78)] &HELP_+CNOTES SGP - Help Data=[repeat(-,78)]%R+cnotes%R%R[space(2)]SYNTAX: +cnotelist[space(13)]- Gives you a list of all cnotes on your %R[space(35)]character object.%R[space(10)]+cnoteview [space(2)]- Shows you the contents of the named cnote.%R[space(10)]+cnote =text - Sets &cnote on the player to the %R[space(35)]value of the text with person and time %R[space(35)]added.%R[space(24)]%R[space(2)]To set notes on rooms, exits, and other objects that you own, set an %R[space(2)]attribute: &CNOTE_ =%R%R[space(2)]Please note that some cnotes require staff approval before they can go into %R[space(2)]effect ICly.[space(2)]Consult a member of staff for assistance.[space(2)]%R[repeat(-,78)] &HELP_+FINGER SGP - Help Data=[repeat(-,78)]%R+finger %R%R[space(2)]SYNTAX: +finger %R[space(11)]%R%R[space(2)]This command shows you various bits of information about and will also %R[space(2)]accept "me" as an argument.[space(2)]+finger is generally a command that notes OOC %R[space(2)]information and should not be considered IC unless game policy %R[space(2)]specifically says otherwise.%R%R[space(2)]See Also '+finger-setup' for configuration options.[space(2)]%R[repeat(-,78)] &HELP_+FINGER-SETUP SGP - Help Data=[repeat(-,78)]%RFinger Setup%R[space(2)]%R[space(2)]Attributes read by this command:%R[space(8)]%R[space(2)]E-MAIL:[space(14)]Your email address (optional)[space(3)]%R[space(2)]POSITION:[space(12)]Your Position%R[space(2)]SHORT-DESC:[space(10)]A short description of yourself[space(2)]%R[space(2)]FULLNAME:[space(12)]Your character's full name.%R[space(2)]AGE:[space(17)]Your real age%R[space(2)]FAME:[space(16)]What you are known for.%R[space(2)]APP_AGE:[space(13)]Your apparent age%R[space(2)]PLAN:[space(16)]Any plans your character may have%R[space(2)]RP-PREFS:[space(12)]Any RP Prefs that you may have as a person%R[space(2)]ALTS:[space(16)]Alternate characters you may be known as%R[space(2)]THEMESONG:[space(11)]Your Theme Song%R[space(2)]QUOTE:[space(15)]A typical quote from your character%R[space(2)]OFF-HOURS:[space(11)]When you are usually online.%R[space(2)]TEMPERMENT:[space(10)]Should explain itself, really.%R[space(2)]VACATION:[space(12)]The dates you expect to be gone.%R[space(2)]URL:[space(17)]Your homepage, if any.%R[space(2)]&FINGER-:[space(2)]Let's you add other fields.%R%R[space(2)]AFINGER:[space(5)]Similar to @adesc, gets triggered when someone +fingers %R[space(15)]you.%%%%0 is the name of the person who +fingered you, %R[space(15)]%%%%1 is their dbref.%R[repeat(-,78)] &HELP_+GLANCE SGP - Help Data=[repeat(-,78)]%R+glance%R%R[space(2)]SYNTAX: +glance %R%R[space(2)]Displays displays the &SHORT-DESC attributes of objects and connected %R[space(2)]players in your present location.[space(2)]Idle times of players are shown.[space(2)]%R[space(2)]&SHORT-DESC information is truncated to 50 characters. %R[repeat(-,78)] &HELP_+IC SGP - Help Data=[repeat(-,78)]%R+ic %R%R[space(2)]SYNTAX: +ic%R%R[space(2)]Lets a player go to a set beginning IC location.%R[repeat(-,78)] &HELP_+INFO SGP - Help Data=[repeat(-,78)]%R+info%R%R[space(2)]SYNTAX: +info[space(11)]Show you the info that you have set on yourself.%R[space(10)]+info [space(2)]Shows you info set on other characters.%R%R[space(2)]+info allows you to set information on yourself that would be useful to %R[space(2)]other players without them having them page you for it. This is an %R[space(2)]/excellent/ way to tell other players about pertinent merits, flaws, or %R[space(2)]other things that /would/ affect the way that they might interact with you, %R[space(2)]yet would not be appropriate to place in your @desc.%R%R[space(2)]Players should make a brief mention like "+info set" at the end of their %R[space(2)]@desc, so that others may know to look.%R%R[space(2)]See Also: +info-setup%R[repeat(-,78)]%R &HELP_+INFO-SETUP SGP - Help Data=[repeat(-,78)]%R+info setup%R%R[space(2)]To set info on yourself, set it as an attribute &INFO-.[space(2)]General %R[space(2)]info can be seen by anyone. More specific info is set in the same way, %R[space(2)]except you use who should be able to see it instead of 'general'. Possible %R[space(2)]things to use are: race, factions, clans, tribes, and traditions.:%R%R[space(2)]&info-general me=A wandering bum, usually seen in the dirtier parts of %Rthe streets.%R[space(2)]&info-camarilla me=This is the Gangrel Primogen, and as such, is a very %Rnoted member of the Camarilla...%R[space(2)]&info-garou me=This character has a Pure Breed 4.%R[repeat(-,78)] &HELP_+KNOCK SGP - Help Data=[repeat(-,78)]%R+knock%R%R[space(2)]SYNTAX: +knock %R%R[space(2)]This command will allow you to 'knock' on any door in the MUSH. The players %R[space(2)]on the other side of the door will get an emit telling them that someone is %R[space(2)]knocking on the door. %R%R[space(2)]NOTE: Using this command on the street grid on exits like South is very %R[space(2)]silly and people will think that you are dumb if you do.%R[repeat(-,78)] &HELP_MP Help Data=[repeat(-,78)]%Rmp - multipaging:%R%R[space(2)]SYNTAX:[space(2)]mp = - Allows multipaging to a list of players%R[space(11)]mp [space(9)]- Allows multipaging to the last group of %R[space(34)]players multipaged.%R[repeat(-,78)] @switch version()=TinyMUSH version 2.2.*,{},{&HELP_MP Help Data} &HELP_MUTTER SGP - Help Data=[repeat(-,78)]%Rmutter%R[space(2)]%R[space(2)]SYNTAX: mutter =%R[space(10)]mutter/tt =%R[space(10)]mutter/place =%R%R[space(2)]The first form of this command behaves identically to "whisper", except %R[space(2)]that the other players in the room will see that you have said something. %R[space(2)]A regular message, or part of a pose enclosed in "quotes", will have some %R[space(2)]of its words or groups of words replaced by "..." If you enclose a phrase %R[space(2)]with , it will not be replaced. Poses without "quotes" %R[space(2)]will simply show that you have muttered something. can be any %R[space(2)]player in the same room as you.%R%R[space(2)]The second form of this command behaves like the first, except that instead %R[space(2)]of the entire room hearing the mutter, only people at a place will do so. %R[space(2)]If you are at a place, those at your place will hear the mutter;if you are %R[space(2)]not, and the target is, those at that place will hear the mutter. If %R[space(2)]neither of you are at a place, an error message will be generated.%R%R[space(2)]The final version of this command allows everyone at a place to hear the %R[space(2)]message in full, while the rest of the room hears the mutter.%R%R[space(2)]This code was written by Deirdre@AmberMUSH.%R%R[space(2)]See Also: 'mutter2'%R[repeat(-,78)] &HELP_MUTTER2 SGP - Help Data=[repeat(-,78)]%Rmutter examples:%R%R[space(5)]mutter Finndo=Can you loan me thirty Pence? I'm broke!%R[space(5)]Meg mutters to Finndo, "Can... loan... thirty... broke!"%R%R[space(5)]mutter Bleys=:frowns. "What a he is!" She shrugs.%R[space(5)]Meg frowns. She mutters to Bleys, "What... cheapskate..." She shrugs.%R%R[space(5)]mutter/place 1=:chuckles. "Thank you very much."%R[space(5)]Meg chuckles. She mutters to the long, mahogany bar, "Thank you..."%R%R[space(5)]mutter/tt Deirdre=Where did you hide those Trumps?%R[space(5)]At the bar, Meg mutters to Deirdre, "Where... Trumps?"%R[repeat(-,78)] &HELP_OOC Help Data=[repeat(-,78)]%ROut of Character speech:%R%R[space(2)]SYNTAX:[space(2)]ooc %R[space(11)]' %R[space(2)]%R[space(2)]Allows a player to speak or pose OOCly or out of character.%R[space(9)]%R[repeat(-,78)] &HELP_PLACES SGP - Help Data=[repeat(-,78)]%RPLACES%R%R[space(2)]SYNTAX:[space(2)]Mv from <#> to <#>[space(10)]Moves a vacancy from one place to%R[space(39)]another.%R[space(11)]Join [space(11)]Puts you at %R[space(11)]Join at #[space(14)]Puts you at place #.%R[space(11)]Join with [space(12)]Puts you at the place with .%R[space(11)]sit * [space(23)]Alias for Join.%R[space(11)]Depart[space(22)]Removes you from your place.%R[space(11)]Stand[space(23)]Alias for Depart.%R[space(11)]Places[space(22)]Lists who's present at all places.%R[space(11)]Place [space(17)]Lists who's present at place .%R[space(11)]Plook[space(23)]Lists in column format everyone around%R[space(39)]the room.%R[space(11)]Plook [space(17)]Lists name of and virtual desc.%R[space(11)]tt [space(16)](Tete a tete) Relays a message to all%R[space(39)]those at your place. This command takes%R[space(39)]the usual say/pose tokens, and%R[space(39)]TT | will emit.%R[space(11)]ttooc [space(13)](Tete a tete) Relays an OOC message%R[space(11)]Update <#>/