& help
------------------------------------------------------------------------------
Index 

  This is the index of staff helpfiles, V1.0b(17JUL00)

  +accept        +cnotes        +commands      +contents      +duty          
  +join          +motd          +register      +rjoin         +rsummon       
  +stnotes       +summon        +timestamp     +version       BACKGROUNDS    
  CONFIGURE      DEFAULTS       FUNCTIONS      PROJECT

  To get help on any of the listed topics, type '+shelp <topic>'
------------------------------------------------------------------------------

& +accept
------------------------------------------------------------------------------
+accept

  SYNTAX: +accept

  This command sets an acceptance attribute on the player to show that they 
  have read and accepted the terms of your game's AUP.  It sets a simple 
  timestamp on the character object and sends the player an emit that the 
  command has worked.  

  This command is adaptable to other applications where you may need players 
  to acknowledge that they have read and accepted rules associated with the 
  game.  Imbedding the command in the text of the material you want to be read 
  is the best way to document it for players.
-----------------------------------------------------------------------------

& backgrounds
------------------------------------------------------------------------------
Staff Background Commands:                                

  +bgview <name>       - Shows the number of sections for player.
  +bgcheck <name>/<#>  - Locks a background section when finished.

  The '<#>' sign in the BG help stands for the number of the section you are
  working on. The BG commands allows for multiple sections so that your 
  background can be broken up into reasonably sized pieces of text.
-----------------------------------------------------------------------------

& CONFIGURE
------------------------------------------------------------------------------
Configuring SGP:

  There will be several things that you need to configure in this package in 
  order to make use of all the features therein.  One of the first will be to 
  edit the parameters that define who passes isstaff() and ostaff().  Both 
  functions are found on the Global Functions object.  

  isstaff() is defined specifically by flag.  ostaff() checks against the list 
  stored in &STAFF-LIST on the Global Parent Object.  Truthfully, most 
  functions in the game will use isstaff(), where ostaff() is used for code 
  where you want the regular game staff to show, such as +who.

  &STAFF-LIST is a space seperated list of dbrefs.  It displays on +staff and 
  +staff/all in the same order that they are entered on the list.

  See Also: CONFIGURE2
-----------------------------------------------------------------------------

& CONFIGURE2
------------------------------------------------------------------------------
Configuring SGP:

  Headers and Footers maybe changed through the code by editting the code.  
  This code is specifically set up to use &HEADER and &FOOTER attributes on 
  the Global Parent Object.  You can edit the existing default headers and 
  simply add them in the place of the old.  The footers can be substituted by 
  editting them to match.  Examine the global parent object for a pregenerated 
  set of footers.
  
  ANSI color is optional not used in this code, since different servers enable 
  and handle color differently.  ASCII character art used as header and footer     
  attributes on the main code will not require a major hacking effort.  
  Complex ASCII art has been incorporated into at least one game and simply 
  requires someone with the patience to hack it in.  

  All globals are coded to 78 spaces wide.  78 is divisable by 78, 39, 26, 13, 
  6, 3, 2, and 1.  When you design your own ASCII for this package, you can 
  use repeat() to generate certain unique elements.  There is nothing to 
  prevent ascii headers and other elements from being several lines high, 
  though it is adviseable to keep an eye to how many extra lines the code 
  generates.

  See Also: CONFIGURE3
-----------------------------------------------------------------------------

& CONFIGURE3
------------------------------------------------------------------------------
Configuring SGP +finger:

  +finger can be customized in the by changing appropriate references in the 
  softcode to headers and footers to attributes that you desire.  

  Adjusting the types of attributes that the code will read by default 
  requires making changes to &FINGER_LIST and &FINGER_LIST_LONG on the parent 
  object.  These two attributes control the finger attributes that the code 
  looks for, and the actual output to the display itself.  These two 
  attributes are in a specific order and are directly related to each other.  
  If you add, remove, or modify items in the list, you must make sure that the 
  order is preserved in both lists.  You have been warned. 
  
  As with all such undertakings, make sure you have a backup of anything you 
  had prior to making modifications.  You'll hate yourself if you've made 
  extensive modifications and then mess up.
-----------------------------------------------------------------------------

