prev | toc | next
 

Creating Rooms and Areas (cont'd)

Creating an Environment Room:

If you are building an area, as opposed to one or a few rooms for personal use, it's a good idea to parent the area to an environment room. Doing so will allow you to create commands that can be used throughout the area, and will let you do a backup of your work with a single @archive command. As discussed in Section 2.2, rooms by default have the same parent room (or environment room) as the room from which they are are created. A room can be reparented by @teleporting it to a new environment room. A reasonable approach to building an area is to @dig an environment room, @dig the first room in the area with the just-created environment room as its parent, and move to the new room before creating additional rooms in the area. This way, standard @dig commands will cause the additional rooms to be parented to the area's environment room.

====================================
> @dig Amberside Environment Room  (create the environment room)
  Amberside Environment Room created with room number 4801.
> @register #4801 = aer  (give it a registered name for easy access)
  Now registered as _reg/aer:Amberside Environment Room(#4801) on
  Shadowkat(#1131PBJ)
> @set $aer = A  (set env room Abode, so it will show up in @trace)
  Flag set.
> @dig Amberside Inn: Tavern = $aer
  Amberside Inn: Tavern created with room number 4802.
  Trying to parent...
  Parent set to Amberside Environment Room(#4801RA).
> @register #4802 = ai   (register this too, since we'll be going there)
  Now registered as _reg/ai:Amberside Inn: Tavern(#4802) on
  Shadowkat(#1131PBJ)
> @tel me = $ai   (go there)
  You feel a wrenching sensation...
  Amberside Inn: Tavern(#4802R)
  Teleported.
====================================

If system parameters on your MUCK are set such that you cannot teleport to your new room, it will be worthwhile to create a personal exit that takes you there, for use while you are building the area. After the area is built and linked to the rest of the MUCK, you can recycle it.

====================================
> @act ai = me
  Action created with number 4803 and attached.
> @link ai = $ai
  Linked to Amberside Inn: Tavern(#4802)
> ai
  Amberside Inn: Tavern(#4802R)
> @trace here
  Amberside Inn: Tavern(#4802R)
  Amberside Environment Room(#4801RA)
  Environment: Lowlands(#285RA)
  Rainforest Parent Room(#121RWA)
  Rainforest: Main Parent(#118RA)
  Master Environment(#101RA)
  **Missing**
====================================

The Amberside Environment Room is parented to Environment: Lowlands(#285RA), because we were under it when we issued the first @dig command. This may be where we want it when the area is finished, or there may be some other area of the MUCK that is more suitable. After the area is finished, you would contact the MUCK's builder wiz and discuss where to put the area. For now, the current location should be fine. Additional rooms that we @dig while under The Amberside Environment Room(#4801RA) will automatically be parented to there.

====================================
> @dig Amberside Inn: West Wing
  Amberside Inn: West Wing created with room number 4804.
> @trace #4804
  Amberside Inn: West Wing(#4804R)
  Amberside Environment Room(#4801RA)
  Environment: Lowlands(#285RA)
  Rainforest Parent Room(#121RWA)
  Rainforest: Main Parent(#118RA)
  Master Environment(#101RA)
  **Missing**
====================================

One way we could make use of the enivonment room is to provide a command available throughout the area we are building, and only in that area. If we make an action called map;look map;loo map;lo map;l map, attaching it to the environment room, and setting its @succ to display a list with and ASCII map of the area, users will be able to view a map of the area from anywhere within it.

====================================
> @act map;look map;loo map;lo map;l map = $ae
  Action created with number 4805 and attached.
> @link map = $nothing
  Linked to do-nothing.muf(#97)
> @succ map = {list:the_map,this}
  Message set.
> lsedit map = the_map

     ( insert map )

====================================

prev | toc | top | next