prev | toc | next
 

2.1.2 Messages and Message Properties

As indicated earlier, a set of properties in the _/ directory is given special handling by the server. They can be set with a group of server commands such as @succ, @ofail, etc., and they cause strings to be parsed and displayed automatically whenever certain events happen. Collectively, this group of commands, properties, and their values are called `messages'.

    Command/Message Type       Property
    @desc                      _/de
    @succ                      _/sc
    @osucc                     _/osc
    @fail                      _/fl
    @ofail                     _/ofl
    @drop                      _/dr
    @odrop                     _/odr
    @pecho                     _/pecho
    @oecho                     _/oecho

(There does not seem to be a definitive pronunciation for messages: when speaking in RL, some people would say `at-fail' for @fail, and others would say simply `fail'.)

The @desc message is evaluated and displayed to any user who looks at an object of any type.

====================================
> @desc me = A nymph with green hair.{look-notify}
  Message set.
> l me
  [ Kiri looked at you. ]
  A nymph with green hair.
====================================

The @succ message is evaluated and displayed to any user who successfully uses an object. The meaning of `success' varies depending on the object type. To successfully use a thing or a program means to pick it up. To successfully use a room means to look at it. To successfully use an exit means to pass through it or use it as a command that triggers a program. To successfully use a player means to steal one of her pennies with the rob command.

====================================
> @succ out = You step out back.
  Message set.
> out
  You step out back.
====================================

The @osucc message is evaluated and displayed to all players in a room where a player successfully uses the object, other than the player in question. The @osucc message (that is, the string stored in the object's _/osc property) is prefaced with the user's name when it is displayed.

====================================
> @osucc out = steps out back.
  Message set.

  (Kiri types `out'... others see...)
  Kiri steps out back.
====================================

The @fail is evaluated and displayed to a user who fails to successfully use an object. The normal reason for failure is that the object is locked against the player. The terms for success or failure are those indicated above, for @succ.

====================================
> @fail vault = Ahem. Only authorized bank employees may open the
  vault. Various alarms begin to sound.
  Message set.
> @lock vault = ~banker:yes
  Locked.
> vault
  Ahem. Only authorized bank employees may open the vault.
====================================

The @ofail message is evaluated and displayed to all players in a room where a player fails to successfully use the object, except the player in question. The @ofail message is prefaced with the user's name when it is displayed.

====================================
> @ofail vault = tried to open the vault! Shrill alarms begin ringing!
  Message set.

  (Kiri types `vault'... others see...)
  Kiri tried to open the vault! Shrill alarms begin ringing!
====================================

The @drop message is evaluated and displayed to a player who triggers a drop. For a thing or program, a drop is triggered when the object is dropped. For a room, a drop is triggered whenever an object is dropped in the room. For an exit, a drop is triggered when a player (or other object type) passes through th exit (using an exit/action linked to a program does not trigger a drop). For a player, a drop is triggered when he or she is killed.

====================================
> @drop grenade = BANG!
  Message set.
> drop grenade
  BANG!
====================================

The @odrop message is is evaluated and displayed to all players in a room where a player drops an object, except for the triggering player, or all other players in the room a player arrives in when she passes through an exit. The @odrop message is prefaced with the user's name when it is displayed.

====================================
> @odrop out = comes out of the house.
  Message set.

  (Kiri types `drop out'... the players in the outside room see...)
  Kiri comes out of the house.
  Kiri has arrived.

> @odrop grenade = drops a grenade! Run! {null:{delay:3,{lit:
  {null:{tell:BANG!}}}}}
  Message set.

  (Kiri types `drop grenade'... others see...)
  Kiri drops a grenade! Run!
  BANG!
====================================

@pecho and @oecho are somewhat different than the preceding messages, having to do with the format of messages transmitted (or `broadcast') by puppets and vehicles.

By default, output broadcast from a puppet is prefaced by the puppet's name and a > greater than sign. Typing @pecho <puppet name> = <new preface string> sets the puppet object's _/pecho property, which will become the new preface string. (See Section 4.3 for more information on creating puppets.)

====================================
> z look
  Squiggy> Amberside Inn, Tavern
  Squiggy> At first glance the tavern seems little changed from
  Squiggy> days when pirate sloops sought haven in the protected
  Squiggy> coves of Amberside's cliffs: the beams are still low
  Squiggy> and smoke-stained...

> @pecho squiggly = *
  Message set.

> ex squig = _/
  str /_/pecho:*
  1 property listed.

> z look
  * Amberside Inn, Tavern
  * At first glance the tavern seems little changed from days when
  * pirate sloops sought haven in the protected coves of Amberside's
  * cliffs: the beams are still low and smoke-stained...
====================================

By default, messages broadcast from the exterior of a vehicle object to its interior will be prefaced by the string Outside> . Typing @oecho <vehicle object> = <new preface string> will set the vehicle's _/oecho property, which will become the new preface string. (See Section 4.5 for more information on creating vehicles.)

====================================
> @create 1967 Corvette Sting Ray
  1967 Corvette Sting Ray created with number #558.
> @set 1967 = V
  Flag set.
> @act getin = 1967
  Action created with number #559 and attached.
> @link getin = 1967
  Linked to 1967 Corvette Sting Ray(#558V)
> drop 1967
  Dropped.
> getin
  1967 Corvette Sting Ray(#558V)

> z :raps sharply on the window... "Can you hear me in there,
  mistress?"
  Outside> Squiqqy raps sharply on the window... "Can you hear
  me in there, mistress?"

> @oecho here = >>>
  Message set.

> z :raps again. "What about now?"
  >>> Squiggy raps again. "What about now?"
====================================

prev | toc | top | next