Changeset 654
- Timestamp:
- 01/27/07 02:12:14 (1 year ago)
- Files:
-
- 1.8.3/trunk (modified) (1 prop)
- 1.8.3/trunk/CHANGES.182 (modified) (1 diff)
- 1.8.3/trunk/CHANGES.183 (copied) (copied from 1.8.3/branches/devel/CHANGES.183)
- 1.8.3/trunk/INSTALL (modified) (4 diffs)
- 1.8.3/trunk/MANIFEST (modified) (4 diffs)
- 1.8.3/trunk/Makefile.SH (modified) (1 diff)
- 1.8.3/trunk/Patchlevel (modified) (1 diff)
- 1.8.3/trunk/game (modified) (1 prop)
- 1.8.3/trunk/game/restart (modified) (1 diff)
- 1.8.3/trunk/game/txt/hlp/pennattr.hlp (modified) (4 diffs)
- 1.8.3/trunk/game/txt/hlp/pennchat.hlp (modified) (6 diffs)
- 1.8.3/trunk/game/txt/hlp/penncmd.hlp (modified) (62 diffs)
- 1.8.3/trunk/game/txt/hlp/pennconf.hlp (modified) (2 diffs)
- 1.8.3/trunk/game/txt/hlp/pennflag.hlp (modified) (28 diffs)
- 1.8.3/trunk/game/txt/hlp/pennfunc.hlp (modified) (224 diffs)
- 1.8.3/trunk/game/txt/hlp/pennmail.hlp (modified) (2 diffs)
- 1.8.3/trunk/game/txt/hlp/pennpueb.hlp (modified) (3 diffs)
- 1.8.3/trunk/game/txt/hlp/penntop.hlp (modified) (55 diffs)
- 1.8.3/trunk/game/txt/hlp/pennv181.hlp (modified) (4 diffs)
- 1.8.3/trunk/game/txt/hlp/pennv182.hlp (modified) (1 diff)
- 1.8.3/trunk/game/txt/hlp/pennv183.hlp (copied) (copied from 1.8.3/branches/devel/game/txt/hlp/pennv183.hlp)
- 1.8.3/trunk/game/txt/hlp/pennvOLD.hlp (modified) (1 diff)
- 1.8.3/trunk/hdrs/ansi.h (modified) (1 diff)
- 1.8.3/trunk/hdrs/attrib.h (modified) (3 diffs)
- 1.8.3/trunk/hdrs/dbio.h (modified) (1 diff)
- 1.8.3/trunk/hdrs/externs.h (modified) (7 diffs)
- 1.8.3/trunk/hdrs/mushdb.h (modified) (1 diff)
- 1.8.3/trunk/hdrs/parse.h (modified) (1 diff)
- 1.8.3/trunk/hdrs/pueblo.h (modified) (2 diffs)
- 1.8.3/trunk/hdrs/version.h (modified) (1 diff)
- 1.8.3/trunk/hints/irix_6.sh (modified) (1 diff)
- 1.8.3/trunk/hints/os2.sh (deleted)
- 1.8.3/trunk/os2 (deleted)
- 1.8.3/trunk/src/Makefile.SH (modified) (82 diffs)
- 1.8.3/trunk/src/attrib.c (modified) (5 diffs)
- 1.8.3/trunk/src/boolexp.c (modified) (3 diffs)
- 1.8.3/trunk/src/bsd.c (modified) (1 diff)
- 1.8.3/trunk/src/conf.c (modified) (4 diffs)
- 1.8.3/trunk/src/db.c (modified) (8 diffs)
- 1.8.3/trunk/src/extchat.c (modified) (6 diffs)
- 1.8.3/trunk/src/extmail.c (modified) (7 diffs)
- 1.8.3/trunk/src/funcrypt.c (modified) (1 diff)
- 1.8.3/trunk/src/function.c (modified) (4 diffs)
- 1.8.3/trunk/src/funlist.c (modified) (53 diffs)
- 1.8.3/trunk/src/funmath.c (modified) (16 diffs)
- 1.8.3/trunk/src/funmisc.c (modified) (1 diff)
- 1.8.3/trunk/src/funstr.c (modified) (27 diffs)
- 1.8.3/trunk/src/game.c (modified) (2 diffs)
- 1.8.3/trunk/src/help.c (modified) (3 diffs)
- 1.8.3/trunk/src/lock.c (modified) (2 diffs)
- 1.8.3/trunk/src/log.c (modified) (2 diffs)
- 1.8.3/trunk/src/look.c (modified) (7 diffs)
- 1.8.3/trunk/src/markup.c (copied) (copied from 1.8.3/branches/devel/src/markup.c)
- 1.8.3/trunk/src/notify.c (modified) (12 diffs)
- 1.8.3/trunk/src/parse.c (modified) (5 diffs)
- 1.8.3/trunk/src/predicat.c (modified) (2 diffs)
- 1.8.3/trunk/src/set.c (modified) (12 diffs)
- 1.8.3/trunk/src/speech.c (modified) (2 diffs)
- 1.8.3/trunk/src/sql.c (modified) (7 diffs)
- 1.8.3/trunk/src/strutil.c (modified) (7 diffs)
- 1.8.3/trunk/src/unparse.c (modified) (2 diffs)
- 1.8.3/trunk/src/utils.c (modified) (5 diffs)
- 1.8.3/trunk/src/wild.c (modified) (17 diffs)
- 1.8.3/trunk/utils/mkcmds.sh.SH (modified) (1 diff)
- 1.8.3/trunk/win32/msvc.net/pennmush.vcproj (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
1.8.3/trunk
- Property svn:ignore changed from
.config
config.h
config.sh
ignore
Makefile
options.h
to
#!/bin/sh
#
# usage: restart
#
# REQUIRED: You must set this to the path to your game directory.
# E.g.: /home/mush/game
GAMEDIR=
# OPTIONAL things that you may want to tweak.
# Uncomment the line below to attempt to allow crashes to produce
# core dumps. If you're getting crashes, this is the best way
# to debug them.
#ulimit -c unlimited
# Internationalization stuff
# Set LANG here to get international character sets and, if someone's
# done it, translation of messages.
# Vaild locales are usually <lang_code>_<COUNTRY CODE>
# Example (uncomment to use):
#LANG=fr_FR
# Time zone stuff
# If you want your MUSH to run in a different timezone than the one
# you're in, you need to identify the target time zone file in
# /usr/share/zoneinfo or /usr/lib/zoneinfo. Then uncomment the next
# two lines and set TZ to the desired timezone file, as shown, with
# an initial colon:
#TZ=:EST5EDT
#export TZ
# The config file. Best to keep this as is. If you must change
# the name, make it a link to mush.cnf.
CONF_FILE=mush.cnf
#######################################################################
if [ -z "$GAMEDIR" ]; then
echo "You must set GAMEDIR in the restart script."
exit 1
fi
if [ ! -d "$GAMEDIR" ]; then
echo "GAMEDIR doesn't appear to be a directory. It's: $GAMEDIR"
exit 1
fi
cd $GAMEDIR
echo Running from `pwd`
if [ ! -f "$CONF_FILE" ]; then
echo "CONF_FILE doesn't exist. It's: $CONF_FILE"
echo "Create $CONF_FILE from $GAMEDIR/mushcnf.dst and run 'make update'"
exit 1
fi
# If netmush isn't here, they probably didn't make install
# In any case, we'd better not proceed.
if [ ! -e netmush ]; then
echo "I don't see $GAMEDIR/netmush. Did you remember to make install?"
exit 1
fi
#
# Read the cnf file and set some variables.
#
INDB=`egrep "^input_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
OUTDB=`egrep "^output_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
PANICDB=`egrep "^crash_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
PANICDIR=`egrep "^crash_database" $CONF_FILE | sed "s/.*[ ][ ]*\(.*\)\/.*/\1/" | sed 's/\r$//'`
COMPRESSOR="cat"
SUFFIX=""
# Find out what the compression program is, if any
egrep -s "^compress_program[ ]*[A-Za-z0-9]" $CONF_FILE
nocompress=$?
if [ "$nocompress" -eq 0 ]; then
COMPRESSOR=`egrep "^compress_program" $CONF_FILE | sed "s/[^ ]*[ ]*\(.*\)/\1/" | sed 's/\r$//'`
SUFFIX=`egrep "^compress_suffix" $CONF_FILE | sed "s/[^ ]*[ ]*\(.*\)/\1/" | sed 's/\r$//'`
fi
#-- start up everything
# Prevent double-starting things. You may need to provide a pathname for
# some of the commands. System V flavors need "ps -f" instead of "ps uwx".
mush=`ps uwwx | grep " $GAMEDIR/$CONF_FILE" | grep -v grep | wc -l`
if [ "$mush" -gt 0 ]; then
echo Mush already active or some other process is using $GAMEDIR/$CONF_FILE.
exit 0
fi
echo Building text file indexes.
(cd txt; make)
echo Restarting Mush.
if [ -r "$PANICDIR/$PANICDB" ]; then
end="`tail -1 $PANICDIR/$PANICDB`"
if [ "$end" = "***END OF DUMP***" ]; then
echo "Recovering PANIC dump."
cat $PANICDIR/$PANICDB | $COMPRESSOR > data/$OUTDB$SUFFIX
rm $PANICDIR/$PANICDB
echo "PANIC dump successfully recovered."
else
mv $PANICDIR/$PANICDB save/$PANICDB.corrupt
echo "Warning: PANIC dump corrupt. Using older db."
fi
fi
# Copy the last set of log files to save/
mv -f log/*.log save/
if [ -r "data/$OUTDB$SUFFIX" ]; then
rm -f save/$INDB$SUFFIX.old
mv -f data/$INDB$SUFFIX save/$INDB$SUFFIX.old
mv data/$OUTDB$SUFFIX data/$INDB$SUFFIX
else
echo "No $OUTDB$SUFFIX found."
if [ -r "data/$INDB$SUFFIX" ]; then
echo "Using $INDB$SUFFIX."
else
echo "No $INDB$SUFFIX found."
if [ -r "save/$INDB$SUFFIX.old" ]; then
echo "Using save/$INDB$SUFFIX.old."
cp save/$INDB$SUFFIX.old data/$INDB$SUFFIX
else
echo "No database found. Mush will start with a minimal world."
fi
fi
fi
if [ -r reboot.db ]; then
rm -f reboot.db
fi
DATEMSK="${GAMEDIR}/getdate.template"
export DATEMSK
LC_ALL=$LANG LANG=$LANG ./netmush $GAMEDIR/$CONF_FILE &
- Property svn:ignore changed from
1.8.3/trunk/CHANGES.182
r574 r654 14 14 15 15 ========================================================================== 16 17 Version 1.8.2 patchlevel 2 January 27, 2007 18 19 Fixes: 20 * Vector functions with an empty vector didn't return anything. 21 Reported by Talvo. [SW] 22 * Several typos in server messages. Fixed by Sketch, Stoko. 23 * Help fixes by Malix, [GM], Talvo, Sketch, and others. 24 * Crash bug in lmath() fixed. [GM] 25 * Crash bug in list functions fixed. [GM] 26 * list2arr in C now removes markup. list2arr_ansi() was added. [GM] 27 * Compilation problems on IRIX and similar OSes. [SW] 28 * Matcher bug with multiple wildcards fixed. Reported by Ian. [SW] 29 * Garbled output of locks from examine. Reported by Intrevis. [SW]. 30 * regraballi() couldn't use its output seperator argument. Reported 31 by Jules. [SW] 32 * Looking at an object used the looker, not the lookee, as the origin 33 of the name for @ahear/@aahear/@amhear. [SW] 34 * Fixed the distribution of random numbers with a huge range. Reported 35 by Luke. 16 36 17 37 Version 1.8.2 patchlevel 1 November 26, 2006 1.8.3/trunk/INSTALL
r523 r654 33 33 "log" (log files), and "save" (backup databases). Finally, the "hints" 34 34 directory is used during the installation process, the "po" directory 35 holds translation message files, and the "os2" directory contains files 36 of using in building for OS/2. 35 holds translation message files. 37 36 38 37 pennmush--+-> src … … 47 46 | \-> save 48 47 +-> hints 49 +-> os250 48 +-> po 51 49 +-> utils … … 56 54 operating systems including at least: 57 55 58 NeXT Mach 2.1 59 Sun Sparc SunOS 4.1.x 60 Sun Sparc and i386 Solaris 2.x 61 DEC Decstation Ultrix 4.x and OSF/1 62 DEC Alpha OSF/1 and Linux 63 SGI Indy Irix 5.x and 6.x 64 HP 9000 series HP-UX 8.x 65 IBM RS/6000 AIX 3.2 66 IBM S/390 Linux 67 Novell Unixware SVR4 68 Linux 69 FreeBSD 70 AT&T SVR4 71 Windows 95/NT cygwin, mingw32, and MSVC++ 72 OS/2 56 GNU/Linux, NetBSD, FreeBSD on many architectures 57 Mac OS X on PowerPC 58 Microsoft Windows on x86 59 73 60 74 61 There's no real reason why PennMUSH shouldn't compile on any 32-bit 75 or better BSD, System V, or POSIX operating system. Javelin does his 76 development on a Linux PC these days. 77 78 If you have serious problems, contact Javelin and he will try to help 79 you. Email is the best way to get a fast response; in an emergency, you 80 can bother him on a MUD, but for code problems, email will probably get 81 you a better response. 62 or better BSD, System V, or POSIX operating system. Development is 63 primarily done on GNU/Linux and Mac OS X systems. 82 64 83 65 ============================================================================ … … 147 129 want to customize their MUSH server, and don't feel like compiling it 148 130 themselves. This binary distribution may not contain the src, hdrs, 149 hints, or os2directories and may be missing several key files (like131 or hints directories and may be missing several key files (like 150 132 Configure) from the pennmush directory. It does include the options.h 151 133 that it was built with, as an aid to those who decide later that they 1.8.3/trunk/MANIFEST
r559 r654 7 7 CHANGES.181 8 8 CHANGES.182 9 CHANGES.183 9 10 CHANGES.OLD 10 11 COPYRITE … … 60 61 game/txt/hlp/pennv181.hlp 61 62 game/txt/hlp/pennv182.hlp 63 game/txt/hlp/pennv183.hlp 62 64 game/txt/hlp/pennvOLD.hlp 63 65 game/txt/index-files.pl … … 128 130 hints/next.sh 129 131 hints/openbsd.sh 130 hints/os2.sh131 132 hints/solaris_2.sh 132 133 hints/sunos_4.sh … … 135 136 hints/win32.sh 136 137 options.h.dist 137 os2/GCCOPT.CMD138 os2/Makefile139 os2/Penn-OS2.htm140 os2/config.h141 138 po/Makefile 142 139 src/Makefile.SH 1.8.3/trunk/Makefile.SH
r557 r654 94 94 (cd utils; sh mkcmds.sh switches) 95 95 96 hdrs/funs.h: src/fun*.c src/bsd.c src/conf.c src/extmail.c src/help.c src/ wiz.c src/sql.c Patchlevel96 hdrs/funs.h: src/fun*.c src/bsd.c src/conf.c src/extmail.c src/help.c src/markup.c src/wiz.c src/sql.c Patchlevel 97 97 (cd utils; sh mkcmds.sh functions) 98 98 1.8.3/trunk/Patchlevel
r574 r654 1 1 Do not edit this file. It is maintained by the official PennMUSH patches. 2 This is PennMUSH 1.8. 2p12 This is PennMUSH 1.8.3p0 1.8.3/trunk/game
- Property svn:ignore changed from
*.cnf
ignore
netmush
info_slave
to
#!/bin/sh
#
# usage: restart
#
# REQUIRED: You must set this to the path to your game directory.
# E.g.: /home/mush/game
GAMEDIR=/Users/shawnw/src/penn/1.8.3/devel/game/
# OPTIONAL things that you may want to tweak.
# Uncomment the line below to attempt to allow crashes to produce
# core dumps. If you're getting crashes, this is the best way
# to debug them.
#ulimit -c unlimited
# Internationalization stuff
# Set LANG here to get international character sets and, if someone's
# done it, translation of messages.
# Vaild locales are usually <lang_code>_<COUNTRY CODE>
# Example (uncomment to use):
#LANG=fr_FR
# Time zone stuff
# If you want your MUSH to run in a different timezone than the one
# you're in, you need to identify the target time zone file in
# /usr/share/zoneinfo or /usr/lib/zoneinfo. Then uncomment the next
# two lines and set TZ to the desired timezone file, as shown, with
# an initial colon:
#TZ=:EST5EDT
#export TZ
# The config file. Best to keep this as is. If you must change
# the name, make it a link to mush.cnf.
CONF_FILE=mush.cnf
#######################################################################
if [ -z "$GAMEDIR" ]; then
echo "You must set GAMEDIR in the restart script."
exit 1
fi
if [ ! -d "$GAMEDIR" ]; then
echo "GAMEDIR doesn't appear to be a directory. It's: $GAMEDIR"
exit 1
fi
cd $GAMEDIR
echo Running from `pwd`
if [ ! -f "$CONF_FILE" ]; then
echo "CONF_FILE doesn't exist. It's: $CONF_FILE"
echo "Create $CONF_FILE from $GAMEDIR/mushcnf.dst and run 'make update'"
exit 1
fi
# If netmush isn't here, they probably didn't make install
# In any case, we'd better not proceed.
if [ ! -e netmush ]; then
echo "I don't see $GAMEDIR/netmush. Did you remember to make install?"
exit 1
fi
#
# Read the cnf file and set some variables.
#
INDB=`egrep "^input_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
OUTDB=`egrep "^output_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
PANICDB=`egrep "^crash_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
PANICDIR=`egrep "^crash_database" $CONF_FILE | sed "s/.*[ ][ ]*\(.*\)\/.*/\1/" | sed 's/\r$//'`
COMPRESSOR="cat"
SUFFIX=""
# Find out what the compression program is, if any
egrep -s "^compress_program[ ]*[A-Za-z0-9]" $CONF_FILE
nocompress=$?
if [ "$nocompress" -eq 0 ]; then
COMPRESSOR=`egrep "^compress_program" $CONF_FILE | sed "s/[^ ]*[ ]*\(.*\)/\1/" | sed 's/\r$//'`
SUFFIX=`egrep "^compress_suffix" $CONF_FILE | sed "s/[^ ]*[ ]*\(.*\)/\1/" | sed 's/\r$//'`
fi
#-- start up everything
# Prevent double-starting things. You may need to provide a pathname for
# some of the commands. System V flavors need "ps -f" instead of "ps uwx".
mush=`ps uwwx | grep " $GAMEDIR/$CONF_FILE" | grep -v grep | wc -l`
if [ "$mush" -gt 0 ]; then
echo Mush already active or some other process is using $GAMEDIR/$CONF_FILE.
exit 0
fi
echo Building text file indexes.
(cd txt; make)
echo Restarting Mush.
if [ -r "$PANICDIR/$PANICDB" ]; then
end="`tail -1 $PANICDIR/$PANICDB`"
if [ "$end" = "***END OF DUMP***" ]; then
echo "Recovering PANIC dump."
cat $PANICDIR/$PANICDB | $COMPRESSOR > data/$OUTDB$SUFFIX
rm $PANICDIR/$PANICDB
echo "PANIC dump successfully recovered."
else
mv $PANICDIR/$PANICDB save/$PANICDB.corrupt
echo "Warning: PANIC dump corrupt. Using older db."
fi
fi
# Copy the last set of log files to save/
mv -f log/*.log save/
if [ -r "data/$OUTDB$SUFFIX" ]; then
rm -f save/$INDB$SUFFIX.old
mv -f data/$INDB$SUFFIX save/$INDB$SUFFIX.old
mv data/$OUTDB$SUFFIX data/$INDB$SUFFIX
else
echo "No $OUTDB$SUFFIX found."
if [ -r "data/$INDB$SUFFIX" ]; then
echo "Using $INDB$SUFFIX."
else
echo "No $INDB$SUFFIX found."
if [ -r "save/$INDB$SUFFIX.old" ]; then
echo "Using save/$INDB$SUFFIX.old."
cp save/$INDB$SUFFIX.old data/$INDB$SUFFIX
else
echo "No database found. Mush will start with a minimal world."
fi
fi
fi
if [ -r reboot.db ]; then
rm -f reboot.db
fi
DATEMSK="${GAMEDIR}/getdate.template"
export DATEMSK
LC_ALL=$LANG LANG=$LANG ./netmush $GAMEDIR/$CONF_FILE &
- Property svn:ignore changed from
1.8.3/trunk/game/restart
r561 r654 139 139 140 140 DATEMSK="${GAMEDIR}/getdate.template" 141 export DATEMSK142 141 143 142 LC_ALL=$LANG LANG=$LANG ./netmush $GAMEDIR/$CONF_FILE & 1.8.3/trunk/game/txt/hlp/pennattr.hlp
r525 r654 1 & ATTRIBUTE FLAGS 2 Attribute flags are set on an object's attributes using @set, or applied 3 to attributes globally using @attrib. Their names (and, when applicable, 4 the character used in examine as shorthand for the flag) include: 5 6 no_command ($) Attribute will not be checked for '$' commands and 7 '^' listen patterns. 8 visual (v) Attribute can be seen by anyone via get(), eval(), 9 ufun(), zfun(), and similar functions. 10 no_inherit (i) Attribute will not be inherited by the children of 11 this object. 12 no_clone (c) Attribute will not be copied if the object is @clone'd. 13 regexp (R) Match $-commands and ^-listens using regular expressions. 14 See 'help regexps'. 15 case (C) Match $-commands and ^-listens case sensitively. 16 safe (S) Attribute may not be modified, without unsetting this flag. 17 mortal_dark (m) Attribute cannot be seen by mortals. This flag can only 18 be set by royalty and wizards. "hidden" is a synonym. 19 20 Continued in 'help attribute flags2' 21 & ATTRIBUTE FLAGS2 22 noname (N) Attribute won't show name in @o-* messages. 23 nospace (s) Attribute won't append a space in @o-* messages. 24 wizard (w) Attribute can only be set by wizards. 25 This flag can only be set by royalty and wizards. 26 veiled (V) Attribute value will not be shown on default examine, 27 but is still otherwise accessible (for spammy attribs). 28 debug (b) Show debug output when this attribute is evaluated. 29 nearby (n) Even if this attribute is visual, it can only be 30 retrieved if you're co-located with the object. 31 public (p) This attribute can be evaluated by any object, even 32 if safer_ufun is in use. DANGEROUS! AVOID! 33 aahear (A) ^-listens on this attribute match like @aahear 34 amhear (M) ^-listens on this attribute match like @amhear 35 36 Continued in 'help attribute flags3' 37 & ATTRIBUTE FLAGS3 38 prefixmatch When a user attempts to set an attribute using @<attrib>, 39 this attribute will be matched down to its unique 40 prefixes. This flag is primarily used internally. 41 ` This attribute is a branch. See: help ATTRIBUTE TREES 1 42 & ATTRIBUTE TREES 2 43 & ATTR TREES … … 24 65 attributes will be created as needed to support it. 25 66 26 See help attribute trees2for more information and examples.67 See 'help attribute trees2' for more information and examples. 27 68 28 69 & ATTRIBUTE TREES2 … … 47 88 on examine. 48 89 49 See help attribute trees3for more information and examples.90 See 'help attribute trees3' for more information and examples. 50 91 51 92 & ATTRIBUTE TREES3 … … 74 115 ... 75 116 76 See help attribute trees4 for information about @parent and attribute trees. 117 See 'help attribute trees4' for information about @parent and attribute trees. 118 77 119 & ATTRIBUTE TREES4 78 120 & ATTR TREES4 1.8.3/trunk/game/txt/hlp/pennchat.hlp
r531 r654 34 34 being clobbered by the chat system. 35 35 36 See also: chat, CHAN_USEFIRSTMATCH36 See also: chat, CHAN_USEFIRSTMATCH 37 37 & CHAN_USEFIRSTMATCH 38 38 CHAN_USEFIRSTMATCH (any type) … … 57 57 information in broadcasts. 58 58 59 See also: chat59 See also: chat 60 60 & @channel 61 61 @channel/list [<channel-prefix>] … … 81 81 and a description of the channel's purpose. 82 82 83 More commands are provided in "help @channel2". See also: chat 83 More commands are provided in "help @channel2". 84 85 See also: chat 84 86 & @channel2 85 87 @channel/who <channel> … … 150 152 @channel/delete removes a channel. You must own it or be Wizard. 151 153 @channel/desc sets the channel's description, shown on @channel/what. 152 Descriptions are limited to 256 characters. 154 Descriptions are limited to 256 characters. If there are any commas 155 in the description, the whole string should be enclosed in {}'s. 153 156 @channel/rename is used to rename a channel. 154 157 … … 335 338 @clock. 336 339 337 See also: @clock340 See also: @clock 338 341 & CRECALL() 339 342 crecall(<channel>[, <lines> [, <start line> [, <osep> [, <timestamps?> ]]]]) … … 344 347 include their timestamps; otherwise, they will not. 345 348 346 See also: @channel3349 See also: @channel3 347 350 & Channel functions 348 351 Channel functions work with the channel system. 1.8.3/trunk/game/txt/hlp/penncmd.hlp
r531 r654 17 17 @-ATTRIBUTES @-BUILDING @-GENERAL @-WIZARD 18 18 19 Commands that can only be used by connected players are listed in 20 HELP SOCKET COMMANDS. 19 21 & @-ATTRIBUTES 20 22 These '@' commands set standard message/action sets on objects. Each comes … … 301 303 @alias has no effect on non-players. 302 304 303 See also: @name, alias(), fullalias()305 See also: @name, alias(), fullalias() 304 306 & @allhalt 305 307 @allhalt … … 447 449 the rest of the commands in the current queue. 448 450 449 @assert does the inverse: stopping execution if <boolean> evaluseto false.451 @assert does the inverse: it stops execution if <boolean> evaluates to false. 450 452 451 453 Examples: … … 462 464 (The @switch is run, which queues 'think Third', think First is 463 465 run, displaying 'First', command execution is broken (so we never 464 think Second , and then the queued 'think Third' is run, displaying466 think Second), and then the queued 'think Third' is run, displaying 465 467 Third. If you figured that out, you have a very good understanding 466 468 of the PennMUSH queue. :) 467 469 468 See also: ACTION LISTS, QUEUE, BOOLEAN VALUES470 See also: ACTION LISTS, QUEUE, BOOLEAN VALUES 469 471 & @charges 470 472 @charges <object> = <integer> … … 554 556 See also: @chzone, ZONES 555 557 & @clone 556 @clone < object, room, or exit>[=<new name>]557 @clone/preserve < object, room, or exit>[=<new name>]558 559 For objects, creates an exact duplicate of it and puts it in the558 @clone <thing, room, or exit>[=<new name>] 559 @clone/preserve <thing, room, or exit>[=<new name>] 560 561 For things, creates an exact duplicate of it and puts it in the 560 562 current room. For exits, it creates an exact duplicate of that 561 563 exit, except the clone's source is the current room rather than … … 688 690 for example. More complex things are, obviously, possible. 689 691 690 See also: @exitformat, @nameformat, @descformat692 See also: @exitformat, @nameformat, @descformat 691 693 & @invformat 692 694 @invformat <object> [=<format>] … … 703 705 for example. More complex things are, obviously, possible. 704 706 705 See also: inventory707 See also: inventory 706 708 & @descformat 707 709 @descformat <object> [=<text>] … … 715 717 "look" for each room's @desc. 716 718 717 See also: @exitformat, @nameformat, @conformat, @idescformat719 See also: @exitformat, @nameformat, @conformat, @idescformat 718 720 & @idescformat 719 721 @idescformat <object> [=<text>] … … 727 729 "look" for each object's @idesc. 728 730 729 See also: @exitformat, @nameformat, @conformat, @descformat731 See also: @exitformat, @nameformat, @conformat, @descformat 730 732 & @nameaccent 731 733 @nameaccent <object> [=<accent template>] … … 741 743 @nameformat is used. 742 744 743 See also: accent(), @nameformat745 See also: accent(), @nameformat 744 746 & @nameformat 745 747 @nameformat <object> [=<format>] … … 755 757 @nameformat here = %1 [if(isdbref(zone(%0)),<[name(zone(%0))]>)] 756 758 757 See also: @exitformat, @conformat, @descformat759 See also: @exitformat, @conformat, @descformat 758 760 & @cost 759 761 @cost <object> = <amount> … … 804 806 @create <name> [=<cost>] 805 807 806 Creates a thing with the specified name. Creating a n objectcosts808 Creates a thing with the specified name. Creating a thing costs 807 809 a certain amount of MUSH money, which usually defaults to 10 pennies. 808 810 You can specify a higher cost if you wish, but not a lower one. 809 This cost is refunded if you @destroy/@recycle the object.810 811 Once you have created a n object, you can use it as a PUPPET, to store811 This cost is refunded if you @destroy/@recycle the thing. 812 813 Once you have created a thing, you can use it as a PUPPET, to store 812 814 USER-DEFINED COMMANDS, or just as a prop. Some MUSHes choose to limit 813 815 the number of objects that players can create by setting a QUOTA. 814 816 815 See also: give, @quota, MONEY817 See also: give, @quota, MONEY 816 818 & @dbck 817 819 @dbck … … 886 888 defaults for that attribute on that MUSH. 887 889 888 If an attribute contains special characters, such as %r or %t, or889 begins or ends with spaces, then the command sent will be an @set command890 that has its special characters escaped, and with such %rs, %ts, and %bs 891 asto exactly duplicate the attribute as it is currently set.890 If an attribute contains special characters, such as %r or %t, ansi, pueblo, 891 or begins or ends with spaces, then the command sent will be an @set command 892 that has its special characters escaped, and with such %rs, %ts, and %bs as 893 to exactly duplicate the attribute as it is currently set. 892 894 893 895 (continued in help @decompile3) … … 1000 1002 an exit named "Out <S>;s;south;out;o" coming back from the kitchen 1001 1003 to whatever room you are currently in. 1002 1003 See also: @open, @link, EXITS, @create 1004 1005 See also: @open, @link, EXITS, @create, DBREF 1004 1006 & @doing 1005 1007 @doing <message> … … 1054 1056 or room, specified as <name> or #<number> or 'me' or 'here'. Sets 1055 1057 the drop message for <object>. The message is displayed when a 1056 player drops <object>. Without a message argument, it clears the1058 player drops <object>. Without a message argument, it clears the 1057 1059 message. 1058 1060 … … 1060 1062 the exit. 1061 1063 1062 See also: drop, @odrop, @adrop.1064 See also: drop, @odrop, @adrop. 1063 1065 & @dump 1064 1066 @dump [/paranoid] [check interval] … … 1084 1086 type "sit down" instead of "enter chair" - using the object name is 1085 1087 not necessary. Note that the enter alias is checked after normal exits. 1086 Like an exit, it may have a semi -colon separated list of words,1088 Like an exit, it may have a semicolon separated list of words, 1087 1089 i.e. sit down;sit;sit on chair 1088 1090 & @edit … … 1161 1163 @disable <option> is the same thing as @config/set <option>=no 1162 1164 1163 See also: @config1165 See also: @config 1164 1166 & @zenter 1165 1167 & @ozenter … … 1252 1254 '@exitformat here = Exits: [iter(%0,name(##))]', for example. 1253 1255 1254 See also: TRANSPARENT, @conformat, @nameformat, @descformat1256 See also: TRANSPARENT, @conformat, @nameformat, @descformat 1255 1257 & @failure 1256 1258 @failure <object> [=<message>] … … 1334 1336 1335 1337 See also: follow, unfollow, followers(), @ofollow, @afollow 1338 & @unfollow 1339 @unfollow <object> = <message> 1340 1341 Sets the message shown to someone after they stop following 1342 the object (using the 'unfollow' command). 1343 1344 See also: follow, unfollow, followers(), @ounfollow, @aunfollow 1336 1345 & @FORWARDLIST 1337 1346 @forwardlist <object> [=<list of dbrefs>] … … 1365 1374 1366 1375 See also: DEBUG 1367 & @unfollow1368 @unfollow <object> = <message>1369 1370 Sets the message shown to someone after they stop following1371 the object (using the 'unfollow' command).1372 1373 See also: follow, unfollow, followers(), @ounfollow, @aunfollow1374 1376 & @force 1375 1377 @force[/noeval] <object>=<command> … … 1392 1394 evaluate the command when the forcee runs it. 1393 1395 1394 Example :1396 Examples: 1395 1397 @create Lackey 1396 1398 > Created: Object #103 … … 1434 1436 Be very very careful with this. 1435 1437 1436 See also: help flags. See help @flag2 for information on @flag/add1438 See also: help flags. See help @flag2 for information on @flag/add 1437 1439 & @flag2 1438 1440 @flag/add is used to add a new flag with the given name. Arguments … … 1900 1902 1901 1903 See also: LISTENING, @ahear, @amhear, @aahear 1902 & NEW LOCKS1903 In PennMUSH 1.7.5, several new features have been added to locks.1904 1905 Locks can now be inherited off of parents, just like attributes.1906 By default, locks are set no_inherit, but this flag can be cleared.1907 1908 There are now lock flags including ones to control inheritance,1909 copying in a @clone, who can set them, and so on. Details are1910 in HELP @LSET.1911 1912 Indirect lock keys (@#1234) can now refer to other lock names on1913 objects, not just a lock of the same name. See HELP @LOCK4.1914 1915 There is a new lock key for testing flags and object types.1916 See HELP @LOCK9 for more information.1917 1904 & LOCKING 1918 1905 & LOCKS … … 1920 1907 @lock[/<switch>] <object>=<key> 1921 1908 1922 This command "locks" the object, specifying (by the key) who or what can1923 do certain things with the object. There are many different types of locks,1924 all of which are described in "help locktypes" and which are designated by1925 the switch. The "basic" lock determines, for players and objects, who can1926 pick them up. For exits, it determines who can go through the exit.1927 All other locks can be set the same way as the basic lock.1909 This command "locks" the object, specifying a key which determines who or 1910 what can do certain things with the object. There are many different types 1911 of locks, all of which are described in "help locktypes" and which are 1912 designated by the switch. The "basic" lock determines, for players and 1913 things, who can pick them up. For exits, it determines who can go through 1914 the exit. All other locks can be set the same way as the basic lock. 1928 1915 1929 1916 Whenever you "pass" the basic lock, you succeed in doing something with … … 1931 1918 messages and actions. If you fail to pass the basic lock, you trigger 1932 1919 the @failure/@ofailure/@afailure messages and actions. Other locktypes 1933 may also have such success/failure messages .1920 may also have such success/failure messages: see "help failure" for info. 1934 1921 1935 1922 You can specify <object> and <key> as either the name of an object in 1936 1923 the immediate area, a DBREF number, "me", or "here". 1937 1938 Many new features have recently been added to locks. See HELP NEW LOCKS1939 for details.1940 1924 1941 1925 (continued in help @lock2) 1942 1926 & @lock2 1943 1927 You can lock an object in several different ways. The simplest lock is to 1944 lock it to one other thing:1928 lock it to one other object with the '=', signifying a DBRef # match.: 1945 1929 @lock My Toy = = me 1946 1930 This locks the object "My Toy" to you and you alone. It is recommended 1947 1931 that you @lock me == me in order to prevent anyone else from picking 1948 you up. The two = signs are NOT a typo! 1949 1950 You can lock an object -against- one other object as well, using the '!' 1951 symbol: 1932 you up. The two = signs are NOT a typo! The first is part of the @lock 1933 syntax (as shown at the top of "help @lock") the second is a lock key 1934 that means "exactly this object". 1935 1936 You can lock an object -against- another object as well, using the '!' 1937 symbol before any other key: 1952 1938 @lock Shared Toy = !Vector Sigma 1953 1939 This locks the object "Shared Toy" to everyone -except- Vector Sigma. … … 2102 2088 @lock/use commands = !dbreflist^deny & dbreflist^allow 2103 2089 2104 See also: locktypes, @clock, objid()2090 See also: locktypes, @clock, elock(), lock(), objid() 2105 2091 & locktypes 2106 2092 & locklist … … 2138 2124 @lock/chzone Who can @chzone to this object if it's a ZMO 2139 2125 @lock/forward Who can @forwardlist a message to this object 2140 @lock/control Who can control this object (only if set)2141 @lock/dropto Who can trigger this container's drop-to.2142 @lock/destroy Who can destroy this object if it's DESTROY_OK2126 @lock/control Who can control this object (only if set) 2127 @lock/dropto Who can trigger this container's drop-to. 2128 @lock/destroy Who can destroy this object if it's DESTROY_OK 2143 2129 @lock/interact Who can send sound (say/pose/emit/etc) to this object 2144 2130 @lock/take Who can get things contained in this object 2145 2131 2146 See also: @lock, @lset, @clock, FAILURE2132 See also: @lock, @lset, @clock, FAILURE 2147 2133 & @lset 2148 2134 @lset <object>/<lock type>=[!]<flag> … … 2167 2153 file to log to. /cmd is default. 2168 2154 2169 See also: @logwipe2155 See also: @logwipe 2170 2156 & @logwipe 2171 2157 @logwipe/<switch> <password> … … 2176 2162 command. 2177 2163 2178 See also: @log2164 See also: @log 2179 2165 & @map 2180 2166 @map[/delim] [<delim>] <list> = <function or pattern> … … 2258 2244 the new name will be passed as %1. 2259 2245 2260 See also: @alias2246 See also: @alias 2261 2247 & @newpassword 2262 2248 @newpassword <player> = <password> … … 2311 2297 of their respective commands. 2312 2298 2313 See also: @emit, @lemit, @pemit, @prompt, @remit, @oemit, @zemit, 2314 nsemit(), nslemit(), nspemit(), nsprompt(), nsremit(), nsoemit(),2315 nszemit(),PROMPT_NEWLINES2299 See also: @emit, @lemit, @pemit, @prompt, @remit, @oemit, @zemit, nsemit(), 2300 nslemit(), nspemit(), nsprompt(), nsremit(), nsoemit(), nszemit(), 2301 PROMPT_NEWLINES 2316 2302 & @odeath 2317 2303 @odeath <player> [=<message>] … … 2494 2480 If the =<message> part is omitted, the message will be reset. 2495 2481 2496 Ex: @opay Vending Machine=sticks a quarter in the vending machine.2482 Ex: @opay Vending Machine=sticks a quarter in the vending machine. 2497 2483 2498 2484 See also: give, @cost, @payment, @apayment, MONEY … … 2505 2491 specified name. You can then use the @link command to set the exit's 2506 2492 destination, or you can set it automatically by using the DBREF of a 2507 destination, which can be a room or object. (Note that you CANNOT open2508 exits from objects.) If you also include the second exit name, an exit2493 destination, which can be a room or thing. (Note that you CANNOT open 2494 exits from things.) If you also include the second exit name, an exit 2509 2495 from the destination room will be opened back to the room you are in. 2510 2496 … … 2514 2500 the list of Obvious Exits in a room. 2515 2501 2516 Ex: @open Up;u;climb = #255, Down;dow;do;d;fall2502 Ex: @open Up;u;climb = #255, Down;dow;do;d;fall 2517 2503 2518 2504 See also: EXITS, @link, @dig … … 2530 2516 that you put @osuccs on all exits and all takeable objects. 2531 2517 2532 Ex: @osucc North=heads north into the catacombs.2518 Ex: @osucc North=heads north into the catacombs. 2533 2519 2534 2520 If the =<message> part is omitted, the message will be reset. … … 2610 2596 is reset to nothing. May be abbreviated @pay. 2611 2597 2612 See also: give, @apay, @opay, and@cost.2598 See also: give, @apay, @opay, @cost. 2613 2599 & @receive 2614 2600 & @oreceive … … 2660 2646 /spoof, /noeval 2661 2647 2662 See also: @pemit, @nsprompt, prompt(), nsprompt(), PROMPT_NEWLINES2648 See also: @pemit, @nsprompt, prompt(), nsprompt(), PROMPT_NEWLINES 2663 2649 & PROMPT_NEWLINES 2664 2650 PROMPT_NEWLINES <1|0> … … 2676 2662 these clients. 2677 2663 2678 See also: @prompt, prompt()2664 See also: @prompt, prompt() 2679 2665 & @pemit 2680 2666 @pemit[/<switch>] <object> = <message> … … 2705 2691 except from Wizards or those with the pemit_all power. 2706 2692 2707 See also @emit, @oemit, @remit, NOSPOOF, and SPOOFING.2693 See also @emit, @oemit, @remit, NOSPOOF, and SPOOFING. 2708 2694 & @poll 2709 2695 @poll <poll question> … … 2868 2854 the enactor or the Can_nspemit power. 2869 2855 2870 See also: @emit, @pemit, @oemit, SPOOFING, NOSPOOF andCONTROL.2856 See also: @emit, @pemit, @oemit, SPOOFING, NOSPOOF, CONTROL. 2871 2857 & @restart 2872 2858 @restart <object> or @restart/all … … 2980 2966 worth more than 10 coins. 2981 2967 2982 See also: lsearch, lsearchr2968 See also: lsearch, lsearchr 2983 2969 & @select 2984 2970 @select <string>=<expr1>,<action1>[,<exprN>,<actionN>]...[,<default>] … … 3029 3015 The fourth form sets (or unsets) an attribute flag on the specified 3030 3016 attribute. See 'help attribute flags'. 3031 & attribute flags3032 Attribute flags are set on an object's attributes using @set, or applied3033 to attributes globally using @attrib. Their names (and, when applicable,3034 the character used in examine as shorthand for the flag) include:3035 3036 no_command ($) Attribute will not be checked for '$' commands and3037 '^' listen patterns.3038 visual (v) Attribute can be seen by anyone via get(), eval(),3039 ufun(), zfun(), and similar functions.3040 no_inherit (i) Attribute will not be inherited by the children of3041 this object.3042 no_clone (c) Attribute will not be copied if the object is @clone'd.3043 regexp (R) Match $-commands and ^-listens using regular expressions.3044 See 'help regexps'.3045 case (C) Match $-commands and ^-listens case sensitively.3046 safe (S) Attribute may not be modified, without unsetting this flag.3047 mortal_dark (m) Attribute cannot be seen by mortals. This flag can only3048 be set by royalty and wizards. "hidden" is a synonym.3049 3050 Continued in 'help attribute flags2'3051 & attribute flags23052 noname (N) Attribute won't show name in @o-* messages.3053 nospace (s) Attribute won't append a space in @o-* messages.3054 wizard (w) Attribute can only be set by wizards.3055 This flag can only be set by royalty and wizards.3056 veiled (V) Attribute value will not be shown on default examine,3057 but is still otherwise accessible (for spammy attribs).3058 debug (b) Show debug output when this attribute is evaluated.3059 nearby (n) Even if this attribute is visual, it can only be3060 retrieved if you're co-located with the object.3061 public (p) This attribute can be evaluated by any object, even3062 if safer_ufun is in use. DANGEROUS! AVOID!3063 aahear (A) ^-listens on this attribute match like @aahear3064 amhear (M) ^-listens on this attribute match like @amhear3065 3066 Continued in 'help attribute flags3'3067 & attribute flags33068 prefixmatch When a user attempts to set an attribute using @<attrib>,3069 this attribute will be matched down to its unique3070 prefixes. This flag is primarily used internally.3071 ` This attribute is a branch. See: help ATTRIBUTE TREES3072 3017 & @sex 3073 3018 @sex <player> = <gender> … … 3186 3131 Example: @sql SHOW TABLES 3187 3132 3188 See also: sql(), sqlescape(), mapsql()3133 See also: sql(), sqlescape(), mapsql() 3189 3134 & @squota 3190 3135 @squota <victim> [= [+|-] <amount>] … … 3232 3177 @sweep [connected | here | inventory | exits ] 3233 3178 3234 @sweep gives you a list of all objects/players that are listening in3235 the room you are currently in, as well as the objects you are3236 carrying. Most objects only listen for a particular string or3237 phrase, so they normally do not pose a problem if you need privacy.3238 You will have to be careful of players and puppets since they will3239 hear everything you sayand do. (And might post the same to r.g.m!)3179 @sweep gives you a list of all nearby objects that are listening, 3180 including the room you are in and the objects you are carrying. 3181 Most objects only listen for a particular string or phrase, so they 3182 normally do not pose a problem if you need privacy. You will have to be 3183 careful of players and puppets since they will hear everything you say 3184 and do. (And might post the same to r.g.m!) 3240 3185 AUDIBLE exits are also shown on an ordinary sweep, if the room is 3241 3186 also AUDIBLE. (Audible exits aren't active unless the room is audible). … … 3313 3258 to its home. 3314 3259 3315 See also: JUMP_OK, NO_TEL, @oxtport, @tport, @otport, @atport, @lock3260 See also: JUMP_OK, NO_TEL, @oxtport, @tport, @otport, @atport, @lock 3316 3261 & @tport 3317 3262 @tport <object> [=<message>] … … 3325 3270 as %0 - %9. 3326 3271 3327 Example :3272 Examples: 3328 3273 &GREET me=POSE waves hi. 3329 3274 @tr me/GREET … … 3448 3393 3449 3394 & @verb3 3450 Example :3395 Examples: 3451 3396 3452 3397 &VERB_EXAMPLE Test Obj