& +cnotes
------------------------------------------------------------------------------
+cnotes

  SYNTAX: +cnotelist <name>               - Gives you a list of all cnotes on 
                                            a character object.
          +cnoteview <name> <notename>    - Gives you the contents of the 
                                            <notename> note on named player 
                                            or dbref for objects.
          +cnote/<notename> <name>=<text> - Sets a cnote on a player or 
                                            object(use dbref) to the value of 
                                            the text with person and time 
                                            added. (WIZ ONLY)
          +cnoteapp <pcname> <notename>   - Approves and timestamps a player-
                                            set cnotes, sets the attribute 
                                            wizard so the player can't change 
                                            it.  Approved notes bear the line:     
                                            "Approved by XXX on date YYY"
          +cnotedel <pcname> <notename>   - Deletes a given note from a 
                                            character.
  
  Players may set notes on objects other than themselves by setting an 
  attribute &CNOTE_<notename> <object>=<text>.  Staff approved notes will 
  bear "Approved by XXX on date YYY" to show that staff has seen and approved 
  the information for IC purposes.
----------------------------------------------------------------------------- 

& +commands
------------------------------------------------------------------------------
+commands

  SYNTAX: +commands <thing>

  This command shows the $-commands for a given object, room, or player.  This 
  is useful for many reasons, including looking for conflicting commands.
-----------------------------------------------------------------------------

& +contents
------------------------------------------------------------------------------
+contents

  SYNTAX: +contents <thing>

  This commands shows the contents of a given object, room, or player.  It 
  shows DARK objects.
----------------------------------------------------------------------------- 

& DEFAULTS 
------------------------------------------------------------------------------
Default SGP 

  SGP comes with a given list of commands and helpfiles.  The default 
  configuration of the code is found in the SGP Installer.  This configuration 
  accounts for base globals and doesn't include those commands that would be 
  only useful in a roleplaying environment.  To add the RP specific code, 
  quote the RPPack file in the same that you did the installer.  It will write 
  them directly to the required objects.
  
  This code does not include a bulletin board system.  If you choose to use 
  Myrrdin's BBS system, you may simply add the text version of +help to the 
  file and add the specific topics to the listing in the index at the top of 
  this file.  Other BBS systems may or may not have helpfiles that are 
  MUX-ready. 

  Helpfiles for MUX are set up as .txt files and are placed in the game/text/ 
  directory of your master account as 'staffhelp.txt' and 'plushelp.txt'.  
  Use mkindx and then @readcache within the MUX to bring changes into the 
  files read by the game.  These files may be used by Penn and TinyMUSH 2.2 
  games with hardcoded +help commands, though there will be additions required 
  for Tiny that are not needed for Penn.
-----------------------------------------------------------------------------

& +duty 
------------------------------------------------------------------------------
+duty

  SYNTAX: +duty

  This sets a staff member as being either On or Off duty.  
-----------------------------------------------------------------------------

& FUNCTIONS
------------------------------------------------------------------------------
Softcoded Functions:

  Functions: isstaff(<dbref>)   

    Returns 1 or 0 when player matches the flags defined as 'staff'
    
             ostaff(<dbref>)    
    
    Softcoded function that checks to see if <dbref> against the official 
    staff list as listed on the Global Parent.
    
             andlist(<string>,<delimiter>) 

    Returns a string as a comma separated list with 'and' between second to 
    last and last elements.
    
             mmm-dd-yyyy()
    
    Returns time() output in terms of MMM DD YYYY.
    
------------------------------------------------------------------------------

& +motd
------------------------------------------------------------------------------
+motd

  SYNTAX: +motd/list
          +motd/set <type>=<message>
          +motd/del <type>=<MOTD #>
          +motd/clear <type>
          +motd/reset   

  This code allows for easier manipulation of the @motd command and the use of 
  softcoded MOTD to create semi-permanent MOTD.  
  
  The first command lists the stored MOTD messages in order from oldest to 
  newest, by MOTD type.  The types listed are: general, wizard, down, and 
  full.  
  
  The second command sets an MOTD attribute to the global parent.  You select 
  the type from the above list and set the message of your choosing.  
        
  > +motd/set general=This is an MOTD.

  The third command removes a selected MOTD # from a given MOTD listing.  In 
  the above example, the message number is 1 in the general list. 

  > +motd/del general=1 

  The fourth command clears all the MOTD of a given type.

  > +motd/clear general 
  
  The last command resets the +motd system so that the game will read the 
  MOTDs appropriately.  This code is called as part of the @startup for the 
  object.
------------------------------------------------------------------------------

& +join
------------------------------------------------------------------------------
+join

  SYNTAX: +join <name>

  Allows a staff member to join a player where they are on the game.
  Please note that it is considered polite to page the player in advance to 
  inform them of the pending visit.

  See Also: +summon
