Skip to content

Redwall MUCK Site

Sections
Personal tools
You are here: Home » Programming Area » MPI Tutorials » Clothing

Clothing

Clothing.
Clothing

To give yourself clothing, do the following:
1) use lsedit to setup a default description:
   lsedit me=desc/default

   All descriptions go under the /desc prop, and should
   be named. MPI parsing (embedded MPI) is support so
   break lines with {lit: } at the end to avoid run-ons.

2) Specify the first of many sets of clothing (currently
   only your default set)

   +desc default

3) Set the code in your description property that will
   actually USE the description your wrote using the
   lsedit program that you set with +desc.
   NOTE: this needs YOUR NAME where it says name, and
   the asterisk (*) MUST BE THERE. So, if your name
   is Otter, it would be *Otter...

   @desc me={clothing:*name,default} 

4) Build as many descriptions as you like doing
   lsedit me=desc/name_of_outfit

5) to set a new description:

   +desc name_of_outfit

Enjoy!
EOF

Clothing MPI Macro

This macro is what the player puts into the @desc in order to cause thier select clothing to expand. It is traditionally put in #0, but can of course be installed in some other room, but it must be reachable up the parent chain for any player that uses it.

@set #0=_msgmacs/clothing:{if:{nearby:me,{:1}},{lexec:{prop:descprop,{:1}}},
{lexec:desc/{:2},{:1}}}

NOTE: the above is long, and needs to be on one line

The usage of this is as follows: {clothing:*name_of_player,default_description}

Clothing selection command

This is the command the user invokes to actually cause a switch of clothing. Its usage might be:

+desc armor

To put on armor, and then to take it off...

+desc default

Note that if the game supports distant viewing (such as Redwall's @icdesc command or a wizard doing look *playername) only the DEFAULT setting will show.

To install the command:

@rec +desc
@action +desc=#0=cmd/plus_desc
@link $cmd/plus_desc=$nothing
lsedit $cmd/plus_desc=ldesc 
.del 1 $                    
{if:{eq:{&arg},},           
   {if:{eq:{prop:descprop,me},},
       You need to +desc  first.
   ,
       Your current description set is {prop:descprop,me}. 
   }
,                                                      
   {if:{eq:{prop:/desc/{&arg}#,me},},
      You need to lsedit me=/desc/{&arg} before this will work.
   ,
      You store description {store:/desc/{&arg},descprop,me}{lit: }  
      for the current description{lit:,} which is:\r{lexec:/desc/{&arg},me}
   }
} 
.end
@succ $cmd/plus_desc={lexec:ldesc}
@set $cmd/plus_desc=w
Created by DZeil
Last modified 2003-10-26 05:11 AM expired
 
 

Powered by Plone

This site conforms to the following standards: