Changeset 417
- Timestamp:
- 08/12/06 17:05:31 (2 years ago)
- Files:
-
- 1.7.7/CHANGES (modified) (1 diff)
- 1.7.7/CHANGES.OLD (modified) (2 diffs)
- 1.7.7/Configure (modified) (7 diffs)
- 1.7.7/Patchlevel (modified) (1 diff)
- 1.7.7/config_h.SH (modified) (2 diffs)
- 1.7.7/game/alias.cnf (modified) (1 diff)
- 1.7.7/game/mushcnf.dst (modified) (4 diffs)
- 1.7.7/game/txt/hlp/penncmd.hlp (modified) (5 diffs)
- 1.7.7/game/txt/hlp/penncode.hlp (modified) (1 diff)
- 1.7.7/game/txt/hlp/pennconf.hlp (modified) (1 diff)
- 1.7.7/game/txt/hlp/pennflag.hlp (modified) (3 diffs)
- 1.7.7/game/txt/hlp/pennfunc.hlp (modified) (6 diffs)
- 1.7.7/game/txt/hlp/penntop.hlp (modified) (1 diff)
- 1.7.7/game/txt/hlp/pennvers.hlp (modified) (7 diffs)
- 1.7.7/hdrs/access.h (modified) (1 diff)
- 1.7.7/hdrs/atr_tab.h (modified) (1 diff)
- 1.7.7/hdrs/attrib.h (modified) (1 diff)
- 1.7.7/hdrs/boolexp.h (modified) (1 diff)
- 1.7.7/hdrs/command.h (modified) (2 diffs)
- 1.7.7/hdrs/conf.h (modified) (7 diffs)
- 1.7.7/hdrs/dbdefs.h (modified) (3 diffs)
- 1.7.7/hdrs/extchat.h (modified) (2 diffs)
- 1.7.7/hdrs/externs.h (modified) (8 diffs)
- 1.7.7/hdrs/extmail.h (modified) (1 diff)
- 1.7.7/hdrs/flags.h (modified) (2 diffs)
- 1.7.7/hdrs/function.h (modified) (1 diff)
- 1.7.7/hdrs/game.h (modified) (5 diffs)
- 1.7.7/hdrs/help.h (modified) (1 diff)
- 1.7.7/hdrs/htab.h (modified) (2 diffs)
- 1.7.7/hdrs/ident.h (modified) (1 diff)
- 1.7.7/hdrs/lock.h (modified) (1 diff)
- 1.7.7/hdrs/malias.h (modified) (1 diff)
- 1.7.7/hdrs/mushdb.h (modified) (3 diffs)
- 1.7.7/hdrs/mushtype.h (modified) (3 diffs)
- 1.7.7/hdrs/mysocket.h (modified) (3 diffs)
- 1.7.7/hdrs/privtab.h (modified) (1 diff)
- 1.7.7/hdrs/ptab.h (modified) (1 diff)
- 1.7.7/hdrs/shs.h (modified) (1 diff)
- 1.7.7/hdrs/strtree.h (modified) (1 diff)
- 1.7.7/hdrs/version.h (modified) (1 diff)
- 1.7.7/src/Makefile (modified) (58 diffs)
- 1.7.7/src/access.c (modified) (15 diffs)
- 1.7.7/src/atr_tab.c (modified) (12 diffs)
- 1.7.7/src/attrib.c (modified) (20 diffs)
- 1.7.7/src/boolexp.c (modified) (8 diffs)
- 1.7.7/src/bsd.c (modified) (15 diffs)
- 1.7.7/src/cmds.c (modified) (10 diffs)
- 1.7.7/src/command.c (modified) (23 diffs)
- 1.7.7/src/comp_h.c (modified) (11 diffs)
- 1.7.7/src/comp_w.c (modified) (10 diffs)
- 1.7.7/src/comp_w8.c (modified) (6 diffs)
- 1.7.7/src/conf.c (modified) (22 diffs)
- 1.7.7/src/cque.c (modified) (23 diffs)
- 1.7.7/src/create.c (modified) (9 diffs)
- 1.7.7/src/db.c (modified) (27 diffs)
- 1.7.7/src/destroy.c (modified) (28 diffs)
- 1.7.7/src/extchat.c (modified) (50 diffs)
- 1.7.7/src/flags.c (modified) (31 diffs)
- 1.7.7/src/function.c (modified) (2 diffs)
- 1.7.7/src/fundb.c (modified) (1 diff)
- 1.7.7/src/funlist.c (modified) (23 diffs)
- 1.7.7/src/funmisc.c (modified) (3 diffs)
- 1.7.7/src/funstr.c (modified) (1 diff)
- 1.7.7/src/game.c (modified) (44 diffs)
- 1.7.7/src/info_slave.c (modified) (6 diffs)
- 1.7.7/src/look.c (modified) (35 diffs)
- 1.7.7/src/match.c (modified) (5 diffs)
- 1.7.7/src/move.c (modified) (3 diffs)
- 1.7.7/src/player.c (modified) (4 diffs)
- 1.7.7/src/predicat.c (modified) (2 diffs)
- 1.7.7/src/speech.c (modified) (2 diffs)
- 1.7.7/src/strutil.c (modified) (1 diff)
- 1.7.7/src/wiz.c (modified) (3 diffs)
- 1.7.7/win32/pennmush.vcproj (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
1.7.7/CHANGES
r415 r417 18 18 19 19 ========================================================================== 20 21 Version 1.7.7 patchlevel 9 February 20, 2003 22 23 Functions: 24 * New function scan() works like @scan. Suggested by Viila@M*U*S*H. 25 Flags: 26 * New flag, MISTRUST, prevents an object from controlling anything 27 but itself. 28 Configuration: 29 * mush.cnf directives ansi_justify, globals, and global_connects have 30 been removed (they are now always on). 31 * New unconnected_idle_timeout directive in mush.cnf controls 32 timeouts for connections idle at the connect screen. 33 * New max_guests directive in mush.cnf can limit the number of 34 guests allowed to connect at once. Suggested by Sholevi@M*U*SH. 35 Minor Changes: 36 * New lflags search class takes a list of flag names. 37 * Improved connection failure messages. 38 * Somewhat more informative message when you @chan/gag,hide,mute 39 all channels at once. Suggested by Tanaku and Kevin@M*U*S*H. 40 * Began commenting files using doxygen. 41 * Internal code cleanup. Mostly converting some magic numbers to 42 #define'd symbols, and some #define'd symbols to enums for better 43 debugging and improved readability. Also some conversion of old 44 K&R style functions. [SW] 45 * sort() and the set functions understand all the same comparison 46 types as comp(). [SW] 47 * Case-sensitive comparison currently isn't always possible, depending 48 on the locale the mush is running on. Help files reflect this. [SW] 49 * @uptime shows the time of the last successful database save, and 50 the time of future events like saves, not just the time until them. 51 Suggested by Cheetah@M*U*S*H. [SW] 52 * Improvements to reporting of failed saves. [SW] 53 * Code cleanup. [SW] 54 * tel() now takes a third argument that makes it function like 55 @tel/silent. Suggested by Cheetah@M*U*S*H. [SW] 56 * @idescformat operates like @descformat for internal descriptions. 57 Suggested by Tanya@M*U*S*H. 58 Fixes: 59 * local_startup() was getting run earlier than in the past due to 60 changes in the startup sequence. This has been rectified, so 61 local_startup() again runs after all other initialization (and 62 just before all object startups are triggered). Report by 63 BladedThoth and grapenut@M*U*S*H. 64 * Improved testing for openssl libraries in Configure. The old 65 approach used to cause problems on systems with runtime-only 66 openssl installations without development libraries. 67 * help opaque mentions that opaque blocks look/outside. Suggested 68 by Cheetah@M*U*S*H. 69 * itext() and inum() now generate an error on a null argument, 70 regardless of tiny_math and null_eq_zero settings. Reported by 71 Intrevis@M*U*S*H. 72 * Another fix to the new matcher. Bug report by Kyieren@M*U*S*H. 73 * @flag/alias was broken. Fixed. Reported by Kevin@M*U*S*H. 74 20 75 21 76 Version 1.7.7 patchlevel 8 January 27, 2003 1.7.7/CHANGES.OLD
r335 r417 1720 1720 works. Report by Vedui. 1721 1721 1722 1723 Version 1.6.10 patchlevel 6 May 11, 19971724 1725 Fixes:1726 * inc() and dec() didn't work right with NULL_EQ_ZERO.1727 Fixed. Report by Dennis DeMarco1728 1729 1722 Version 1.7.1 patchlevel 3 January 12, 1998 1730 1723 … … 1815 1808 Reported by Leo@ATS TrekMUSH 1816 1809 * @chan/gag now works correctly. Report by Vedui. 1817 1818 1819 Version 1.7.0 patchlevel 11 November 18, 19971820 1821 Fixes:1822 1810 * Help for remove() updated. Reported by Vedui@Robotech. 1823 1811 * hasattr() didn't check if the invoker had permission to read 1.7.7/Configure
r399 r417 303 303 d_newstyle='' 304 304 d_open3='' 305 d_openssl=''306 305 d_portable='' 307 306 d_lrand48='' … … 409 408 xlibpth='' 410 409 libs='' 410 d_openssl='' 411 libcrypto='' 412 libssl='' 411 413 lns='' 412 414 mailer='' … … 567 569 libswanted='' 568 570 defvoidused=15 569 libswanted='nsl socket m c crypt bind resolv ld dl tcl intl ssl crypto'571 libswanted='nsl socket m c crypt bind resolv ld dl tcl intl' 570 572 571 573 : Find the basic shell for Bourne shell scripts … … 4672 4674 $rm -f open3* 4673 4675 4674 : check for openssl 4675 echo " " 4676 $cat >test_openssl.c <<EOCP 4676 : see if we should include -lssl and -lcrypto 4677 echo " " 4678 if $test -r /usr/lib/libssl$_a || \ 4679 $test -r /lib/libssl$_a || \ 4680 $test -r /usr/local/lib/libssl$_a ; then 4681 echo "-lssl found." >&4 4682 libssl='-lssl' 4683 else 4684 xxx=`./loc libssl$_a x $libpth` 4685 case "$xxx" in 4686 x) 4687 echo "No ssl library found." >&4 4688 libssl='' 4689 ;; 4690 *) 4691 echo "SSL library found in $xxx." >&4 4692 libssl="$xxx" 4693 ;; 4694 esac 4695 fi 4696 4697 if $test -r /usr/lib/libcrypto$_a || \ 4698 $test -r /lib/libcrypto$_a || \ 4699 $test -r /usr/local/lib/libcrypto$_a ; then 4700 echo "-lcrypto found." >&4 4701 libcrypto='-lcrypto' 4702 else 4703 xxx=`./loc libcrypto$_a x $libpth` 4704 case "$xxx" in 4705 x) 4706 echo "No crypto library found." >&4 4707 libcrypto='' 4708 ;; 4709 *) 4710 echo "SSL crypto library found in $xxx." >&4 4711 libcrypto="$xxx" 4712 ;; 4713 esac 4714 fi 4715 4716 case "x$libssl$libcrypto" in 4717 x) 4718 ;; 4719 *) 4720 $cat > test_openssl.c <<EOM 4721 #include <stdio.h> 4677 4722 #include <stdlib.h> 4678 #include <stdio.h>4679 4723 #include <openssl/opensslv.h> 4680 4724 int main(int argc, char **argv) { … … 4682 4726 exit(OPENSSL_VERSION_NUMBER < 0x00906000L); 4683 4727 } 4684 EO CP4685 4686 d_openssl='undef' 4687 if $cc $ccflags $ldflags -o test_openssl test_openssl.c $libs >/dev/null 2>&1 ;then4728 EOM 4729 4730 if $cc $ccflags $ldflags -o test_openssl test_openssl.c $libs $libssl $libcrypto >/dev/null 2>&1 ; 4731 then 4688 4732 echo 'You have openssl...' >&4 4689 4733 version=`./test_openssl` 4690 4734 if $test $? -eq 0; then 4691 4735 d_openssl='define' 4736 libs="$libs $libssl $libcrypto" 4692 4737 echo '...and at least version 0.9.6. Great.' >&4 4693 4738 else … … 4699 4744 $rm -f test_openssl* core 4700 4745 4746 ;; 4747 esac 4701 4748 : see if rename exists 4702 4749 set rename d_rename … … 6862 6909 less='$less' 6863 6910 libc='$libc' 6911 libcrypto='$libcrypto' 6864 6912 libpth='$libpth' 6865 6913 libs='$libs' 6914 libssl='$libssl' 6866 6915 line='$line' 6867 6916 lint='$lint' 1.7.7/Patchlevel
r415 r417 1 1 Do not edit this file. It is maintained by the official PennMUSH patches. 2 This is PennMUSH 1.7.7p 82 This is PennMUSH 1.7.7p9 1.7.7/config_h.SH
r399 r417 600 600 #$d_newstyle CAN_NEWSTYLE /**/ 601 601 602 /* HAS_OPENSSL:603 * Defined if openssl 0.9.6+ is available.604 */605 #$d_openssl HAS_OPENSSL /**/606 607 602 /* HAS_RANDOM: 608 603 * Have we got random(), our first choice for number generation? … … 819 814 #$i_stdarg I_STDARG /**/ 820 815 816 /* HAS_OPENSSL: 817 * Defined if openssl 0.9.6+ is available. 818 */ 819 #$d_openssl HAS_OPENSSL /**/ 820 821 821 #endif 822 822 !GROK!THIS! 1.7.7/game/alias.cnf
r349 r417 53 53 # And so can attributes! 54 54 attribute_alias describe desc 55 attribute_alias idescribe idesc 55 56 attribute_alias success succ 56 57 attribute_alias osuccess osucc 1.7.7/game/mushcnf.dst
r411 r417 118 118 idle_timeout 0 119 119 120 # Should there be a limit on how long connections at the connect screen 121 # (without an associated player) can be idle? 122 # If you want one, set unconnected_idle_timeout to the # number of MINUTES 123 # a connection may idle before getting disconnected. 124 # If you don't want a timeout, set it to 0. 125 unconnected_idle_timeout 5 126 120 127 # Should there be a limit on the number of logins the MUSH 121 128 # can accept? If your operating system has a limited number of … … 124 131 # set this to 0. 125 132 max_logins 120 133 134 # Should there be a limit on the number of concurrent guest logins the MUSH 135 # will allow? This option can take 3 values: 136 # 0 = no limit, any number of guests. Logins beyond the number of established 137 # guest characters will result in multiple players being logged into the 138 # same guest character. 139 # -1 = limited to the number of guests in the database. To allow more guests 140 # to log in, create more guest characters. 141 # Any other number = the number of guest connections allowed at once. 142 max_guests 0 126 143 127 144 # How much MUSH money do players get when they're created? … … 405 422 reverse_shs yes 406 423 407 ###408 ### Master Room and @aconnect/disconnect409 ###410 411 # enable global exits and commands?412 globals yes413 414 # check zones and the master room for aconnect/adisconnect?415 global_connects yes416 417 424 # trigger @aconnect/@adisconnect in a connecting player's location 418 425 # if the location is a room or thing? … … 534 541 # show room/object/player names in bold for ansi players? 535 542 ansi_names yes 536 537 # should ljust(), rjust(), center(), and table() ignore ansi when538 # figuring out how to justify a string?539 ansi_justify yes540 543 541 544 # show exit lists with commas (a, b, and c)? 1.7.7/game/txt/hlp/penncmd.hlp
r411 r417 34 34 @away @charges @cost @conformat @descformat 35 35 @ealias @exitformat @filter @forwardlist @haven 36 @id le @infilter @inprefix @lalias @listen37 @ nameformat @oxenter @oxleave @oxmove @oxtport38 @ prefix @runout @sex @startup36 @idescformat @idle @infilter @inprefix @lalias 37 @listen @nameformat @oxenter @oxleave @oxmove 38 @oxtport @prefix @runout @sex @startup 39 39 40 40 See also: ATTRIBUTES, NON-STANDARD ATTRIBUTES … … 601 601 "look" for each room's @desc. 602 602 603 See also: @exitformat, @nameformat, @conformat 603 See also: @exitformat, @nameformat, @conformat, @idescformat 604 & @idescformat 605 @idescformat <object> [=<text>] 606 607 Replaces the usual description of the object when it is looked at from 608 within by player-specified text. The evaluated IDESCRIBE attribute 609 is passed as %0; the unevaluated IDESCRIBE can be acquired through 610 v(IDESCRIBE). 611 612 This is useful for things like object parents that enforce a consistent 613 "look" for each object's @idesc. 614 615 See also: @exitformat, @nameformat, @conformat, @descformat 604 616 & @nameaccent 605 617 @nameaccent <object> [=<accent template>] … … 1491 1503 reset. 1492 1504 1493 See also: enter, @enter, ENTER_OK, @describe, look 1505 See also: enter, @enter, ENTER_OK, @describe, look, @idescformat 1494 1506 & @hook 1495 1507 @hook/<switch> <command>[=<object>, <attribute>] … … 2597 2609 will be listed. If a <class> argument is supplied only objects of a 2598 2610 certain class will be listed. Possible <class>es include TYPE, NAME, 2599 ZONE, PARENT, EXITS, OBJECTS (Or THINGS), ROOMS, PLAYERS, FLAGS, POWERS,2600 EVAL, EPLAYER, EROOM, EEXIT, and EOBJECT (Or ETHING).2611 ZONE, PARENT, EXITS, OBJECTS (Or THINGS), ROOMS, PLAYERS, FLAGS, LFLAGS, 2612 POWERS, EVAL, EPLAYER, EROOM, EEXIT, and EOBJECT (Or ETHING). 2601 2613 2602 2614 If <class>=TYPE, possible <restriction>s include OBJECT (Or THING), ROOM, … … 2612 2624 & @search2 2613 2625 If <class>=EXITS, OBJECTS, ROOMS, or PLAYERS, only objects of that type 2614 2615 If <class>=FLAGS, only objects with the list of flags specified by 2616 <restriction> will be listed. Flag names should be specified by single 2617 letters. Flag names are case-sensitive. 2626 2627 If <class>=FLAGS or LFLAGS, only objects with the list of flags 2628 specified by <restriction> will be listed. For FLAGS, flags to match 2629 should be given as a string of single flag letters, with appropriate 2630 case. For LFLAGS, flags to match should be given as a space-separated 2631 list of flag names. 2632 2633 If <class>=POWERS, only objects with the given power are listed. Only 2634 one power may be specified. 2635 2636 If <class>=EVAL, only objects for which <restriction> evaluates to a 2637 true boolean value will be listed. The token '##' in <restriction>, which 2638 is a function, is replaced by each dbref sequentially. Classes EPLAYER, 2639 EROOM, EEXIT, and EOBJECT work like EVAL but are restricted to a single type. 2640 2641 See "help @search3" for more. 2642 & @search3 2643 For the class TYPE=PLAYER, and for PLAYER=<player-name>, anyone may 2644 obtain information on any player. In all other cases, only wizards may 2645 obtain information about other players. This is computationally 2646 expensive, costing 100 pennies. It is generally faster than @find. 2647 2648 Examples: 2649 @search flags=Wc <-- search for connected wizards. 2650 @search type=room <-- list all rooms owned by me. 2651 @search zone=#50 <-- list all objects belong to zone #50. 2652 @search Joe eval=1,100,200 <-- list objects from #100-#200 owned by Joe. 2653 @search eval=gt(money(##),10) <-- list all objects owned by me 2654 worth more than 10 coins. 2618 2655 2619 2656 If <class>=POWERS, only objects with the given power are listed. Only 1.7.7/game/txt/hlp/penncode.hlp
r399 r417 16 16 This code version is being maintained by Javelin, aka Alan Schwartz. 17 17 Suggestions, comments, and bug reports are welcome; send email to 18 dunemush@pennmush.org. For information about changes in versions of the19 code, see 'help changes'.18 pennmush-developers@pennmush.org. For information about changes in 19 versions of the code, see 'help changes'. 20 20 & i18n 21 21 & internationalization 1.7.7/game/txt/hlp/pennconf.hlp
r357 r417 138 138 max_attrs_per_obj=<number>: The maximum attributes an object can have. 139 139 max_logins=<number>: The maximum number of connected players. 140 max_guests=<number>: The maximum number of connected guests. If 0, 141 no limit. If -1, limited by the number of guest players in the db. 140 142 idle_timeout=<number>: The number of minutes a connection can be idle 141 143 before getting booted. 0 means no limit. 1.7.7/game/txt/hlp/pennflag.hlp
r411 r417 51 51 d - Destroy_Ok e - Enter_Ok g - Gagged 52 52 h - Halt j - Jury_Ok l - Light 53 m - Myopic n - No_Command o - On-Vacation53 m - Myopic, Mistrust n - No_Command o - On-Vacation 54 54 p - Puppet, Paranoid r - Royalty s - Suspect 55 55 t - Transparent u - Uninspected v - Verbose … … 406 406 407 407 See also: DBREF 408 & MISTRUST 409 Flag: MISTRUST (things, rooms, exits) 410 411 Mistrust prevents an object from controlling anything but 412 itself. This will also usually prevent it from examining anything else 413 non-VISUAL owned by the same player. It also prevents the object 414 from benefitting from its owner's no_pay, no_kill, and no_quota 415 powers, if any. 416 417 This flag can be used when you wish a single player to retain ownership 418 of objects that other players will use to run arbitrary commands, 419 and don't want those objects to be able to affect your objects. 420 421 (Note, however, that a Wizard object will ignore this flag, a see_all 422 object will still be able to examine anything, a no_pay object will 423 still have unlimited money, etc. This flag works best when no other 424 privileges are granted to the object.) 425 426 See also: control 408 427 & NOACCENTS 409 428 Flag: NOACCENTS (players) … … 495 514 Flag: OPAQUE (all types) 496 515 497 When set on yourself, it prevents other players from 498 seeing what you are carrying in your inventory. This applies to 499 everyone and everything, even wizards and royalty, or to stuff 500 that you own. It works the same way on objects. 516 When set on yourself, it prevents other players from seeing what you are 517 carrying in your inventory. This applies to everyone and everything, 518 even wizards and royalty, or to stuff that you own. It works the same 519 way on objects. This flag also prevents people inside an object 520 from using look/outside. 501 521 502 522 When set on an exit in a TRANSPARENT room, the exit is displayed 1.7.7/game/txt/hlp/pennfunc.hlp
r411 r417 215 215 list() lnum() mudname() null() objeval() 216 216 open() pcreate() r-function rand() restarts() 217 s-function s et() setq() setr() soundex()218 sound slike() tel() textfile() valid() version()219 wipe() @@()217 s-function scan() set() setq() setr() 218 soundex() soundslike() tel() textfile() valid() 219 version() wipe() @@() 220 220 221 221 & @@() … … 625 625 be specified: 626 626 <type> Comparison 627 A Case-sensitive lexicographic (default)628 I Case-insensitive lexicographic627 A Maybe case-sensitive lexicographic (default) 628 I Always case-insensitive lexicographic 629 629 D Dbrefs of valid objects 630 630 N Integers 631 631 F Floating point numbers 632 633 Whether or not the a sort type is case-sensitive or not depends 634 on the particular mush and its environment. 632 635 & CON() 633 636 con(<object>) … … 2782 2785 if vf were @trigger me/ve, then triggering the vf makes the ve 2783 2786 return "This is <object>" 2784 2787 2788 & SCAN() 2789 scan(<object>, <command>) 2790 2791 This function works like @scan, and returns a space-separated list of 2792 dbref/attribute pairs containing $commands that would be triggered if 2793 <command> were run by <object>. You must control <object> or be 2794 See_All to use this function. 2795 2785 2796 & SCRAMBLE() 2786 2797 scramble(<string>) 2787 2788 This function scrambles a string, returning a random permutation of its 2798 2799 This function scrambles a string, returning a random permutation of its 2789 2800 characters. For example, "[scramble(abcdef)]" might return "cfaedb". 2790 2801 Note that this function does not pay any attention to spaces or other 2791 2802 special characters; it will scramble these characters just like normal 2792 2803 characters. 2793 2804 2794 2805 & SECS() 2795 2806 secs() 2796 2807 2797 2808 This function takes no arguments, and returns the number of elapsed 2798 2809 seconds since midnight, January 1, 1970 UTC. UTC is the base time zone, … … 2801 2812 & SECURE() 2802 2813 secure(<string>) 2803 2814 2804 2815 This function returns <string> with all "dangerous" characters replaced 2805 by spaces. Dangerous characters are ( ) [ ] { } $ % , ^ and ; 2806 This can make output slightly ugly, but it's a good way of preventing2807 otherpeople from doing nasty things with your objects.2816 by spaces. Dangerous characters are ( ) [ ] { } $ % , ^ and ; This 2817 can make output slightly ugly, but it's a good way of preventing other 2818 people from doing nasty things with your objects. 2808 2819 2809 2820 See also: ESCAPE() … … 2970 2981 The following letters as a second argument specify a certain sort: 2971 2982 2972 'a': Sort lexicographically. 2973 'd': Sort dbrefs. 2974 'n': Sort integer numbers. 2975 'f': Sort decimal numbers. 2983 a: Sort lexicographically (Maybe case-sensitive). 2984 i: Sort lexicographically (Always case-insensitive). 2985 d: Sort dbrefs. 2986 n: Sort integer numbers. 2987 f: Sort decimal numbers. 2988 2989 Whether or not the a sort type is case-sensitive or not depends 2990 on the particular mush and its environment. 2976 2991 2977 2992 The optional third argument gives the list's delimiter character. … … 3287 3302 See HELP CTU() for more on the angle type. 3288 3303 & TEL() 3289 tel(<object>,<destination> )3304 tel(<object>,<destination>[,<silent>]) 3290 3305 3291 3306 This function will teleport <object> to <destination>, exactly as 3292 @tel <object>=<destination>. 3307 @tel <object>=<destination>. <silent> is an optional boolean that, 3308 if true, makes the function act like @tel/silent. 3293 3309 3294 3310 See also: @tel 1.7.7/game/txt/hlp/penntop.hlp
r411 r417 321 321 3. If O is a Wizard, O controls V 322 322 4. If V is Royalty, O must be Royalty, Wizard or God 323 5. If V and O are owned by the same player: 324 5a. If V is not TRUST, O controls V 325 5b. If V is TRUST, O must be TRUST or the player must be TRUST 326 6. If V is on a zone, and isn't a player and isn't TRUST, 323 5. If O is MISTRUST, O must be V to control V 324 6. If V and O are owned by the same player: 325 6a. If V is not TRUST, O controls V 326 6b. If V is TRUST, O must be TRUST or the player must be TRUST 327 7. If V is on a zone, and isn't a player and isn't TRUST, 327 328 O controls V if O passes the zone-lock of the zone. 328 7. If V is owned by a SHARED player, and V isn't a player and isn't set329 8. If V is owned by a SHARED player, and V isn't a player and isn't set 329 330 TRUST, O controls V if O passes the zone-lock of the SHARED player. 330 331 331 Step 6is skipped if config(zone_control_zmp_only) is on.332 Step 7 is skipped if config(zone_control_zmp_only) is on. 332 333 There's also one special case: anyone can @link an unlinked exit 333 334 (at which point the exit is @chowned to the linker). 334 335 335 See also: controls(), TRUST, ZONES, SHARED PLAYERS336 See also: controls(), TRUST, MISTRUST, ZONES, SHARED PLAYERS 336 337 & COSTS 337 338 These are usually: 1.7.7/game/txt/hlp/pennvers.hlp
r415 r417 1 1 & changes 2 & 1.7.7p 82 & 1.7.7p9 3 3 This is a list of changes in this patchlevel which are probably of 4 4 interest to players. More information about new commands and functions … … 12 12 be read in 'help patchlevels'. 13 13 14 Version 1.7.7 patchlevel 9 January 27, 2003 15 16 Functions: 17 * New function scan() works like @scan. Suggested by Viila@M*U*S*H. 18 Flags: 19 * New flag, MISTRUST, prevents an object from controlling anything 20 but itself. 21 Configuration: 22 * mush.cnf directives ansi_justify, globals, and global_connects have 23 been removed (they are now always on). 24 * New unconnected_idle_timeout directive in mush.cnf controls 25 timeouts for connections idle at the connect screen. 26 * New max_guests directive in mush.cnf can limit the number of 27 guests allowed to connect at once. Suggested by Sholevi@M*U*SH. 28 Minor Changes: 29 * New lflags search class takes a list of flag names. 30 * Improved connection failure messages. 31 * Somewhat more informative message when you @chan/gag,hide,mute 32 all channels at once. Suggested by Tanaku and Kevin@M*U*S*H. 33 * Began commenting files using doxygen. 34 * Internal code cleanup. Mostly converting some magic numbers to 35 #define'd symbols, and some #define'd symbols to enums for better 36 debugging and improved readability. Also some conversion of old 37 K&R style functions. [SW] 38 * sort() and the set functions understand all the same comparison 39 types as comp(). [SW] 40 * Case-sensitive comparison currently isn't always possible, depending 41 on the locale the mush is running on. Help files reflect this. [SW] 42 * @uptime shows the time of the last successful database save, and 43 the time of future events like saves, not just the time until them. 44 Suggested by Cheetah@M*U*S*H. [SW] 45 * Improvements to reporting of failed saves. [SW] 46 * Code cleanup. [SW] 47 * tel() now takes a third argument that makes it function like 48 @tel/silent. Suggested by Cheetah@M*U*S*H. [SW] 49 * @idescformat operates like @descformat for internal descriptions. 50 Suggested by Tanya@M*U*S*H. 51 Fixes: 52 * local_startup() was getting run earlier than in the past due to 53 changes in the startup sequence. This has been rectified, so 54 local_startup() again runs after all other initialization (and 55 just before all object startups are triggered). Report by 56 BladedThoth and grapenut@M*U*S*H. 57 * Improved testing for openssl libraries in Configure. The old 58 approach used to cause problems on systems with runtime-only 59 openssl installations without development libraries. 60 * help opaque mentions that opaque blocks look/outside. Suggested 61 by Cheetah@M*U*S*H. 62 * itext() and inum() now generate an error on a null argument, 63 regardless of tiny_math and null_eq_zero settings. Reported by 64 Intrevis@M*U*S*H. 65 * Another fix to the new matcher. Bug report by Kyieren@M*U*S*H. 66 * @flag/alias was broken. Fixed. Reported by Kevin@M*U*S*H. 67 68 69 & 1.7.7p8 14 70 Version 1.7.7 patchlevel 8 January 27, 2003 15 71 … … 682 738 * Indentation fixes [SW] 683 739 * Fixes up to 1.7.4p12 merged in. 740 741 & 1.7.6p7 742 Version 1.7.6 patchlevel 7 January 23, 2003 743 744 Fixes: 745 * Some sloppy coding in src/access.c could generate runtime 746 debugging exceptions. Reported by BladedThoth@M*U*S*H. 747 * wrap() could behave incorrectly when a line was exactly the length 748 of the wrap width and the total input size was larger than 749 any previously wrapped input. Reported by Liam@Firdeloth. 750 * Extra NUL characters were sent after telnet codes, which 751 confused Mudnet and maybe some clients. Patch by Alierak. 752 684 753 685 754 & 1.7.6p6 … … 3368 3437 works. Report by Vedui. 3369 3438 3370 3371 & 1.6.10p63372 Version 1.6.10 patchlevel 6 May 11, 19973373 3374 Fixes:3375 * inc() and dec() didn't work right with NULL_EQ_ZERO.3376 Fixed. Report by Dennis DeMarco3377 3378 3439 & 1.7.1p3 3379 3440 Version 1.7.1 patchlevel 3 January 12, 1998 … … 3468 3529 Reported by Leo@ATS TrekMUSH 3469 3530 * @chan/gag now works correctly. Report by Vedui. 3470 3471 3472 & 1.7.0p113473 Version 1.7.0 patchlevel 11 November 18, 19973474 3475 Fixes:3476 3531 * Help for remove() updated. Reported by Vedui@Robotech. 3477 3532 * hasattr() didn't check if the invoker had permission to read … … 6045 6100 type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3' 6046 6101 6047 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8 6048 1.7.6: 0, 1, 2, 3, 4, 5, 6 6102 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 6103 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7 6049 6104 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 6050 6105 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, … … 6054 6109 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 6055 6110 1.7.1: 0, 1, 2, 3 6056 1.7.0: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 116057 1.6.10: 0, 1, 2, 3, 4, 5, 6 , 66111 1.7.0: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 6112 1.6.10: 0, 1, 2, 3, 4, 5, 6 6058 6113 1.6.9: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 6059 6114 1.6.8: 0, 1 1.7.7/hdrs/access.h
r405 r417 2 2 #define __ACCESS_H 3 3 4 /* A linked list data structure to hold the access info */ 4 /** Access information for a host-pattern. 5 * This structure holds access information for a given host-pattern. 6 * It's organized into a linked list of access rules. 7 */ 5 8 struct access { 6 char host[BUFFER_LEN]; 7 char comment[BUFFER_LEN]; 8 dbref who; 9 int can; 10 int cant; 11 struct access *next; 9 char host[BUFFER_LEN]; /**< The host pattern */ 10 char comment[BUFFER_LEN]; /**< A comment about the rule */ 11 dbref who; /**< Who created this rule if sitelock used */ 12 int can; /**< Bitflags of what the host can do */ 13 int cant; /**< Bitflags of what the host can't do */ 14 struct access *next; /**< Pointer to next rule in the list */ 12 15 }; 13 16 1.7.7/hdrs/atr_tab.h
r399 r417 68 68 {"GIVE", AF_NOPROG | AF_PREFIXMATCH, NULL, 0, NULL}, 69 69 {"HAVEN", AF_NOPROG | AF_PREFIXMATCH, NULL, 0, NULL}, 70 {"IDESCFORMAT", AF_NOPROG | AF_PREFIXMATCH, NULL, 0, NULL}, 70 71 {"IDESCRIBE", AF_NOPROG | AF_PREFIXMATCH, NULL, 0, NULL}, 71 72 {"IDLE", AF_NOPROG | AF_PREFIXMATCH, NULL, 0, NULL}, 1.7.7/hdrs/attrib.h
r399 r417 2 2 #define _ATTRIB_H 3 3 4 /* the attribute structure */ 4 /** An attribute on an object. 5 * This structure represents an attribute set on an object. 6 * Attributes form a linked list on an object, sorted alphabetically. 7 */ 5 8 struct attr { 6 char const *name; /* name of attribute */7 int flags; 8 unsigned char *value; 9 dbref creator; 10 ATTR *next; 9 char const *name; /**< Name of attribute */ 10 int flags; /**< Attribute flags */ 11 unsigned char *value; /**< The attribute's value, compressed */ 12 dbref creator; /**< The attribute's creator's dbref */ 13 ATTR *next; /**< Pointer to next attribute in list */ 11 14 }; 12 15 1.7.7/hdrs/boolexp.h
r399 r417 28 28 #define OWNER_TOKEN '$' 29 29 30 /** An attribute lock specification. 31 * This structure is a piece of a boolexp that's used to store 32 * attribute locks (CANDO:1), eval locks (CANDO/1), and flag locks 33 * FLAG^WIZARD. 34 */ 30 35 struct boolatr { 31 const char *name; /* which attribute?*/32 char text[BUFFER_LEN]; 36 const char *name; /**< Name of attribute, flag, etc. to test */ 37 char text[BUFFER_LEN]; /**< Value to test against */ 33 38 }; 34 39 40 /** A boolean expression. 41 * Boolean expressions are most widely used in locks. This structure 42 * is a general representation of the possible boolean expressions 43 * that can be specified in MUSHcode. 44 */ 35 45 struct boolexp { 36 boolexp_type type; /* and, or, not, indirect, is, carry, etc. */ 37 dbref thing; /* thing refers to an object, or boolean val */ 46 /** Type of expression. 47 * The type of expressio is one of the boolexp_type's, such as 48 * and, or, not, constant, attribute, indirect, carry, is, 49 * owner, eval, flag, etc. 50 */ 51 boolexp_type type; 52 dbref thing; /**< An object, or a boolean val */ 53 /** The expression itself. 54 * This union comprises the various possible types of data we 55 * might need to represent any of the expression types. 56 */ 38 57 union { 58 /** And and or locks: combinations of boolexps. 59 * This union member is used with and and or locks. 60 */ 39 61 struct { 40 struct boolexp *a; 41 struct boolexp *b; 42 } sub; /* For and and or locks */43 struct boolexp *n; /* For not locks*/44 struct boolatr *atr_lock; /* For atr, eval and flag locks */45 const char *ind_lock; /* For indirect locks */62 struct boolexp *a; /**< One boolean expression */ 63 struct boolexp *b; /**< Another boolean expression */ 64 } sub; 65 struct boolexp *n; /**< Not locks: boolean expression to negate */ 66 struct boolatr *atr_lock; /**< Atr, eval and flag locks */ 67 const char *ind_lock; /**< Indirect locks */ 46 68 } data; 47 69 }; 1.7.7/hdrs/command.h
r415 r417 103 103 104 104 typedef struct command_alias COMALIAS; 105 /** An alias to a command. 106 * This structure represents a command alias, which consists of the command's 107 * r
