~ubuntu-branches/ubuntu/utopic/tinymux/utopic

« back to all changes in this revision

Viewing changes to game/text/help.txt

  • Committer: Bazaar Package Importer
  • Author(s): Ervin Hearn III
  • Date: 2008-04-11 23:18:25 UTC
  • mfrom: (1.1.5 upstream) (6.1.1 gutsy)
  • Revision ID: james.westby@ubuntu.com-20080411231825-1pq4trckagyk8roo
Tags: 2.6.5.27-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
& HELP
2
2
HELP
3
3
 
4
 
  This is the MUX online help facility.
 
4
  This is the TinyMUX online help facility.
5
5
 
6
6
     Notes on help descriptions:
7
7
        [text] - Text enclosed in []'s is optional.  The []'s are never typed
12
12
  -  Syntax of help command:
13
13
       help [<command>]
14
14
 
15
 
  -  To get a list of MUX topics:
 
15
  -  To get a list of TinyMUX topics:
16
16
       help topics
17
17
 
18
18
  -  To get a list of Comsystem commands:
19
19
       help comsys
20
20
 
21
 
  -  To get a list of MUX Commands:
 
21
  -  To get a list of TinyMUX Commands:
22
22
       help commands      (or @list commands)
23
23
 
24
24
  Some of the configuration shown in the help.txt might not be the same as
25
 
  the configuration of this MUX. If you notice any errors, contact an Admin.
 
25
  the configuration of this MUX.  If you notice any errors, contact an admin.
26
26
 
27
27
& "
28
28
"
84
84
  COMMAND: :<message>
85
85
 
86
86
  Displays <message> to everyone in your current room, preceded by your name
87
 
  and a space.
 
87
  and a space.  However, if <message> starts with a space, no space is
 
88
  inserted between your name and the pose -- like the ';' command.
88
89
 
89
90
  Example:
90
91
    >:jumps for joy.
91
92
    Player jumps for joy.
 
93
    >: 's cat meows.
 
94
    Player's cat meows.
92
95
 
93
96
  Related Topics: page, pose, say, whisper, ;, ".
94
97
 
98
101
  COMMAND: ;<message>
99
102
 
100
103
  This command is much like the ':' command, except that no space is inserted
101
 
  between your name and the action. 
102
 
 
 
104
  between your name and the pose.  However, <message> can start with its own
 
105
  space -- a result similar to using the ':' command.
 
106
 
103
107
  Example:
104
108
    > ;'s watch beeps.
105
109
    Player's watch beeps.
 
110
    > ; meows.
 
111
    Player meows.
106
112
 
107
113
  Warning: This command does not work in command lists run from an attribute
108
114
  because the ';' is treated as the command separator.  Use pose/nospace
378
384
 
379
385
  Related Topics: kill, @kill and @okill, BEING KILLED, IMMORTAL, WIZARD.
380
386
 
 
387
& @ALEAD
 
388
@ALEAD
 
389
 
 
390
  COMMAND:   @alead <object> = <command list>
 
391
  ATTRIBUTE: Alead
 
392
 
 
393
  Sets the <command list> executed when object is lead.
 
394
 
 
395
  This attribute is only available if FIRANMUX is enabled.
 
396
 
 
397
  Related Topics: @lead, @olead.
 
398
 
381
399
& @ALEAVE
382
400
@ALEAVE
383
401
 
719
737
 
720
738
  Deletes <channel> permanently from the comsystem database. It does not
721
739
  destroy all aliases that exist for <channel> -- those are left to the
722
 
  owners of those aliases. Players are notified both at login when they   
723
 
  own aliases for which a channel no longer exists and when they try to 
724
 
  use them. Even if a Channel is destroyed and then recreated, the alias 
725
 
  will still be non functioning. The alias must be removed with the 
 
740
  owners of those aliases. Players are notified both at login when they
 
741
  own aliases for which a channel no longer exists and when they try to
 
742
  use them. Even if a Channel is destroyed and then recreated, the alias
 
743
  will still be non functioning. The alias must be removed with the
726
744
  'delcom' command and added with the 'addcom' command.
727
745
 
728
746
  Example:
771
789
& @CHOWN
772
790
@CHOWN
773
791
 
774
 
  COMMAND: @chown <object>[=<player>]
775
 
           @chown <object>/<attr>[=<player>]
776
 
 
777
 
  The first form changes the ownership of <object> to <player> (default is
778
 
  to yourself).  Objects may be things, rooms or exits. To chown things, you
779
 
  have to be carrying the thing. For rooms or exits, you have to be in the
780
 
  room. Objects must have the CHOWN_OK flag set before they may be @chowned.
781
 
  In a room, the command used must be @chown here = <name>, and for an object,
782
 
  you must be very specific.
783
 
 
784
 
  The second form changes the ownership of the indicated attribute on <object>
785
 
  to <player> (default is the owner of the object).  You may only @chown
786
 
  unlocked attributes.  You may @chown unlocked attributes on objects that
787
 
  you own to yourself, and you may also @chown attributes that you own on
788
 
  objects owned by others to the owner of the object.
 
792
  COMMAND: @chown[/nostrip] <object>[=<player>]
 
793
           @chown           <object>/<attr>[=<player>]
 
794
 
 
795
  The first form changes the ownership of <object> to <player>.  By default,
 
796
  this is yourself.  Objects may be things, rooms or exits.  To @chown things,
 
797
  you have to be carrying the thing.  For rooms or exits, you have to be in
 
798
  the room.  Objects must have the CHOWN_OK flag set before they may be
 
799
  @chowned.  In a room, the command used must be @chown here=<name>, and for
 
800
  an object, you must be very specific.  Players can't be @chowned; they
 
801
  always own themselves.
789
802
 
790
803
  When an object is @chowned, all unlocked attributes on the object are
791
 
  automatically @chowned as well, locked attributes remain owned by their
 
804
  automatically @chowned as well.  Locked attributes remain owned by their
792
805
  original owners.
793
806
 
794
 
  The HALTED flag is automatically set on the new copy of the object.
795
 
  Players can't be @chowned; they always own themselves.
796
 
 
797
 
  Related Topics: @lock, @Unlock, CHOWN_OK, ATTRIBUTE OWNERSHIP.
 
807
  Without the /nostrip switch, CHOWN_OK, all flags specified in the
 
808
  stripped_flags configuration option, and all @powers are stripped.  Also,
 
809
  HALT is set.  With /nostrip, ROYALTY and INHERIT are preserved (albeit with
 
810
  warnings).  #1 can use /nostrip to further preserve WIZARD and @powers.
 
811
  
 
812
  By default, stripped_flags includes: BLIND, CONNECTED, GAGGED, HEAD_FLAG,
 
813
  IMMORTAL, INHERIT, ROYALTY, SLAVE, STAFF, SUSPECT, UNINSPECTED, and WIZARD.
 
814
 
 
815
{ 'help @chown2' for more }
 
816
 
 
817
& @CHOWN2
 
818
@CHOWN (continued)
 
819
 
 
820
  The second form changes the ownership of the indicated attribute on <object>
 
821
  to <player>.  The default is the owner of the object.  You may only @chown
 
822
  unlocked attributes.  You may @chown unlocked attributes on objects that you
 
823
  own to yourself, and you may also @chown attributes that you own on objects
 
824
  owned by others to the owner of the object.
 
825
 
 
826
  Related Topics: ATTRIBUTE OWNERSHIP, CHOWN_OK, @lock, stripped_flags, and
 
827
                  @unlock.
798
828
 
799
829
& @CHZONE
800
830
@CHZONE
801
831
 
802
832
  COMMAND: @chzone <object>=<zone object>.
803
833
 
804
 
  Changes the zone of <object> to <zone object>. If <zone object> is "none",
 
834
  Changes the zone of <object> to <zone object>.  If <zone object> is "none",
805
835
  the zone is reset to NOTHING.
806
836
 
807
837
  @chzone'ing a player does not automatically change the zone of their
808
 
  objects. Anyone may reset the zone of an object they own; <zone object>
809
 
  must either be "none", or must be owned by them. Only wizards may @chzone
810
 
  an object to an arbitrary zone object. Players may @chzone themselves to
811
 
  an object they own; otherwise, only wizards may @chzone players.
812
 
  @chzone'ing resets the WIZARD, ROYALTY, and INHERIT flags on non-player
813
 
  objects.
814
 
 
815
 
  Related Topics: ZONE OBJECTS
 
838
  objects.  Anyone may reset the zone of an object they own; <zone object>
 
839
  must either be "none", or must be owned by them.  Only wizards may @chzone
 
840
  an object to an arbitrary zone object.  Players may @chzone themselves to
 
841
  an object they own; otherwise, only wizards may @chzone players.  For
 
842
  non-player objects, @chzone'ing strips all flags in the stripped_flags.
 
843
 
 
844
  By default, stripped_flags includes: BLIND, CONNECTED, GAGGED, HEAD_FLAG,
 
845
  IMMORTAL, INHERIT, ROYALTY, SLAVE, STAFF, SUSPECT, UNINSPECTED, and WIZARD.
 
846
 
 
847
  Related Topics: stripped_flags, ZONE OBJECTS
816
848
 
817
849
& @CLIST
818
850
@CLIST
858
890
  the clone object will be left unparented.
859
891
 
860
892
  You may clone your own objects, plus VISUAL objects owned by others.
861
 
  The INHERIT and WIZARD bits of the (new) object are cleared when the object
862
 
  is cloned.  If <newname> is specified, it is used as the name instead of
863
 
  the original name.
 
893
  Typically, INHERIT, WIZARD, and other flags in the stripped_flags
 
894
  configuration option are not cloned.  Powers are never cloned.  If <newname>
 
895
  is specified, it is used as the name instead of the original name.
 
896
 
 
897
  By default, stripped_flags includes: BLIND, CONNECTED, GAGGED, HEAD_FLAG,
 
898
  IMMORTAL, INHERIT, ROYALTY, SLAVE, STAFF, SUSPECT, UNINSPECTED, and WIZARD.
864
899
 
865
900
  If you clone a linked exit, an attempt is made to link the clone to the
866
901
  same location.  Except when using the /inventory switch, you can only clone
867
902
  exits when you own your current location.
868
903
 
 
904
{ 'help @clone2' for more }
 
905
 
 
906
& @CLONE2
 
907
@CLONE (continued)
 
908
 
869
909
  If you clone a room with a drop-to, an attempt is made to link the drop-to
870
910
  to the same location.
871
911
 
872
 
{ 'help @clone2' for more }
873
 
 
874
 
& @CLONE2
875
 
@CLONE (continued)
876
 
 
877
912
  If the original object was owned by you, then the ACLONE attribute is run
878
913
  in the new attribute, otherwise the new object is set HALTED.  Exits and
879
914
  contents of cloned objects are not cloned, and LOCKED attributes are not
880
915
  copied.
881
916
 
882
917
  The following switches are available:
 
918
 
883
919
     /cost       - Treat the argument after the = as the cost of the new
884
920
                   object, not the name.
 
921
 
885
922
     /inherit    - Don't reset the INHERIT bit on the new object.
 
923
 
886
924
     /inventory  - Create the new object in your inventory (or your exitlist,
887
925
                   in the case of cloning exits).
 
926
 
 
927
     /nostrip    - Flags in the stripped_flags set are not stripped except
 
928
                   that only #1 is allowed to clone WIZARD.
 
929
 
888
930
     /location   - Create the new object in your location (default).
 
931
 
 
932
{ 'help @clone3' for more }
 
933
 
 
934
& @CLONE3
 
935
@CLONE (continued)
 
936
 
889
937
     /parent     - Set the new object's parent to be the template object and
890
938
                   don't copy the attributes.
891
939
 
892
 
  Related Topics: @create, @decompile, @destroy, VISUAL.
 
940
     /preserve   - Let the existing owner own the clone. Existing owner must
 
941
                   be controllable.
 
942
 
 
943
  Related Topics: @create, @decompile, @destroy, stripped_flags, VISUAL.
893
944
 
894
945
& @COFLAGS
895
946
@COFLAGS
914
965
 
915
966
  Related Topics: @cpflags, @clist, CHANNEL OBJECT.
916
967
 
 
968
& @COLOR
 
969
@COLOR
 
970
 
 
971
  COMMAND:   @color <object> = <color-code-list>
 
972
  ATTRIBUTE: Color
 
973
 
 
974
  Controls the colorization of an object's name.
 
975
 
 
976
  Example:
 
977
    @color me = hr
 
978
 
 
979
  This attribute is only available if FIRANMUX is enabled, and is expected to
 
980
  be deprecated in favor of @moniker.
 
981
 
 
982
  Related Topics: ansi(), ANSI CODES, @moniker, moniker().
 
983
 
917
984
& @CONFORMAT
918
985
@CONFORMAT
919
986
 
1029
1096
              <value>. <value> may contain color.
1030
1097
    object  - Sets the channel object to <value>. You must create an object
1031
1098
              before associating a channel with it.
1032
 
    log     - Sets the maximum number of channel messages to log. 
 
1099
    log     - Sets the maximum number of channel messages to log.
1033
1100
              The channel must have an object.
1034
1101
 
1035
1102
  You can set a description for the channel by changing the description
1235
1302
  If present, <switch> can be any of:
1236
1303
    /space   - (Default) List elements are separated by spaces.
1237
1304
    /delimit - List elements are separated by <delimiter>.
1238
 
    /notify  - Queues an '@notify' after all commands in the list.
 
1305
    /notify  - Queues a '@notify' after all commands in the list.
1239
1306
 
1240
1307
  This command is particularly handy with lcon() and lexits(). A few examples:
1241
1308
 
1296
1363
  command 'enter <object>' when you are in the same location as the object.
1297
1364
  The alternate commands are separated by semicolons just like in exit names.
1298
1365
 
1299
 
  Entry aliases are checked for after exitnames, builtin MUX commands, and
1300
 
  leave aliases for the current location, but before $-commands.  If more than
1301
 
  one object has an entry alias that matches a player's command, the one on
1302
 
  the object that occurs first in the location contents list is used.
 
1366
  Entry aliases are checked after exit names, built-in MUX commands, and leave
 
1367
  aliases for the current location, but before $-commands.  If more than one
 
1368
  object has an entry alias that matches a player's command, the one on the
 
1369
  object that occurs first in the location contents list is used.
1303
1370
 
1304
1371
  This attribute is meaningful for players and things, and will never be
1305
1372
  automatically looked at on rooms or exits.
1354
1421
  Related Topics: @aefail, @aenter, @ealias, @enter, @oefail, @oenter, enter,
1355
1422
      ENTER_OK.
1356
1423
 
 
1424
& @EMAIL
 
1425
@EMAIL
 
1426
 
 
1427
  COMMAND: @email <address>[/<subject>]=<body>
 
1428
 
 
1429
  Sends an E-mail to <address> containing given <body>.  The default subject
 
1430
  is controller by the mail_subject configuration option, but <subject>, if
 
1431
  given, overrides the default.
 
1432
 
 
1433
  This command will not work unless configured properly.  See configuration
 
1434
  options in wizhelp.
 
1435
 
 
1436
  Related Topics: mail_server, mail_ehlo, mail_sendaddr, mail_sendname,
 
1437
                  mail_subject
 
1438
 
1357
1439
& @EMIT
1358
1440
@EMIT
1359
1441
 
1397
1479
  This attribute is meaningful for players, things, and rooms, and will never
1398
1480
  be automatically triggered on exits.
1399
1481
 
1400
 
  Example: @enter car = You climb into the car and buckle your seatbelt.
 
1482
  Example: @enter car = You climb into the car and buckle your seat belt.
1401
1483
 
1402
1484
  Related Topics: enter, @aenter, @oenter, ENTER_OK.
1403
1485
 
1450
1532
  Because this can be used to go anywhere, @exitto is a wizard-only
1451
1533
  attribute.
1452
1534
 
1453
 
  Even though @exitto take precendence over the static destination of an exit,
 
1535
  Even though @exitto take precedence over the static destination of an exit,
1454
1536
  don't forget to @link all exits anyway.  Anyone can @link an unlinked exit
1455
1537
  and therefore 'own' and @destroy it.
1456
1538
 
1649
1731
 
1650
1732
  Related Topics: @drain, @notify, kill, HALTED, SEMAPHORES.
1651
1733
 
 
1734
& @HTDESC
 
1735
@HTDESC
 
1736
 
 
1737
  COMMAND: @htdesc <object> = <message>
 
1738
  ATTRIBUTE: HTDesc
 
1739
 
 
1740
  Sets the HTML description for <object> to be shown when a player with the
 
1741
  HTML flag looks at the object. If there is no HTDesc set, then the player
 
1742
  is shown the regular description from Desc.
 
1743
 
 
1744
  You may place regular, raw HTML in the @htdesc, however if you do so you
 
1745
  should set the HTML flag on the object. Without the flag any '<' characters
 
1746
  are translated to '&lt;' and any '>' are translated to '&gt;'. If this
 
1747
  occurs, the browser will display the '<' and '>' characters instead of
 
1748
  handling them as HTML tags.
 
1749
 
 
1750
  Functions and %-substitutions are evaluated in this attribute.
 
1751
 
 
1752
  Example:
 
1753
    > @htdesc me=<IMG SRC="http://www.fakeserver.com/image.png">
 
1754
    > @set me/htdesc = html
 
1755
 
 
1756
  See also: PUEBLO, @set, HTML
 
1757
 
1652
1758
& @IDESC
1653
1759
@IDESC
1654
1760
 
1813
1919
  command 'leave' when you are inside a player or a thing.  The alternate
1814
1920
  commands are separated by semicolons just like in exit names.
1815
1921
 
1816
 
  Leave aliases are checked for after exitnames and builtin MUX commands, but
 
1922
  Leave aliases are checked after exit names and built-in MUX commands but
1817
1923
  before enter aliases and $-commands.
1818
1924
 
1819
1925
  This attribute is meaningful for players and things, and will never be
1833
1939
  number of successful and failed connections.
1834
1940
  You can only display information about yourself.
1835
1941
 
 
1942
& @LEAD
 
1943
@LEAD
 
1944
 
 
1945
  COMMAND:   @lead <object> = <message>
 
1946
  ATTRIBUTE: Lead
 
1947
 
 
1948
  Sets the <message> seen by the object when it is lead.
 
1949
 
 
1950
  This attribute is only available if FIRANMUX is enabled.
 
1951
 
 
1952
  Related Topics: @alead, @olead.
 
1953
 
1836
1954
& @LEAVE
1837
1955
@LEAVE
1838
1956
 
1851
1969
  This attribute is meaningful for players, things, and rooms, and will never
1852
1970
  be automatically triggered on exits.
1853
1971
 
1854
 
  Example: @leave car = You unbuckle your seatbelt and climb out of the car.
 
1972
  Example: @leave car = You unbuckle your seat belt and climb out of the car.
1855
1973
 
1856
1974
  Related Topics: leave, @aleave, @oleave.
1857
1975
 
2077
2195
 
2078
2196
  Evaluation locks let you evaluate one of your attributes and compare the
2079
2197
  result against a value stored in the lock.  The result must be an exact
