PennMUSH Community

Changeset 1264

Show
Ignore:
Timestamp:
09/12/08 20:18:11 (3 months ago)
Author:
shawnw
Message:

#7577: help @lock missing stuff

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 1.8.3/branches/devel/game/txt/hlp/penncmd.hlp

    r1252 r1264  
    19321932  @lock[/<switch>] <object>=<key>  
    19331933   
    1934   This command "locks" the object, specifying a key which determines who or 
    1935   what can do certain things with the object. There are many different types 
    1936   of locks, all of which are described in "help locktypes" and which are 
    1937   designated by the switch. The "basic" lock determines, for players and 
    1938   things, who can pick them up. For exits, it determines who can go through 
    1939   the exit. All other locks can be set the same way as the basic lock. 
    1940  
    1941   Whenever you "pass" the basic lock, you succeed in doing something with 
    1942   the object. This triggers the @success/@osuccess/@asuccess 
    1943   messages and actions. If you fail to pass the basic lock, you trigger 
    1944   the @failure/@ofailure/@afailure messages and actions. Other locktypes 
    1945   may also have such success/failure messages: see "help failure" for info. 
    1946  
    1947   You can specify <object> and <key> as either the name of an object in 
    1948   the immediate area, a DBREF number, "me", or "here".  
     1934  This command "locks" the object, specifying a key which determines 
     1935  who or what can do certain things with the object. There are many 
     1936  different types of locks, all of which are described in "help 
     1937  locktypes" and which are designated by the switch. The "basic" lock 
     1938  determines, for players and things, who can pick them up. For exits, 
     1939  it determines who can go through the exit. All other locks can be 
     1940  set the same way as the basic lock. 
     1941 
     1942  Whenever you "pass" the basic lock, you succeed in doing something 
     1943  with the object. This triggers the @success/@osuccess/@asuccess 
     1944  messages and actions. If you fail to pass the basic lock, you 
     1945  trigger the @failure/@ofailure/@afailure messages and actions. Other 
     1946  locktypes may also have such success/failure messages: see "help 
     1947  failure" for info. 
     1948 
     1949  You can specify <object> and <key> as either the name of an object 
     1950  in the immediate area, a DBREF number, "me", or "here". 
    19491951 
    19501952(continued in help @lock2)   
    19511953& @lock2 
    1952   You can lock an object in several different ways. The simplest lock is to 
    1953   lock it to one other object with the '=', signifying a DBRef # match.: 
     1954 
     1955  You can lock an object in several different ways. The simplest lock 
     1956  is one that always succeeds (#true) or always fails (#false), or 
     1957  that matches one other object by prefixing it with a '=', signifying 
     1958  a DBRef # match.: 
     1959 
     1960   @lock My Toy = #false 
     1961     This lock will always fail. 
     1962 
    19541963   @lock My Toy = = me 
    1955      This locks the object "My Toy" to you and you alone. It is recommended 
    1956      that you @lock me == me in order to prevent anyone else from picking 
    1957      you up. The two = signs are NOT a typo! The first is part of the @lock 
    1958      syntax (as shown at the top of "help @lock") the second is a lock key 
    1959      that means "exactly this object". 
    1960    
    1961   You can lock an object -against- another object as well, using the '!'  
    1962   symbol before any other key: 
     1964     This locks the object "My Toy" to you and you alone. It is 
     1965     recommended that you @lock me == me in order to prevent anyone 
     1966     else from picking you up. The two = signs are NOT a typo! The 
     1967     first is part of the @lock syntax (as shown at the top of "help 
     1968     @lock") the second is a lock key that means "exactly this 
     1969     object". 
     1970   
     1971  You can lock an object -against- another object as well, using the 
     1972  '!'  symbol before any other key: 
    19631973    @lock Shared Toy = !Vector Sigma 
    1964       This locks the object "Shared Toy" to everyone -except- Vector Sigma. 
    1965       Everyone except Vector will be able to pick up the object. 
     1974      This locks the object "Shared Toy" to everyone -except- Vector 
     1975      Sigma.  Everyone except Vector will be able to pick up the 
     1976      object. 
    19661977 
    19671978(continued in help @lock3) 
     
    19691980  You can lock an object to something that has to be carried: 
    19701981    @lock Door = +Secret Door Key 
    1971       This locks the exit "Door" to someone carrying the object "Secret Door 
    1972       Key". Anyone carrying that object will be able to go through the exit. 
    1973  
    1974   You can lock an object to -either- an object or to someone carrying the 
    1975   object with: 
     1982      This locks the exit "Door" to someone carrying the object 
     1983      "Secret Door Key". Anyone carrying that object will be able to 
     1984      go through the exit. 
     1985 
     1986  You can lock an object to -either- an object or to someone carrying 
     1987  the object with: 
    19761988    @lock Disneyworld Entrance = Child 
    1977       This locks the exit "Disneyworld Entrance" to either the object  
    1978       "Child" -or- to someone carrying the object "Child". (OK, so it's 
    1979       a weird example.) 
     1989      This locks the exit "Disneyworld Entrance" to either the object 
     1990      "Child" -or- to someone carrying the object "Child". (OK, so 
     1991      it's a weird example.) 
    19801992   
    19811993  You can lock an object to a specific player by using a *: 
     
    19851997(continued in help @lock4) 
    19861998& @lock4 
    1987   An "owner" lock allows you to lock something to anything owned by the 
    1988   same player: 
     1999  An "owner" lock allows you to lock something to anything owned by 
     2000  the same player: 
    19892001    @lock Box = $My Toy 
    1990       This locks "Box" to anything owned by the owner of "My Toy" (since 
    1991       players own themselves, that includes the owner as well). 
     2002      This locks "Box" to anything owned by the owner of "My Toy" 
     2003      (since players own themselves, that includes the owner as well). 
    19922004 
    19932005  An "indirect" lock allows you to lock something to the same thing as 
    1994   another object (very useful in setting channel locks; see help @clock): 
     2006  another object (very useful in setting channel locks; see help 
     2007  @clock): 
    19952008    @lock Second Puppet = @First Puppet 
    1996       This locks the object "Second Puppet" to whatever the object  
    1997       "First Puppet" is locked to. Normally, the lock type that is checked 
    1998       is the same as the lock on the first. You can specify a different 
    1999       lock type with @object/LOCKNAME. For example: 
    2000       @lock Second Puppet = @First Puppet/Use 
    2001       Second Puppet's basic lock now checks First Puppet's use lock. 
    2002  
    2003   There are also some more complex locks called attribute and evaluation 
    2004   locks. In addition, you can make complex locks (combining several types 
    2005   or reversing them). 
     2009      This locks the object "Second Puppet" to whatever the object 
     2010      "First Puppet" is locked to. Normally, the lock type that is 
     2011      checked is the same as the lock on the first. You can specify a 
     2012      different lock type with @object/LOCKNAME. For example: @lock 
     2013      Second Puppet = @First Puppet/Use Second Puppet's basic lock now 
     2014      checks First Puppet's use lock. 
     2015 
     2016  There are also some more complex locks called attribute and 
     2017  evaluation locks. In addition, you can make complex locks (combining 
     2018  several types or reversing them). 
    20062019 
    20072020(continued in help @lock5) 
    20082021& @lock5 
    20092022ATTRIBUTE LOCKS 
    2010   You can lock an object to an attribute on the person trying to pass  
     2023  You can lock an object to an attribute on the person trying to pass 
    20112024  the lock (as long as the object can "see" that attribute): 
    20122025 
     
    20182031  For example: 
    20192032    @lock Men's Room = sex:m* 
    2020       This would lock the exit "Men's Room" to anyone with a SEX attribute 
    2021       starting with the letter "m".  
     2033      This would lock the exit "Men's Room" to anyone with a SEX 
     2034      attribute starting with the letter "m". 
    20222035    @lock A-F = icname:<g 
    20232036      This would lock the exit "A-F" to anyone with a ICNAME attribute 
     
    20282041& @lock6 
    20292042COMPLEX LOCKS 
    2030   You can combine or reverse locks very easily using the following  
     2043  You can combine or reverse locks very easily using the following 
    20312044  BOOLEAN symbols and parentheses () to group them: 
    20322045    &      - "and" 
     
    20352048  For example: 
    20362049   @lock My Toy = =me | !*Chromia | +Toy Box Key 
    2037       This locks "My Toy" to me, -against- the player Chromia, or to anyone  
    2038       carrying the object "Toy Box Key".  
     2050      This locks "My Toy" to me, -against- the player Chromia, or to 
     2051      anyone carrying the object "Toy Box Key". 
    20392052   @lock My Toy = *Marissa & +Toy Box Key 
    2040       This locks "My Toy" to the player Marissa, who needs to be carrying 
    2041       the object "Toy Box Key". 
     2053      This locks "My Toy" to the player Marissa, who needs to be 
     2054      carrying the object "Toy Box Key". 
    20422055   @lock My Toy= *Chromia | ( *Marissa & +Toy Box Key ) 
    2043       This locks it to Chromia, OR to Marissa if she is carrying the Key. 
     2056      This locks it to Chromia, OR to Marissa if she is carrying the 
     2057      Key. 
    20442058 
    20452059(continued in help @lock7) 
     
    20502064    @lock <object>=<attribute>/<value> 
    20512065 
    2052   The difference between this and an attribute lock is that the <attribute> 
    2053   is taken from <object> rather than from the person trying to pass the 
    2054   lock. When someone tries, <attribute> is evaluated, and the result is  
    2055   compared to <value>. If it matches, then the person passes the lock. 
     2066  The difference between this and an attribute lock is that the 
     2067  <attribute> is taken from <object> rather than from the person 
     2068  trying to pass the lock. When someone tries, <attribute> is 
     2069  evaluated, and the result is compared to <value>. If it matches, 
     2070  then the person passes the lock. 
    20562071 
    20572072  The person trying to pass the lock is %# and <object> is %! when the 
    20582073  evaluation takes place. The evaluation is done with the powers of 
    2059   <object>. If you try to do something (like [get(%#/<attribute>)]) and 
    2060   <object> doesn't have permission to do that, the person will automatically 
    2061   fail to pass the lock. 
     2074  <object>. If you try to do something (like [get(%#/<attribute>)]) 
     2075  and <object> doesn't have permission to do that, the person will 
     2076  automatically fail to pass the lock. 
    20622077 
    20632078(continued in help @lock8) 
     
    20692084      This locks the object "Stage" to puppets only. 
    20702085 
    2071       Whenever someone tries to pick up the object, the attribute  
    2072       "ispuppet" will be checked, substituting in the person's DBREF number 
    2073       for %#.  
    2074   
    2075       [hasflag(<dbref>, PUPPET)] will come out to 1 if the object with  
    2076       <dbref> has the "PUPPET" flag. Otherwise, it will come out to be 0.  
    2077       Since the value in the @lock is 1, only objects with the PUPPET flag 
    2078       will be able to pass this lock. 
     2086      Whenever someone tries to pick up the object, the attribute 
     2087      "ispuppet" will be checked, substituting in the person's DBREF 
     2088      number for %#. 
     2089  
     2090      [hasflag(<dbref>, PUPPET)] will come out to 1 if the object with 
     2091      <dbref> has the "PUPPET" flag. Otherwise, it will come out to be 
     2092      0.  Since the value in the @lock is 1, only objects with the 
     2093      PUPPET flag will be able to pass this lock. 
    20792094 
    20802095(continued in help @lock9) 
    20812096& @lock9 
    2082   You can also test for set flags, powers, or object types in a lock directly, 
    2083   without using an evaluation lock, with these formats: 
     2097  You can also test for set flags, powers, or object types in a lock 
     2098  directly, without using an evaluation lock, with these formats: 
    20842099 
    20852100    @lock <object>=flag^<flag> 
     
    20872102    @lock <object>=power^<power> 
    20882103 
    2089   These locks act like the object the lock is on does a hasflag(%#, <flag>), 
    2090   hastype(%#, <type>), or haspower(%#, <power>) succeeding if the flag is set. 
     2104  These locks act like the object the lock is on does a hasflag(%#, 
     2105  <flag>), hastype(%#, <type>), or haspower(%#, <power>) succeeding if 
     2106  the flag is set. 
    20912107 
    20922108  You can test for channel membership with: 
     
    21032119    @lock <object>=objid^<object id> 
    21042120 
    2105   You can test to see if the enactor is a member of a space-separated list 
    2106   of dbrefs or objids on an atrribute on the object, with: 
     2121  You can test to see if the enactor is a member of a space-separated 
     2122  list of dbrefs or objids on an atrribute on the object, with: 
    21072123 
    21082124    @lock <object>=dbreflist^<attributename>