PennMUSH Community

Changeset 277

Show
Ignore:
Timestamp:
04/19/06 22:46:51 (2 years ago)
Author:
pennmush
Message:

PennMUSH 1.7.3p9 Archival

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 1.7.3/CHANGES

    r275 r277  
    1717 
    1818========================================================================== 
     19 
     20Version 1.7.3 patchlevel 9                    November 20, 2000 
     21 
     22Major Changes: 
     23      * Help files and their associated commands are now defined with 
     24        the 'help_command' (or 'ahelp_command') directive  
     25        in mush.cnf. So you can translate the help to french and 
     26        add an "aidez-moi" command if you like. [SW] 
     27      * Help file indexes are now kept in memory and built by the 
     28        server. The mkindx program is no longer used. [SW] 
     29      * Added restrict_function and @function/restrict, like the versions  
     30        for commands. [SW] 
     31      * User @functions can now override built-in functions, if you 
     32        @function/delete the built-in first. You can also @function/restore 
     33        the built-in back. [SW] 
     34Attributes: 
     35      * @[oa]zenter and @[oa]zleave on ZMOs are triggered when someone 
     36        enters or leaves a given zone. Motion between rooms in the same 
     37        zone doesn't trigger these. "Zone" is based on the mover's 
     38        absolute room (outermost container) so that entering and leaving 
     39        an unzoned object in a zoned room doesn't trigger these either. 
     40        Suggested by Michael Kurtz. 
     41Commands: 
     42      * New /silent switch for @teleport without @[o|a|ox]tport msgs. 
     43Minor Changes: 
     44      * Still less allocation involved in outputting text to connections. [SW] 
     45      * @scan has better output when multiple attribs match. [SW] 
     46      * Added internal absolute_room function for use by fun_room 
     47        and move.c and wiz.c, etc. 
     48      * MEM_CHECK now uses a sorted linked list and is faster. [SW] 
     49Fixes: 
     50      * References to kill_timer removed from win32 sections. [SW] 
     51      * conf.c reports error via logging routines, not fprintf. [SW] 
     52      * Assorted minor bug and warning fixes. [SW] 
     53      * Fix to example in help regedit by Amberyl. 
     54      * @wait and other timing functions were broken under win32. 
     55        Fixed now. [LdW] 
     56 
    1957 
    2058Version 1.7.3 patchlevel 8                    November 12, 2000 
  • 1.7.3/COPYRITE

    r258 r277  
    8181 * 
    8282 * Past and present PennMUSH development team members: 
    83  *  T. Alexander Popiel, Ralph Melton, Thorvald Natvig 
     83 *  T. Alexander Popiel, Ralph Melton, Thorvald Natvig, Luuk de Waard, 
     84 *  Shawn Wagner 
    8485 * Past and present PennMUSH porters: 
    8586 *  Nick Gammon, Sylvia, Dan Williams 
  • 1.7.3/MANIFEST

    r275 r277  
    8181src/game.c 
    8282src/gmalloc.c 
     83src/help.c 
    8384src/ident.c 
    8485src/info_slave.c 
     
    8990src/match.c 
    9091src/memcheck.c 
    91 src/mkindx.c 
    9292src/move.c 
    9393src/mycrypt.c 
  • 1.7.3/Makefile.SH

    r273 r277  
    5656    (cd src; make all "CC=$(CC)" "CCFLAGS=$(CCFLAGS)" \ 
    5757    "LDFLAGS=$(LDFLAGS)" "CLIBS=$(CLIBS)" "MAKE=$(MAKE)" \ 
    58     "MAKEFLAGS=$(MAKEFLAGS)") 
    59     @echo "If the make was successful, use 'make install' to install links" 
    60     @echo "and update text file indexes." 
     58    "MAKEFLAGS=$(MAKEFLAGS)"; rm -f ../hdrs/timestamp) 
     59    @echo "If the make was successful, use 'make install' to install links." 
    6160 
    6261config.h: Configure 
     
    8180install: localized all 
    8281    -rm -f game/netmush 
    83     -rm -f game/mkindx 
    8482    -rm -f game/info_slave 
    8583    (cd game; \ 
    8684    $(LNS) ../src/netmud netmush; \ 
    87     $(LNS) ../src/mkindx mkindx; \ 
    8885    $(LNS) ../src/info_slave info_slave) 
    8986    (cd game/txt; make) 
     
    9289netmud:  
    9390    (cd src; make netmud "CC=$(CC)" "CCFLAGS=$(CCFLAGS)" \ 
    94     "LDFLAGS=$(LDFLAGS)" "CLIBS=$(CLIBS)" ) 
    95  
    96 mkindx: 
    97     (cd src; make mkindx "CC=$(CC)" "CCFLAGS=$(CCFLAGS)" \ 
    9891    "LDFLAGS=$(LDFLAGS)" "CLIBS=$(CLIBS)" ) 
    9992 
     
    168161clean: 
    169162    (cd src; make clean) 
    170     (cd game; rm -f netmush mkindx
     163    (cd game; rm -f netmush info_slave
    171164 
    172165distclean:  
     
    174167    (cd hdrs; rm -f *.orig *~ \#* *.rej *.bak funs.h cmds.h) 
    175168    (cd utils; rm -f *.orig *~ \#* *.rej *.bak) 
    176     (cd game; rm -rf *.log netmush mkindx *.orig *.rej *~ *.bak mush.cnf) 
     169    (cd game; rm -rf *.log netmush info_slave *.orig *.rej *~ *.bak mush.cnf) 
    177170    (cd os2; rm -rf *.rej *.orig *~ *.bak) 
    178171    (cd game/txt; make clean) 
  • 1.7.3/Patchlevel

    r275 r277  
    11Do not edit this file. It is maintained by the official PennMUSH patches. 
    2 This is PennMUSH 1.7.3p8 
     2This is PennMUSH 1.7.3p9 
  • 1.7.3/README

    r267 r277  
    1111III.  Conversion Guide (previous users) 
    1212IV.   Binary Guide (pre-built binary users) 
    13 V.    Additional Options 
     13V.    Additional Options, including Internationalization 
    1414VI.   Trouble-shooting 
    1515VII.  Getting Help, Reporting Bugs 
     
    372372============================================================================ 
    373373  
    374 V.    Additional Options 
    375  
    376 The final thing you may want to think about is compiling announce.c or 
     374V.    Additional Options, including Internationalization 
     375 
     376PennMUSH 1.7.3 has extensive support for running in non-English 
     377environments. There are two parts to this. First, what the mush 
     378considers to be valid characters, what's upper-case, what's 
     379lower-case, how they are sorted, and so on. The second is translating 
     380the messages produced by the game into another language. Helpfiles 
     381aren't translated. 
     382 
     383There's only a few languages currently supported, as it takes someone 
     384fluent in one to add support for it. If you'd like to help out with 
     385this, see http://www.pennmush.org/translation.html. 
     386 
     387Both of these parts is controlled by the LANG or LC_ALL environment 
     388variables, which have the form "la_DI", where la is a language code 
     389and DI is a dialect. For example, "en_US" stands for English, United 
     390States dialect. The language codes are usually the same as a country's 
     391top level domain in URLs. Spanish is 'es', Russian is 'ru', and so on. 
     392 
     393The LANG environment variable that controls what language the mush 
     394uses is normally set in the pennmush/game/restart script. There's an 
     395example for using French in the script already that can be used as a 
     396starting point. 
     397 
     398Your server account might be set up with a non-english language as the 
     399default. If so, and you don't set LANG in the restart script, that 
     400default language will be used. 
     401 
     402Note that Huffman attribute compression (Or none) is the only mode 
     403that works properly with non-ASCII characters. 
     404 
     405The files with the translations for game messages have to be compiled 
     406to an effecient internal form before starting up the mush, so the LANG 
     407setting in the restart script won't affect it. This means you have to 
     408set the LANG variable before compiling the translation file. 
     409 
     410To do this using the common bash shell, 'export LANG=en_US', or whatever 
     411your setting is. If that gives an error, try the tcsh shell form 'setenv 
     412LANG en_US'. If that still doesn't work, consult the documentation for 
     413the shell you're using. 
     414 
     415The files with the translation tables are located at 
     416ftp://ftp.pennmush.org/pub/PennMUSH/Source/translations/. Get the one 
     417for your patchlevel and language, put it in your pennmush/po/ directory, 
     418and run make install with the LANG environment variable set to the 
     419proper language. If there is no translation file for your language, 
     420see the URL above for information on helping to create one. 
     421 
     422 
     423A final thing you may want to think about is compiling announce.c or 
    377424portmsg.c. These are port announcers; if your MUSH ever goes down, you 
    378425can set one up, and a message will be given to a person attempting to 
  • 1.7.3/game/mushcnf.dst

    r275 r277  
    295295full_html_file txt/full.html 
    296296 
    297 # the big text files and corresponding index files 
    298 # comment out any that you don't want (except help and news) 
    299 #events_file txt/events.txt 
    300 #events_index txt/events.idx 
    301 #index_file txt/index.txt 
    302 #index_index txt/index.idx 
    303 #rules_file txt/rules.txt 
    304 #rules_index txt/rules.idx 
    305 help_file txt/help.txt 
    306 help_index txt/help.idx 
    307 news_file txt/news.txt 
    308 news_index txt/news.idx 
     297# The big text files. New ones can be added by setting up 
     298# a new subdirectory of game/txt as described in game/txt/README, 
     299# and adding a new help_command line below, or uncommenting one of 
     300# the normal file entries. 
     301 
     302#help_command events txt/events.txt 
     303#help_command index txt/index.txt 
     304#help_command rules txt/rules.txt 
     305#help_command +help txt/plushelp.txt 
     306 
     307help_command help txt/help.txt 
     308help_command news txt/news.txt 
     309ahelp_command ahelp txt/help.txt 
     310restrict_command ahelp admin 
     311ahelp_command anews txt/news.txt 
     312restrict_command anews admin 
    309313 
    310314### Config directive for IDENT. 
  • 1.7.3/game/restrict.cnf

    r267 r277  
    22# Commands to restrict 
    33# Syntax: restrict_command <command> <restriction> 
     4#         restrict_function <function> <restriction> 
    45# <restriction> is *one* of: 
    56#   nobody      Totally disable the command 
     
    78#   nofixed     Fixed players can't use it 
    89#   noguest     Guests can't use it 
    9 #   noplayer    Player objects can't use it (things, rooms, exits may
     10#   noplayer    Player objects can't use it (things, rooms, exits may. Command only
    1011#   admin       Must be roy or wiz to use it 
    1112#   wizard      Must be wiz to use it 
     
    4344#restrict_command kill nobody 
    4445 
     46# Turn off ansi(). 
     47#restrict_function ansi nobody 
     48 
     49# And some of the more dangerous side-effect functions. 
     50#restrict_function set nobody 
     51#restrict_function wipe nobody 
     52#restrict_function create nobody 
     53#restrict_function clone nobody 
     54#restrict_function tel nobody 
  • 1.7.3/game/txt/Makefile

    r258 r277  
    44# By default we build help, news, and events. 
    55# To build rules.txt: 
    6 #   add rules.idx to the IDX line 
    76#   add rules.txt to the TXT line 
    8 # Do the same to build index.txt (but add index.idx and index.txt) 
     7# Do the same to build index.txt (but add index.txt) 
    98 
    10 IDX=help.idx news.idx events.idx 
    119TXT=help.txt news.txt events.txt 
    1210 
    13 all: $(IDX) 
    14  
    15 .SUFFIXES: .txt .idx 
    16  
    17 # Note: Apparently the Irix 6.2 make doesn't handle $* right in the 
    18 # dependency of a suffix rule. If you're on Irix 6.2, remove 
    19 # $*.txt from the first line below: 
    20 .txt.idx: $*.txt 
    21     ../mkindx $*.txt $*.idx 
     11all: $(TXT) 
    2212 
    2313help.txt: hlp/*.hlp compose.sh 
  • 1.7.3/game/txt/README

    r258 r277  
    3131    a) create a directory here called "rules" 
    3232    b) put your rules files there, each ending in .rules 
    33     c) edit game/txt/Makefile and add "rules.idx" to the IDX line 
    34        and rules.txt to the TXT line 
     33    c) edit game/txt/Makefile and add rules.txt to the TXT line 
    3534For index files, do exactly the same process, but replace all references 
    3635to 'rules' above with 'index'. 
  • 1.7.3/game/txt/compose.sh.SH

    r258 r277  
    7676 
    7777$echo Done. 
     78$echo Remember to use @readcache if the mush is currently running. 
    7879!NO!SUBS! 
    7980chmod 755 compose.sh 
  • 1.7.3/game/txt/hlp/penncmd.hlp

    r275 r277  
    1818  
    1919& @-ATTRIBUTES 
    20 These '@' commands set standard attributes on objects: 
    21    
    22   @aahear        @aclone        @aconnect      @adeath        @adescribe     
    23   @adisconnect   @aefail        @aenter        @afailure      @aidescribe    
    24   @afollow       @ahear         @aleave        @alfail        @amhear        
    25   @amove         @apayment      @asuccess      @atport        @aufail 
    26   @aunfollow     @ause          @away          @charges       @cost           
    27   @conformat     @death         @describe      @drop          @ealias         
    28   @efail         @enter         @exitformat    @failure       @filter         
    29   @follow        @haven         @idescribe     @idle          @infilter       
    30   @inprefix      @lalias        @leave         @lfail         @listen         
    31   @move          @nameformat    @odeath        @odescribe     @oidescribe     
    32   @odrop         @oefail        @oenter        @ofailure      @ofollow        
    33   @oleave        @olfail        @omove         @opayment      @osuccess       
    34   @otport        @oufail        @ounfollow     @ouse          @oxenter        
    35   @oxleave       @oxmove        @oxtport       @payment       @prefix         
    36   @runout        @sex           @startup       @success       @tport          
    37   @ufail         @unfollow      @use           
     20These '@' commands set standard message/action sets on objects. Each comes 
     21in 3 versions: @<whatever>, @o<whatever>, and @a<whatever>. Only the 
     22@<whatever> version is listed below, but help is available for each: 
     23  
     24  @death         @describe      @drop          @efail         @enter 
     25  @failure       @follow        @idescribe     @leave         @lfail 
     26  @move          @payment       @success       @tport         @ufail 
     27  @unfollow      @use           @zenter        @zleave 
     28 
     29These '@' command set other standard attributes on objects that don't 
     30follow the pattern above: 
     31 
     32  @aahear        @aclone        @aconnect      @adisconnect   @amhear 
     33  @away          @charges       @cost          @conformat     @ealias         
     34  @exitformat    @filter        @haven         @idle          @infilter       
     35  @inprefix      @lalias        @listen        @nameformat    @oxenter        
     36  @oxleave       @oxmove        @oxtport       @prefix        @runout 
     37  @sex           @startup        
    3838 
    3939See also: ATTRIBUTES, NON-STANDARD ATTRIBUTES 
    40    
    4140& @-BUILDING 
    4241These '@' commands are building-related (they create or modify objects): 
     
    536535  /on        : Synonym for /enable 
    537536  /quiet     : Don't make noisy output when doing one of the above 
     537 
     538  See HELP RESTRICT for more. 
    538539& @comment 
    539540  @comment <object> = <comment> 
     
    969970  @enable <option> is the same thing as @config/set <option>=yes 
    970971  @disable <option> is the same thing as @config/set <option>=no 
     972& @zenter 
     973& @ozenter 
     974& @azenter 
     975  @zenter <ZMO> = <message> 
     976  @ozenter <ZMO> = <message> 
     977  @azenter <ZMO> = <action> 
     978   
     979  These attributes set the message shown to a player who enters a room in 
     980  a new zone (@zenter), the message shown to others in the room in the 
     981  new zone when the player enters (@ozenter), and the action triggered 
     982  by the entry (@azenter). 
     983 
     984  Entry into a new zone is said to occur when a player goes from  
     985  a room not in the zone to a room in the zone. "Room" in this context 
     986  means the player's absolute room (outermost container), so entering 
     987  and leaving unzoned objects within a zoned room doesn't trigger these. 
     988 
     989  Zone entry is assumed to occur before room entry, so these are 
     990  triggered before the room's @[oa]enter. 
     991 
     992See also: @zleave, @ozleave, @azleave, ZONES 
     993& @zleave 
     994& @ozleave 
     995& @azleave 
     996  @zleave <ZMO> = <message> 
     997  @ozleave <ZMO> = <message> 
     998  @azleave <ZMO> = <action> 
     999   
     1000  These attributes set the message shown to a player who leaves a room in 
     1001  a zone (@zleave), the message shown to others in the room in the 
     1002  old zone when the player leaves (@ozleave), and the action triggered 
     1003  by the leave-taking (@azleave). 
     1004 
     1005  Leaving a zone is said to occur when a player goes from a room in 
     1006  the zone to a room not in the zone. "Room" in this context means the 
     1007  player's absolute room (outermost container), so entering and leaving 
     1008  unzoned objects within a zoned room doesn't trigger these. 
     1009 
     1010  Zone leaving is assumed to occur after room leaving, so these are 
     1011  triggered after the room's @[oa]leave. 
     1012 
     1013See also: @zenter, @ozenter, @azenter, ZONES 
    9711014& @enter 
    9721015  @enter <object> = <message> 
     
    11941237  And then store each function as an attribute of the same name on  
    11951238  object #100. 
    1196  
    1197 See also: FUNCTIONS, @startup 
     1239(continued in help @function4) 
     1240& @function4 
     1241 Normally, built in functions cannot be overriden by @functions. 
     1242 However, if a built-in function is deleted with @function/delete, 
     1243 you can then make a @function with the same name.  
     1244 @function/restore will delete the @function and turn the built in 
     1245 version back on. 
     1246 
     1247 For example: 
     1248  @function/delete ansi 
     1249  &ansi_fun #1234=%0 
     1250  @function ansi=#1234, ansi_fun 
     1251 
     1252 will create a new version of ansi() that doesn't do any 
     1253 colorization. 
     1254 
     1255See also: RESTRICT, FUNCTIONS, @startup 
    11981256& @grep 
    11991257  @grep[/<switch>] <object>[/<attrs>]=<pattern> 
     
    21812239  @readcache 
    21822240   
    2183   This wizard-only command reads the text files into the cache. This must 
    2184   be done every time the text files (connect text, quit text, etc.) are  
    2185   changed while the game is running. 
     2241  This wizard-only command reads special text files into a cache and 
     2242  rebuilds the help and news indices. This must be done every time the 
     2243  text files (connect text, help files, etc.) are changed while the 
     2244  game is running. 
    21862245  
    21872246  A site admin can achieve the same effect by sending the MUSH process 
     
    22462305  zone/zone master room of your location, your zone, and objects in the  
    22472306  master room. It does NOT stop when it gets a match, but rather, finds all  
    2248   possible matches, although it will show only one of the attribute names 
    2249   that matched. It also tells how many commands on each object were 
    2250   matched. It does NOT scan objects that you do not control and are not 
    2251   set VISUAL. 
     2307  possible matches. It also tells how many commands on each object were 
     2308  matched, and what attributes they are in. It does NOT scan objects 
     2309  that you do not control and are not set VISUAL. 
    22522310   
    22532311  This command can take four switches: 
     
    25592617See also: @select, switch() 
    25602618& @teleport 
    2561   @teleport [<object>=] <room>. Teleports <object> to <room>.  
    2562      
    2563   <object> must be a thing; if you do not supply a thing, the object  
    2564   is assumed to be yourself. The destination must be either JUMP_OK 
    2565   or controlled by you, and you must either control <object> o
    2566   <object>'s current location. Also, the destination, if a room
    2567   cannot be teleport-locked against <object>. Mortals cannot teleport  
    2568   Royalty or Wizards. If the target room has a drop-to, <object> will go  
    2569   to the drop-to room instead. Wizards can teleport things into players' 
    2570   inventories. 
    2571    
     2619  @teleport[/silent] [<object>=] <room>.  
     2620 
     2621  Teleports <object> to <room>.  <object> must be a thing; if you do not 
     2622  supply a thing, the object is assumed to be yourself. The destination 
     2623  must be either JUMP_OK or controlled by you, and you must eithe
     2624  control <object> or <object>'s current location. Also, the destination
     2625  if a room, cannot be teleport-locked against <object>. Mortals cannot 
     2626  teleport Royalty or Wizards. If the target room has a drop-to, <object> 
     2627  will go to the drop-to room instead. Wizards can teleport things into 
     2628  players' inventories. 
     2629 
    25722630  Teleportation from a room can be stopped by setting the NO_TEL flag. 
    25732631  Royalty and Wizards can _always_ teleport to any location, regardless 
    25742632  of NO_TEL or teleport locks. 
    2575    
     2633 
    25762634  Teleportation triggers the @oxtport/@tport/@otport/@atport attributes, 
    2577   unless <room> is an exit
    2578    
     2635  unless <room> is an exit or the /silent switch is given
     2636 
    25792637  See also: JUMP_OK, NO_TEL, @oxtport, @tport, @otport, @atport, @lock 
    25802638& @tport 
    25812639  @tport <object> [=<message>] 
    2582    
     2640 
    25832641  Sets the <message> shown to <object> when <object> is teleported. 
    2584 & @trigger  
     2642& @trigger 
    25852643  @trigger <object>/<attribute> [=<value 0>,<val. 1>,...,<val 9>] 
    25862644 
  • 1.7.3/game/txt/hlp/penncode.hlp

    r258 r277  
    4040 Copyright (c) 1995, David Applegate, James Aspnes, Timothy Freeman 
    4141 and Bennet Yee.  All rights reserved. 
     42 
     43 Help text was written by the following people for the following  
     44 versions of MUSH: 
     45    Jin                   TinyMUSH 1.0 
     46    Moonchilde & Leona    PernMUSH 1.02 - 1.15 
     47    Amberyl               PennMUSH 1.16 - 1.50p10 
     48    Javelin               PennMUSH 1.50p11+ 
     49    Nightbird             PennMUSH 1.7.0+ 
     50  Any use of this help text must contain this copyright notice. 
     51 
    4252 
    4353------------------------------------------------------------------------ 
     
    101111 
    102112 Past and present PennMUSH development team members: 
    103   T. Alexander Popiel, Ralph Melton, Thorvald Natvig 
     113  T. Alexander Popiel, Ralph Melton, Thorvald Natvig, Luuk de Waard, 
     114  Shawn Wagner 
     115 
    104116 Past and present PennMUSH porters: 
    105117  Nick Gammon, Sylvia, Dan Williams 
  • 1.7.3/game/txt/hlp/pennfunc.hlp

    r275 r277  
    193193   
    194194  convsecs()    convutcsecs() convtime()    ctime()       etimefmt() 
    195   isdaylight()  mtime()       restarttime() secs()        starttime() 
    196   time()        timefmt()     timestring()  utctime()    
     195  isdaylight()  mtime()       restarts()    restarttime() secs() 
     196  starttime()   time()        timefmt()     timestring()  utctime()    
    197197 
    198198& Utility functions 
     
    21762176  Example: 
    21772177  > say regedit(this test is the best string, (.)est, $1rash) 
    2178   You say "this trash is the test string" 
     2178  You say "this trash is the best string" 
    21792179  > say regeditall(this test is the best string, (.)est, $1rash) 
    21802180  You say "this trash is the brash string" 
     
    26472647    > say starttime() 
    26482648    You say "Sat Dec  7 00:09:13 1991 
    2649   See also: convtime(), restarttime()
     2649  See also: convtime(), restarttime(), restarts()
    26502650& RESTARTTIME() 
    26512651  restarttime() 
  • 1.7.3/game/txt/hlp/penntop.hlp

    r273 r277  
    318318 
    319319See also: controls(), INHERIT, ZONES, ZONE MASTERS 
    320 & COPYRIGHT 
    321   Any use of this help text must contain this copyright notice. 
    322   This help text was written by the following people for the  
    323   following versions of MUSH: 
    324  
    325     Jin                   TinyMUSH 1.0 
    326     Moonchilde & Leona    PernMUSH 1.02 - 1.15 
    327     Amberyl               PennMUSH 1.16 - 1.50p10 
    328     Javelin               PennMUSH 1.50p11+ 
    329     Nightbird             PennMUSH 1.7.0+ 
    330  
    331320& COSTS 
    332321  These are usually: 
     
    17471736& &HELP 
    17481737This is the AHELP index. 
    1749  
     1738& RESTRICT 
     1739 
     1740 Commands and functions can have their permission levels controlled 
     1741 in the mush config files, or by wizards from the game via @command 
     1742 and @function. 
     1743  
     1744 In the config file, the syntax is: 
     1745  restrict_command command-name restriction 
     1746  restrict_function function-name restriction 
     1747 
     1748 From the game: 
     1749  @command/restrict command-name=restriction 
     1750  @function/restrict function-name=restriction 
     1751 
     1752(Continued in restrict2) 
     1753& RESTRICT2 
     1754 <restriction> can be one of the following: 
     1755   god        Command or function is usuable only by God. 
     1756   wizard     Usable only by wizards. 
     1757   admin      Usable only by Wiz/Roy. 
     1758   nogagged   Usable only by non-GAGGED objects. 
     1759   nofixed    Usable only by non-FIXED objects. 
     1760   noguest    Usable only by non-guest @powered objects. 
     1761   nobody     Nothing can use it. Same as the /disable switch 
     1762              to @command or @function. 
     1763 
     1764 Commands can also use the 'noplayer' restriction, which stops 
     1765 player objects from using the command. 
     1766 
     1767(Continued in restrict3) 
     1768& RESTRICT3 
     1769 In cases where there are a function and command that do the same thing 
     1770 (Like pemit() and @pemit), the command's restrictions are also checked 
     1771 when the function is called, so restricting @pemit also restricts 
     1772 pemit(). However, a function's restrictions are not checked when a 
     1773 command is called, to allow disabling side-effect functions. 
  • 1.7.3/game/txt/hlp/pennvers.hlp

    r275 r277  
    11& changes 
    2 & 1.7.3p8 
     2& 1.7.3p9 
    33This is a list of changes in this patchlevel which are probably of 
    44interest to players. More information about new commands and functions 
     
    1010be read in 'help patchlevels'. 
    1111 
     12Version 1.7.3 patchlevel 9                    November 20, 2000 
     13 
     14Major Changes: 
     15      * Help files and their associated commands are now defined with 
     16        the 'help_command' (or 'ahelp_command') directive  
     17        in mush.cnf. So you can translate the help to french and 
     18        add an "aidez-moi" command if you like. [SW] 
     19      * Help file indexes are now kept in memory and built by the 
     20        server. The mkindx program is no longer used. [SW] 
     21      * Added restrict_function and @function/restrict, like the versions  
     22        for commands. [SW] 
     23      * User @functions can now override built-in functions, if you 
     24        @function/delete the built-in first. You can also @function/restore 
     25        the built-in back. [SW] 
     26Attributes: 
     27      * @[oa]zenter and @[oa]zleave on ZMOs are triggered when someone 
     28        enters or leaves a given zone. Motion between rooms in the same 
     29        zone doesn't trigger these. "Zone" is based on the mover's 
     30        absolute room (outermost container) so that entering and leaving 
     31        an unzoned object in a zoned room doesn't trigger these either. 
     32        Suggested by Michael Kurtz. 
     33Commands: 
     34      * New /silent switch for @teleport without @[o|a|ox]tport msgs. 
     35Minor Changes: 
     36      * Still less allocation involved in outputting text to connections. [SW] 
     37      * @scan has better output when multiple attribs match. [SW] 
     38      * Added internal absolute_room function for use by fun_room 
     39        and move.c and wiz.c, etc. 
     40      * MEM_CHECK now uses a sorted linked list and is faster. [SW] 
     41Fixes: 
     42      * References to kill_timer removed from win32 sections. [SW] 
     43      * conf.c reports error via logging routines, not fprintf. [SW] 
     44      * Assorted minor bug and warning fixes. [SW] 
     45      * Fix to example in help regedit by Amberyl. 
     46      * @wait and other timing functions were broken under win32. 
     47        Fixed now. [LdW] 
     48 
     49 
     50& 1.7.3p8 
    1251Version 1.7.3 patchlevel 8                    November 12, 2000 
    1352 
     
    41254164 
    41264165& patchlevels 
    4127 1.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8 
     41661.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 
    412841671.7.2: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 
    41294168       19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 
  • 1.7.3/hdrs/atr_tab.h

    r269 r277  
    3939  {(char *) "AUSE", AF_NOPROG, NULL, 0, NULL}, 
    4040  {(char *) "AWAY", AF_NOPROG, NULL, 0, NULL}, 
     41  {(char *) "AZENTER", AF_NOPROG, NULL, 0, NULL}, 
     42  {(char *) "AZLEAVE", AF_NOPROG, NULL, 0, NULL}, 
    4143  {(char *) "CHARGES", AF_NOPROG, NULL, 0, NULL}, 
    4244  {(char *) "COMMENT", AF_NOPROG | AF_MDARK | AF_WIZARD, NULL, 0, NULL}, 
     
    105107  {(char *) "OXLEAVE", AF_NOPROG, NULL, 0, NULL}, 
    106108  {(char *) "OXTPORT", AF_NOPROG, NULL, 0, NULL}, 
     109  {(char *) "OZENTER", AF_NOPROG, NULL, 0, NULL}, 
     110  {(char *) "OZLEAVE", AF_NOPROG, NULL, 0, NULL}, 
    107111  {(char *) "PAYMENT", AF_NOPROG, NULL, 0, NULL}, 
    108112  {(char *) "PREFIX", AF_NOPROG, NULL, 0, NULL}, 
     
    204208  {(char *) "XYXXY", AF_INTERNAL | AF_NOPROG | AF_LOCKED | AF_WIZARD, 
    205209   NULL, 0, NULL}, 
     210  {(char *) "ZENTER", AF_NOPROG, NULL, 0, NULL}, 
     211  {(char *) "ZLEAVE", AF_NOPROG, NULL, 0, NULL}, 
    206212  {NULL, 0, NULL, 0, NULL} 
    207213}; 
  • 1.7.3/hdrs/attrib.h

    r275 r277  
    4646extern char const *const convert_atr _((int oldatr)); 
    4747extern int atr_comm_match _((dbref thing, dbref player, int type, int end, 
    48                  char const *str, int just_match, char **atrname)); 
     48                 char const *str, int just_match, char *atrname, 
     49                 char **abp)); 
    4950extern int do_set_atr 
    5051_((dbref thing, char const *atr, char const *s, dbref player, int flags)); 
  • 1.7.3/hdrs/conf.h

    r275 r277  
    125125  char uncompressprog[256]; 
    126126  char compresssuff[256]; 
    127   char help_file[256]; 
    128   char help_index[256]; 
    129   char news_file[256]; 
    130   char news_index[256]; 
    131   char events_file[256]; 
    132   char events_index[256]; 
    133127#ifdef CHAT_SYSTEM 
    134128  char chatdb[256]; 
     
    182176  char dump_warning_1min[256]; 
    183177  char dump_warning_5min[256]; 
    184   char index_file[256]; 
    185   char index_index[256]; 
    186   char rules_file[256]; 
    187   char rules_index[256]; 
    188178  int hate_dest; 
    189179  int noisy_whisper; 
     
    293283#define MAX_LOGINS      (options.max_logins) 
    294284 
    295 #define  HELPTEXT       (options.help_file) 
    296 #define  HELPINDX       (options.help_index) 
    297  
    298 #define  NEWS_FILE      (options.news_file) 
    299 #define  NEWSINDX       (options.news_index) 
    300  
    301 #define EVENT_FILE            (options.events_file) 
    302 #define EVENTINDX             (options.events_index) 
    303  
    304285/* dbrefs are in the conf file */ 
    305286 
     
    367348#define HASPOWER_RESTRICTED (options.haspower_restricted) 
    368349#define SAFER_UFUN (options.safer_ufun) 
    369 #define INDEX_FILE (options.index_file) 
    370 #define INDEXINDX (options.index_index) 
    371 #define RULES_FILE (options.rules_file) 
    372 #define RULESINDX (options.rules_index) 
    373350#define HATE_DEST (options.hate_dest) 
    374351#define NOISY_WHISPER (options.noisy_whisper) 
  • 1.7.3/hdrs/copyrite.h

    r258 r277  
    8181 * 
    8282 * Past and present PennMUSH development team members: 
    83  *  T. Alexander Popiel, Ralph Melton, Thorvald Natvig 
     83 *  T. Alexander Popiel, Ralph Melton, Thorvald Natvig, Luuk de Waard, 
     84 *  Shawn Wagner 
    8485 * Past and present PennMUSH porters: 
    8586 *  Nick Gammon, Sylvia, Dan Williams 
  • 1.7.3/hdrs/externs.h

    r275 r277  
    176176 
    177177/* From move.c */ 
    178 extern void enter_room _((dbref player, dbref loc)); 
     178extern void enter_room _((dbref player, dbref loc, int nomovemsgs)); 
    179179extern int can_move _((dbref player, const char *direction)); 
    180180extern void do_move _((dbref player, const char *direction, int type)); 
    181181extern void moveto _((dbref what, dbref where)); 
    182 extern void safe_tel _((dbref player, dbref dest)); 
     182extern void safe_tel _((dbref player, dbref dest, int nomovemsgs)); 
    183183extern dbref global_exit _((dbref player, const char *direction)); 
    184184extern dbref remote_exit _((dbref loc, const char *direction)); 
     
    355355#define getrandom(x) get_random_long(0,x-1) 
    356356extern char *shortname _((dbref it)); 
     357extern dbref absolute_room _((dbref it)); 
    357358 
    358359#ifdef USE_WARNINGS 
  • 1.7.3/hdrs/extmail.h

    r273 r277  
    6161#define MDBF_SUBJECT    0x1 
    6262#define MDBF_ALIASES    0x2 
     63 
    6364/* Database ends with ***END OF DUMP*** not *** END OF DUMP *** */ 
    6465#define MDBF_NEW_EOD    0x4 
  • 1.7.3/hdrs/function.h

    r273 r277  
    44#include "copyrite.h" 
    55 
    6 #define FN_REG          0x0 
     6#define FN_REG 0x0 
     7/* Function arguments aren't parsed */ 
    78#define FN_NOPARSE      0x1 
    89#define FN_LITERAL      0x2 
     10#define FN_ARG_MASK     0x3 
     11/* Function is disabled */ 
    912#define FN_DISABLED     0x4 
    10 #define FN_ARG_MASK     0x3 
     13/* Function will fail if object is gagged */ 
     14#define FN_NOGAGGED  0x8 
     15/* Function will fail if object is a guest */ 
     16#define FN_NOGUEST   0x10 
     17/* Function will fail if object is fixed */ 
     18#define FN_NOFIXED   0x20 
     19/* Function is wizard-only */ 
     20#define FN_WIZARD 0x40 
     21/* Function is royalty or wizard */ 
     22#define FN_ADMIN  0x80 
     23/* Function is god-only */ 
     24#define FN_GOD    0x100 
     25/* Function is builtin */ 
     26#define FN_BUILTIN 0x200 
     27/* Function can be overridden with a @function */ 
     28#define FN_OVERRIDE 0x400 
    1129 
    12 #define MAX_GLOBAL_FNS   50 
    13 #define GLOBAL_OFFSET    100 
    1430 
    15 #define GF_Index(x)      (x - GLOBAL_OFFSET) 
     31/* Number of user @functions */ 
     32#define MAX_GLOBAL_FNS 50 
    1633 
    1734typedef struct fun FUN; 
    1835 
    19 struct fun { 
    20   const char *name; 
     36union fun_call { 
    2137#ifdef CAN_TAKE_ARGS_IN_FP 
    2238  void (*fun) _((char *buff, char **bp, int nargs, char *args[], 
     
    2642  void (*fun) (); 
    2743#endif 
     44  Size_t offset; 
     45}; 
     46 
     47 
     48struct fun { 
     49  const char *name; 
     50  union fun_call where; 
    2851  int minargs; 
    2952  int maxargs; 
    30   int ftype
     53  unsigned int flags
    3154};