2080
 
  match (no wildcarding allowed, but uppercase and lowercase are considered
 
2198
  match (no wildcard-ing allowed, but upper-case and lower-case are considered
2081
2199
  to be the same).  When evaluating the attribute the enactor substitutions
2082
2200
  (%#/%n/etc) are replaced with information about the player trying to pass
2083
2201
  the lock, and 'me' and %! refer to the locked object or exit.
2440
2558
 
2441
2559
  COMMAND: @nameformat <object> [=<format>]
2442
2560
 
2443
 
  By default, when an object is looked at, the object's name is shown.
2444
 
  And, if you can link to the object, it's flag letters and dbref are also
2445
 
  shown. However, with @nameformat, you can control exactly what is shown.
 
2561
  By default, when an object is looked at, the object's name is shown.  And,
 
2562
  if you can link to the object, its flag letters and dbref are also shown. 
 
2563
  
 
2564
  With @nameformat, you can control exactly what is shown to people who
 
2565
  use 'look' while inside.  @nameformat is not used when people outside the
 
2566
  object look at it.
2446
2567
 
2447
 
  Related Topics: @conformat, @exitformat
 
2568
  Related Topics: @conformat, @descformat, @exitformat
2448
2569
 
2449
2570
& @NEMIT
2450
2571
@NEMIT
2667
2788
 
2668
2789
  Related Topics: kill, @akill, @kill, BEING KILLED, IMMORTAL, WIZARD.
2669
2790
 
 
2791
& @OLEAD
 
2792
@OLEAD
 
2793
 
 
2794
  COMMAND:   @olead <object> = <message>
 
2795
  ATTRIBUTE: Olead
 
2796
 
 
2797
  Sets the <message> seen by others when <object> is lead.
 
2798
 
 
2799
  This attribute is only available if FIRANMUX is enabled.
 
2800
 
 
2801
  Related Topics: @lead, @alead.
 
2802
 
2670
2803
& @OLEAVE
2671
2804
@OLEAVE
2672
2805
 
2926
3059
  This attribute is meaningful for players, things, and rooms, and will never
2927
3060
  be automatically triggered on exits.
2928
3061
 
2929
 
  Example: @oxleave wormhole = steps out of a hyperspatial wormhole.
 
3062
  Example: @oxleave wormhole = steps out of a hyper-spatial wormhole.
2930
3063
 
2931
3064
  Related Topics: leave, @aleave, @leave, @oleave.
2932
3065
 
2998
3131
  specified by dbref number. This can be combined with other switches.
2999
3132
 
3000
3133
  The following switches are also available:
 
3134
 
3001
3135
    /contents - Send the message to the contents of the named object.
3002
3136
    /html     - Send the message in HTML format (Pueblo).
3003
3137
    /noeval   - Do not parse the message.
3018
3152
& @POWER
3019
3153
@POWER
3020
3154
 
3021
 
  COMMAND: @power <object>=[!]<power>
 
3155
  COMMAND: @power <object>=[!]<power> [[!]<power> [...]]
3022
3156
 
3023
3157
  This command allows the granting of special powers to objects of any type.
3024
3158
 
3130
3264
 
3131
3265
  This attribute sets an upper limit on the number, <number>, of
3132
3266
  outstanding commands in the queue for this <object>.  This attribute
3133
 
  is only setable by a Wizard.
 
3267
  is only settable by a Wizard.
3134
3268
 
3135
3269
  In fact, the server has three overlapping constraints for developing
3136
3270
  an upper limit per player on the number of oustanding commands in the
3293
3427
& @SET
3294
3428
@SET
3295
3429
 
3296
 
  COMMAND: @set[/<switch>] <object>=[!]<flag1> [!][<flag2>
 
3430
  COMMAND: @set[/<switch>] <object>=[!]<flag1> [[!][<flag2> [...]]
3297
3431
           @set[/<switch>] <object>=<attribute>:<value>
3298
3432
           @set[/<switch>] <object>=<attribute>:_<fromobj>/<fromattr>
3299
3433
           @set[/<switch>] <object>/<attr>=[!]<attrflag>
3300
3434
 
3301
 
  The first form sets (or clears) the indicated flag or flags on <object>, 
 
3435
  The first form sets (or clears) the indicated flag or flags on <object>,
3302
3436
  the second form sets the <attribute> attribute on <object> to <value>,
3303
3437
  creating a new user-named attribute if there is no attribute named
3304
3438
  <attribute>.  The third form copies an attribute from another object, and
3317
3451
@SET (continued)
3318
3452
 
3319
3453
  The following flags may be set using the fourth form of the @set command:
 
3454
 
 
3455
     case       - $-command matching will not be case-sensitive.
 
3456
                  Non-functional unless the 'R' flag is also set.
3320
3457
     no_command - Prevent $-commands and ^-patterns defined in the attribute
3321
3458
                  from being performed.
3322
3459
     no_inherit - Prevents children of the object from obtaining the
3323
 
                  attribute.  From their perspective the attribute does not
 
3460
                  attribute.  From their perspective, the attribute does not
3324
3461
                  exist.
 
3462
     no_name    - If set on an @o-attr, don't prepend the name of the
 
3463
                  enactor.  This also affects @verb behavior.
3325
3464
     visual     - Anyone may see the attribute when they examine you, and
3326
3465
                  may get the attribute with get().
3327
3466
     hidden     - The attribute is only visible to wizards.
 
3467
     html       - Emits from attr, oattr, aattr are not HTML-escaped.
3328
3468
     regexp     - When $-commands are matched, treat the pattern as a
3329
3469
                  regular expression rather than a wildcard glob pattern.
 
3470
     trace      - The attribute will generate trace output.
3330
3471
     wizard     - The attribute may only be changed by wizards.
3331
3472
 
3332
3473
  The @set command takes the following switch:
 
3474
 
3333
3475
     quiet      - Inhibit 'Set.' acknowledgement messages.
3334
3476
 
3335
 
  Related Topics: @lock, @lock, examine, FLAGS, &.
 
3477
  Related Topics: ATTRIBUTE FLAGS, @lock, @lock, examine, FLAGS, &.
3336
3478
 
3337
3479
& @SEX
3338
3480
@SEX
3376
3518
  Sets a filter to be applied to all of <object>'s speech. <string> is
3377
3519
  evaluated with the original speech as %0 and the command as %1. It is
3378
3520
  then displayed in place of the original speech. You can use this to
3379
 
  colorize each word of what you say, say things backwards, etc. 
 
3521
  colorize each word of what you say, say things backwards, etc.
3380
3522
 
3381
 
  @speechmod affects: "  \\  ;  :  page  pose  say  whisper  @fpose  
 
3523
  @speechmod affects: "  \\  ;  :  page  pose  say  whisper  @fpose
3382
3524
     @fsay  @wall  on-channel speech
3383
3525
 
3384
3526
  %1 may be one of: channel  channel/pose  page  pose  say  whisper
3481
3623
 
3482
3624
  The following switches are available:
3483
3625
 
3484
 
     /all   - (default) Perform the actionlists associated with all targets
 
3626
    /all    - (default) Perform the action lists associated with all targets
3485
3627
              that match <string>.
3486
 
     /first - Perform only the actionlist associated with the first target
 
3628
    /first  - Perform only the action list associated with the first target
3487
3629
              that matches <string>.
 
3630
    /notify - Queues an '@notify' after all commands in the list.
3488
3631
 
3489
3632
  Related Topics: switch(), ifelse().
3490
3633
 
3512
3655
     /quiet - Teleports without setting off success or failure messages.
3513
3656
     /list  - Interpret <object> as a space-delimited list of objects.
3514
3657
 
3515
 
  Related Topics: JUMP_OK, @lock (tport and telout), @tfail, @otfail, @atfail,
3516
 
      @tofail, @otofail, @atofail.
 
3658
  Related Topics: JUMP_OK, @lock (TportLock and TeloutLock), @tfail, @otfail,
 
3659
      @atfail, @tofail, @otofail, @atofail.
3517
3660
 
3518
3661
& @TFAIL
3519
3662
@TFAIL
3584
3727
  are set to the supplied parameters.
3585
3728
 
3586
3729
  The @trigger command supports the following switch:
3587
 
     quiet      - Inhibit 'Triggered.' acknowledgement messages.
 
3730
    /quiet   - Inhibits 'Triggered.' acknowledgement messages.
 
3731
    /notify  - Queues a '@notify' after all commands in the list.
3588
3732
 
3589
3733
  Related Topics: LOOPING.
3590
3734
 
3624
3768
  The second form clears the locked flag on the indicated attribute of the
3625
3769
  named object.  This allows the attribute to change ownership to the new
3626
3770
  owner automatically when the object is @chowned, and allows the owner
3627
 
  of the object to @chown the attribute to themself or to overwrite it.
 
3771
  of the object to @chown the attribute to them self or to overwrite it.
3628
3772
  You must own the attribute to be unlocked, but you do not need to own the
3629
3773
  object.
3630
3774
 
3677
3821
@VERB (continued)
3678
3822
 
3679
3823
  Here is a description of the arguments to @verb:
 
3824
 
3680
3825
    victim - The object that is searched for attributes, and which runs the
3681
3826
             <awhat> attribute if it is found.
 
3827
 
3682
3828
    actor  - The object that 'did' the verb, this is the value for %#/%n/etc
3683
3829
             in substitutions, and this object's name is included in the
3684
3830
             message to others in the same location.
 
3831
 
3685
3832
    what   - The name of the attribute containing the message to be delivered
3686
3833
             to the actor.
 
3834
 
3687
3835
    whatd  - The message to deliver to the actor if the victim does not have a
3688
3836
             <what> attribute, or if it cannot be read.
3689
 
    owhat  - The name of the attribute containing the message (prefixed by the
3690
 
             actor's name) that is sent to everyone in the room with the actor.
3691
 
    owhatd - The message (prefixed by the actor's name) to deliver to others
3692
 
             in the room with the actor if the victim does not have an <owhat>
3693
 
             attribute, or it cannot be read.
 
3837
 
 
3838
    owhat  - The name of the attribute containing the message that is sent to
 
3839
             everyone in the room with the actor.  The message is prefixed
 
3840
             by the actor's name unless no_name flag is present on the
 
3841
             attribute.
 
3842
 
 
3843
    owhatd - The message to deliver to others in the room with the actor if
 
3844
             the victim does not have an <owhat> attribute, or it cannot be
 
3845
             read.  The message is prefixed by the actor's name unless
 
3846
             /no_name switch is specified.
 
3847
 
3694
3848
    awhat  - The name of the attribute that is to be executed by the victim.
 
3849
 
3695
3850
    args   - The comma-separated arguments to be passed for substitution
3696
3851
             (%0-%9).  If there is more than one argument, enclose all the
3697
3852
             arguments within curly braces.  Any argument that contains an
3719
3874
 
3720
3875
  Related Topics: locate().
3721
3876
 
 
3877
& @VRML_URL
 
3878
@VRML_URL
 
3879
 
 
3880
  Command: @vrml_url <location> = <url>
 
3881
  Attribute: VRML_URL
 
3882
 
 
3883
  Sets the URL of a VRML page to be shown to Pueblo users when they connect
 
3884
  in location.
 
3885
 
 
3886
  See also: PUEBLO, HTML, @htdesc
 
3887
 
3722
3888
& @WAIT
3723
3889
@WAIT
3724
3890
 
3794
3960
 
3795
3961
  Examples:
3796
3962
    > say abs(4)
3797
 
    You say "4"
 
3963
    You say, "4"
3798
3964
    > say abs(-4)
3799
 
    You say "4"
 
3965
    You say, "4"
3800
3966
    > say abs(0)
3801
 
    You say "0"
 
3967
    You say, "0"
3802
3968
 
3803
3969
  Related Topics: iabs(), isign(), sign().
3804
3970
 
3806
3972
ACCENT()
3807
3973
 
3808
3974
  FUNCTION: accent(<string>, <template>)
3809
 
  
 
3975
 
3810
3976
  The accent() function will return <string>, with characters in it
3811
3977
  possibly changed to accented ones according to <template>. Both
3812
3978
  arguments must be the same number of characters.
3825
3991
  <template> is checked according to the table below, and a replacement
3826
3992
  done. If either the current <string> or <template> characters aren't
3827
3993
  in the table, the <string> character is passed through unchanged.
3828
 
 
 
3994
 
3829
3995
  Accent                         Template   String
3830
3996
  Name       Description         Character  Character
3831
3997
  -----------------------------------------------------------------
3851
4017
 
3852
4018
  These are non-accent special characters, mostly punctuation and
3853
4019
  non-roman letters.
3854
 
 
 
4020
 
3855
4021
                      Template   String
3856
4022
  Description         Character  Character
3857
4023
  --------------------------------------------------------------
3869
4035
 
3870
4036
    > think accent(Aule, ---:)
3871
4037
    Aul(e-with-diaeresis)
3872
 
 
3873
 
    > think accent(The Nina was a ship, The Ni~a was a ship) 
 
4038
 
 
4039
    > think accent(The Nina was a ship, The Ni~a was a ship)
3874
4040
    The Ni(n-with-~)a was a ship
3875
4041
 
3876
4042
("help accent4" for more)
3896
4062
 
3897
4063
  Examples:
3898
4064
    > say acos(0)
3899
 
    You say "1.570796"
 
4065
    You say, "1.570796"
3900
4066
    > say acos(1)
3901
 
    You say "0"
 
4067
    You say, "0"
3902
4068
    > say acos(0.707101)
3903
 
    You say "0.785406"
 
4069
    You say, "0.785406"
3904
4070
    > say acos(0.866025)
3905
 
    You say "0.5236"
 
4071
    You say, "0.5236"
3906
4072
 
3907
4073
  Related Topics: asin(), atan(), cos(), pi(), sin(), tan().
3908
4074
 
3917
4083
 
3918
4084
  Example:
3919
4085
    > say add(2,4)
3920
 
    You say "6"
 
4086
    You say, "6"
3921
4087
    > say add(5,3,7,-4)
3922
 
    You say "11"
 
4088
    You say, "11"
3923
4089
 
3924
4090
  Related Topics: dec(), iadd(), idiv(), imul(), inc(), isub(),
3925
4091
            fdiv(), mod(), mul(), sub().
3938
4104
  instead of 'pub Hello'.
3939
4105
 
3940
4106
  One other thing to be careful of: adding a channel multiple times with
3941
 
  different aliases. While this is possible, it is also discouraged. You
3942
 
  will receive a warning when it happens.
 
4107
  different aliases.  While possible, it can be confusing.
3943
4108
 
3944
4109
  Example:
3945
4110
    >addcom pub=Public
3962
4127
 
3963
4128
  Examples:
3964
4129
    > say after(This is a test,a)
3965
 
    You say " test"
 
4130
    You say, " test"
3966
4131
    > say after(This is a test,is)
3967
 
    You say " is a test"
 
4132
    You say, " is a test"
3968
4133
    > say after(This is a test, nope)
3969
 
    You say ""
 
4134
    You say, ""
3970
4135
 
3971
4136
  Related Topics: before(), first(), rest().
3972
4137
 
4044
4209
  Takes one or more BOOLEAN-Z values, and returns 1 (TRUE) if all arguments
4045
4210
  are TRUE.
4046
4211
 
4047
 
  Related Topics: andbool(), BOOLEAN VALUES, or(), not(), t(), xor().
 
4212
  Related Topics: andbool(), BOOLEAN VALUES, cand(), or(), not(), t(), xor().
4048
4213
 
4049
4214
& ANDBOOL()
4050
4215
ANDBOOL()
4109
4274
 
4110
4275
& ANSI SUBSTITUTION
4111
4276
ANSI SUBSTITUTION
4112
 
  
4113
 
  The percent substitution %x<color code> can be used instead of 
4114
 
  ansi(), and is more efficient. 
4115
 
 
 
4277
 
 
4278
  The percent substitution %x<color code> can be used instead of
 
4279
  ansi(), and is more efficient.
 
4280
 
4116
4281
  For example, the equivalent to [ansi(rBf,Color!)] would be:
4117
4282
  %xr%xB%xfColor!%xn
4118
 
 
4119
 
  The %xn (to return to normal) is not necessary, but if it is not 
 
4283
 
 
4284
  The %xn (to return to normal) is not necessary, but if it is not
4120
4285
  specified the ansi color codes will continue to the end of the string.
4121
4286
 
4122
4287
  %x is preferred, however %c may also be used. They are equivalent.
4123
4288
 
4124
 
  Related Topics: ansi(), ANSI CODES  
 
4289
  Related Topics: ansi(), ANSI CODES
4125
4290
 
4126
4291
& ANSI()
4127
4292
ANSI()
4149
4314
ARBITRARY COMMANDS
4150
4315
 
4151
4316
  You may define commands that are triggered whenever someone enters a command
4152
 
  that matches the command template (wildcarding allowed).  These commands
 
4317
  that matches the command template (wildcard-ing allowed).  These commands
4153
4318
  are called arbitrary commands, user-defined commands, or $-commands (for how
4154
4319
  they are defined), and they are checked for only after the check for
4155
4320
  single-character commands, exits, and internal commands have been performed
4157
4322
  be performed).
4158
4323
 
4159
4324
  You define an arbitrary command by storing a string of the form
4160
 
  '$<template>:<commandlist>' in an attribute of an object, then the command
 
4325
  '$<template>:<command list>' in an attribute of an object, then the command
4161
4326
  will be available to anyone who carries the object, is in the same room as
4162
4327
  the object, or is inside the object.  Only use user-named attributes and
4163
4328
  VA-VZ for arbitrary commands, as many of the predefined attributes are not
4164
4329
  for arbitrary commands.  <template> is the pattern to check for (it may
4165
 
  contain wildcards), and <commandlist> is a semicolon-separated list of
 
4330
  contain wildcards), and <command list> is a semicolon-separated list of
4166
4331
  commands to perform.  The text that the wildcard characters matched are
4167
4332
  available in the variables %0 through %9.
4168
4333
 
4201
4366
 
4202
4367
  Example:
4203
4368
    > say art(TinyMUX)
4204
 
    You say "a"
 
4369
    You say, "a"
4205
4370
    > say art(umbrella)
4206
 
    You say "an"
 
4371
    You say, "an"
4207
4372
    > say art(unicycle)
4208
 
    You say "a"
 
4373
    You say, "a"
4209
4374
    > say art(ytterbium)
4210
 
    You say "an"
 
4375
    You say, "an"
4211
4376
    > say art(one-sided)
4212
 
    You say "a"
 
4377
    You say, "a"
4213
4378
    > say art(avocado)
4214
 
    You say "an"
 
4379
    You say, "an"
4215
4380
 
4216
4381
  Related Topics: article_rule.
4217
4382
 
4322
4487
 
4323
4488
    html (H)       - Emits from attr, oattr, aattr are not HTML-escaped.
4324
4489
 
4325
 
 
4326
4490
{ 'help attribute flags2' for more }
4327
4491
 
4328
4492
& ATTRIBUTE FLAGS2
4329
 
ATTRIBUTE FLAGS (cont)
 
4493
ATTRIBUTE FLAGS (continued)
4330
4494
 
4331
4495
    no_inherit (I) - This attribute is not inherited by children of the
4332
 
                     object.
 
4496
                     object.  From their perspective, the attribute does not
 
4497
                     exist.
4333
4498
 
4334
4499
    locked (+)     - The attribute is locked, it does not change
4335
4500
                     ownership when the object is @chowned and may not
4336
4501
                     be modified.
4337
4502
 
 
4503
    no_name (N)    - If set on an @o-attr, don't prepend the name of the
 
4504
                     enactor.  This also affects @verb behavior.
 
4505
 
4338
4506
    no_parse (P)   - $-commands and ^-listens matching is performed against
4339
4507
                     the unparsed (non-evaluated) string.
4340
4508
 
4344
4512
    regexp (R)     - $-command matching on this attribute uses
4345
4513
                     PCRE-style regular expressions.
4346
4514
 
 
4515
    trace (T)      - The attribute will generate trace output.
 
4516
 
 
4517
{ 'help attribute flags3' for more }
 
4518
 
 
4519
& ATTRIBUTE FLAGS3
 
4520
ATTRIBUTE FLAGS (continued)
 
4521
 
4347
4522
    visual (V)     - The attribute is visible to anyone who examines
4348
4523
                     you.  Note that the predefined attributes DESC,
4349
 
                     SEX, and LAST are always VISUAL 
 
4524
                     SEX, and LAST are always VISUAL
4350
4525
 
4351
4526
    wizard (W)     - Only wizards can modify this attribute.
4352
4527
 
4353
 
 
4354
 
  Related Topics: examine, ATTRIBUTE OWNERSHIP
 
4528
  Related Topics: ATTRIBUTE OWNERSHIP, examine, @verb.
4355
4529
 
4356
4530
& ATTRIBUTE OWNERSHIP
4357
4531
ATTRIBUTE OWNERSHIP
4405
4579
 
4406
4580
  FUNCTION: band(<number>[, <number>[, ...]])
4407
4581
 
4408
 
  Arguments must be an integer and are treated as a bitfield.  It performs a
4409
 
  bitwise logical AND between these two bitfields and returns the resulting
4410
 
  bitfield as an integer which can be further treated as an integer, a
4411
 
  bitfield, or a logical boolean depending on your intentions.
 
4582
  Arguments must be an integer and are treated as a bit-field.  It performs a
 
4583
  bitwise logical AND between these two bit-fields and returns the resulting
 
4584
  bit-field as an integer which can be further treated as an integer, a
 
4585
  bit-field, or a logical boolean depending on your intentions.
4412
4586
 
4413
4587
     > think band(922,785)
4414
4588
     784
4455
4629
 
4456
4630
  Examples:
4457
4631
    > say before(This is a test,a)
4458
 
    You say "This is "
 
4632
    You say, "This is "
4459
4633
    > say before(This is a test,is)
4460
 
    You say "Th"
 
4634
    You say, "Th"
4461
4635
    > say before(This is a test, nope)
4462
 
    You say "This is a test"
 
4636
    You say, "This is a test"
4463
4637
 
4464
4638
  Related Topics: after(), first(), rest().
4465
4639
 
4497
4671
  This function is from RhostMUSH, there is no 6 because MUX has no
4498
4672
  equivalent for Rhost's Immortal.
4499
4673
 
4500
 
  Related Topics: hasflag(), orflags(), andflags(). 
 
4674
  Related Topics: hasflag(), orflags(), andflags().
4501
4675
 
4502
4676
& BLIND
4503
4677
BLIND
4518
4692
 
4519
4693
  FUNCTION: bnand(<number1>, <number2>)
4520
4694
 
4521
 
  Both arguments are an integer that is treated as a bitfield. It
 
4695
  Both arguments are an integer that is treated as a bit-field. It
4522
4696
  performs a bitwise logical AND between <number1> and the complement
4523
4697
  of <number2> which has the effect of forcing certain bits in
4524
4698
  <number1> off in the result.
4601
4775
 
4602
4776
  FUNCTION: bor(<number>[, <number>[, ...]])
4603
4777
 
4604
 
  Arguments must be an integer and are treated as a bitfield.  It performs a
 
4778
  Arguments must be an integer and are treated as a bit-field.  It performs a
4605
4779
  bitwise logical OR which has the effect of forcing certain bits on in the
4606
4780
  result.
4607
4781
 
4626
4800
 
4627
4801
  FUNCTION: bxor(<number>[, <number> [, ...]])
4628
4802
 
4629
 
  Arguments must be integers and they are treated as a bitfield.  It performs
 
4803
  Arguments must be integers and they are treated as a bit-field.  It performs
4630
4804
  a bitwise logical eXclusive-OR which has the effect of toggling certain bits
4631
4805
  on in the result.
4632
4806
 
4633
4807
     > think bxor(922,785)
4634
 
     139 
 
4808
     139
4635
4809
 
4636
4810
  Related Topics: shl(), shr(), band(), bnand(), bor().
4637
4811
 
4695
4869
 
4696
4870
  Example:
4697
4871
    > say capstr(this is a string I want capitalized)
4698
 
    You say "This is a string I want capitalized"
 
4872
    You say, "This is a string I want capitalized"
4699
4873
 
4700
4874
  Related Topics: lcstr(), ucstr().
4701
4875
 
4724
4898
 
4725
4899
  Example:
4726
4900
    > say cat(this is, a test)
4727
 
    You say "this is a test"
 
4901
    You say, "this is a test"
4728
4902
    > say cat(This is,another,test of the,CAT function)
4729
 
    You say "This is another test of the CAT function"
 
4903
    You say, "This is another test of the CAT function"
4730
4904
 
4731
4905
  Related Topics:
4732
4906
 
4740
4914
 
4741
4915
  Examples:
4742
4916
    > say ceil(5)
4743
 
    You say "5"
 
4917
    You say, "5"
4744
4918
    > say ceil(5.2)
4745
 
    You say "6"
 
4919
    You say, "6"
4746
4920
    > say ceil(5.8)
4747
 
    You say "6"
 
4921
    You say, "6"
4748
4922
    > say ceil(-5)
4749
 
    You say "-5"
 
4923
    You say, "-5"
4750
4924
    > say ceil(-5.2)
4751
 
    You say "-5"
 
4925
    You say, "-5"
4752
4926
 
4753
4927
  Related Topics: fdiv(), floor(), idiv(), mod(), round(), trunc().
4754
4928
 
4767
4941
CENTER()
4768
4942
 
4769
4943
  FUNCTION: center(<string>, <width>[, <fill>])
4770
 
 
 
4944
 
4771
4945
  This function centers <string> within a <width>-sized field.
4772
4946
 
4773
4947
  The background of this field is specified by a repeating pattern of <fill>
4781
4955
 
4782
4956
  If the visual width of <string> is longer than <width> characters, it is
4783
4957
  truncated to fit.
4784
 
 
 
4958
 
4785
4959
  Example:
4786
4960
    > say center(a,5,-)
4787
 
    You say "--a--"
 
4961
    You say, "--a--"
4788
4962
    > say center(*BAMF*,15)
4789
 
    You say "    *BAMF*     "
 
4963
    You say, "    *BAMF*     "
4790
4964
    > say center(%xh%xrR%xgG%xbB,31,%xy--%xm+)
4791
4965
    --+--+--+--+--RGB+--+--+--+--+-
4792
4966
 
4805
4979
  override the equivalent lock. The flags are set by default, so you will
4806
4980
  have to clear them before your locks work.
4807
4981
 
4808
 
  The join lock for a channel is a normal @lock on the channel object. 
4809
 
  The transmit lock for a channel is a use @lock on the channel object.  
4810
 
  The receive lock for a channel is an enter @lock on the channel object. 
 
4982
  The join lock for a channel is a normal @lock on the channel object.
 
4983
  The transmit lock for a channel is a use @lock on the channel object.
 
4984
  The receive lock for a channel is an enter @lock on the channel object.
4811
4985
  The description of a channel is the @desc of the channel object.
4812
4986
 
4813
4987
  Related Topics: @ccreate, @create, @cset.
4823
4997
 
4824
4998
  Example:
4825
4999
    > say channels()
4826
 
    You say, "Wizard, Staff, Guest, Public, Code"
 
5000
    You say, "Wizard Staff Guest Public Code"
4827
5001
    > say channels(#1)
4828
 
    You say, "Wizard, Staff, Guest, Public"
 
5002
    You say, "Wizard Staff Guest Public"
4829
5003
    > say channels(me)
4830
5004
    You say, "Code"
4831
5005
 
4917
5091
 
4918
5092
  Example:
4919
5093
    > say cmds(me)
4920
 
    You say "100"
 
5094
    You say, "100"
4921
5095
    > say cmds(me)
4922
 
    You say "101"
 
5096
    You say, "101"
4923
5097
 
4924
5098
  Related Topics:
4925
5099
 
4949
5123
 
4950
5124
  Example:
4951
5125
    > say comalias(me,Public)
4952
 
    You say "pub"
 
5126
    You say, "pub"
4953
5127
 
4954
5128
  Related Topics: channels(), comtitle(). cwho().
4955
5129
 
5031
5205
  version      whisper      WHO          "            :            ;
5032
5206
  &            #            \\
5033
5207
 
5034
 
  @@           @backup      @break       @cemit       @chown       @chzone
5035
 
  @clone       @cpattr      @create      @decompile   @destroy     @dig
5036
 
  @doing       @dolist      @drain       @edit        @emit        @entrances
 
5208
  @@           @break       @cemit       @chown       @chzone      @clone
 
5209
  @cpattr      @create      @decompile   @destroy     @dig         @doing
 
5210
  @dolist      @drain       @edit        @email       @emit        @entrances
5037
5211
  @femit       @find        @force       @fpose       @fsay        @halt
5038
 
  @if          @last        @link        @list        @listmotd    @lock
5039
 
  @mail        @mvattr      @name        @nemit       @notify      @npemit
5040
 
  @oemit       @open        @parent      @password    @pemit       @power
5041
 
  @program     @ps          @quitprogram @quota       @remit       @robot
5042
 
  @search      @set         @stats       @sweep       @switch      @teleport
5043
 
  @timecheck   @trigger     @unlink      @unlock      @verb        @wait
5044
 
  @wipe
 
5212
  @htdesc      @if          @last        @link        @list        @listmotd
 
5213
  @lock        @mail        @mvattr      @name        @nemit       @notify
 
5214
  @npemit      @oemit       @open        @parent      @password    @pemit
 
5215
  @power       @program     @ps          @quitprogram @quota       @remit
 
5216
  @robot       @search      @set         @stats       @sweep       @switch
 
5217
  @teleport    @trigger     @unlink      @unlock      @verb        @vrml_url
 
5218
  @wait        @wipe
5045
5219
 
5046
5220
{ 'help commands2' for more }
5047
5221
 
5052
5226
 
5053
5227
  @aahear      @aclone      @aconnect    @adescribe   @adfail      @adisconnect
5054
5228
  @adrop       @aefail      @aenter      @afail       @agfail      @ahear
5055
 
  @akill       @aleave      @alfail      @alias       @amail       @amhear
5056
 
  @amove       @apay        @arfail      @asuccess    @atfail      @atofail
5057
 
  @atport      @aufail      @ause        @away        @charges     @conformat
5058
 
  @cost        @daily       @descformat  @describe    @dfail       @drop
5059
 
  @ealias      @efail       @enter       @exitformat  @exitto      @fail
5060
 
  @filter      @forwardlist @gfail       @idesc       @idle        @idletimeout
5061
 
  @infilter    @inprefix    @kill        @lalias      @leave       @lfail
5062
 
  @listen      @mailsucc    @mfail       @moniker     @move        @nameformat
5063
 
  @odescribe   @odfail      @odrop       @oefail      @oenter      @ofail
5064
 
  @ogfail      @okill       @oleave      @olfail      @omove       @opay
5065
 
  @orfail      @osuccess    @otfail      @otofail     @otport      @oufail
5066
 
  @ouse        @oxenter     @oxleave     @oxtport     @pay         @prefix
5067
 
  @queuemax    @reject      @rfail       @runout      @saystring   @sex
5068
 
  @signature   @speechmod   @startup     @success     @tfail       @tofail
5069
 
  @tport       @ufail       @use
 
5229
  @akill       @alead       @aleave      @alfail      @alias       @amail
 
5230
  @amhear      @amove       @apay        @arfail      @asuccess    @atfail
 
5231
  @atofail     @atport      @aufail      @ause        @away        @charges
 
5232
  @color       @conformat   @cost        @daily       @descformat  @describe
 
5233
  @dfail       @drop        @ealias      @efail       @enter       @exitformat
 
5234
  @exitto      @fail        @filter      @forwardlist @gfail       @idesc
 
5235
  @idle        @idletimeout @infilter    @inprefix    @kill        @lalias
 
5236
  @lead        @leave       @lfail       @listen      @mailsucc    @mfail
 
5237
  @moniker     @move        @nameformat  @odescribe   @odfail      @odrop
 
5238
  @oefail      @oenter      @ofail       @ogfail      @okill       @olead
 
5239
  @oleave      @olfail      @omove       @opay        @orfail      @osuccess
 
5240
  @otfail      @otofail     @otport      @oufail      @ouse        @oxenter
 
5241
  @oxleave     @oxtport     @pay         @prefix      @queuemax    @reject
 
5242
  @rfail       @runout      @saystring   @sex         @signature   @speechmod
 
5243
  @startup     @success     @tfail       @tofail      @tport       @ufail
 
5244
  @use
5070
5245
 
5071
5246
& COMP()
5072
5247
COMP()
5155
5330
           comtitle[/<option>] <alias>
5156
5331
 
5157
5332
  This command allows you to prefix your name on a channel with a title.
5158
 
  The second form contains a switch that allow you to turn on or off 
 
5333
  The second form contains a switch that allow you to turn on or off
5159
5334
  the ability to see comtitles. <option> can be on of the following:
5160
5335
 
5161
5336
    on      - comtitles are shown to you.
5182
5357
 
5183
5358
  Example:
5184
5359
    > say comtitle(me,Public)
5185
 
    You say "The mighty Wizard"
 
5360
    You say, "The mighty Wizard"
5186
5361
 
5187
5362
  Related Topics: channels(), comalias(), cwho()
5188
5363
 
5237
5412
    Evinar                00:12   6m  Idle. :)
5238
5413
    3 Players logged in.
5239
5414
    > say conn(wiz)
5240
 
    You say "251"
 
5415
    You say, "251"
5241
5416
    > say conn(e)
5242
 
    You say "770"
 
5417
    You say, "770"
5243
5418
    > say conn(frobozz)
5244
 
    You say "-1"
 
5419
    You say, "-1"
5245
5420
 
5246
5421
  Related Topics: WHO, idle(), lwho().
5247
5422
 
5350
5525
 
5351
5526
  Examples:
5352
5527
  > say controls(me,me)
5353
 
  You say "1"
 
5528
  You say, "1"
5354
5529
  > say controls(me,#1)
5355
 
  You say "0"
 
5530
  You say, "0"
5356
5531
  > say controls(#1,me)
5357
 
  You say "1"
 
5532
  You say, "1"
5358
5533
 
5359
5534
  Related Topics: CONTROL.
5360
5535
 
5377
5552
   utc   - indicates that no timezone/DST conversions should be applied.
5378
5553
           When used this way, there is a unique one-to-one relationship
5379
5554
           between an integer and it's corresponding text-string which
5380
 
           may be useful for handling other timezones and fictional
 
5555
           may be useful for handling other time zones and fictional
5381
5556
           settings.
5382
5557
 
5383
5558
  <precision> determines the number of fractional seconds shown.
5385
5560
 
5386
5561
  Example:
5387
5562
    > say secs()
5388
 
    You say "957558109"
 
5563
    You say, "957558109"
5389
5564
    > say secs(local)
5390
 
    You say "957532909"
 
5565
    You say, "957532909"
5391
5566
    > say convsecs(957558109)
5392
 
    You say "Fri May 05 13:21:49 2000"
 
5567
    You say, "Fri May 05 13:21:49 2000"
5393
5568
    > say convsecs(957532909, utc)
5394
 
    You say "Fri May 05 13:21:49 2000"
 
5569
    You say, "Fri May 05 13:21:49 2000"
5395
5570
 
5396
5571
  Related Topics: convtime(), secs(), time().
5397
5572
 
5403
5578
  By default, this function converts a time string (of format
5404
5579
  [Ddd] Mmm DD HH:MM:SS YYYY) into an integer which represents a
5405
5580
  count of seconds since Jan 01 00:00:00 1970 UTC not including leap
5406
 
  secs. Where Ddd, if given, is the day of the week. Mmm is the month
 
5581
  secs where Ddd, if given, is the day of the week, Mmm is the month
5407
5582
  name, DD is the day of the month, HH is the hour in 24-hour time,
5408
5583
  MM is the minutes, SS is the seconds, and YYYY is the year.
5409
5584
 
5410
 
  Keep in mind that the year may not be exactly four characters and
5411
 
  it can also be negative. This server provides a proleptic Gregorian
 
5585
  Keep in mind that the year may not be exactly four characters, and
 
5586
  it can also be negative.  This server provides a proleptic Gregorian
5412
5587
  calendar with a range of supported years between 27257 BC and
5413
5588
  30826 AD. Year 0 is 1 BC, -1 is 2 BC, ..., so 27257 BC should be
5414
 
  given as -27256. This follows the astronomical conventions.
 
5589
  given as -27256.  This follows the astronomical conventions.
5415
5590
 
5416
 
  Note: The time string can also be freeform and this function will
 
5591
  Note: The time string can also be free form and this function will
5417
5592
  attempt to parse.
5418
5593
 
 
5594
{ 'help convtime2' for more }
 
5595
 
 
5596
& CONVTIME2
 
5597
CONVTIME() (continued)
 
5598
 
5419
5599
  If a second argument is given, it is the <zonename>:
5420
5600
 
5421
5601
   local - indicates that a conversion for timezone/DST of the 'local'
5424
5604
   utc   - indicates that no timezone/DST conversions should be applied.
5425
5605
           When used this way, there is a unique one-to-one relationship
5426
5606
           between an integer and it's corresponding text-string which
5427
 
           may be useful for handling other timezones and fictional
 
5607
           may be useful for handling other time zones and fictional
5428
5608
           settings.
5429
5609
 
5430
5610
  <precision> determines the number of fractional seconds shown.
5431
5611
  By default, no fractional seconds are shown.
5432
5612
 
 
5613
{ 'help convtime3' for more }
 
5614
 
 
5615
& CONVTIME3
 
5616
CONVTIME() (continued)
 
5617
 
5433
5618
  Examples:
5434
5619
    > say time()
5435
 
    You say "Wed Jun 24 10:22:54 1992"
 
5620
    You say, "Wed Jun 24 10:22:54 1992"
5436
5621
    > say convtime(Wed Jun 24 10:22:54 1992)
5437
 
    You say "709406574"
 
5622
    You say, "709406574"
5438
5623
    > say convtime(Wed Jun 24 10:22:54 1992, utc)
5439
 
    You say "709381374"
 
5624
    You say, "709381374"
5440
5625
    > say convtime(June 24th 1992 10:22:54.0001am Z)
5441
 
    You say "709381374"
 
5626
    You say, "709381374"
5442
5627
    > say convtime(Wed 24 Jun 1992 10:22:54 -0700)
5443
 
    You say "709406574"
 
5628
    You say, "709406574"
5444
5629
    > say convtime(2001-01-01T100000Q)
5445
 
    You say "978357600"
 
5630
    You say, "978357600"
5446
5631
    > say convtime(-1605-120T123456M)
5447
 
    You say "-112805738704"
 
5632
    You say, "-112805738704"
5448
5633
    > say convtime(23456W12-1T123456T)
5449
 
    You say "678039276896"
 
5634
    You say, "678039276896"
5450
5635
 
5451
5636
  Related Topics: convsecs(), secs(), time().
5452
5637
 
5488
5673
 
5489
5674
  Examples:
5490
5675
    > say cos(0)
5491
 
    You say "1"
 
5676
    You say, "1"
5492
5677
    > say cos(fdiv(pi(),2))
5493
 
    You say "0"
 
5678
    You say, "0"
5494
5679
    > say cos(fdiv(pi(),4))
5495
 
    You say "0.707107"
 
5680
    You say, "0.707107"
5496
5681
    > say cos(fdiv(pi(),6))
5497
 
    You say "0.866025"
 
5682
    You say, "0.866025"
5498
5683
 
5499
5684
  Related Topics: acos(), asin(), atan(), pi(), sin(), tan().
5500
5685
 
5541
5726
 
5542
5727
  Topic: CREDITS
5543
5728
 
5544
 
TinyMUX 2.4 is based on TinyMUX 2.3. It is currently maintained by
 
5729
TinyMUX 2.6 is based on TinyMUX 2.4. It is currently maintained by
5545
5730
Stephen Dennis (AKA Brazil). There is a more complete list of credits
5546
5731
in the README files for the server itself.
5547
5732
 
5548
 
See http://www.tinymux.com for an on-line version of these README files.
5549
 
 
 
5733
See http://www.tinymux.org for an on-line version of these README files.
 
5734
 
5550
5735
& CTIME()
5551
5736
CTIME()
5552
5737
 
5595
5780
 
5596
5781
  Example:
5597
5782
    > say cwho(Public)
5598
 
    You say "#13 #11"
 
5783
    You say, "#13 #11"
5599
5784
 
5600
5785
  Related Topics: alias, channels(), comalias(), comtitle().
5601
5786
 
5657
5842
  Examples:
5658
5843
    > &TEST me=apple orange banana
5659
5844
    > say default(me/Test, No fruits!)
5660
 
    You say "apple orange banana"
 
5845
    You say, "apple orange banana"
5661
5846
    > &TEST ME
5662
5847
    > say default(me/Test, No fruits!)
5663
 
    You say "No fruits!"
 
5848
    You say, "No fruits!"
5664
5849
 
5665
5850
  Related Topics: get(), get_eval(), u(), edefault(), udefault().
5666
5851
 
5693
5878
 
5694
5879
  Example:
5695
5880
    > say delete(abcdefgh, 3, 2)
5696
 
    You say "abcfgh"
 
5881
    You say, "abcfgh"
5697
5882
    > say delete(Would you like coffee or perhaps tea?, 15, 18)
5698
 
    You say "Would you like tea?"
 
5883
    You say, "Would you like tea?"
5699
5884
 
5700
5885
  Related Topics:
5701
5886
 
5738
5923
 
5739
5924
  Example:
5740
5925
    > say digittime(2345)
5741
 
    You say "00:39"
 
5926
    You say, "00:39"
5742
5927
    > say digittime(123456)
5743
 
    You say "1d 10:18"
 
5928
    You say, "1d 10:18"
5744
5929
 
5745
5930
  Related Topics: writetime(), singletime(), exptime(), secs(), time().
5746
5931
 
5754
5939
 
5755
5940
  Example:
5756
5941
    > say dist2d(0,0,3,4)
5757
 
    You say "5"
 
5942
    You say, "5"
5758
5943
 
5759
5944
  Related Topics: dist3d()
5760
5945
 
5768
5953
 
5769
5954
  Example:
5770
5955
    > say dist3d(0,0,0,10,15,20)
5771
 
    You say "27"
 
5956
    You say, "27"
5772
5957
 
5773
5958
  Related Topics: dist2d()
5774
5959
 
 
5960
& DISTRIBUTE()
 
5961
DISTRIBUTE()
 
5962
 
 
5963
  FUNCTION: distribute(<numpoints>, <bins>[, <delim>])
 
5964
 
 
5965
  Returns, as a <delim> delimited list, a random distribution of <numpoints>
 
5966
  into an equally weighted number of <bins>.  <points> must be between 0 and
 
5967
  1,000,000, and <bins> must be between 1 and 2,000.
 
5968
 
 
5969
  Examples:
 
5970
    > think distribute(100, 5, |)
 
5971
    25|16|17|22|20
 
5972
 
 
5973
  Related Topics: choose(), die(), lrand(), rand().
 
5974
 
5775
5975
& DIV()
5776
5976
DIV()
5777
5977
 
5851
6051
 
5852
6052
  Example:
5853
6053
    > say e()
5854
 
    You say "2.718281828"
 
6054
    You say, "2.718281828"
5855
6055
 
5856
6056
  Related Topics: exp(), ln(), log(), power().
5857
6057
 
5869
6069
  Example:
5870
6070
    > &TEST me=You have lost [rand(10)] marbles.
5871
6071
    > say edefault(me/Test,You have no marbles.)
5872
 
    You say "You have lost 6 marbles."
 
6072
    You say, "You have lost 6 marbles."
5873
6073
    > &TEST me
5874
6074
    > say edefault(me/Test,You have no marbles.)
5875
 
    You say "You have no marbles."
 
6075
    You say, "You have no marbles."
5876
6076
 
5877
6077
  Related Topics: get(), get_eval(), u(), default(), udefault().
5878
6078
 
5887
6087
 
5888
6088
  Examples:
5889
6089
    > say edit(This is a test,is,x)
5890
 
    You say "Thx x a test"
 
6090
    You say, "Thx x a test"
5891
6091
    > say edit(Atlantic,^,Trans)
5892
 
    You say "TransAtlantic"
 
6092
    You say, "TransAtlantic"
5893
6093
 
5894
6094
  Related Topics: @edit.
5895
6095
 
5905
6105
 
5906
6106
  Examples:
5907
6107
    > say elements(Foo Ack Beep Moo Zot,2 4)
5908
 
    You say "Ack Moo"
 
6108
    You say, "Ack Moo"
5909
6109
    > say elements(Foof|Ack|Beep|Moo,3 1,|)
5910
 
    You say "Beep|Foof"
 
6110
    You say, "Beep|Foof"
5911
6111
 
5912
6112
  Related Topics:
5913
6113
 
5930
6130
 
5931
6131
  Related Topics: @emit
5932
6132
 
5933
 
& EMPTY()
5934
 
EMPTY()
5935
 
 
5936
 
  FUNCTION: empty([<object>])
5937
 
 
5938
 
  This function completely empties the stack for the calling object. If
5939
 
  <object> is specified, and you control it, it empties the stack for
5940
 
  <object>.
5941
 
 
5942
 
  Related Topics: lstack(), items(), peek(), pop(), push(), OBJECT STACK.
5943
 
 
5944
6133
& ENACTOR
5945
6134
ENACTOR
5946
6135
 
6010
6199
ENTRANCES()
6011
6200
 
6012
6201
  FUNCTION: entrances([<loc>[,<type>[,<low>[,<high>]]]])
6013
 
 
 
6202
 
6014
6203
  Returns a space-separated list of links from elsewhere to <loc>.  The
6015
6204
  results may include exits and drop-to's leading to <loc> as well as players
6016
6205
  and objects whose home is <loc>.  Unlike @entrances, entrances() does not
6019
6208
  E (exit), T (thing), R (room), P (player).  There is a search cost to this
6020
6209
  function.  <low> and <high> can be used to indicate where to start and stop
6021
6210
  the search, respectively.
6022
 
 
 
6211
 
6023
6212
  You may only use this command on locations that you control, or else the
6024
6213
  results will be limited to items you can examine.
6025
6214
 
6028
6217
    <type> -  A (all).
6029
6218
    <low>  -  beginning of database.
6030
6219
    <high> -  end of database.
6031
 
 
 
6220
 
6032
6221
  Examples:
6033
6222
    > say entrances()           <- all links to here
6034
6223
    > say entrances(object)     <- all links to object
6035
6224
    > say entrances(here,tp)    <- everything that lives here
6036
6225
    > say entrances(me,a,1000)  <- all links to me from #1000 and above.
6037
 
 
 
6226
 
6038
6227
  Related Topics: @entrances, @link, link(), children(), lexits().
6039
6228
 
6040
6229
& EQ()
6050
6239
 
6051
6240
  Example:
6052
6241
    > say eq(1,-1)
6053
 
    You say "0"
 
6242
    You say, "0"
6054
6243
    > say eq(5,5)
6055
 
    You say "1"
 
6244
    You say, "1"
6056
6245
    > say eq(foo, bar)
6057
 
    You say "1"
 
6246
    You say, "1"
6058
6247
 
6059
6248
  Related Topics: BOOLEAN VALUES, lt(), lte(), gte(), gt(), neq().
6060
6249
 
6070
6259
 
6071
6260
  Example:
6072
6261
    > say error()
6073
 
    You say "Huh?  (Type 'help' for help.)"
 
6262
    You say, "Huh?  (Type 'help' for help.)"
6074
6263
 
6075
6264
    > say error(@pmit)
6076
6265
    You typed '@pmit'.
6077
6266
 
6078
 
  Related Topics: 
 
6267
  Related Topics:
6079
6268
 
6080
6269
& ESCAPE()
6081
6270
ESCAPE()
6083
6272
  FUNCTION: escape(<string>)
6084
6273
 
6085
6274
  Returns <string> after adding an escape character (\) at the start of the
6086
 
  string and also before each of the characters %;[]{}\ that appear in the
6087
 
  string.  This prevents strings entered by players from causing undesired
 
6275
  string and also before each of the characters %\[]{};,()^$ that appear in
 
6276
  the string.  This prevents strings entered by players from causing undesired
6088
6277
  side effects when used, such as making your object perform unintended
6089
6278
  commands or give out information to which you have access.  Note that this
6090
6279
  function is only needed when the resulting string is to be passed through
6105
6294
 
6106
6295
  Related Topics: secure().
6107
6296
 
 
6297
& ETIMEFMT()
 
6298
ETIMEFMT()
 
6299
 
 
6300
  FUNCTION: etimefmt(<format>, <secs>)
 
6301
 
 
6302
  Escape sequences in <format> are expanded out.  All escape sequences start
 
6303
  with a $.  Any unrecognized codes or other text is returned unchanged.  An
 
6304
  optional field width may be given after the initial $ (but before any
 
6305
  modifier or format letters).  All values are right-justified within the
 
6306
  specified field.
 
6307
 
 
6308
  Modifier letters (can be used together):
 
6309
 
 
6310
   x - Value is suffixed with the corresponding units (s, m, h, or d).
 
6311
   z - Enter escape becomes blank of corresponding value is zero.
 
6312
 
 
6313
  Format letters:
 
6314
 
 
6315
  $s - Seconds                   $S - Seconds, left-padded with zeroes.
 
6316
  $m - Minutes.                  $M - Minutes, left-padded with zeroes.
 
6317
  $h - Hours.                    $H - Hours, left-padded with zeroes.
 
6318
  $d - Days.                     $D - Days, left-padded with zeros.
 
6319
  $n - Newline                   $$ - $ character
 
6320
 
 
6321
  Example:
 
6322
    > think etimefmt($2h:$2M, 3700)
 
6323
     1:01
 
6324
 
 
6325
  Related Topics: convtime(), convsecs(), timefmt().
 
6326
 
6108
6327
& EVAL()
6109
6328
EVAL()
6110
6329
 
6141
6360
{ 'help examine2' for more }
6142
6361
 
6143
6362
& EXAMINE2
6144
 
EXAMINE2
 
6363
EXAMINE (continued)
6145
6364
 
6146
 
  If you specify a wildcarded attribute name, then only those attributes
 
6365
  If you specify a wildcard-ed attribute name, then only those attributes
6147
6366
  that match are shown.  So, 'exam me/v?' will show all your attributes that
6148
6367
  start with v and are two characters long.
6149
6368
 
6203
6422
 
6204
6423
  Examples:
6205
6424
    > say exp(0)
6206
 
    You say "1"
 
6425
    You say, "1"
6207
6426
    > say exp(1)
6208
 
    You say "2.718282"
 
6427
    You say, "2.718282"
6209
6428
    > say exp(2)
6210
 
    You say "7.389056"
 
6429
    You say, "7.389056"
6211
6430
 
6212
6431
  Related Topics: e(), log(), ln(), power().
6213
6432
 
6225
6444
 
6226
6445
  Example:
6227
6446
    > say exptime(45)
6228
 
    You say "45s"
 
6447
    You say, "45s"
6229
6448
    > say exptime(12345)
6230
 
    You say "3h 25m 45s"
 
6449
    You say, "3h 25m 45s"
6231
6450
    > say exptime(123456)
6232
 
    You say "1d 10h 17m 36s"
 
6451
    You say, "1d 10h 17m 36s"
6233
6452
 
6234
6453
  Related Topics: writetime(), singletime(), digittime(), secs(), time().
6235
6454
 
6247
6466
 
6248
6467
  Examples:
6249
6468
    > say extract(This is a really neat example, 4, 2)
6250
 
    You say "really neat"
 
6469
    You say, "really neat"
6251
6470
    > say extract(Another@funky@test@for@extract, 3, 3, @)
6252
 
    You say "test@for@extract"
 
6471
    You say, "test@for@extract"
6253
6472
 
6254
6473
  Related Topics: index(), insert(), ldelete(), replace().
6255
6474
 
6273
6492
& FCOUNT()
6274
6493
FCOUNT()
6275
6494
 
6276
 
  FUNCTION: fcount()
 
6495
  FUNCTION: fcount([<expression>])
6277
6496
 
6278
 
  This function returns the current state of the function invocation
6279
 
  counter.  Softcode can use this result to guage its distance from the
 
6497
  Without an <expression>, this function returns the number of function
 
6498
  invocation since the beginning of the queue cycle.  With an <expression>,
 
6499
  this function returns the number of function invocations used by the
 
6500
  <expression>.  Softcode can use this result to gauge its distance from the
6280
6501
  configured function invocation limit.
6281
6502
 
6282
6503
  Related Topics: fdepth(), function_invocation_limit in wizhelp
6287
6508
  FUNCTION: fdepth()
6288
6509
 
6289
6510
  This function returns the current state of the function recursion
6290
 
  counter.  Softcode can use this result to guage its distance from the
 
6511
  counter.  Softcode can use this result to gauge its distance from the
6291
6512
  configured function recursion limit.
6292
6513
 
6293
6514
  Related Topics: fcount(), function_recursion_limit in wizhelp
6303
6524
 
6304
6525
  Examples:
6305
6526
    > say fdiv(15,3)
6306
 
    You say "5"
 
6527
    You say, "5"
6307
6528
    > say fdiv(16,3)
6308
 
    You say "5.333333"
 
6529
    You say, "5.333333"
6309
6530
    > say fdiv(17,3)
6310
 
    You say "5.666667"
 
6531
    You say, "5.666667"
6311
6532
    > say fdiv(18,3)
6312
 
    You say "6"
 
6533
    You say, "6"
6313
6534
    > say fdiv(-17,3)
6314
 
    You say "-5.666667"
 
6535
    You say, "-5.666667"
6315
6536
    > say fdiv(10,3.5)
6316
 
    You say "2.857143"
 
6537
    You say, "2.857143"
6317
6538
 
6318
6539
  Related Topics: add(), mod(), mul(), round(), sub(), trunc().
6319
6540
 
6320
6541
& FILTER()
6321
6542
FILTER()
6322
6543
 
6323
 
  FUNCTION: filter([<obj>/]<attr>, <list>[, <in delim>[, <out delim>]])
 
6544
  FUNCTION: filter([<obj>/]<attr>, <list>[, <in delim>[, <out delim>[,<arg1>[,<arg2>[,...]]]]])
6324
6545
 
6325
6546
  This function evaluates the contents of <attr> for each element of <list>,
6326
6547
  passing it in as %0.  A <out delim>-separated list is returned of those
6327
 
  elements for which the evaluation returns the value 1.
 
6548
  elements for which the evaluation returns the value 1.  Arguments %1, %2,
 
6549
  ... are taken from <arg1>, <arg2>, ... respectively, if present.
6328
6550
 
6329
6551
  <in delim> may be used to specify an input delimiter other than space.
6330
6552
 
6331
6553
  Examples:
6332
6554
    > &IS_ODD object=mod(%0,2)
6333
6555
    > say filter(object/is_odd,1 2 3 4 5)
6334
 
    You say "1 3 5"
 
6556
    You say, "1 3 5"
6335
6557
 
6336
6558
  Related Topics: u(), map(), fold()
6337
6559
 
6338
6560
& FILTERBOOL()
6339
6561
FILTERBOOL()
6340
6562
 
6341
 
  FUNCTION: filterbool([<obj>/]<attr>, <list>[, <in delim>[, <out delim>]])
 
6563
  FUNCTION: filterbool([<obj>/]<attr>, <list>[, <in delim>[, <out delim>[,<arg1>[,<arg2>[,...]]]]])
6342
6564
 
6343
6565
  This function evaluates the contents of <attr> for each element of <list>,
6344
6566
  passing it in as %0.  A <out delim>-separated list is returned of those
6345
 
  elements for which the evaluation returns a boolean-true value.
 
6567
  elements for which the evaluation returns a boolean-true value.  Arguments
 
6568
  %1, %2, ... are taken from <arg1>, <arg2>, ... respectively, if present.
6346
6569
 
6347
6570
  <in delim> may be used to specify an input delimiter other than space.
6348
6571
 
6349
6572
  Examples:
6350
6573
    > &IS_ODD object=mod(%0,2)
6351
6574
    > say filterbool(object/is_odd,1 2 3 4 5)
6352
 
    You say "1 3 5"
 
6575
    You say, "1 3 5"
6353
6576
 
6354
6577
  Related Topics: u(), map(), fold()
6355
6578
 
6378
6601
 
6379
6602
  Example:
6380
6603
    > say first(This is a test)
6381
 
    You say "This"
 
6604
    You say, "This"
6382
6605
    > say first(Would you like coffee, or perhaps tea)
6383
 
    You say "Would"
 
6606
    You say, "Would"
6384
6607
    > say first(List&with&nonstandard&delimiters,&)
6385
 
    You say "List"
 
6608
    You say, "List"
6386
6609
 
6387
6610
  Related Topics: rest().
6388
6611
 
6432
6655
  Without Realms Patch Flags:
6433
6656
    0 - MARKER0    |   1 - MARKER1    |   2 - MARKER2    |   3 - MARKER3
6434
6657
    4 - MARKER4    |   5 - MARKER5    |   6 - MARKER6    |   7 - MARKER7
6435
 
    8 - MARKER8    |   9 - MARKER9    |
 
6658
    8 - MARKER8    |   9 - MARKER9    |                  |
6436
6659
  ------------------------------------------------------------------------
6437
6660
  Realms Patch Flags:
6438
6661
    0 - FAE        |   1 - CHIMERA    |   2 - PEERING    |   3 - UMBRA
6439
6662
    4 - SHROUD     |   5 - MATRIX     |   6 - OBF        |   7 - HSS
6440
 
    8 - MEDIUM     |   9 - DEAD       |
 
6663
    8 - MEDIUM     |   9 - DEAD       |                  |
 
6664
  ------------------------------------------------------------------------
 
6665
  Firan-specific
 
6666
    # - IMMOBILE   |   > - LINEWRAP   |     - QUELL      |   ! - RESTRICTED
 
6667
    + - PARENT     |                  |                  |
6441
6668
  ------------------------------------------------------------------------
6442
6669
 
6443
6670
  For information on a particular flag, type 'help <flagname>'.
6492
6719
 
6493
6720
  Examples:
6494
6721
    > say floor(5)
6495
 
    You say "5"
 
6722
    You say, "5"
6496
6723
    > say floor(5.2)
6497
 
    You say "5"
 
6724
    You say, "5"
6498
6725
    > say floor(5.8)
6499
 
    You say "5"
 
6726
    You say, "5"
6500
6727
    > say floor(-5)
6501
 
    You say "-5"
 
6728
    You say, "-5"
6502
6729
    > say floor(-5.2)
6503
 
    You say "-6"
 
6730
    You say, "-6"
6504
6731
 
6505
6732
  Related Topics: ceil(), fdiv(), mod(), round(), trunc().
6506
6733
 
6525
6752
 
6526
6753
  Examples:
6527
6754
    > say floordiv(15,3)
6528
 
    You say "5"
 
6755
    You say, "5"
6529
6756
    > say floordiv(16,3)
6530
 
    You say "5"
 
6757
    You say, "5"
6531
6758
    > say floordiv(17,3)
6532
 
    You say "5"
 
6759
    You say, "5"
6533
6760
    > say floordiv(18,3)
6534
 
    You say "6"
 
6761
    You say, "6"
6535
6762
    > say floordiv(-17,3)
6536
 
    You say "-6"
 
6763
    You say, "-6"
6537
6764
 
6538
6765
  Related Topics: fdiv(), iadd(), idiv(), imul(), isub(), mod(),
6539
6766
                  remainder().
6548
6775
 
6549
6776
  Example:
6550
6777
    > say fmod(6.1,2.5)
6551
 
    You say "1.0999999999999996"
 
6778
    You say, "1.0999999999999996"
6552
6779
 
6553
6780
  Related Topics: mod()
6554
6781
 
6571
6798
  Examples:
6572
6799
    > &REP_NUM object=[%0][repeat(%1,%1)]
6573
6800
    > say fold(object/rep_num,1 2 3 4 5,->)
6574
 
    You say "->122333444455555"
 
6801
    You say, "->122333444455555"
6575
6802
    > &ADD_NUMS object=add(%0,%1)
6576
6803
    > say fold(object/add_nums,1 2 3 4 5)
6577
 
    You say "15"
 
6804
    You say, "15"
6578
6805
 
6579
6806
  Related Topics: u(), iter(), map(), filter()
6580
6807
 
6617
6844
 
6618
6845
& FUNCTION CLASSES
6619
6846
FUNCTION CLASSES
6620
 
 
 
6847
 
6621
6848
  Arithmetic:                ABS ADD BAND BNAND BOR BXOR CEIL CRC32 DEC DIE
6622
 
                             FDIV FLOORDIV FMOD IABS IADD IDIV IMUL INC ISIGN
6623
 
                             ISUB MOD MUL PACK POWER RAND REMAINDER SHA1 SHL
6624
 
                             SHR SIGN SUB SQRT UNPACK
 
6849
                             DISTRIBUTE FDIV FLOORDIV FMOD IABS IADD IDIV IMUL
 
6850
                             INC ISIGN ISUB MOD MUL PACK POWER RAND REMAINDER
 
6851
                             SHA1 SHL SHR SIGN SUB SUCCESSES SQRT UNPACK
6625
6852
 
6626
6853
  Comsystem Information:     CHANNELS COMALIAS COMTITLE CWHO
6627
6854
 
6628
 
  Database Information:      EXIT INZONE LOC LOCATE LROOMS MAIL MAILFROM
6629
 
                             NEARBY NEXT NUM RLOC ROOM SEARCH STATS VALID
6630
 
                             WHERE ZFUN ZONE ZWHO
 
6855
  Database Information:      EXIT INZONE LOC LOCATE LROOMS MAIL MAILJ MAILFROM
 
6856
                             MAILSIZE MAILSUBJ NEARBY NEXT NUM RLOC ROOM
 
6857
                             SEARCH STATS VALID WHERE ZFUN ZONE ZWHO
6631
6858
 
6632
6859
  Floating Point Conversion: FLOOR ROUND TRUNC
6633
6860
 
6643
6870
                             ITER LADD LAST LDELETE LIST LNUM LRAND MAP MATCH
6644
6871
                             MATCHALL MEMBER MIX MUNGE PARSE PICKRAND REMOVE
6645
6872
                             REST REVWORDS SETDIFF SETINTER SETUNION SHUFFLE
6646
 
                             SORT SORTBY SPLICE TABLE WORDS
 
6873
                             SORT SORTBY SPLICE STEP TABLE WORDS
6647
6874
 
6648
6875
  Logarithms:                E EXP LOG LN
6649
6876
 
6652
6879
 
6653
6880
  Miscellaneous:             @@ ANSI ART BEEP ERROR FCOUNT ISDBREF ISINT ISNUM
6654
6881
                             ISRAT ISWORD LIT NULL R SETQ SETR SUBEVAL
6655
 
                             TEXTFILE
6656
 
 
 
6882
                             TEXT TEXTFILE
 
6883
 
6657
6884
{ 'help function classes3' for more }
6658
6885
 
6659
6886
& FUNCTION CLASSES3
6675
6902
 
6676
6903
  Relational:                EQ GT GTE LT LTE MAX MIN NEQ
6677
6904
 
6678
 
  Side-Effect Functions:     CREATE EMIT LINK OEMIT PEMIT REMIT SET TEL
 
6905
  Side-Effect Functions:     CREATE EMIT LINK OEMIT PEMIT REMIT SET SETNAME
 
6906
                             SETPARENT TEL TRIGGER
6679
6907
 
6680
 
  Stack:                     EMPTY ITEMS LSTACK PEEK POP PUSH
 
6908
  SQL:                       SQL
6681
6909
 
6682
6910
{ 'help function classes4' for more }
6683
6911
 
6694
6922
                             STRIPANSI STRLEN STRMATCH STRMEM STRTRUNC SWITCH
6695
6923
                             TRANSLATE TRIM UCSTR WORDPOS WRAP
6696
6924
 
6697
 
  Time:                      CONVSECS CONVTIME DIGITTIME EXPTIME SECS
6698
 
                             SINGLETIME STARTSECS STARTTIME TIME TIMEFMT 
 
6925
  Time:                      CONVSECS CONVTIME DIGITTIME ETIMEFMT EXPTIME SECS
 
6926
                             SINGLETIME STARTSECS STARTTIME TIME TIMEFMT
6699
6927
                             WRITETIME
6700
6928
 
6701
6929
  Trigonometric:             ACOS ASIN ATAN COS CTU DIST2D DIST3D PI SIN TAN
6708
6936
 
6709
6937
& FUNCTION LIST
6710
6938
FUNCTION LIST
6711
 
 
 
6939
 
6712
6940
  Help is available for the following functions:
6713
6941
 
6714
6942
    @@()        ABS()       ACCENT()    ACOS()      ADD()       AFTER()
6722
6950
    CONNRECORD()CONNTOTAL() CONTROLS()  CONVSECS()  CONVTIME()  COR()
6723
6951
    CORBOOL()   COS()       CRC32()     CREATE()    CTIME()     CTU()
6724
6952
    CWHO()      DEC()       DECRYPT()   DEFAULT()   DELETE()    DIE()
6725
 
    DIGITTIME() DIST2D()    DIST3D()    DOING()     DUMPING()   E()
6726
 
    EDEFAULT()  EDIT()      ELEMENTS()  ELOCK()     EMIT()      EMPTY()
6727
 
    ENCRYPT()   ENTRANCES() EQ()        ERROR()     ESCAPE()    EVAL()
6728
 
    EXIT()      EXP()       EXPTIME()   EXTRACT()   FCOUNT()    FDEPTH()
6729
 
    FDIV()      FILTER()    FILTERBOOL()FINDABLE()  FIRST()     FLAGS()
6730
 
    FLOOR()     FLOORDIV()  FMOD()      FOLD()      FOREACH()   FULLNAME()
 
6953
    DIGITTIME() DIST2D()    DIST3D()    DISTRIBUTE()DOING()     DUMPING()
 
6954
    E()         EDEFAULT()  EDIT()      ELEMENTS()  ELOCK()     EMIT()
 
6955
    ENCRYPT()   ENTRANCES() EQ()        ERROR()     ESCAPE()    ETIMEFMT()
 
6956
    EVAL()      EXIT()      EXP()       EXPTIME()   EXTRACT()   FCOUNT()
 
6957
    FDEPTH()    FDIV()      FILTER()    FILTERBOOL()FINDABLE()  FIRST()
 
6958
    FLAGS()     FLOOR()     FLOORDIV()  FMOD()      FOLD()      FOREACH()
6731
6959
 
6732
6960
("help function list2" for more)
6733
6961
 
6734
6962
& FUNCTION LIST2
6735
6963
FUNCTION LIST (continued)
6736
6964
 
6737
 
    GET()       GET_EVAL()  GRAB()      GRABALL()   GREP()      GREPI()
6738
 
    GT()        GTE()       HASATTR()   HASATTRP()  HASFLAG()   HASPOWER()
6739
 
    HASQUOTA()  HASRXLEVEL()HASTXLEVEL()HASTYPE()   HEIGHT()    HOME()
6740
 
    HOST()      IABS()      IADD()      IDIV()      IDLE()      IF()
6741
 
    IFELSE()    ILEV()      IMUL()      INC()       INDEX()     INSERT()
6742
 
    INZONE()    ISDBREF()   ISIGN()     ISINT()     ISNUM()     ISRAT()
6743
 
    ISUB()      ISWORD()    ITEMIZE()   ITEMS()     ITER()      LADD()
 
6965
    FULLNAME()  GET()       GET_EVAL()  GRAB()      GRABALL()   GREP()
 
6966
    GREPI()     GT()        GTE()       HASATTR()   HASATTRP()  HASFLAG()
 
6967
    HASPOWER()  HASQUOTA()  HASRXLEVEL()HASTXLEVEL()HASTYPE()   HEIGHT()
 
6968
    HOME()      HOST()      IABS()      IADD()      IDIV()      IDLE()
 
6969
    IF()        IFELSE()    ILEV()      IMUL()      INC()       INDEX()
 
6970
    INSERT()    INZONE()    ISDBREF()   ISIGN()     ISINT()     ISNUM()
 
6971
    ISRAT()     ISUB()      ISWORD()    ITEMIZE()   ITER()      LADD()
6744
6972
    LAND()      LAST()      LATTR()     LATTRCMDS() LATTRP()    LCMDS()
6745
6973
    LCON()      LCSTR()     LDELETE()   LEXITS()    LFLAGS()    LINK()
6746
6974
    LIST()      LISTRLEVELS() LIT()     LJUST()     LN()        LNUM()
6747
6975
    LOC()       LOCALIZE()  LOCATE()    LOCK()      LOG()       LOR()
6748
 
    LPARENT()   LPORTS()    LPOS()      LRAND()     LROOMS()    LSTACK()
6749
 
    LT()        LTE()       LWHO()      MAIL()      MAILFROM()  MAP()
6750
 
    MATCH()     MATCHALL()  MAX()       MEMBER()    MERGE()     MID()
6751
 
    MIN()       MIX()       MOD()       MONEY()     MONIKER()   MOTD()
6752
 
    MTIME()     MUDNAME()   MUL()       MUNGE()     NAME()      NEARBY()
6753
 
    NEQ()       NEXT()      NOT()       NULL()      NUM()       OBJ()
6754
 
    OBJEVAL()   OBJMEM()    OEMIT()     OR()        ORBOOL()    ORD()
6755
 
    ORFLAGS()   OWNER()     PACK()      PARENT()    PARSE()     PEEK()
 
6976
    LPARENT()   LPORTS()    LPOS()      LRAND()     LROOMS()    LT()
 
6977
    LTE()       LWHO()      MAIL()      MAILFROM()  MAILSIZE()  MAILJ()
 
6978
    MAILSUBJ()  MAP()       MATCH()     MATCHALL()  MAX()       MEMBER()
 
6979
    MERGE()     MID()       MIN()       MIX()       MOD()       MONEY()
 
6980
    MONIKER()   MOTD()      MTIME()     MUDNAME()   MUL()       MUNGE()
 
6981
    NAME()      NEARBY()    NEQ()       NEXT()      NOT()       NULL()
 
6982
    NUM()       OBJ()       OBJEVAL()   OBJMEM()    OEMIT()     OR()
 
6983
    ORBOOL()    ORD()       ORFLAGS()   OWNER()     PACK()      PARENT()
6756
6984
 
6757
6985
("help function list3" for more)
6758
6986
 
6759
6987
& FUNCTION LIST3
6760
6988
FUNCTION LIST (continued)
6761
6989
 
6762
 
    PEMIT()     PFIND()     PI()        PICKRAND()  PLAYMEM()   PMATCH()
6763
 
    POLL()      POP()       PORTS()     POS()       POSS()      POWER()
6764
 
    POWERS()    PUSH()      R()         RAND()      REGMATCH()  REGMATCHI()
6765
 
    REGRAB()    REGRABALL() REGRABALLI()REGRABI()   REMAINDER() REMIT()
6766
 
    REMOVE()    REPEAT()    REPLACE()   REST()      REVERSE()   REVWORDS()
6767
 
    RIGHT()     RJUST()     RLOC()      ROMAN()     ROOM()      ROUND()
6768
 
    RXLEVEL()   S()         SCRAMBLE()  SEARCH()    SECS()      SECURE()
6769
 
    SET()       SETDIFF()   SETINTER()  SETQ()      SETR()      SETUNION()
6770
 
    SHA1()      SHL()       SHR()       SHUFFLE()   SIGN()      SIN()
6771
 
    SINGLETIME()SORT()      SORTBY()    SPACE()     SPELLNUM()  SPLICE()
6772
 
    SQRT()      SQUISH()    STARTSECS() STARTTIME() STATS()     STRCAT()
6773
 
    STRIP()     STRIPACCENTS() STRIPANSI() STRLEN() STRMATCH()  STRMEM()
6774
 
    STRTRUNC()  SUB()       SUBEVAL()   SUBJ()      SWITCH()    T()
6775
 
    TABLE()     TAN()       TEL()       TEXTFILE()  TIME()      TIMEFMT()
6776
 
    TRANSLATE() TRIM()      TRUNC()     TXLEVEL()   TYPE()      U()
6777
 
    UCSTR()     UDEFAULT()  ULOCAL()    UNPACK()    V()         VADD()
6778
 
    VALID()     VCROSS()    VDIM()      VDOT()      VERSION()   VISIBLE()
6779
 
    VMAG()      VMUL()      VSUB()      VUNIT()     WHERE()     WIDTH()
6780
 
    WORDPOS()   WORDS()     WRAP()      WRITETIME() XGET()      XOR()
6781
 
    ZFUN()      ZONE()      ZWHO()
 
6990
    PARSE()     PEMIT()     PFIND()     PI()        PICKRAND()  PLAYMEM()
 
6991
    PMATCH()    POLL()      PORTS()     POS()       POSS()      POWER()
 
6992
    POWERS()    R()         RAND()      REGMATCH()  REGMATCHI() REGRAB()
 
6993
    REGRABALL() REGRABALLI()REGRABI()   REMAINDER() REMIT()     REMOVE()
 
6994
    REPEAT()    REPLACE()   REST()      REVERSE()   REVWORDS()  RIGHT()
 
6995
    RJUST()     RLOC()      ROMAN()     ROOM()      ROUND()     RXLEVEL()
 
6996
    S()         SCRAMBLE()  SEARCH()    SECS()      SECURE()    SET()
 
6997
    SETDIFF()   SETINTER()  SETNAME()   SETPARENT() SETQ()      SETR()
 
6998
    SETUNION()  SHA1()      SHL()       SHR()       SHUFFLE()   SIGN()
 
6999
    SIN()       SINGLETIME()SORT()      SORTBY()    SPACE()     SPELLNUM()
 
7000
    SPLICE()    SQL()       SQRT()      SQUISH()    STARTSECS() STARTTIME()
 
7001
    STATS()     STEP()      STRCAT()    STRIP()     STRIPACCENTS()
 
7002
    STRIPANSI() STRLEN()    STRMATCH()  STRMEM()    STRTRUNC()  SUB()
 
7003
    SUBEVAL()   SUBJ()      SUCCESSES() SWITCH()    T()         TABLE()
 
7004
    TAN()       TEL()       TEXT()      TEXTFILE()  TIME()      TIMEFMT()
 
7005
    TRANSLATE() TRIGGER()   TRIM()      TRUNC()     TXLEVEL()   TYPE()
 
7006
    U()         UCSTR()     UDEFAULT()  ULOCAL()    UNPACK()    V()
 
7007
    VADD()      VALID()     VCROSS()    VDIM()      VDOT()      VERSION()
 
7008
    VISIBLE()   VMAG()      VMUL()      VSUB()      VUNIT()     WHERE()
 
7009
    WIDTH()     WORDPOS()   WORDS()     WRAP()      WRITETIME() XGET()
 
7010
    XOR()       ZFUN()      ZONE()      ZWHO()
6782
7011
 
6783
7012
& FUNCTIONS
6784
7013
FUNCTIONS
6793
7022
  like [get(me/[get(me/vz)])], which returns the contents of the attribute
6794
7023
  named in the VZ attribute.
6795
7024
 
6796
 
  For help on a particular function, type 'help <functionname>'.  You may
 
7025
  For help on a particular function, type 'help <function name>'.  You may
6797
7026
  need to include the parentheses with the function name, ie.
6798
 
  'help <functionname>()'.  Type 'help function list' or '@list functions'
 
7027
  'help <function name>()'.  Type 'help function list' or '@list functions'
6799
7028
  for a list of the available functions.  'help function classes' will show
6800
7029
  a list of the functions broken down into classes.
6801
7030
 
6895
7124
    > @vb test = VB from test
6896
7125
    > @vb me = VB from me
6897
7126
    > say get(test/va)
6898
 
    You say "This is a get_eval test on %n. The vb is [get(me/vb)]"
 
7127
    You say, "This is a get_eval test on %n. The vb is [get(me/vb)]"
6899
7128
    > say get_eval(test/va)
6900
 
    You say "This is a get_eval test on Foobar. The vb is VB from test"
 
7129
    You say, "This is a get_eval test on Foobar. The vb is VB from test"
6901
7130
 
6902
7131
  Related Topics: get(), eval(), u(), v(), xget().
6903
7132
 
6967
7196
 
6968
7197
  Examples:
6969
7198
    > say grab(This is a new test,?e*)
6970
 
    You say "new"
 
7199
    You say, "new"
6971
7200
    > say grab(Holodeck:#10~Airlock:#58~Dorm:#12~Brig:#83,Airlock:*,~)
6972
 
    You say "Airlock:#58"
 
7201
    You say, "Airlock:#58"
6973
7202
 
6974
7203
  Related Topics: graball(), LISTS, member(), match(), regrab().
6975
7204
 
6979
7208
  FUNCTION: graball(<list>, <pattern>[, <idelim>[, <odelim>]])
6980
7209
 
6981
7210
  This function matches <pattern> against each word in <list>, returning
6982
 
  the all words that match.  If no words match, then an empty string is
 
7211
  all the words that match.  If no words match, then an empty string is
6983
7212
  returned.  The match is not case-sensitive, and wildcard characters
6984
7213
  are permitted in <pattern>.  <idelim> may be used to specify the <list>
6985
7214
  delimiter other than a space.  <odelim> is the output delimiter.
6986
7215
 
6987
7216
  Examples:
6988
7217
    > say graball(This is a test of a test,test)
6989
 
    You say "test test"
 
7218
    You say, "test test"
6990
7219
    > say graball(This is testing a test,tes*)
6991
 
    You say "testing test"
 
7220
    You say, "testing test"
6992
7221
 
6993
7222
  Related Topics: grab(), LISTS, regrab(), regraball().
6994
7223
 
7031
7260
 
7032
7261
  Example:
7033
7262
    > say gt(4,5)
7034
 
    You say "0"
 
7263
    You say, "0"
7035
7264
    > say gt(5,5)
7036
 
    You say "0"
 
7265
    You say, "0"
7037
7266
    > say gt(6,5)
7038
 
    You say "1"
 
7267
    You say, "1"
7039
7268
    > say gt(foo, bar)
7040
 
    You say "0"
 
7269
    You say, "0"
7041
7270
 
7042
7271
  Related Topics: BOOLEAN VALUES, lt(), lte(), gte(), eq(), neq().
7043
7272
 
7054
7283
 
7055
7284
  Example:
7056
7285
    > say gte(4,5)
7057
 
    You say "0"
 
7286
    You say, "0"
7058
7287
    > say gte(5,5)
7059
 
    You say "1"
 
7288
    You say, "1"
7060
7289
    > say gte(6,5)
7061
 
    You say "1"
 
7290
    You say, "1"
7062
7291
    > say gte(foo, bar)
7063
 
    You say "1"
 
7292
    You say, "1"
7064
7293
 
7065
7294
  Related Topics: BOOLEAN VALUES, lt(), lte(), gt(), eq(), neq().
7066
7295
 
7109
7338
  Returns true if object <object> has the flag named <flag> set on it. You
7110
7339
  may not be able to retrieve information for objects that you do not own.
7111
7340
 
7112
 
  When an <attribute> is given, the following <flag> values can be used.
 
7341
  When an <attribute> is given, the following <flag> values can be used:
7113
7342
 
7114
 
    const, no_command, dark, god, hidden, html, no_inherit, locked, no_parse,
7115
 
    regexp, visual, and wizard.
 
7343
    const, dark, god, hidden, html, locked, no_command, no_inherit, no_name,
 
7344
    no_parse, regexp, visual, and wizard.
7116
7345
 
7117
7346
  Example:
7118
7347
    > say hasflag(me, wizard)
7119
 
    You say "0"
 
7348
    You say, "0"
7120
7349
    > say hasflag(me, connect)
7121
 
    You say "1"
 
7350
    You say, "1"
7122
7351
 
7123
7352
  Related Topics:
7124
7353
 
7133
7362
 
7134
7363
  Example:
7135
7364
    > say haspower(me, announce)
7136
 
    You say "0"
 
7365
    You say, "0"
7137
7366
    > say hasflag(me, extended_who)
7138
 
    You say "1"
 
7367
    You say, "1"
7139
7368
 
7140
7369
  Related Topics: powers()
7141
7370
 
7153
7382
 
7154
7383
  Example:
7155
7384
    > say hasquota(me, 100)
7156
 
    You say "0"
 
7385
    You say, "0"
7157
7386
    > say hasquota(me, 1)
7158
 
    You say "1"
 
7387
    You say, "1"
7159
7388
 
7160
7389
  Related Topics: @quota
7161
7390
 
7171
7400
  NOTE: This function is not available unless reality levels was enabled at
7172
7401
  compile-time.
7173
7402
 
7174
 
  Example: 
 
7403
  Example:
7175
7404
    > say hasrxlevel(me,real)
7176
 
    You say '1'.
 
7405
    You say, '1'.
7177
7406
 
7178
7407
  Related Topics: hastxlevel(), rxlevel(), txlevel(), listrlevels()
7179
7408
 
7189
7418
  NOTE: This function is not available unless reality levels was enabled at
7190
7419
  compile-time.
7191
7420
 
7192
 
  Example: 
 
7421
  Example:
7193
7422
    > say hastxlevel(me,real)
7194
 
    You say '1'.
 
7423
    You say, '1'.
7195
7424
 
7196
7425
  Related Topics: hasrxlevel(), rxlevel(), txlevel(), listrlevels()
7197
7426
 
7246
7475
 
7247
7476
  Example:
7248
7477
    > think height(me)
7249
 
    You say "26"
 
7478
    You say, "26"
7250
7479
 
7251
7480
  Related Topics: width().
7252
7481
 
7275
7504
    Home: Mortal's Room(#367R)
7276
7505
    Location: The Town Square
7277
7506
    > say home(me)
7278
 
    You say "#367"
 
7507
    You say, "#367"
7279
7508
 
7280
7509
  Related Topics:
7281
7510
 
7316
7545
 
7317
7546
  Related Topics: OBF
7318
7547
 
 
7548
& HTML
 
7549
HTML
 
7550
 
 
7551
  FLAG: HTML(()  ()
 
7552
 
 
7553
  This flag is normally set as part a negotiation with any Pueblo-aware
 
7554
  client.  It causes certain HTML-esque tags to be added around certain kinds
 
7555
  of output.  A Pueblo-aware client recognizes these tags and changes the
 
7556
  appearance of the intervening text accordingly.
 
7557
 
 
7558
  Related Topics: PUEBLO, @htdesc
 
7559
 
 
7560
 
7319
7561
& IABS()
7320
7562
IABS()
7321
7563
 
7325
7567
 
7326
7568
  Examples:
7327
7569
    > say iabs(4)
7328
 
    You say "4"
 
7570
    You say, "4"
7329
7571
    > say iabs(-4)
7330
 
    You say "4"
 
7572
    You say, "4"
7331
7573
    > say iabs(0)
7332
 
    You say "0"
 
7574
    You say, "0"
7333
7575
 
7334
7576
  Related Topics: abs(), isign(), sign().
7335
7577
 
7344
7586
 
7345
7587
  Example:
7346
7588
    > say iadd(2,4)
7347
 
    You say "6"
 
7589
    You say, "6"
7348
7590
    > say iadd(5,3,7,-4)
7349
 
    You say "11"
 
7591
    You say, "11"
7350
7592
 
7351
7593
  Related Topics: add(), dec(), idiv(), imul(), inc(), isub(), mod(),
7352
7594
            mul(), sub().
7371
7613
 
7372
7614
  Examples:
7373
7615
    > say idiv(15,3)
7374
 
    You say "5"
 
7616
    You say, "5"
7375
7617
    > say idiv(16,3)
7376
 
    You say "5"
 
7618
    You say, "5"
7377
7619
    > say idiv(17,3)
7378
 
    You say "5"
 
7620
    You say, "5"
7379
7621
    > say idiv(18,3)
7380
 
    You say "6"
 
7622
    You say, "6"
7381
7623
    > say idiv(-17,3)
7382
 
    You say "-5"
 
7624
    You say, "-5"
7383
7625
 
7384
7626
  Related Topics: iadd(), imul(), isub(), fdiv(), floordiv(), fmod(), mod(),
7385
7627
                  remainder().
7405
7647
    Evinar                00:12   6m
7406
7648
    3 Players logged in.
7407
7649
    > say idle(wiz)
7408
 
    You say "6"
 
7650
    You say, "6"
7409
7651
    > say idle(e)
7410
 
    You say "371"
 
7652
    You say, "371"
7411
7653
    > say idle(frobozz)
7412
 
    You say "-1"
 
7654
    You say, "-1"
7413
7655
 
7414
7656
  Related Topics: WHO, conn(), lwho().
7415
7657
 
7442
7684
 
7443
7685
  Related Topics: iter(), list(), parse().
7444
7686
 
 
7687
& IMMOBILE
 
7688
IMMOBILE
 
7689
 
 
7690
  FLAG: IMMOBILE()  (#)
 
7691
 
 
7692
  Objects set IMMOBILE cannot move by any means, including using exits,
 
7693
  entering other objects, being picked up or dropped, or by @teleporting.
 
7694
 
 
7695
  This flag is only available if FIRANMUX is enabled.
 
7696
 
 
7697
  Related Topics:
 
7698
 
7445
7699
& IMMORTAL
7446
7700
IMMORTAL
7447
7701
 
7449
7703
 
7450
7704
  Objects set immortal cannot be killed and don't use up money.
7451
7705
  Only settable by wizards.  This is useful when an object's location
7452
 
  shouldn't be changed by Joe Player, but you don't want to have to relink it
 
7706
  shouldn't be changed by Joe Player, but you don't want to have to re-link it
7453
7707
  to its current location whenever it moves.
7454
7708
 
7455
7709
  Related Topics:
7465
7719
 
7466
7720
  Examples:
7467
7721
    > say imul(3,5)
7468
 
    You say "15"
 
7722
    You say, "15"
7469
7723
    > say imul(3,5,-2)
7470
 
    You say "-30"
 
7724
    You say, "-30"
7471
7725
 
7472
7726
  Related Topics: add(), fdiv(), iadd(), idiv(), isub(), mod(), mul(),
7473
7727
            round(), sub(), trunc().
7554
7808
 
7555
7809
  Examples:
7556
7810
    > say insert(This is a test, 4, new)
7557
 
    You say "This is a new test"
 
7811
    You say, "This is a new test"
7558
7812
    > say insert(Yet@Another@List, 3, Funky, @)
7559
 
    You say "Yet@Another@Funky@List"
 
7813
    You say, "Yet@Another@Funky@List"
7560
7814
 
7561
7815
  Related Topics: extract(), ldelete(), replace().
7562
7816
 
7576
7830
  string before it is evaluated, itext(), inum(), and ilev() substitute their
7577
7831
  values as part of evaluation. In this way, the use of these functions is
7578
7832
  safer than the ## and #@ substitutions and is therefore preferred.
7579
 
   
 
7833
 
7580
7834
  > say [iter(red blue green,iter(fish shoe, #@:##))]
7581
7835
  You say, "1:red 1:red 2:blue 2:blue 3:green 3:green"
7582
 
   
 
7836
 
7583
7837
  > say [iter(red blue green,iter(fish shoe, [inum(1)]:[itext(1)]))]
7584
7838
  You say, "1:red 1:red 2:blue 2:blue 3:green 3:green"
7585
 
   
 
7839
 
7586
7840
  > say [iter(red blue green,iter(fish shoe, [inum(0)]:[itext(0)]))]
7587
7841
  You say, "1:fish 2:shoe 1:fish 2:shoe 1:fish 2:shoe"
7588
 
   
 
7842
 
7589
7843
  > say [iter(red blue green,iter(fish shoe, [itext(1)]:[itext(0)]))]
7590
7844
  You say, "red:fish red:shoe blue:fish blue:shoe green:fish green:shoe"
7591
7845
 
7605
7859
 
7606
7860
  FUNCTION: inzone(<object>)
7607
7861
 
7608
 
  Returns a list of rooms in the zone defined by <object>. Currently a
7609
 
  wizard/royalty only function.
 
7862
  Returns a list of rooms in the zone defined by <object>.  Inzone requires
 
7863
  the executor to either own/control the <object> or possess wizard/royalty
 
7864
  permissions.
7610
7865
 
7611
7866
  Related Topics: zwho(), ZONES.
7612
7867
 
7623
7878
 
7624
7879
  Example:
7625
7880
     > say isdbref(#-1)
7626
 
     You say "0"
 
7881
     You say, "0"
7627
7882
     > say isdbref(#1)
7628
 
     You say "1"
 
7883
     You say, "1"
7629
7884
     > say isdbref(This is not a dbref)
7630
 
     You say "0"
 
7885
     You say, "0"
7631
7886
 
7632
7887
  Related Topics: BOOLEAN VALUES, isint, isnum(), israt(), isword().
7633
7888
 
7641
7896
 
7642
7897
  Examples:
7643
7898
    > say isign(-4)
7644
 
    You say "-1"
 
7899
    You say, "-1"
7645
7900
    > say isign(4)
7646
 
    You say "1"
 
7901
    You say, "1"
7647
7902
    > say isign(0)
7648
 
    You say "0"
 
7903
    You say, "0"
7649
7904
    > say isign(-1)
7650
 
    You say "-1"
 
7905
    You say, "-1"
7651
7906
 
7652
7907
  Related Topics: abs(), iabs(), sign().
7653
7908
 
7662
7917
 
7663
7918
  Example:
7664
7919
     > say isint(22223.0000)
7665
 
     You say "0"
 
7920
     You say, "0"
7666
7921
     > say isint(+77)
7667
 
     You say "1"
 
7922
     You say, "1"
7668
7923
     > say isint(22 L)
7669
 
     You say "0"
 
7924
     You say, "0"
7670
7925
 
7671
7926
  Related Topics: BOOLEAN VALUES, isdbref, isnum(), israt(), isword().
7672
7927
 
7675
7930
 
7676
7931
  FUNCTION: isnum(<string>)
7677
7932
 
7678
 
  This function will return 1 (TRUE) if the argument is a valid number and 
 
7933
  This function will return 1 (TRUE) if the argument is a valid number and
7679
7934
  0 (FALSE) otherwise. This definition of a number includes scientific
7680
7935
  notation as well as a certain case-insensitive 'special words': NaN, -Inf,
7681
7936
  +Inf, and Ind.
7684
7939
 
7685
7940
  Example:
7686
7941
     > say isnum(22223.0000)
7687
 
     You say "1"
 
7942
     You say, "1"
7688
7943
     > say isnum(10E-20)
7689
 
     You say "1"
 
7944
     You say, "1"
7690
7945
     > say isnum(+77)
7691
 
     You say "1"
 
7946
     You say, "1"
7692
7947
     >say isnum(+Inf)
7693
 
     You say "1"
 
7948
     You say, "1"
7694
7949
     > say isnum(22 L)
7695
 
     You say "0"
 
7950
     You say, "0"
7696
7951
     >say isnum(Bad Numbers!)
7697
 
     You say "0"
 
7952
     You say, "0"
7698
7953
 
7699
7954
  Related Topics: BOOLEAN VALUES, isdbref(), isint(), israt(), isword().
7700
7955
 
7713
7968
 
7714
7969
  Example:
7715
7970
     > say israt(22223.0000)
7716
 
     You say "1"
 
7971
     You say, "1"
7717
7972
     > say israt(+77)
7718
 
     You say "1"
 
7973
     You say, "1"
7719
7974
     > say israt(1E20)
7720
 
     You say "0"
 
7975
     You say, "0"
7721
7976
 
7722
7977
  Related Topics: BOOLEAN VALUES, isdbref(), isint(), isnum(), isword().
7723
7978
 
7732
7987
 
7733
7988
  Example:
7734
7989
    > say isub(5,2)
7735
 
    You say "3"
 
7990
    You say, "3"
7736
7991
 
7737
7992
  Related Topics: add(), dec(), iadd(), idiv(), imul(), inc(), mod(),
7738
7993
            sub().
7775
8030
    > say [itemize(eggs bacon spam, ,&,;)]
7776
8031
    You say, "eggs; bacon; & spam"
7777
8032
 
7778
 
& ITEMS()
7779
 
ITEMS()
7780
 
 
7781
 
  FUNCTION: items([<object>])
7782
 
 
7783
 
  items() returns the number of items that the stack of the calling object
7784
 
  contains. If <object> is specified and you control it, then it returns the
7785
 
  number of items in the stack of that object.
7786
 
 
7787
 
  Related Topics: lstack(), empty(), peek(), pop(), push(), OBJECT STACK.
7788
 
 
7789
8033
& ITER()
7790
8034
ITER()
7791
8035
 
7808
8052
 
7809
8053
  Examples:
7810
8054
    > say iter(This is a test,strlen(##))
7811
 
    You say "4 2 1 4"
 
8055
    You say, "4 2 1 4"
7812
8056
    > say iter(lnum(10),mul(mul(##,##),10))
7813
 
    You say "0 10 40 90 160 250 360 490 640 810"
 
8057
    You say, "0 10 40 90 160 250 360 490 640 810"
7814
8058
    > say iter(lcon(me),[name(##)]..[money(##)])
7815
 
    You say "test..1 t1..1 radio..1 The Wizard's Pointy Hat..1"
 
8059
    You say, "test..1 t1..1 radio..1 The Wizard's Pointy Hat..1"
7816
8060
    > say iter(Was it a cat I saw,[words(##)] #@,s)
7817
 
    You say "1 1 4 2 1 3"
 
8061
    You say, "1 1 4 2 1 3"
7818
8062
 
7819
 
  Related Topics: @dolist, ilev(), inum(), itext(), list(), parse().
 
8063
  Related Topics: @dolist, ilev(), inum(), itext(), list(), parse(), step()
7820
8064
 
7821
8065
& ITEXT()
7822
8066
ITEXT()
7834
8078
  string before it is evaluated, itext(), inum(), and ilev() substitute their
7835
8079
  values as part of evaluation. In this way, the use of these functions is
7836
8080
  safer than the ## and #@ substitutions and is therefore preferred.
7837
 
   
 
8081
 
7838
8082
  > say [iter(red blue green,iter(fish shoe, #@:##))]
7839
8083
  You say, "1:red 1:red 2:blue 2:blue 3:green 3:green"
7840
 
   
 
8084
 
7841
8085
  > say [iter(red blue green,iter(fish shoe, [inum(1)]:[itext(1)]))]
7842
8086
  You say, "1:red 1:red 2:blue 2:blue 3:green 3:green"
7843
 
   
 
8087
 
7844
8088
  > say [iter(red blue green,iter(fish shoe, [inum(0)]:[itext(0)]))]
7845
8089
  You say, "1:fish 2:shoe 1:fish 2:shoe 1:fish 2:shoe"
7846
 
   
 
8090
 
7847
8091
  > say [iter(red blue green,iter(fish shoe, [itext(1)]:[itext(0)]))]
7848
8092
  You say, "red:fish red:shoe blue:fish blue:shoe green:fish green:shoe"
7849
8093
 
7877
8121
 
7878
8122
  FLAG: KEY(K)  ()
7879
8123
 
7880
 
  When set on an object prevents puppets from picking it up.
 
8124
  When an object (of any type) is KEYed, non-player objects (e.g., puppets)
 
8125
  fail any locks that would have been tested.  This could affect many kinds of
 
8126
  actions including the ability to pick up, give, enter, or pemit.
 
8127
 
 
8128
  It is equivalent to the following @lock:
 
8129
 
 
8130
    &ISPLAYER obj=hastype(%#,PLAYER)
 
8131
    @lock/... obj=ISPLAYER/1
 
8132
 
 
8133
  Because locks are not always tested (e.g., if there is a controlling
 
8134
  relationship), and they are not necessarily tested at predictable times,
 
8135
  the use of KEY can make softcode difficult to debug.
7881
8136
 
7882
8137
  Related Topics:
7883
8138
 
7941
8196
 
7942
8197
  Examples:
7943
8198
    > say last(This is a test)
7944
 
    You say "test"
 
8199
    You say, "test"
7945
8200
    > say last(Happy-Fun-Test-Thing,-)
7946
 
    You say "Thing"
 
8201
    You say, "Thing"
7947
8202
 
7948
8203
  Related Topics: first(), rest().
7949
8204
 
7966
8221
    Domain:Abusees
7967
8222
    ....
7968
8223
    > say lattr(me)
7969
 
    You say "Desc VC VE Last VV Domain"
 
8224
    You say, "Desc VC VE Last VV Domain"
7970
8225
    > say lattr(me/v*)
7971
 
    You say "VC VE VV"
 
8226
    You say, "VC VE VV"
7972
8227
 
7973
8228
  Related Topics: attrcnt(), @dolist, lattrp().
7974
8229
 
7986
8241
    > &CMD2 me=$command2:@pemit me=blah blah
7987
8242
    Set.
7988
8243
    > say lattrcmds(me)
7989
 
    You say "CMD1 CMD2"
 
8244
    You say, "CMD1 CMD2"
7990
8245
 
7991
8246
  Related Topics: lcmds().
7992
8247
 
8021
8276
    > &CMD3 me=^* says *:@pemit me=You heard something
8022
8277
    Set.
8023
8278
    > say lcmds(me)
8024
 
    You say "command1 command #2 *"
 
8279
    You say, "command1 command #2 *"
8025
8280
    > say lcmds(me,|,$)
8026
 
    You say "command1|command #2 *"
 
8281
    You say, "command1|command #2 *"
8027
8282
    > say lcmds(me,|,^)
8028
 
    You say "* says *"
 
8283
    You say, "* says *"
8029
8284
 
8030
8285
  Related Topics: lattrcmds().
8031
8286
 
8032
8287
& LCON()
8033
8288
LCON()
8034
8289
 
8035
 
  FUNCTION: lcon(<object>)
 
8290
  FUNCTION: lcon(<object>[, <subset>])
8036
8291
 
8037
8292
  Returns a space-separated list of the contents of <object> which are
8038
8293
  visible to the person running the function.
8039
8294
 
 
8295
  By default, all of the contents visible to the executor are returned;
 
8296
  however, the list may further restricted with a <subset>:
 
8297
 
 
8298
    PLAYER  -- include only Player objects.
 
8299
    OBJECT  -- include only non-Player objects.
 
8300
    CONNECT -- include only Connected Players.
 
8301
    PUPPET  -- include only Puppets.
 
8302
    LISTEN  -- include only Listening objects.
 
8303
 
8040
8304
  Example:
8041
8305
    > i
8042
8306
    t1(#366)
8044
8308
    The Wizard's Pointy Hat(#188SO)
8045
8309
    You have 42463 clams.
8046
8310
    > say lcon(me)
8047
 
    You say "#366 #223 #188"
 
8311
    You say, "#366 #223 #188"
8048
8312
 
8049
8313
  Related Topics: lexits(), @dolist.
8050
8314
 
8057
8321
 
8058
8322
  Example:
8059
8323
    > say lcstr(This is something I want to TEST)
8060
 
    You say "this is something i want to test"
 
8324
    You say, "this is something i want to test"
8061
8325
 
8062
8326
  Related Topics: capstr(), ucstr().
8063
8327
 
8072
8336
 
8073
8337
  Examples:
8074
8338
    > say ldelete(This is not a test, 3)
8075
 
    You say "This is a test"
 
8339
    You say, "This is a test"
8076
8340
    > say ldelete(Yet@Another@Mundane@List, 3, @)
8077
 
    You say "Yet@Another@List"
 
8341
    You say, "Yet@Another@List"
8078
8342
 
8079
8343
  Related Topics: extract(), insert(), replace().
8080
8344
 
8113
8377
    Obvious exits:
8114
8378
    foo  up  southeast  sw  north
8115
8379
    > say lexits(here)
8116
 
    You say "#302 #10 #9 #8 #6"
 
8380
    You say, "#302 #10 #9 #8 #6"
8117
8381
 
8118
8382
  Related Topics: lcon(), @dolist, PARENT OBJECTS.
8119
8383
 
8121
8385
LFLAGS()
8122
8386
 
8123
8387
  FUNCTION: lflags(<object>)
 
8388
            lflags(<object>/<attr>)
8124
8389
 
8125
 
  Returns the flags of <object> written out with their actual names.
 
8390
  Returns the flags of <object> or the flags of <attr> on <object> written out
 
8391
  with their actual names.
8126
8392
 
8127
8393
  Example:
8128
8394
    > say flags(me)
8129
 
    You say "PXNWcis"
 
8395
    You say, "PXNWcis"
8130
8396
    > say lflags(me)
8131
 
    You say "ANSI NOSPOOF WIZARD CONNECTED IMMORTAL SAFE"
 
8397
    You say, "ANSI NOSPOOF WIZARD CONNECTED IMMORTAL SAFE"
8132
8398
 
8133
8399
  Related Topics: flags(), type().
8134
8400
 
8143
8409
 
8144
8410
  Related Topics:
8145
8411
 
 
8412
& LINEWRAP
 
8413
LINEWRAP
 
8414
 
 
8415
  FLAG: LINEWRAP()  (>)
 
8416
 
 
8417
  Objects set LINEWRAP show their descriptions in a formatted style using
 
8418
  code equivalent to that in format().
 
8419
 
 
8420
  This flag is only available if FIRANMUX is enabled.
 
8421
 
 
8422
  Related Topics: format().
 
8423
 
8146
8424
& LINK()
8147
8425
LINK()
8148
8426
 
8217
8495
    > @set test=monitor
8218
8496
    test grows ears and can now hear.
8219
8497
    > say foo bar
8220
 
    You say "foo bar"
 
8498
    You say, "foo bar"
8221
8499
    test says "I got a foo with bar!."
8222
8500
 
8223
8501
  Related Topics: @ahear, @listen, @set.
8227
8505
 
8228
8506
  FUNCTION: listrlevels()
8229
8507
 
8230
 
  Returns all available levels in a space seperated list.  This function
 
8508
  Returns all available levels in a space-separated list.  This function
8231
8509
  takes no arguments.
8232
8510
 
8233
8511
  NOTE: This function is not available unless reality levels was enabled at
8235
8513
 
8236
8514
  Example:
8237
8515
    > say listrlevels()
8238
 
    You say "Real Shadow Auf Umbra"
 
8516
    You say, "Real Shadow Auf Umbra"
8239
8517
 
8240
8518
& LISTS
8241
8519
LISTS
8296
8574
 
8297
8575
  Examples:
8298
8576
    > say -[ljust(foo,6)]-
8299
 
    You say "-foo   -"
 
8577
    You say, "-foo   -"
8300
8578
    > say %r0[ljust(foo,6)]7%r01234567
8301
 
    You say "
 
8579
    You say, "
8302
8580
    0foo   7
8303
8581
    01234567"
8304
8582
    > say =[ljust(bar,5,.)]=
8305
 
    You say "=bar..="
 
8583
    You say, "=bar..="
8306
8584
    > say ljust(%xh%xrR%xgG%xbB,31,%xy--%xm+)
8307
8585
    RGB--+--+--+--+--+--+--+--+--+-
8308
8586
 
8319
8597
 
8320
8598
  Examples:
8321
8599
    > say ln(0)
8322
 
    You say "-Inf"
 
8600
    You say, "-Inf"
8323
8601
    > say ln(1)
8324
 
    You say "0"
 
8602
    You say, "0"
8325
8603
    > say ln(e())
8326
 
    You say "1"
 
8604
    You say, "1"
8327
8605
    > say ln(10)
8328
 
    You say "2.302585"
 
8606
    You say, "2.302585"
8329
8607
 
8330
8608
  Related Topics: e(), exp(), log(), power().
8331
8609
 
8332
8610
& LNUM()
8333
8611
LNUM()
8334
8612
 
8335
 
  FUNCTION: lnum(<number1>[,<number2>[,<sep>]])
 
8613
  FUNCTION: lnum(<number1>[,<number2>[,<sep>[,<step>]]])
8336
8614
 
8337
8615
  If only given one argument, this function returns a list of numbers from
8338
8616
  0 to <number1>-1. If <number1> less than 1, nothing is returned.
8344
8622
 
8345
8623
  <sep> is used as the separator character, if given.
8346
8624
 
 
8625
  The numbers in the list normally count by 1 unless <step> is provided.
 
8626
 
8347
8627
  Examples:
8348
8628
    > say lnum(5)
8349
 
    You say "0 1 2 3 4"
 
8629
    You say, "0 1 2 3 4"
8350
8630
    > say lnum(3,7)
8351
 
    You say "3 4 5 6 7"
 
8631
    You say, "3 4 5 6 7"
8352
8632
    > say lnum(4,-2,|)
8353
 
    You say "4|3|2|1|0|-1|-2"
 
8633
    You say, "4|3|2|1|0|-1|-2"
8354
8634
    > say lnum(2,6,@@)
8355
 
    You say "23456"
 
8635
    You say, "23456"
8356
8636
 
8357
8637
  Related Topics:
8358
8638
 
8373
8653
    Contents:
8374
8654
    hat(#368)
8375
8655
    > say loc(me)
8376
 
    You say "#367"
 
8656
    You say, "#367"
8377
8657
    > enter hat
8378
8658
    hat(#368)
8379
8659
    Contents:
8380
8660
    cat(#325)
8381
8661
    > say loc(me)
8382
 
    You say "#368"
 
8662
    You say, "#368"
8383
8663
    > say loc(here)
8384
 
    You say "#367"
 
8664
    You say, "#367"
8385
8665
 
8386
8666
  Related Topics: rloc(), room(), where().
8387
8667
 
8458
8738
    Nullspace(#250R)
8459
8739
    test1(#382)
8460
8740
    > say locate(me,test,i)                > say locate(me,tes,in)
8461
 
    You say "#376"                         You say "#-2"
 
8741
    You say, "#376"                         You say, "#-2"
8462
8742
    > say locate(me,test,n)                > say locate(here,tes,*)
8463
 
    You say "#382"                         You say "#382"
 
8743
    You say, "#382"                         You say, "#382"
8464
8744
    > say locate(me,test1,in)              > say locate(me,out,e)
8465
 
    You say "#378"                         You say "#252"
 
8745
    You say, "#378"                         You say, "#252"
8466
8746
    > say locate(me,test1,in)              > say locate(me,here,*)
8467
 
    You say "#382"                         You say "#250"
 
8747
    You say, "#382"                         You say, "#250"
8468
8748
 
8469
8749
  Related Topics: num(), PARENT OBJECTS.
8470
8750
 
8489
8769
 
8490
8770
  Examples:
8491
8771
    > say log(0)
8492
 
    You say "-Inf"
 
8772
    You say, "-Inf"
8493
8773
    > say log(1)
8494
 
    You say "0"
 
8774
    You say, "0"
8495
8775
    > say log(10)
8496
 
    You say "1"
 
8776
    You say, "1"
8497
8777
    > say log(e())
8498
 
    You say "0.434294"
 
8778
    You say, "0.434294"
8499
8779
 
8500
8780
  Related Topics: e(), exp(), ln(), power().
8501
8781
 
8581
8861
  Example:
8582
8862
    > WHO
8583
8863
    Player Name          On For Idle  Doing
8584
 
    Mortal                00:11   0s  
8585
 
    Evinar                00:12   6m  
8586
 
    Wizard                00:32   6s  
 
8864
    Mortal                00:11   0s
 
8865
    Evinar                00:12   6m
 
8866
    Wizard                00:32   6s
8587
8867
    3 Players logged in.
8588
8868
    > say lports()
8589
 
    You say "#226:20 #271:5 #1:6"
 
8869
    You say, "#226:20 #271:5 #1:6"
8590
8870
 
8591
8871
  Related Topics: lwho(), WHO, DOING, conn(), idle().
8592
8872
 
8604
8884
 
8605
8885
  Example:
8606
8886
    > say lpos(a-bc-def-g,-)
8607
 
    You say "1 4 8"
 
8887
    You say, "1 4 8"
8608
8888
 
8609
8889
& LRAND()
8610
8890
LRAND()
8642
8922
    Obvious exits:
8643
8923
    foo  up  southeast  sw  north
8644
8924
    > say lrooms(here,1)
8645
 
    You say "#3 #12 #91 #82 #63"
 
8925
    You say, "#3 #12 #91 #82 #63"
8646
8926
 
8647
8927
  Related Topics: @dolist, lexits(), PARENT OBJECTS
8648
8928
 
8649
 
& LSTACK()
8650
 
LSTACK()
8651
 
 
8652
 
  FUNCTION: lstack([<object>])
8653
 
 
8654
 
  This function returns the contents of an object's stack as a list. If
8655
 
  <object> is not specified, then it returns the stack of the executing
8656
 
  object.
8657
 
 
8658
 
  Related Topics: push(), pop(), peek(), empty(), items(), OBJECT STACK.
8659
 
 
8660
8929
& LT()
8661
8930
LT()
8662
8931
 
8670
8939
 
8671
8940
  Example:
8672
8941
    > say lt(4,5)
8673
 
    You say "1"
 
8942
    You say, "1"
8674
8943
    > say lt(5,5)
8675
 
    You say "0"
 
8944
    You say, "0"
8676
8945
    > say lt(6,5)
8677
 
    You say "0"
 
8946
    You say, "0"
8678
8947
    > say lt(foo, bar)
8679
 
    You say "0"
 
8948
    You say, "0"
8680
8949
 
8681
8950
  Related Topics: BOOLEAN VALUES, lte(), gte(), gt(), eq(), neq().
8682
8951
 
8693
8962
 
8694
8963
  Example:
8695
8964
    > say lte(4,5)
8696
 
    You say "1"
 
8965
    You say, "1"
8697
8966
    > say lte(5,5)
8698
 
    You say "1"
 
8967
    You say, "1"
8699
8968
    > say lte(6,5)
8700
 
    You say "0"
 
8969
    You say, "0"
8701
8970
    > say lte(foo, bar)
8702
 
    You say "1"
 
8971
    You say, "1"
8703
8972
 
8704
8973
  Related Topics: BOOLEAN VALUES, lt(), gte(), gt(), eq(), neq().
8705
8974
 
8716
8985
  Example:
8717
8986
    > WHO
8718
8987
    Player Name          On For Idle  Doing
8719
 
    Mortal                00:11   0s  
8720
 
    Evinar                00:12   6m  
8721
 
    Wizard                00:32   6s  
 
8988
    Mortal                00:11   0s
 
8989
    Evinar                00:12   6m
 
8990
    Wizard                00:32   6s
8722
8991
    3 Players logged in.
8723
8992
    > say lwho()
8724
 
    You say "#226 #271 #1"
 
8993
    You say, "#226 #271 #1"
8725
8994
    > say lwho(0)
8726
 
    You say "#226 #271 #1"
 
8995
    You say, "#226 #271 #1"
8727
8996
    > say lwho(1)
8728
 
    You say "#226:20 #271:5 #1:6"
 
8997
    You say, "#226:20 #271:5 #1:6"
8729
8998
 
8730
8999
  Related Topics: cwho(), conn(), DOING, idle(), WHO, zwho().
8731
9000
 
8894
9163
  @mail[/switch] <player-list> = <subject>
8895
9164
        This begins a message to all players in <player-list>.  The
8896
9165
        <player list> forms the To: line of the @mail -- the list of primary
8897
 
        receipients.
 
9166
        recipients.
8898
9167
 
8899
9168
  -<text>
8900
9169
  ~<text>
8918
9187
 
8919
9188
  @mail/bcc <player-list>
8920
9189
        This adds <player-list> to the current list of recipients.
8921
 
        Unlike the primary recipients and the carbon-copy (cc) receipients,
 
9190
        Unlike the primary recipients and the carbon-copy (cc) recipients,
8922
9191
        these additions will be hidden from every recipient including each
8923
9192
        other.
8924
9193
 
8977
9246
        ********** End of included message from Gordon
8978
9247
 
8979
9248
  You can add additional text above or below the quoted material with
8980
 
  the postpend ('-') and prepend ('~') @mail commands. Like, normal
 
9249
  the post-pend ('-') and prepend ('~') @mail commands. Like, normal
8981
9250
  outgoing @mail, the reply is finished and sent with '--' on a line
8982
9251
  by itself
8983
9252
 
8991
9260
 
8992
9261
  Related Topics:
8993
9262
 
 
9263
& MAILJ()
 
9264
MAILJ()
 
9265
 
 
9266
  FUNCTION: mailj(<num>)
 
9267
            mailj(<player>)
 
9268
            mailj(<player>, <num>)
 
9269
            mailj()
 
9270
 
 
9271
  First form returns message <num> from the executor's mail bag.  The second
 
9272
  form returns number of messages for <player>.  The third form return message
 
9273
  <num> for <player>.  The fourth form returns number of message for executor.
 
9274
 
 
9275
  The difference between this and mail() is that this returns one number and
 
9276
  mail() returns three. Also, mail() only accounts for the messages in the
 
9277
  inbox, while mailj() accounts for all messages in all folders.
 
9278
 
 
9279
  This function is only available if FIRANMUX is enabled and is likely to be
 
9280
  deprecated in favor of mail().
 
9281
 
 
9282
  Related Topics: mail()
 
9283
 
 
9284
& MAILSIZE()
 
9285
MAILSIZE()
 
9286
 
 
9287
  FUNCTION: mailsize(<player>)
 
9288
 
 
9289
  Returns the size of <player>'s mail bag in bytes.
 
9290
 
 
9291
  This function is only available if FIRANMUX is enabled.
 
9292
 
 
9293
  Related Topics:
 
9294
 
 
9295
& MAILSUBJ()
 
9296
MAILSUBJ()
 
9297
 
 
9298
  FUNCTION: mailsubj(<num>)
 
9299
            mailsubj(<player>, <num>)
 
9300
 
 
9301
  First form returns the subject line from the executor's <num>'th mail item.
 
9302
  Second form returns the subject line from the <player>'s <num>'th mail item.
 
9303
 
 
9304
  This function is only available if FIRANMUX is enabled.
 
9305
 
 
9306
  Related Topics: mail(), mailj().
 
9307
 
8994
9308
& MAP()
8995
9309
MAP()
8996
9310
 
8997
 
  FUNCTION: map([<obj>/]<attr>,<list>[,<input delim>[,<output delim>]])
 
9311
  FUNCTION: map([<obj>/]<attr>,<list>[,<input delim>[,<output delim>[,<arg1>[,<arg2>[,...]]]]])
8998
9312
 
8999
9313
  This function is nearly identical to an iter() operating on u() function.
9000
9314
  Each member of <list> is passed to the result of fetching <attr> as %0, and
9001
 
  the results are used to form a new list.
 
9315
  the results are used to form a new list.  Arguments %1, %2, ... are taken
 
9316
  from <arg1>, <arg2>, ... respectively, if present.
9002
9317
 
9003
9318
  In addition to any single character, <output delim> can also be the null-
9004
9319
  delimiter, @@, or a newline, %r.  By default, input and output delimiters
9007
9322
  Examples:
9008
9323
    > &ADD_ONE object=add(%0,1)
9009
9324
    > say map(object/add_one,1 2 3 4 5)
9010
 
    You say "2 3 4 5 6"
 
9325
    You say, "2 3 4 5 6"
9011
9326
 
9012
9327
  Related Topics: filter(), fold(), ilev(), iter(), itext(), inum(), parse(),
9013
9328
                  u().
9030
9345
 
9031
9346
  Examples:
9032
9347
    > say match(This is a test, test)
9033
 
    You say "4"
 
9348
    You say, "4"
9034
9349
    > say match(This is a test, is)
9035
 
    You say "2"
 
9350
    You say, "2"
9036
9351
    > say match(This is a test, *is*)
9037
 
    You say "1"
 
9352
    You say, "1"
9038
9353
    > say match(This is a test, *not*)
9039
 
    You say "0"
 
9354
    You say, "0"
9040
9355
    > say match(This is a test, is a)
9041
 
    You say "0"
 
9356
    You say, "0"
9042
9357
 
9043
9358
  Related Topics: LISTS, member(), strmatch().
9044
9359
 
9053
9368
 
9054
9369
  Examples:
9055
9370
    > say matchall(This is a test of a test,test)
9056
 
    You say "4 7"
 
9371
    You say, "4 7"
9057
9372
    > say matchall(This is testing a test,tes*)
9058
 
    You say "3 5"
 
9373
    You say, "3 5"
9059
9374
 
9060
9375
  Related Topics: LISTS, match(), strmatch().
9061
9376
 
9079
9394
 
9080
9395
  Examples:
9081
9396
    > say max(2,4)
9082
 
    You say "4"
 
9397
    You say, "4"
9083
9398
    > say max(-100,50,0,25)
9084
 
    You say "50"
 
9399
    You say, "50"
9085
9400
 
9086
9401
  Related Topics: min()
9087
9402
 
9108
9423
 
9109
9424
  Member takes a list and a word, and returns the position of that word
9110
9425
  within the list.  If the word does not occur in the list, then 0 is
9111
 
  returned.  Unlike match(), member() does not check for wildcarding,
 
9426
  returned.  Unlike match(), member() does not check for wildcard-ing,
9112
9427
  and the cases of <list> and <word> are significant.  A word is defined as
9113
9428
  a string which has no interior spaces.  So 'hello' would be one word,
9114
9429
  while 'hello there' would be two.
9117
9432
 
9118
9433
  Example:
9119
9434
    > say member(This is a member test, member)
9120
 
    You say "4"
 
9435
    You say, "4"
9121
9436
    > say member(This is a member test, Member)
9122
 
    You say "0"
 
9437
    You say, "0"
9123
9438
    > say member(This is a member test, *e*)
9124
 
    You say "0"
 
9439
    You say, "0"
9125
9440
    > say member(This is a member test, is a)
9126
 
    You say "0"
 
9441
    You say, "0"
9127
9442
 
9128
9443
  Related Topics: LISTS, match(), strmatch().
9129
9444
 
9180
9495
 
9181
9496
  Examples:
9182
9497
    > say min(2,4)
9183
 
    You say "2"
 
9498
    You say, "2"
9184
9499
    > say min(-100,50,0,25)
9185
 
    You say "-100"
 
9500
    You say, "-100"
9186
9501
 
9187
9502
  Related Topics: max()
9188
9503
 
9189
9504
& MIX()
9190
9505
MIX()
9191
9506
 
9192
 
  FUNCTION: mix([<object>/]<attribute>,<list 1>,<list 2>[,<list N>][,<delim>])
9193
 
  
9194
 
  This function is similar to map(), except it takes the arguments in the 
 
9507
  FUNCTION: mix([<object>/]<attribute>, <list 1>[, <list 2>[,<list N>]][,<delim>])
 
9508
 
 
9509
  This function is similar to map(), except it takes the arguments in the
9195
9510
  lists and passes them into the attribute as %0 (for list1), %1 (for list2),
9196
9511
  up to %9 (for list10).  <delim> is used as the delimiter to separate items
9197
 
  in each of the lists.  If the number of lists is 2, the delimiter may be
9198
 
  optional, otherwise you are forced to provide a delimiter.  If no delimiter
9199
 
  is specified, it defaults to a space but only for the above condition.
 
9512
  in each of the lists.  If the number of lists is 2 or less, the delimiter
 
9513
  may be optional, otherwise you are forced to provide a delimiter.  If no
 
9514
  delimiter is specified, it defaults to a space but only for the above condition.
9200
9515
  The lists do NOT have to have the same number of elements.
9201
 
  
 
9516
 
9202
9517
  Examples:
9203
9518
    > &do_math me=[add(%0,%1)]
9204
9519
    > &do_moremath me=[add(%0,%1,%2,%3,%4,%5,%6,%7,%8,%9)]
9205
9520
    > say mix(do_math,1 2 3 4 5,2 4 6 8 10)
9206
 
    You say "3 6 9 12 15"
 
9521
    You say, "3 6 9 12 15"
9207
9522
    > say mix(do_math,1@2@3@4@5,2@4@6@8@10,@)
9208
 
    You say "3@6@9@12@15"
 
9523
    You say, "3@6@9@12@15"
9209
9524
    > say mix(do_math,1 2 3 4 5,7 9)
9210
 
    You say "8 11 3 4 5"
 
9525
    You say, "8 11 3 4 5"
9211
9526
    > say mix(do_moremath,1,2,3,4,5,6,7 8,9 10 11 12,)
9212
 
    You say "37 18 11 12"
9213
 
  
9214
 
  Related Topics: map(), iter(), merge(), elements(), list().
 
9527
    You say, "37 18 11 12"
 
9528
 
 
9529
  Related Topics: elements(), iter(), list(), map(), merge(), step()
9215
9530
 
9216
9531
& MOD()
9217
9532
MOD()
9233
9548
 
9234
9549
    floordiv(x,y)*y + mod(x,y) ==> x
9235
9550
 
 
9551
{ 'help mod2' for more }
 
9552
 
 
9553
& MOD2
 
9554
MOD() (continued)
 
9555
 
9236
9556
  For positive y, mod(x,y) always returns a positive number less than
9237
9557
  y. For negative y, mod(x,y) always returns a negative number greater
9238
9558
  than y.
9245
9565
 
9246
9566
  Example:
9247
9567
    > say mod(-9,5)
9248
 
    You say "1"
 
9568
    You say, "1"
9249
9569
    > say mod(-9,-5)
9250
 
    You say "-4"
 
9570
    You say, "-4"
9251
9571
    > say mod(17,3)
9252
 
    You say "2"
 
9572
    You say, "2"
9253
9573
    > say mod(18,3)
9254
 
    You say "0"
 
9574
    You say, "0"
9255
9575
 
9256
 
  Related Topics: floordiv(), fmod(), iadd(), idiv(), imul(), isub(),
 
9576
  Related Topics: floordiv(), iadd(), idiv(), imul(), isub(),
9257
9577
                  remainder().
9258
9578
 
9259
9579
& MONEY
9282
9602
    > score
9283
9603
    You have 1052 clams.
9284
9604
    > say money(me)
9285
 
    You say "1052"
 
9605
    You say, "1052"
9286
9606
    > exam sac test
9287
9607
    Sac Test(#287V)
9288
9608
    Type: THING Flags: VISUAL
9290
9610
    Home: Limbo(#0RLDAJ)
9291
9611
    Location: The Town Square
9292
9612
    > say money(sac test)
9293
 
    You say "20"
 
9613
    You say, "20"
9294
9614
 
9295
9615
  Related Topics:
9296
9616
 
9314
9634
  Objects:
9315
9635
  When set, anytime the object hears something from someone who passes the
9316
9636
  object's use lock, the object's attributes are scanned for attributes
9317
 
  of the form '^<pattern>:<commandlist>'.  If the message matches the
9318
 
  wildcarded <pattern>, then <commandlist> is executed, substituting %0 for
 
9637
  of the form '^<pattern>:<command list>'.  If the message matches the
 
9638
  wildcard-ed <pattern>, then <command list> is executed, substituting %0 for
9319
9639
  the text that matched the first wildcard, %1 for the second, and so on.
9320
9640
  All matching attributes are executed, not just the first.
9321
9641
  Parents of MONITOR objects are never checked for ^-patterns.
9377
9697
    LEAVE message for the old location, others in the old location receive
9378
9698
    the OLEAVE message, and the old location runs its ALEAVE action list.
9379
9699
    Others in the new location receive the OXENTER message from the old
9380
 
    location, and others in the old location receive the message '<yourname>
 
9700
    location, and others in the old location receive the message '<your name>
9381
9701
    has left.'
9382
9702
 
9383
9703
{ 'help moving2' for more }
9415
9735
    ENTER message for the new room, others in the new room receive the OENTER
9416
9736
    message, and the new room runs its AENTER action list. Others in the room
9417
9737
    you just left receive the new room's OXLEAVE message, and others in the
9418
 
    old location receive the message '<yourname> has arrived.'
 
9738
    old location receive the message '<your name> has arrived.'
9419
9739
  - If the old location is a STICKY room and has its drop-to set, see if
9420
9740
    objects in that room should be sent to the drop-to location.  If so,
9421
9741
    do it.
9456
9776
 
9457
9777
  Example:
9458
9778
    > say mudname()
9459
 
    You say "TestMUX"
 
9779
    You say, "TestMUX"
9460
9780
 
9461
9781
  Related Topics:
9462
9782
 
9471
9791
 
9472
9792
  Example:
9473
9793
    > say mul(3,5)
9474
 
    You say "15"
 
9794
    You say, "15"
9475
9795
    > say mul(3,5,-2)
9476
 
    You say "-30"
 
9796
    You say, "-30"
9477
9797
 
9478
9798
  Related Topics: add(), fdiv(), iadd(), idiv(), imul(), isub(),
9479
9799
            mod(), round(), sub(), trunc().
9552
9872
 
9553
9873
  Examples:
9554
9874
    > say neq(1,-1)
9555
 
    You say "1"
 
9875
    You say, "1"
9556
9876
    > say neq(5,5)
9557
 
    You say "0"
 
9877
    You say, "0"
9558
9878
    > say neq(foo, bar)
9559
 
    You say "0"
 
9879
    You say, "0"
9560
9880
 
9561
9881
  Related Topics: BOOLEAN VALUES, lt(), lte(), gte(), gt(), eq(), not().
9562
9882
 
9573
9893
  FUNCTION: next(<thing>)
9574
9894
 
9575
9895
  If thing is an exit in a room, then next will return the next
9576
 
  nondark exit in the list of exits for that room.  If thing is an
 
9896
  non-dark exit in the list of exits for that room.  If thing is an
9577
9897
  object, then next will return the next object in the inventory list
9578
9898
  that the object is in.  Otherwise, it returns a '#-1' string.
9579
9899
 
9690
10010
 
9691
10011
  Related Topics: aposs(), poss(), subj(), SUBSTITUTIONS.
9692
10012
 
9693
 
& OBJECT STACK
9694
 
OBJECT STACK
9695
 
 
9696
 
  NOTE: The object stack is completely different from the command stack
9697
 
  ('help stack').
9698
 
 
9699
 
  A stack is a LIFO structure, meaning that the last, most recent thing you
9700
 
  place into it is the first thing you get out of it. You 'push' an item
9701
 
  onto the stack, and you can 'pop' it off, or merely take a 'peek' at it.
9702
 
  If you pushed the word 'foo', and then the word 'bar', and popped
9703
 
  something off the stack, you would first pop 'bar', then 'foo'. You pop
9704
 
  or peek in the reverse order that you pushed.
9705
 
 
9706
 
  The object stack can hold any kind of information. In this manner they are
9707
 
  similar to r-registers, but are more flexible. There is a high limit to the
9708
 
  number of stack entries you can have (usually 100), and stack entries are
9709
 
  preserved until you pop them off or empty the stack.
9710
 
 
9711
 
{ 'help OBJECT STACK2' for more }
9712
 
 
9713
 
& OBJECT STACK2
9714
 
OBJECT STACK (continued)
9715
 
 
9716
 
  Example:
9717
 
 
9718
 
  > say [push(world!)][push(Hello)]We'll print these...
9719
 
  We'll print these...
9720
 
  > say [pop()] [pop()]
9721
 
  Hello world!
9722
 
 
9723
 
  empty() is used to clear the stack, items() shows the number of entries in
9724
 
  the stack.
9725
 
 
9726
 
  Related Topics: lstack(), empty(), items(), push(), peek(), pop().
9727
 
 
9728
10013
& OBJECT TYPES
9729
10014
OBJECT TYPES
9730
10015
 
9788
10073
& OPEN_OK
9789
10074
OPEN_OK
9790
10075
 
9791
 
  FLAG: OPEN_OK(z)  
 
10076
  FLAG: OPEN_OK(z)
9792
10077
 
9793
10078
  If a location is OPEN_OK, anyone who passes the OpenLock can open
9794
10079
  exits from it (but not to it). It has no meaning for exits.
9892
10177
  The inverse function of pack is unpack. pack and unpack are designed
9893
10178
  to support the base-36 radix conversion used in Myrddin's popular
9894
10179
  Bulletin Board. For this reason, and to support bases: 2, 8, and 16,
9895
 
  this conversion is not the radix-64 conversion used in unix-to-unix
 
10180
  this conversion is not the radix-64 conversion used in Unix-to-Unix
9896
10181
  copy (uuencode).
9897
10182
 
9898
10183
  Examples:
9949
10234
    > page me=;'s character tests.
9950
10235
    From afar, Foo's character tests.
9951
10236
    Long distance to Foo: Foo's character tests.
9952
 
    
 
10237
 
9953
10238
  If your Idle attribute is set to something, then it is sent to anyone who
9954
10239
  successfully pages you after you have become idle by the period set by your
9955
10240
  @idletimeout.  This is useful for when you are away from your terminal for
9985
10270
  Related Topics: pose, say, whisper, :, ;, ", @pemit, @away, @idle,
9986
10271
      @idletimeout, @reject.
9987
10272
 
 
10273
& PARENT
 
10274
PARENT
 
10275
 
 
10276
  FLAG: PARENT()  (+)
 
10277
 
 
10278
  This flag is not associated with any hardcode behavior other than to record
 
10279
  that it is present or absent from an object. Softcode is free to use this
 
10280
  flag for any purpose it sees fit.
 
10281
 
 
10282
  This flag is only available if FIRANMUX is enabled.
 
10283
 
 
10284
  Related Topics:
 
10285
 
9988
10286
& PARENT OBJECTS
9989
10287
PARENT OBJECTS
9990
10288
 
10034
10332
 
10035
10333
  Example:
10036
10334
    > say parent(me)
10037
 
    You say "#-1"
 
10335
    You say, "#-1"
10038
10336
    > say My va is [v(va)].
10039
 
    You say "My va is "
 
10337
    You say, "My va is "
10040
10338
    > @parent me=test
10041
10339
    Parent set.
10042
10340
    > say parent(me)
10043
 
    You say "#323"
 
10341
    You say, "#323"
10044
10342
    > say My va is [v(va)].
10045
 
    You say "My va is Testing 123"
 
10343
    You say, "My va is Testing 123"
10046
10344
 
10047
10345
  Related Topics: @parent, PARENT OBJECTS.
10048
10346
 
10079
10377
 
10080
10378
  Examples:
10081
10379
    > say parse(1 2 3 4 5,add(##,1))
10082
 
    You say "2 3 4 5 6"
 
10380
    You say, "2 3 4 5 6"
10083
10381
    > say parse(This|is|a|string|length|test,strlen(##),|)
10084
 
    You say "4 2 1 6 6 4"
 
10382
    You say, "4 2 1 6 6 4"
10085
10383
 
10086
10384
  Related Topics: @dolist, iter(), map().
10087
10385
 
10088
 
& PEEK()
10089
 
PEEK()
10090
 
 
10091
 
  FUNCTION: peek([<object>], [<position>])
10092
 
 
10093
 
  peek() returns an item from the caller's stack without removing it from
10094
 
  the stack. If <position> is specified, it returns the item from that
10095
 
  position in the stack (items in the stack are numbered with 0 being the most
10096
 
  recently push()ed item), otherwise, it returns position 0. If <object> is
10097
 
  specified and you control it, then it returns an item from <object>'s
10098
 
  stack.
10099
 
 
10100
 
  Related Topics: lstack(), empty(), items(), pop(), push(), OBJECT STACK.
10101
 
 
10102
10386
& PEERING
10103
10387
PEERING
10104
10388
 
10124
10408
  a non-player dbref. This function is provided in case the old behavior
10125
10409
  of pmatch() is still required.
10126
10410
 
10127
 
  See: pmatch()
 
10411
  Related Topics: pmatch()
10128
10412
 
10129
10413
& PI()
10130
10414
PI()
10135
10419
 
10136
10420
  Example:
10137
10421
    > say pi()
10138
 
    You say "3.141592654"
 
10422
    You say, "3.141592654"
10139
10423
 
10140
10424
  Related Topics: acos(), asin(), atan(), cos(), sin(), tan().
10141
10425
 
10150
10434
 
10151
10435
  Example:
10152
10436
    > say pickrand(foo bar baz)
10153
 
    You say "bar"
 
10437
    You say, "bar"
10154
10438
 
10155
10439
  Related Topics: die(), lrand(), rand(), shuffle()
10156
10440
 
10172
10456
                  %1/Description=[translate(%|,1)]
10173
10457
  > &SAYDESC me=$+saydesc *:look %0 ;| say %r%|
10174
10458
  > +saydesc me
10175
 
  You say "
 
10459
  You say, "
10176
10460
  Idoru(#5PXMWc)
10177
10461
  You see nothing special.
10178
10462
  "
10230
10514
 
10231
10515
  Related Topics: doing()
10232
10516
 
10233
 
& POP()
10234
 
POP()
10235
 
 
10236
 
  FUNCTION: pop([<object>[,<position>]])
10237
 
 
10238
 
  pop() returns an item from the caller's stack and removes it from
10239
 
  the stack. If <position> is specified, it returns the item from that
10240
 
  position in the stack (items in the stack are numbered with 0 being the most
10241
 
  recently push()ed item) and removes it, otherwise, it returns position 0.
10242
 
  If <object> is specified and you control it, then it returns an item from
10243
 
  <object>'s stack.
10244
 
 
10245
 
  Related Topics: lstack(), empty(), items(), peek(), push(), OBJECT STACK.
10246
 
 
10247
10517
& PORTS()
10248
10518
PORTS()
10249
10519
 
10283
10553
  Displays <message> to everyone in your current room, preceded by your name
10284
10554
  and optionally a space.
10285
10555
 
10286
 
  Example: 
 
10556
  Example:
10287
10557
    >pose jumps for joy.
10288
10558
      Player jumps for joy.
10289
10559
 
10318
10588
 
10319
10589
  Examples:
10320
10590
    > say power(2,3)
10321
 
    You say "8"
 
10591
    You say, "8"
10322
10592
    > say power(9, 0.5)
10323
 
    You say "3"
 
10593
    You say, "3"
10324
10594
    > say power(100,pi())
10325
 
    You say "1919487.5835776979"
 
10595
    You say, "1919487.5835776979"
10326
10596
    > say power(5, 0)
10327
 
    You say "1"
 
10597
    You say, "1"
10328
10598
    > say power(0, 0)
10329
 
    You say "1"
 
10599
    You say, "1"
10330
10600
    > say power(2,-3)
10331
 
    You say "0.125"
 
10601
    You say, "0.125"
10332
10602
    > say power(0,-1)
10333
 
    You say "+Inf"
 
10603
    You say, "+Inf"
10334
10604
 
10335
10605
  Related Topics: exp(), ln(), log(), sqrt()
10336
10606
 
10361
10631
  monitor           Can set or reset monitor flag.
10362
10632
  pass_locks        Can successfully pass all locks.
10363
10633
  poll              Can set the @poll.
10364
 
  prog              Can use @program on players other than themself.
 
10634
  prog              Can use @program on players other than them self.
10365
10635
  search            Can @search anyone.
10366
10636
  see_all           Can examine and see attributes like a wizard.
10367
10637
  see_hidden        Can see hidden players and DARK wizards.
10393
10663
       Pueblo.
10394
10664
  @pemit/html and @emit/html allow outputting unescaped HTML strings.
10395
10665
 
10396
 
  Related Topics: Please see http://www.chaco.com/pueblo/doc/enhancing.html
10397
 
      for more details.
 
10666
  Please see http://www.chaco.com/pueblo/doc/enhancing.html for more details.
 
10667
 
 
10668
  Related Topics: HTML, @htdesc, @vrml_url
10398
10669
 
10399
10670
& PUPPET
10400
10671
PUPPET
10424
10695
 
10425
10696
  Related Topics: VERBOSE.
10426
10697
 
10427
 
& PUSH()
10428
 
PUSH()
10429
 
 
10430
 
  FUNCTION: push(<data>)
10431
 
            push(<object>, <data>)
10432
 
 
10433
 
  push() places <data> onto the calling object's stack. If the second form
10434
 
  is used, it places data onto <object>'s stack.
10435
 
 
10436
 
  Related Topics: lstack(), empty(), items(), peek(), pop(), OBJECT STACK.
 
10698
& QUELL
 
10699
QUELL
 
10700
 
 
10701
  FLAG: QUELL()  ()
 
10702
 
 
10703
  Any object set QUELL will disregard any WIZARD flag it has.  That is, objects
 
10704
  that do not have a WIZARD flag are not affected by the QUELL flag, and
 
10705
  objects that do have a WIZARD flag act as if they do not have it. QUELL also
 
10706
  prevents objects from inheriting WIZARD abilities from their owners.
 
10707
 
 
10708
  The main purpose of this flag is to allow Wizards to temporarily become
 
10709
  "mortal" (non-wizardly) for purposes of testing code or whatnot.  With the
 
10710
  QUELL flag set, they are for all intents and purposes just like a non-Wizard
 
10711
  character.  This allows a Wizard to turn her wizbit on and off, sorta.
 
10712
 
 
10713
  This flag is only available if FIRANMUX is enabled.
 
10714
 
 
10715
  Related Topics:
10437
10716
 
10438
10717
& QUIET
10439
10718
QUIET
10464
10743
  the contents of the specified register. There are thirty-six such
10465
10744
  registers, numbered 0 through 9 and A through Z.  The local
10466
10745
  registers are normally cleared at the start of each command, but are
10467
 
  preserved across the commands that compose an actionlist, as well as
10468
 
  commands that directly trigger actionlists, such as @switch,
 
10746
  preserved across the commands that compose an action list, as well as
 
10747
  commands that directly trigger action lists, such as @switch,
10469
10748
  @trigger, and @dolist.
10470
10749
 
10471
10750
  Related Topics: setq(), setr().
10482
10761
 
10483
10762
  Example:
10484
10763
    > say rand(10)
10485
 
    You say "6"
 
10764
    You say, "6"
10486
10765
    > say rand(10)
10487
 
    You say "1"
 
10766
    You say, "1"
10488
10767
    > say rand(-1,2)
10489
 
    You say "0"
 
10768
    You say, "0"
10490
10769
 
10491
10770
  Related Topics: die(), lrand(), pickrand(), shuffle()
10492
10771
 
10769
11048
 
10770
11049
  Example:
10771
11050
    > say remainder(-9,5)
10772
 
    You say "-4"
 
11051
    You say, "-4"
10773
11052
    > say remainder(-9,-5)
10774
 
    You say "-4"
 
11053
    You say, "-4"
10775
11054
    > say remainder(17,3)
10776
 
    You say "2"
 
11055
    You say, "2"
10777
11056
    > say remainder(18,3)
10778
 
    You say "0"
 
11057
    You say, "0"
10779
11058
 
10780
11059
  Related Topics: iadd(), idiv(), imul(), isub(), floordiv(), fmod(),
10781
11060
                  mod().
10801
11080
 
10802
11081
  Example:
10803
11082
    > say remove(this is a test, is)
10804
 
    You say "this a test"
 
11083
    You say, "this a test"
10805
11084
    > say remove(You can't remove, this)
10806
 
    You say "You can't remove"
 
11085
    You say, "You can't remove"
10807
11086
    > say remove(You can't remove multiple words, You can't)
10808
 
    You say "#-1 CAN ONLY DELETE ONE ELEMENT"
 
11087
    You say, "#-1 CAN ONLY DELETE ONE ELEMENT"
10809
11088
    > say remove(How about an o-separated list, w ab, o)
10810
 
    You say "Hout an o-separated list"
 
11089
    You say, "Hout an o-separated list"
10811
11090
 
10812
11091
  Related Topics:
10813
11092
 
10840
11119
 
10841
11120
  Examples:
10842
11121
    > say replace(This is a test, 4, quiz)
10843
 
    You say "This is a quiz"
 
11122
    You say, "This is a quiz"
10844
11123
    > say replace(Yet@Another@Mundane@List, 3, Funky, @)
10845
 
    You say "Yet@Another@Funky@List"
 
11124
    You say, "Yet@Another@Funky@List"
10846
11125
 
10847
11126
  Related Topics: extract(), insert(), ldelete().
10848
11127
 
 
11128
& REPORT
 
11129
REPORT
 
11130
 
 
11131
  COMMAND: report
 
11132
 
 
11133
  Display an aggregation or census of player objects divided into 8 hour
 
11134
  segments based on LAST connection attribute.
 
11135
 
 
11136
  Related Topics:
 
11137
 
10849
11138
& REST()
10850
11139
REST()
10851
11140
 
10859
11148
 
10860
11149
  Example:
10861
11150
    > say rest(This is a test)
10862
 
    You say "is a test"
 
11151
    You say, "is a test"
10863
11152
    > say rest(Would you like coffee, or perhaps tea)
10864
 
    You say "you like coffee, or perhaps tea"
 
11153
    You say, "you like coffee, or perhaps tea"
10865
11154
    > say rest(List!with!different!delimiters,!)
10866
 
    You say "with!different!delimiters"
 
11155
    You say, "with!different!delimiters"
10867
11156
 
10868
11157
  Related Topics: first().
10869
11158
 
 
11159
& RESTRICTED
 
11160
RESTRICTED
 
11161
 
 
11162
  FLAG: RESTRICTED()  (!)
 
11163
 
 
11164
  Any object set RESTRICTED will have the number of commands available to use
 
11165
  greatly limited.  Generally, this flag works in conjunction with the
 
11166
  no_restricted access permission (see 'wizhelp PERMISSIONS', 'wizhelp
 
11167
  access', etc.) which is used to mark which commands can not be used by
 
11168
  RESTRICTED players (or objects).
 
11169
 
 
11170
  Command access permissions can be viewed by a wizard using the '@list
 
11171
  permissions' command.  Commands marked 'no_restricted' in this list cannot
 
11172
  be used by RESTRICTED players or objects.
 
11173
 
 
11174
  Note that a RESTRICTED Wizard character who later sets herself QUELL will
 
11175
  not be able to set herself un-RESTRICTED!  Fixing this will require the help
 
11176
  of a fully-powered wizard.  Be careful with this combination.
 
11177
 
 
11178
  This flag is only available if FIRANMUX is enabled.
 
11179
 
 
11180
  Related Topics: no_restricted
 
11181
 
10870
11182
& REVERSE()
10871
11183
REVERSE()
10872
11184
 
10876
11188
 
10877
11189
  Examples:
10878
11190
    > say reverse(This is a test)
10879
 
    You say "tset a si sihT"
 
11191
    You say, "tset a si sihT"
10880
11192
    > say reverse(This is a test, Really...)
10881
 
    You say "...yllaeR ,tset a si sihT"
 
11193
    You say, "...yllaeR ,tset a si sihT"
10882
11194
    > say reverse(A man, a plan, a canal -- Panama!)
10883
 
    You say "!amanaP -- lanac a ,nalp a ,nam A"
 
11195
    You say, "!amanaP -- lanac a ,nalp a ,nam A"
10884
11196
 
10885
11197
  Related Topics: revwords().
10886
11198
 
10890
11202
  FUNCTION: revwords(<string>[, <delim>])
10891
11203
 
10892
11204
  Reverses the order of the words of <string>.  A word is considered to be
10893
 
  any sequence of nonblank characters, separated by blanks, so punctuation
 
11205
  any sequence of non-blank characters, separated by blanks, so punctuation
10894
11206
  characters that follow a word are considered part of the word.
10895
11207
 
10896
11208
  <delim> may be used to specify a delimiter other than a space.
10897
11209
 
10898
11210
  Examples:
10899
11211
    > say revwords(This is a test. Really...)
10900
 
    You say "Really... test. a is This"
 
11212
    You say, "Really... test. a is This"
10901
11213
    > say revwords(Was it a cat I saw?)
10902
 
    You say "saw? I cat a it Was"
 
11214
    You say, "saw? I cat a it Was"
10903
11215
 
10904
11216
  Related Topics: reverse().
10905
11217
 
10938
11250
 
10939
11251
  Examples:
10940
11252
    > say -[rjust(foo,6)]-
10941
 
    You say "-   foo-"
 
11253
    You say, "-   foo-"
10942
11254
    > say %r0[rjust(foo,6)]7%r01234567
10943
 
    You say "
 
11255
    You say, "
10944
11256
    0   foo7
10945
11257
    01234567"
10946
11258
    > say =[rjust(bar,5,.)]=
10947
 
    You say "=..bar="
 
11259
    You say, "=..bar="
10948
11260
    > say rjust(%xh%xrR%xgG%xbB,31,%xy--%xm+)
10949
11261
    --+--+--+--+--+--+--+--+--+-RGB
10950
11262
 
11034
11346
    Mortal's Room(#367R)
11035
11347
    A bare room with nothing in it but a bed and a chair.
11036
11348
    > say I am in [room(me)], the cat is in room [room(cat)].
11037
 
    You say "I am in #367, the cat is in room #367."
 
11349
    You say, "I am in #367, the cat is in room #367."
11038
11350
    > @fo hat=get cat
11039
11351
    cat has left.
11040
11352
    > say The cat is in [loc(#325)] within room [room(#325)].
11041
 
    You say "The cat is in #368 within room #367."
 
11353
    You say, "The cat is in #368 within room #367."
11042
11354
 
11043
11355
  Related Topics: loc(), UNFINDABLE.
11044
11356
 
11053
11365
 
11054
11366
  Examples:
11055
11367
    > say round(5.123,1)
11056
 
    You say "5.1"
 
11368
    You say, "5.1"
11057
11369
    > say round(9.8765,3)
11058
 
    You say "9.877"
 
11370
    You say, "9.877"
11059
11371
    > say round(5.5,0)
11060
 
    You say "6"
 
11372
    You say, "6"
11061
11373
    > say round(-5.5,0)
11062
 
    You say "-6"
 
11374
    You say, "-6"
11063
11375
    > say round(520,-3)
11064
 
    You say "1000"
 
11376
    You say, "1000"
11065
11377
 
11066
11378
  Related Topics: fdiv(), floor(), mod(), trunc().
11067
11379
 
11082
11394
 
11083
11395
  FUNCTION: rxlevel(<target>)
11084
11396
 
11085
 
  Returns a space separated list of <target>'s Rx Levels. You must control
 
11397
  Returns a space-separated list of <target>'s Rx Levels. You must control
11086
11398
  <target>.  If no levels are listed, nothing is returned.  If you do not
11087
11399
  control the target, or if the target does not exist, '#-1' is returned.
11088
11400
 
11091
11403
 
11092
11404
  Example:
11093
11405
    > say rxlevel(me)
11094
 
    You say 'Real'.
 
11406
    You say, 'Real'.
11095
11407
 
11096
11408
  Related Topics: hasrxlevel(), hastxlevel(), txlevel(), listrlevels()
11097
11409
 
11163
11475
 
11164
11476
  Example:
11165
11477
    > say scramble(abcdef)
11166
 
    You say "cfaedb"
 
11478
    You say, "cfaedb"
11167
11479
 
11168
11480
  Related Topics: shuffle()
11169
11481
 
11217
11529
 
11218
11530
  Examples:
11219
11531
    > say search()
11220
 
    You say "#226 #289 #325 #364 #368 #369"
 
11532
    You say, "#226 #289 #325 #364 #368 #369"
11221
11533
    > @stats me
11222
11534
    6 objects = 0 rooms, 0 exits, 5 things, 1 players. (0 garbage)
11223
11535
    > say search(eval=\[eq(money(##),1)\])
11224
 
    You say "#289 #325 #364 #368 #369"
 
11536
    You say, "#289 #325 #364 #368 #369"
11225
11537
    > say search(player=wizard)
11226
 
    You say "#1"
 
11538
    You say, "#1"
11227
11539
 
11228
11540
  Related Topics: @search, SEARCH CLASSES.
11229
11541
 
11237
11549
 
11238
11550
    local - Returns an integer which corresponds to the current local
11239
11551
            time on the machine running the MUX. This integer is
11240
 
            affected by timezones and daylight savings time and is
 
11552
            affected by time zones and daylight savings time and is
11241
11553
            therefore primarily useful in conjunction with
11242
11554
            convsecs(..,utc).
11243
11555
 
11252
11564
 
11253
11565
  Example:
11254
11566
     > say secs()
11255
 
     You say "957557434"
 
11567
     You say, "957557434"
11256
11568
     ... wait a bit ...
11257
11569
     > say secs()
11258
 
     You say "957557447"
 
11570
     You say, "957557447"
11259
11571
     > say secs(local,5)
11260
 
     You say "957532580.09348"
 
11572
     You say, "957532580.09348"
11261
11573
 
11262
11574
  Related Topics: convsecs(), convtime(), time().
11263
11575
 
11266
11578
 
11267
11579
  FUNCTION: secure(<string>)
11268
11580
 
11269
 
  Returns <string> after replacing the characters [](){};%\$ with spaces.
 
11581
  Returns <string> after replacing the characters %$\[](){},; with spaces.
11270
11582
  This prevents strings entered by players from causing undesired side
11271
11583
  effects when used, such as making your object perform unintended commands
11272
11584
  or give out information to which you have access.  Note that this function
11276
11588
 
11277
11589
    > @va me=Sneak a peek at Wiz's desc... [get(#1/desc)]
11278
11590
    > say secure(%va)
11279
 
    You say "Sneak a peek at Wiz's desc...  get #1/desc  "
 
11591
    You say, "Sneak a peek at Wiz's desc...  get #1/desc  "
11280
11592
    > say secure($foobar:this {is} a really, tough ; test.)
11281
 
    You say " foobar:this is a really tough   test."
 
11593
    You say, " foobar:this is a really tough   test."
11282
11594
 
11283
11595
  Note: 'say secure(Sneak a peek at Wiz's desc... [get(#1/desc)])' does not
11284
11596
  produce the expected result because the argument is evaluated BEFORE being
11362
11674
& SET()
11363
11675
SET()
11364
11676
 
11365
 
  FUNCTION: set(<name>, <string>)
11366
 
 
11367
 
  Works the same as @set, <name> and <string> are equivalent to what comes
11368
 
  before and after the '=' sign. Returns nothing. This is a side effect
11369
 
  function, and should only be used when necessary.
 
11677
  FUNCTION: set(<object>, <string>)
 
11678
 
 
11679
  Works the same as @set, <object> and <string> are equivalent to what comes
 
11680
  before and after the '=' sign.  Returns nothing.
 
11681
 
 
11682
  The following demonstrate how to use set() for setting or clearing a flag,
 
11683
  attribute flag, or attribute on an object. As with @set, flags are cleared
 
11684
  by using an exclamation mark(!) preceding the flag name for both general and
 
11685
  attribute flags.  For attributes, an empty value after the colon (:) will
 
11686
  clear the attribute value from the <object>.
 
11687
 
 
11688
    set(<object>, <flag>)
 
11689
    set(<object>/<attribute>, <attribute flag>)
 
11690
    set(<object>, <attribute>:<value>)
 
11691
 
 
11692
  Examples:
 
11693
 
 
11694
  > think [set(me,foo:Twenty Pink Pigs)]
 
11695
  < think [set(me,foo:)]
 
11696
  > think [set(me,VERBOSE)]
 
11697
  > think [set(me/foo,!VISUAL)]
11370
11698
 
11371
11699
  Related Topics: @set
11372
11700
 
11404
11732
 
11405
11733
  Related Topics: setdiff(), setunion(), sort().
11406
11734
 
 
11735
& SETNAME()
 
11736
SETNAME()
 
11737
 
 
11738
  FUNCTION: setname(<object>, <newname>)
 
11739
 
 
11740
  Works the same as @name, <object> and <newname> are equivalent to what comes
 
11741
  before and after the '=' sign.  Returns nothing.  This is a side effect
 
11742
  function, and should only be used when necessary.
 
11743
 
 
11744
  This function is only available if FIRANMUX is enabled.
 
11745
 
 
11746
  Related Topics: @name
 
11747
 
 
11748
& SETPARENT()
 
11749
SETPARENT()
 
11750
 
 
11751
  FUNCTION: setparent(<object>, <parent>)
 
11752
 
 
11753
  Works the same as @parent, <object> and <parent> are equivalent to what
 
11754
  comes before and after the '=' sign.  Returns nothing.  This is a side
 
11755
  effect function, and should only be used when necessary.
 
11756
 
 
11757
  This function is only available if FIRANMUX is enabled.
 
11758
 
 
11759
  Related Topics: @parent
 
11760
 
11407
11761
& SETQ()
11408
11762
SETQ()
11409
11763
 
11427
11781
  Example:
11428
11782
    > &TEST me=Test on [mudname()] at [time()].
11429
11783
    > say [setq(0,u(TEST))]'[r(0)]' has length [strlen(r(0))].
11430
 
    You say "'Test on TestMUX at Tue Feb 23 17:00:51 1993.' has length 45."
 
11784
    You say, "'Test on TestMUX at Tue Feb 23 17:00:51 1993.' has length 45."
11431
11785
 
11432
11786
  Related Topics: r(), setr().
11433
11787
 
11526
11880
 
11527
11881
  Example:
11528
11882
    > say shuffle(foo bar baz gleep)
11529
 
    You say "baz foo gleep bar"
 
11883
    You say, "baz foo gleep bar"
11530
11884
 
11531
11885
  Related Topics: die(), lrand(), pickrand(), rand()
11532
11886
 
11540
11894
 
11541
11895
  Examples:
11542
11896
    > say sign(-4.2)
11543
 
    You say "-1"
 
11897
    You say, "-1"
11544
11898
    > say sign(4.2)
11545
 
    You say "1"
 
11899
    You say, "1"
11546
11900
    > say sign(0.0)
11547
 
    You say "0"
 
11901
    You say, "0"
11548
11902
    > say sign(-1.3)
11549
 
    You say "-1"
 
11903
    You say, "-1"
11550
11904
 
11551
11905
  Related Topics: abs(), iabs(), isign().
11552
11906
 
11563
11917
 
11564
11918
  Examples:
11565
11919
    > say sin(270,d)
11566
 
    You say "-1"
 
11920
    You say, "-1"
11567
11921
    > say sin(fdiv(pi(),2))
11568
 
    You say "1"
 
11922
    You say, "1"
11569
11923
    > say sin(fdiv(pi(),4))
11570
 
    You say "0.707107"
 
11924
    You say, "0.707107"
11571
11925
    > say sin(fdiv(pi(),6))
11572
 
    You say "0.5"
 
11926
    You say, "0.5"
11573
11927
 
11574
11928
  Related Topics: acos(), asin(), atan(), cos(), pi(), tan().
11575
11929
 
11583
11937
 
11584
11938
  Example:
11585
11939
    > say singletime(45)
11586
 
    You say "45s"
 
11940
    You say, "45s"
11587
11941
    > say singletime(12345)
11588
 
    You say "3h"
 
11942
    You say, "3h"
11589
11943
    > say singletime(123456)
11590
 
    You say "1d"
 
11944
    You say, "1d"
11591
11945
 
11592
11946
  Related Topics: writetime(), exptime(), digittime(), secs(), time().
11593
11947
 
 
11948
& SITEINFO()
 
11949
SITEINFO()
 
11950
 
 
11951
  FUNCTION: siteinfo(<player|port>)
 
11952
 
 
11953
  Returns the site flags for <player|port> as seen on the WHO report.
 
11954
  These are F(forbidden), R(registration), +(suspect), and G(no guests).
 
11955
 
 
11956
  If <player|port> is numeric, it's taken as a port number.  Otherwise, it's
 
11957
  treated as a player name.  If the named player is connected more than once,
 
11958
  the first connection is returned.
 
11959
 
 
11960
  Related Topics: wizhelp WHO, wizhelp SITE LISTS.
 
11961
 
11594
11962
& SITEMON
11595
11963
SITEMON
11596
11964
 
11633
12001
 
11634
12002
  Examples:
11635
12003
    > say sort(This is a test)
11636
 
    You say "This a is test"
 
12004
    You say, "This a is test"
11637
12005
    > say sort(98 100 99 101,n)
11638
 
    You say "98 99 100 101"
 
12006
    You say, "98 99 100 101"
11639
12007
    > say sort(foo-bar-bletch,,-,|)
11640
 
    You say "bar|bletch|foo"
 
12008
    You say, "bar|bletch|foo"
11641
12009
 
11642
12010
  Related Topics: munge, sortby
11643
12011
 
11654
12022
  A simple example, which imitates a normal alphabetic sort:
11655
12023
    > &ALPHASORT test=[comp(%0,%1)]
11656
12024
    > say [sortby(test/ALPHASORT,foo bar baz)]
11657
 
    You say "bar baz foo"
 
12025
    You say, "bar baz foo"
11658
12026
 
11659
12027
  A slightly more complicated sort. #1 is "God", #2 is "Amby", "#3" is "Bob":
11660
12028
    > &NAMESORT me=[comp(name(%0),name(%1))]
11661
12029
    > say [sortby(NAMESORT,#1 #2 #3)]
11662
 
    You say "#2 #3 #1"
 
12030
    You say, "#2 #3 #1"
11663
12031
 
11664
12032
  Warning: the function invocation limit applies to this function. If
11665
12033
  this limit is exceeded, the function will fail _silently_. List and
11680
12048
 
11681
12049
  Examples:
11682
12050
    > say space(4)
11683
 
    You say "    "
 
12051
    You say, "    "
11684
12052
    > say edit(Foo bar bletch, space(), X)
11685
 
    You say "FooXbarXbletch"
 
12053
    You say, "FooXbarXbletch"
11686
12054
 
11687
12055
  Related Topics:
11688
12056
 
11739
12107
 
11740
12108
   *** Disconnected ***
11741
12109
 
 
12110
& SQL()
 
12111
SQL()
 
12112
 
 
12113
  FUNCTION: sql(<query>[,<row-delim>[,<col-delim>]])
 
12114
 
 
12115
  The sql() function uses a connection to a SQL database.  The <query>
 
12116
  parameter is given to SQL as if it were given at a normal SQL prompt.  By
 
12117
  default, the row delimiter, <row-delim>, defaults to a space, and the column
 
12118
  delimiter, <col-delim>, defaults to the row delimiter, <row-delim>.
 
12119
 
 
12120
  Examples:
 
12121
 
 
12122
    sql(select foo%,bar from mytable,~,|)
 
12123
 
 
12124
  would turn into
 
12125
 
 
12126
    1|aardvark~2|anteater~3|antelope
 
12127
 
 
12128
  ...or whatever data happens to exist in SQL.  It is worth remembering both
 
12129
  that you must escape commas in the query portion of the function, and that
 
12130
  using this command is a bottleneck; the game cannot do anything else until
 
12131
  the query returns.  Normally this will not be an issue, but if you write
 
12132
  code doing 700 large SQL queries in a row, the game will almost certainly
 
12133
  lag.
 
12134
 
 
12135
  The function is only available if FIRANMUX is enabled.
 
12136
 
 
12137
  Related Topics:
 
12138
 
11742
12139
& SQRT()
11743
12140
SQRT()
11744
12141
 
11750
12147
 
11751
12148
  Examples:
11752
12149
    > say sqrt(2)
11753
 
    You say "1.414214"
 
12150
    You say, "1.414214"
11754
12151
    > say sqrt(100)
11755
 
    You say "10"
 
12152
    You say, "10"
11756
12153
    > say sqrt(0)
11757
 
    You say "0"
 
12154
    You say, "0"
11758
12155
    > say sqrt(-1)
11759
 
    You say "Ind"
 
12156
    You say, "Ind"
11760
12157
 
11761
12158
  Related Topics: power().
11762
12159
 
11794
12191
    > @ahear item = "-->[v(1)]<-- bar -->[v(0)]<--
11795
12192
    Set.
11796
12193
    > say Fee fie foo fum
11797
 
    You say "Fee fie foo fum"
 
12194
    You say, "Fee fie foo fum"
11798
12195
    item says "-->fum"<-- bar -->Wizard says "Fee fie<--"
11799
12196
 
11800
12197
& STAFF
11820
12217
 
11821
12218
  Example:
11822
12219
    > say startsecs()
11823
 
    You say "959093815"
 
12220
    You say, "959093815"
11824
12221
 
11825
12222
  Related Topics: secs().
11826
12223
 
11834
12231
 
11835
12232
  Example:
11836
12233
    > say starttime()
11837
 
    You say "Sat Dec  7 00:09:13 1991
 
12234
    You say, "Sat Dec  7 00:09:13 1991
11838
12235
 
11839
12236
  Related Topics: convtime().
11840
12237
 
11857
12254
    > @stats me
11858
12255
    6 objects = 0 rooms, 0 exits, 5 things, 1 players. (0 garbage)
11859
12256
    > say stats(me)
11860
 
    You say "6 0 0 5 1 0"
 
12257
    You say, "6 0 0 5 1 0"
11861
12258
    > say stats()
11862
 
    You say "377 51 165 134 20 7"
 
12259
    You say, "377 51 165 134 20 7"
11863
12260
    > @stats/all
11864
12261
    377 objects = 51 rooms, 165 exits, 134 things, 20 players. (7 garbage)
11865
12262
 
11866
12263
  Related Topics: @stats.
11867
12264
 
 
12265
& STEP()
 
12266
STEP()
 
12267
 
 
12268
  FUNCTION: step([<object>/]<attribute>,<list>,<step size>[,<input delim>[,<output delim>]])
 
12269
 
 
12270
  <list> is a <input delim>-separated list of strings (e.g., A B C).
 
12271
 
 
12272
  This is something of a cross between iter() and map() in that it breaks
 
12273
  the given <list> down into <step size> chunks and evalutes
 
12274
  [<object>]/<attribute> passes these elements to <attribute> as arguments
 
12275
  %0, %1, etc. The number of elements in <list> does not need to be
 
12276
  evenly-disible by <step size>.
 
12277
 
 
12278
  If no <input delim> is given, the default is a space. Likewise, if no
 
12279
  <output delim> is given, the default is the <input delim>. The <step size>
 
12280
  can range from 1 to 10. A <step size> of 1 is equivalent to use map().
 
12281
 
 
12282
  Examples:
 
12283
    > &print_line me = %r%0 -- %1 -- %2
 
12284
    > say step(print_line,1 2 3 4 5 6 7 8,3)
 
12285
    You say, "
 
12286
    1 -- 2 -- 3
 
12287
    4 -- 5 -- 6
 
12288
    7 -- 8 --"
 
12289
 
 
12290
  Related Topics: iter(), map(), mix(), list().
 
12291
 
11868
12292
& STICKY
11869
12293
STICKY
11870
12294
 
11892
12316
STRIP()
11893
12317
 
11894
12318
  FUNCTION: strip(<string1>[,<string2>])
11895
 
  
 
12319
 
11896
12320
  This function strips out every occurrence of every character of <string2>
11897
12321
  from <string1> and returns <string1>.  If <string2> is empty or not given,
11898
12322
  <string1> is returned, stripped of ANSI codes. The strip function is case
11899
12323
  sensitive.
11900
 
  
 
12324
 
11901
12325
  Examples:
11902
12326
    > say strip(This is a test,is)
11903
 
    You say "Th  a tet"
 
12327
    You say, "Th  a tet"
11904
12328
    > say strip(abcdefgABCDEFG,azGy!7$B)
11905
 
    You say "bcdefgACDEF"
11906
 
  
 
12329
    You say, "bcdefgACDEF"
 
12330
 
11907
12331
  Related Topics: @edit, edit().
11908
12332
 
11909
12333
& STRIPACCENTS()
11934
12358
 
11935
12359
  Example:
11936
12360
    > say strlen(This is a test)
11937
 
    You say "14"
 
12361
    You say, "14"
11938
12362
    > say strlen(Would you like coffee, or perhaps tea)
11939
 
    You say "37"
 
12363
    You say, "37"
11940
12364
 
11941
12365
  Related Topics: strmem().
11942
12366
 
11956
12380
 
11957
12381
  Examples:
11958
12382
    > say strmatch(This is a test,*Test)
11959
 
    You say "1"
 
12383
    You say, "1"
11960
12384
    > say strmatch(This is a test,*This)
11961
 
    You say "0"
 
12385
    You say, "0"
11962
12386
    > say strmatch(This is a test,*is*is*)
11963
 
    You say "1"
 
12387
    You say, "1"
11964
12388
 
11965
12389
  Related Topics: match(), member(), regmatch().
11966
12390
 
11973
12397
 
11974
12398
  Example:
11975
12399
    > say strmem(This is a test)
11976
 
    You say "14"
 
12400
    You say, "14"
11977
12401
    > say strmem(Would you like coffee, or perhaps tea)
11978
 
    You say "37"
 
12402
    You say, "37"
11979
12403
 
11980
12404
  Related Topics: strlen().
11981
12405
 
12001
12425
 
12002
12426
  Example:
12003
12427
    > say sub(5,2)
12004
 
    You say "3"
 
12428
    You say, "3"
12005
12429
 
12006
12430
  Related Topics: add(), dec(), iadd(), idiv(), imul(), inc(), isub(),
12007
12431
            fdiv(), mod(), mul().
12035
12459
SUBSTITUTIONS
12036
12460
 
12037
12461
  The most basic form of evaluation is a %-substitution.  Even when other
12038
 
  forms of evalution are not performed, %-substitutions usually are.  A
 
12462
  forms of evaluation are not performed, %-substitutions usually are.  A
12039
12463
  %-substitution is a '%' followed by one or two letters, digits, or symbols.
12040
12464
  If a sequence is understood, it is substituted by a corresponding value.
12041
12465
  If a sequence is not understood, the initial '%' is removed.  In this way,
12074
12498
 
12075
12499
    %n, %N   Enactor's name.  See name(%#).
12076
12500
    %va-%vz  Contents of attribute va through vz
 
12501
    %=<attr> Equivalent to v(attr).
12077
12502
 
12078
12503
  Execution state substitutions:
12079
12504
 
12104
12529
 
12105
12530
    %|      A string piped from the previous command in a pipe.
12106
12531
 
12107
 
  Note that %<whatever> is equivalent to [v(<whatever>)], but is more
12108
 
  efficient.
 
12532
  Note that %va-%vz is equivalent to [get(%!/a)-[get(%!/z)], and %=<name> is
 
12533
  equivalent to [get(%!/name)].  The substitutions forms are more efficient.
 
12534
  Note that %=<name> supports single-letter attributes names while [v(name)]
 
12535
  does not. For attribute names longer than one character, %=<name>,
 
12536
  [get(%!/name], and v(name) are equivalent.
12109
12537
 
12110
 
  Related Topics: ANSI(), ANSI CODES, ANSI SUBSTITUTION, GENDER, V(). 
 
12538
  Related Topics: ANSI(), ANSI CODES, ANSI SUBSTITUTION, GENDER, V().
12111
12539
 
12112
12540
& SUCCESS
12113
12541
SUCCESS
12119
12547
 
12120
12548
  Related Topics: get, look, @asuccess, @lock, @osuccess, @success.
12121
12549
 
 
12550
& SUCCESSES()
 
12551
SUCCESSES()
 
12552
 
 
12553
  FUNCTION: successes(<numdice>, <difficulty target>[, <version>])
 
12554
 
 
12555
  Returns an integer representing the number of successes (a positive
 
12556
  number), the number of failures or fumbles (a negative number), or 0
 
12557
  indicating no successes or failures.
 
12558
 
 
12559
  <version>       Description:
 
12560
 
 
12561
     0            The first number passed to successes() is the number of dice
 
12562
                  (ten-sided dice ranging 1 to 10) to be rolled.  The second
 
12563
                  number is the difficulty target number that must be rolled
 
12564
                  to count that die as a "success".  The dice are rolled and
 
12565
                  each die that is equal to or greater than the target number
 
12566
                  is counted as a success.  Each die that rolls a '1' is
 
12567
                  counted as a failure.  The number returned from successes()
 
12568
                  is the successes minus the failures.
 
12569
 
 
12570
     1 (default)  Similar outcome to above, but expressed internally as a
 
12571
                  large table with some of the harsher edges smoothed over.
 
12572
 
 
12573
  Related Topics: choose(), die(), distribute(), lrand(), and rand().
 
12574
 
12122
12575
& SWITCH()
12123
12576
SWITCH()
12124
12577
 
12139
12592
 
12140
12593
  Example:
12141
12594
    > say switch(c,*a*,A,*b*,B,*c*,C,*d*,D,E)
12142
 
    You say "C"
 
12595
    You say, "C"
12143
12596
    > say switch(f,*a*,A,*b*,B,*c*,C,*d*,D,E)
12144
 
    You say "E"
 
12597
    You say, "E"
12145
12598
    > say switch(cab,*a*,A,*b*,B,*c*,C,*d*,D,E)
12146
 
    You say "A"
 
12599
    You say, "A"
12147
12600
    > say switch(f,*a*,A,*b*,B,*c*,C,*d*,D)
12148
 
    You say ""
 
12601
    You say, ""
12149
12602
 
12150
12603
  Related Topics: @switch, match(), ifelse(), case().
12151
12604
 
12155
12608
  Some commands have command switches associated with them that can be used
12156
12609
  to modify their behavior.  For instance, switches on the @ps command
12157
12610
  control the amount of information displayed, and switches on the @switch
12158
 
  command indicate whether to perform all actionlists whose targets match
 
12611
  command indicate whether to perform all action lists whose targets match
12159
12612
  the search string, or just the first.
12160
12613
 
12161
12614
  Related Topics: @list.
12192
12645
    > think table(the quick brown fox,10,25, ,|)
12193
12646
    the       |quick
12194
12647
    brown     |fox
12195
 
    > think table(foo bar baz,101,25,0,|,.\,)
 
12648
    > think table(foo bar baz,10,25,,|,.\,)
12196
12649
    foo.,.,.,.|bar.,.,.,.
12197
12650
    baz.,.,.,.
12198
12651
 
12248
12701
 
12249
12702
  Examples:
12250
12703
    > say tan(0)
12251
 
    You say "0"
 
12704
    You say, "0"
12252
12705
    > say tan(1)
12253
 
    You say "1.557408"
 
12706
    You say, "1.557408"
12254
12707
    > say tan(fdiv(pi(),4))
12255
 
    You say "1"
 
12708
    You say, "1"
12256
12709
 
12257
12710
  Related Topics: acos(), asin(), atan(), cos(), pi(), sin().
12258
12711
 
12281
12734
 
12282
12735
  Related Topics: examine, look.
12283
12736
 
 
12737
& TEXT()
 
12738
TEXT()
 
12739
 
 
12740
  FUNCTION: text(<filename>, <index>)
 
12741
 
 
12742
  This function returns the text associated with an index from a file in a
 
12743
  help.txt format.  The exact path and name of the file should be specified,
 
12744
  and must match exactly the name of a file in game/textfiles.conf (for
 
12745
  security).
 
12746
 
 
12747
  This allows you to, for example, create a file, game/text/rumors.txt, and
 
12748
  add an entry:
 
12749
 
 
12750
    & beer
 
12751
    It is rumored that you can get free beer at the Rat in the Ale Tavern.
 
12752
 
 
12753
  If textfiles.conf contains an entry for the file (text/rumors.txt), then you
 
12754
  can refer to the beer rumor using 'text(text/rumors.txt, beer)'.
 
12755
 
 
12756
  This function is only available if FIRANMUX is enabled and is likely to be
 
12757
  deprecated in favor of textfile()..
 
12758
 
 
12759
  Related Topics: textfile().
 
12760
 
12284
12761
& TEXTFILE()
12285
12762
TEXTFILE()
12286
12763
 
12351
12828
 
12352
12829
  Example:
12353
12830
    > say time()
12354
 
    You say "Fri May 05 13:05:39 2000"
 
12831
    You say, "Fri May 05 13:05:39 2000"
12355
12832
    > say time(utc,3)
12356
 
    You say "Fri May 05 20:05:39.667 2000"
 
12833
    You say, "Fri May 05 20:05:39.667 2000"
12357
12834
 
12358
12835
  Related Topics: convsecs(), convtime(), secs().
12359
12836
 
12390
12867
    > think timefmt($A\, the $dth day of $B.)
12391
12868
    Monday, the 17th day of July.
12392
12869
 
12393
 
  Related Topics: convtime(), convsecs().
 
12870
  Related Topics: convtime(), convsecs(), etimefmt().
12394
12871
 
12395
12872
& TOPICS
12396
12873
TOPICS
12407
12884
  HERE                     HOMES                    LINKING
12408
12885
  LISTENING                LISTS                    LOOPING
12409
12886
  ME                       MONEY                    MOVING
12410
 
  OBJECT STACK             OBJECT TYPES             PARENT OBJECTS
12411
 
  PARENT ROOMS             PIPING                   POWERS LIST
12412
 
  PUEBLO                   PUPPETS                  REGEXPS
12413
 
  ROBBERY                  SEARCH CLASSES           SEMAPHORES
12414
 
  SPOOFING                 STACK                    SUBSTITUTIONS
12415
 
  SUCCESS                  SWITCHES                 USER-DEFINED COMMANDS
12416
 
  VERBS                    WIZARDS                  ZONES
 
12887
  OBJECT TYPES             PARENT OBJECTS           PARENT ROOMS
 
12888
  PIPING                   POWERS LIST              PUEBLO
 
12889
  PUPPETS                  REGEXPS                  ROBBERY
 
12890
  SEARCH CLASSES           SEMAPHORES               SPOOFING
 
12891
  STACK                    SUBSTITUTIONS            SUCCESS
 
12892
  SWITCHES                 USER-DEFINED COMMANDS    VERBS
 
12893
  WIZARDS                  ZONES
12417
12894
 
12418
12895
& TRACE
12419
12896
TRACE
12445
12922
  number of trace output lines that may be produced by an evaluation is limited
12446
12923
  to 200.  Bottom-up trace output is not limited.
12447
12924
 
 
12925
  Trace may also be set on a specific attribute, thus narrowing down the scope
 
12926
  of the trace output to results from that specific object/attribute
 
12927
  combination.
 
12928
 
 
12929
  Example:
 
12930
    > @set object/attribute = trace
 
12931
 
12448
12932
  Related Topics: VERBOSE.
12449
12933
 
12450
12934
& TRAIN
12454
12938
 
12455
12939
  The train command is used to output to your location exactly what you
12456
12940
  have typed, then execute it.  The output is not parsed and is taken
12457
 
  verbatim and displayed as is. 
 
12941
  verbatim and displayed as is.
12458
12942
 
12459
12943
  Example:
12460
12944
    > train @emit To do addition, type:  say add(1,1) = 2
12461
12945
    YourName types -=> @emit To do addition, type: say add(1,1) = 2
12462
 
    To do addition, type: say add(1,1) = 2                         
 
12946
    To do addition, type: say add(1,1) = 2
12463
12947
 
12464
12948
  Related Topics: @emit, pose, @pemit, think
12465
12949
 
12491
12975
 
12492
12976
  Related Topics:
12493
12977
 
 
12978
& TRIGGER()
 
12979
TRIGGER()
 
12980
 
 
12981
  FUNCTION: trigger(<object>/<attr> [, <param1>[, <param2>[, ...]]])
 
12982
 
 
12983
  Works the same as @trigger, <object>/<attr> and <param> are equivalent to
 
12984
  what comes before and after the '=' sign. Returns nothing.  This is a side
 
12985
  effect function, and should only be used when necessary.
 
12986
 
 
12987
  This invokes an action list stored in an attribute on an object.  The
 
12988
  triggering object becomes the enactor and the positional parameters %0
 
12989
  through %9 are set to the supplied parameters.
 
12990
 
 
12991
  This function is only available if FIRANMUX is enabled.
 
12992
 
 
12993
  Related Topics: @trigger
 
12994
 
12494
12995
& TRIM()
12495
12996
TRIM()
12496
12997
 
12509
13010
 
12510
13011
  Example:
12511
13012
    > say trim(;;;Wacka;;;,,;)
12512
 
    You say "Wacka"
 
13013
    You say, "Wacka"
12513
13014
    > say trim(%b%b%b Polly Parrot %b%b%b%b,r)
12514
 
    You say "    Polly Parrot"
 
13015
    You say, "    Polly Parrot"
12515
13016
    > say trim(---Trim Rules!---,l,-)
12516
 
    You say "Trim Rules!---"
 
13017
    You say, "Trim Rules!---"
12517
13018
 
12518
13019
  Related Topics: center(), ljust(), rjust().
12519
13020
 
12527
13028
 
12528
13029
  Examples:
12529
13030
    > say trunc(5)
12530
 
    You say "5"
 
13031
    You say, "5"
12531
13032
    > say trunc(5.2)
12532
 
    You say "5"
 
13033
    You say, "5"
12533
13034
    > say trunc(5.8)
12534
 
    You say "5"
 
13035
    You say, "5"
12535
13036
    > say trunc(-5)
12536
 
    You say "-5"
 
13037
    You say, "-5"
12537
13038
    > say trunc(-5.2)
12538
 
    You say "-5"
 
13039
    You say, "-5"
12539
13040
 
12540
13041
  Related Topics: fdiv(), floor(), mod(), round().
12541
13042
 
12544
13045
 
12545
13046
  FUNCTION: txlevel(<target>)
12546
13047
 
12547
 
  Returns a space separated list of <target>'s Tx Levels. You must control
 
13048
  Returns a space-separated list of <target>'s Tx Levels. You must control
12548
13049
  <target>.  If no levels are listed, nothing is returned.  If you do not
12549
13050
  control the target, or if the target does not exist, '#-1' is returned.
12550
13051
 
12553
13054
 
12554
13055
  Example:
12555
13056
    > say txlevel(me)
12556
 
    You say 'Real'.
 
13057
    You say, 'Real'.
12557
13058
 
12558
13059
  Related Topics: hasrxlevel(), hastxlevel(), rxlevel(), listrlevels()
12559
13060
 
12567
13068
 
12568
13069
  Example:
12569
13070
    > say type(me)
12570
 
    You say "PLAYER"
 
13071
    You say, "PLAYER"
12571
13072
    > say type(here)
12572
 
    You say "ROOM"
 
13073
    You say, "ROOM"
12573
13074
 
12574
13075
  Related Topics: hastype().
12575
13076
 
12590
13091
    > @va me=Word is [extract(v(vb),add(%0,1),1)], arg2 is %1.
12591
13092
    > @vb me=This is a test of the u function.
12592
13093
    > say u(va,4,Testing 123)
12593
 
    You say "Word is of, arg2 is Testing 123."
 
13094
    You say, "Word is of, arg2 is Testing 123."
12594
13095
    > say u(va,7)
12595
 
    You say "Word is function., arg2 is ."
 
13096
    You say, "Word is function., arg2 is ."
12596
13097
    > say u(me/va,6,Foobar)
12597
 
    You say "Word is u, arg2 is Foobar."
 
13098
    You say, "Word is u, arg2 is Foobar."
12598
13099
 
12599
13100
  Related Topics: s(), v(), get(), get_eval(), map(), ulocal().
12600
13101
 
12607
13108
 
12608
13109
  Example:
12609
13110
    > say ucstr(This is a test, really!)
12610
 
    You say "THIS IS A TEST, REALLY!"
 
13111
    You say, "THIS IS A TEST, REALLY!"
12611
13112
 
12612
13113
  Related Topics: capstr(), lcstr().
12613
13114
 
12628
13129
  Examples:
12629
13130
    > &TEST me=[center(%0,5,*)]
12630
13131
    > say udefault(Test,-- BOOM --,ACK)
12631
 
    You say "*ACK*"
 
13132
    You say, "*ACK*"
12632
13133
    > &TEST me
12633
13134
    > say udefault(me/Test,-- BOOM --,ACK)
12634
 
    You say "-- BOOM --"
 
13135
    You say, "-- BOOM --"
12635
13136
 
12636
13137
  Related Topics: get(), get_eval(), u(), default(), edefault().
12637
13138
 
12667
13168
    > &SUB-FUNCTION me=[setq(0,v(FRUIT))][extract(%q0,match(%q0,%0),1)]
12668
13169
    > &TOP-FUNCTION me=[setq(0,are delicious!)][ulocal(SUB-FUNCTION,%0)] %q0
12669
13170
    > say u(TOP-FUNCTION,b*)
12670
 
    You say "bananas are delicious!"
 
13171
    You say, "bananas are delicious!"
12671
13172
 
12672
13173
  If SUB-FUNCTION had been called with u() instead of ulocal():
12673
13174
    > &TOP-FUNCTION me=[setq(0,are delicious!)][u(SUB-FUNCTION,%0)] %q0
12674
13175
    > say u(TOP-FUNCTION,b*)
12675
 
    You say "bananas apples bananas oranges pears"
 
13176
    You say, "bananas apples bananas oranges pears"
12676
13177
 
12677
13178
  In this second example, in SUB-FUNCTION, %q0 was set to "apples bananas
12678
13179
  oranges pears", so that when the u() "returned" and TOP-FUNCTION evaluated
12809
13310
 
12810
13311
  Possible values for <category>:
12811
13312
 
12812
 
     name        Test for object name.
12813
 
     playername  Test for player name.
12814
 
     attrname    Test for attribute name.
 
13313
     attrname    Validates attribute name.
 
13314
     comalias    Validates comsys alias.
 
13315
     doing       Validates @doing string.
 
13316
     exitname    Validates exit name.
 
13317
     name        Validates object name.
 
13318
     password    Validates for password rules.
 
13319
     playername  Validates player name for @name and @alias.
 
13320
     malias      Validates @malias name.
 
13321
     maliasdesc  Validates @malias description.
12815
13322
 
12816
13323
  Valid() does not check the database for existence and it does not guarantee
12817
13324
  that an attempt to use such an object will succeed. It only looks at
12886
13393
VERBS
12887
13394
 
12888
13395
  For many verbs there are three attributes that specify messages and actions
12889
 
  associated with the verb in addition to the verb's builtin action.
 
13396
  associated with the verb in addition to the verb's built-in action.
12890
13397
  The attributes are named Verb, Overb, and Averb.  Verb is the message that
12891
13398
  the enactor sees, Overb is the message that everyone else in the same room
12892
13399
  as the enactor sees, and Averb is a list of commands that are run.
12915
13422
     MUX 2.2.0.44 #1 [ALPHA]
12916
13423
     Build date: Tue Oct  1 11:47:16 PDT 2002
12917
13424
     > say version()
12918
 
     You say "MUX 2.2.0.44 #1 [ALPHA]"
 
13425
     You say, "MUX 2.2.0.44 #1 [ALPHA]"
12919
13426
 
12920
13427
  Related Topics:
12921
13428
 
12950
13457
 
12951
13458
  FUNCTION: vmag(<vector>[,<delimiter>]
12952
13459
 
12953
 
  Returns the magnitude of a vector using a euclidean distance metric.
 
13460
  Returns the magnitude of a vector using a Euclidean distance metric.
12954
13461
  That is, for vector a b c d, it returns sqrt(a^2+b^2+c^2+d^2).
12955
13462
 
12956
13463
  Example:
12965
13472
  FUNCTION: vmul(<vector|num>,<vector|num>[,<delim>][,<output delim>])
12966
13473
 
12967
13474
  Returns the result of either multiplying a vector by a number (scalar
12968
 
  multiplication) or an elementwise multiplication of two vectors.
 
13475
  multiplication) or an element-wise multiplication of two vectors.
12969
13476
 
12970
13477
  Example:
12971
13478
    > think vmul(1 2 3,2)
13067
13574
 
13068
13575
  Example:
13069
13576
    > think width(me)
13070
 
    You say "122"
 
13577
    You say, "122"
13071
13578
 
13072
13579
  Related Topics: height().
13073
13580
 
13108
13615
 
13109
13616
  Example:
13110
13617
    > say wordpos(This is a test, 4)
13111
 
    You say "1"
 
13618
    You say, "1"
13112
13619
    > say wordpos(This is a test, 5)
13113
 
    You say "2"
 
13620
    You say, "2"
13114
13621
    > say wordpos(This is a test, 6)
13115
 
    You say "2"
 
13622
    You say, "2"
13116
13623
    > say wordpos(This is a test, 20)
13117
 
    You say "#-1"
 
13624
    You say, "#-1"
13118
13625
 
13119
13626
  Related Topics: member(), pos().
13120
13627
 
13128
13635
 
13129
13636
  Example:
13130
13637
    > say words(This is a test)
13131
 
    You say "4"
 
13638
    You say, "4"
13132
13639
    say words(Would you like coffee or perhaps tea?)
13133
 
    > You say "7"
 
13640
    > You say, "7"
13134
13641
    say words(This:is:a:colon:separated:list,:)
13135
 
    > You say "6"
 
13642
    > You say, "6"
13136
13643
 
13137
13644
  Related Topics:
13138
13645
 
13146
13653
  width.  Words are separated by spaces. If a word in the text is longer than
13147
13654
  a single line, it is simply broken at the end of the line.  Tabs are
13148
13655
  expanded to 8 spaces, and %r's are treated as a force to the next line,
13149
 
  overriding the logic of the word wrapping. 
 
13656
  overriding the logic of the word wrapping.
13150
13657
 
13151
13658
  The <just> argument may be Left, Right, or Center. Only the first
13152
13659
  character of the argument is significant. <just> defaults to Left.
13172
13679
  |       you? |
13173
13680
 
13174
13681
  > @emit DESC: [wrap(get(me/desc), 10, left,,,6)]
13175
 
  DESC: You see 
13176
 
        before 
 
13682
  DESC: You see
 
13683
        before
13177
13684
        you a
13178
13685
        stranger.
13179
13686
 
13195
13702
 
13196
13703
  Example:
13197
13704
    > say writetime(45)
13198
 
    You say "45 seconds"
 
13705
    You say, "45 seconds"
13199
13706
    > say writetime(12345)
13200
 
    You say "3 hours 25 minutes 45 seconds"
 
13707
    You say, "3 hours 25 minutes 45 seconds"
13201
13708
    > say writetime(123456)
13202
 
    You say "1 day 10 hours 17 minutes 36 seconds"
 
13709
    You say, "1 day 10 hours 17 minutes 36 seconds"
13203
13710
 
13204
13711
  Related Topics: digittime(), exptime(), secs(), singletime(), time().
13205
13712
 
13322
13829
 
13323
13830
  FUNCTION: zwho(<object>)
13324
13831
 
13325
 
  Returns a list of players who are a member of the zone defined by
13326
 
  <object>. Currently a wizard/royalty only function.
 
13832
  Returns a list of players who are a member of the zone defined by <object>.
 
13833
  Inzone requires the executor to either own/control the <object> or possess
 
13834
  wizard/royalty permissions.
13327
13835
 
13328
13836
  Related Topics: inzone(), ZONES.
13329
13837