-----------------------------------------------------------------------------  

& PROJECT 
------------------------------------------------------------------------------
Project Status Tracker Help                             
        
  SYNTAX:  +setproject <project name>/<coder name>/<status>
           +viewprojects
           +editproject <project name>/who=<coder name>
           +editproject <project name>/status=<status>
           +deleteproject <project name>
           +trackerhelp -- Gets this screen.

  This code assists in the management of game-related projects.  The project 
  name, and the other fields, can have spaces in them.
-----------------------------------------------------------------------------

& +register
------------------------------------------------------------------------------
+register

  SYNTAX: +register <character>=<RL name>=<email>=<alts>

  The RL name must be their FULL name, first and last. Alts can be none.
-----------------------------------------------------------------------------

& +rjoin
------------------------------------------------------------------------------
+rjoin

  SYNTAX: +rjoin

  Sends a staff member back to where they had been previously.  Use this 
  command when you want to go somewhere other than your home.
  
  See Also: +join
-----------------------------------------------------------------------------

& +rsummon
------------------------------------------------------------------------------
+rsummon

  SYNTAX: +rsummon <player> 

  Allows a staff member to send a player back to the location they were when 
  they were originally summoned.
  
  See Also: +summon
-----------------------------------------------------------------------------

& +staff
------------------------------------------------------------------------------
Notes on +staff:
 
  SYNTAX: +staff/add <player>
          +staff/remove <player>
 
  These two commands modify the contents of &STAFF-LIST on the global parent 
  and affect whether or not a given person appears on the +staff and 
  +staff/all listings.  Where isstaff() checks against flags, STAFF-LIST and 
  ostaff() are explicitly set and checked by code.
   
------------------------------------------------------------------------------

& +stnotes
------------------------------------------------------------------------------
STNOTES

  SYNTAX: +stnotes
          +stnotes <object>
          +setnote <object>/<note>=<text> (Wiz Only)
          +setnote/vis <object>/<note>=<text> (Wiz Only)

  The first form searches the current local and lists out any players, 
  objects, or exits that have STnotes set on them (the room is checked as 
  well). The second form displays all the STnotes set on a player or object. 
  The third form is used to set an STnote on an object or person. To clear an 
  existing note, use the third form of the command with no text. Normally the 
  judge note created is not visible to the owner of the object. 

  If you want to set a note that is also visible to the object owner, use the 
  /vis switch on the +setnote command.
-----------------------------------------------------------------------------

& +summon
------------------------------------------------------------------------------
+summon

  SYNTAX: +summon <player>

  Allows a staff member to summon a player object to their current location.  
  Please note that it is considered polite to page the player in advance to 
  inform them of the pending summons.
  
  See Also: +rsummon, +join
-----------------------------------------------------------------------------

& +timestamp
------------------------------------------------------------------------------
+timestamp

  SYNTAX:  +timestamp <name>/<topic>=<note>  - Sets a timestamp on a given 
                                               player for a given topic and 
                                               reason.
           +timestamp/read <name>            - Lets staff read all timestamps 
                                               on a given player.
           +timestamp/rem <name>/<topic>     - Removes a given timestamp 
                                               attribute from a player.
           +timestamp/showall                - Shows all currently set 
                                               timestamps.  Can be spammy.
-----------------------------------------------------------------------------

& +version
------------------------------------------------------------------------------
+version

  SYNTAX:  +version   
           +version <dbref>

  This code is in place to aid the user in the tracking of version history of
  SGP objects.  The first form of this command returns a list of all SGP and 
  additional tracked objects, their version numbers, dbrefs, most recent 
  applied patches, and the date the last upgrade was done.  SGP installers 
  update this information automatically.
  
  The second form of this command looks up a specific tracked object and 
  returns information on what was applied to the object when.
  
  See Also: +version2  
------------------------------------------------------------------------------
&

& +version2
------------------------------------------------------------------------------
+version (continued)

  SYNTAX:  +version/add <dbref>   
           +version/remove <dbref>
           +version/update <dbref>/<field>=<data>
           
  The first form of this command adds new objects to the +version listing.  
  The second form removes an object from +version. The third form edits 
  various parts of the +version display. Fields include 'version', 
  'patchlevel' and 'history'.  The 'Last Update' field is updated by the first 
  two uses of this command.
  
  Updating the 'history' field adds detailed information to the object's 
  UPDATE-HISTORY attribute and includes a date with every entry. 
------------------------------------------------------------------------------
&

