MultiDesc

(last updated: 10/20/18)

Updated

MultiDesc has been replaced by Outfitter. This file is now out-of-date.

There are many ways to handle multiple descriptions on your character. Two are listed here -- one involving LsEdit (which MUCK folks use) and one which doesn't (which is easier, but limited). For the LsEdit version, see MultiDesc2. For the non-LsEdit version, see MultiDesc3.

Multiple LsEdit Descs

The following is MPI code. You don't need to know what it does, just copy-and-paste to create an 'outfit' command.

@desc me={eval:{list:descs/{prop:outfit}}}
@set me=_command/outfitdesc:&{muf:$lib/editor,me=descs/{strip:{&arg}}}
@set me=_command/outfit:&{exec:_mpi/{if:{eq:{&arg},},viewof,setof}}
@set me=_mpi/curof:Currently wearing: {prop:outfit}
@set me=_mpi/viewof:{exec:_mpi/listof}{nl}{exec:_mpi/curof}
@set me=_mpi/listof:Outfits:{nl}{exec:_mpi/listof2}
@set me=_mpi/listof2:{subst:{subst:{listprops:descs},descs/,> },#,}
@set me=_mpi/setof:{exec:_mpi/setof{if:{prop:descs/{&arg}#},2,3}}
@set me=_mpi/setof2:Now wearing: {store:{&arg},outfit}.
@set me=_mpi/setof3:No such outfit.

This makes it so all you have to do is type 'outfit' to list your current outfits, or 'outfit outfitname' to change into it.  'outfitdesc outfitname' will allow you to edit your description in LsEdit.  (See LsEdit for more information on the LsEdit program.)

If you like LsEdit, you're done. If you dislike using LsEdit, read on for another way of doing things.

Multiple Non-LsEdit Descs

To set up your descs without touching LSedit again, follow these instructions.

The following is MPI code. You don't need to know what it does, just copy-and-paste to create your descs and an 'outfit' command.

@desc me={eval:{prop:descs/{prop:outfit}}}
@set me=_command/outfitdesc:&{exec:_mpi/deof{if:{gt:{count:{&arg},=},1},1,2}}
@set me=_mpi/deof1:Set. {null:{store:{exec:_mpi/eq2},descs/{exec:_mpi/eq1}}}
@set me=_mpi/deof2:Syntax: outfitdesc < outfitname > = < description >
@set me=_mpi/eq1:{strip:{sublist:{&arg},1,1,=}}
@set me=_mpi/eq2:{strip:{sublist:{&arg},2,-1,=}}
@set me=_command/outfit:&{exec:_mpi/{if:{eq:{&arg},},viewof,setof}}
@set me=_mpi/curof:Currently wearing: {prop:outfit}
@set me=_mpi/viewof:{exec:_mpi/listof}{nl}{exec:_mpi/curof}
@set me=_mpi/listof:Outfits:{nl}{subst:{listprops:descs},descs/,> }
@set me=_mpi/setof:{exec:_mpi/setof{if:{prop:descs/{&arg}},2,3}}
@set me=_mpi/setof2:Now wearing: {store:{&arg},outfit}.
@set me=_mpi/setof3:No such outfit.

This makes it so all you have to do is type 'outfit' to list your current outfits, or 'outfit outfitname' to change into it. You can add new descs with 'outfitdesc outfitname=Type your outfit's description here.'. In your desc, you can use {nl} or %r to insert a hard return, %t to enter a tab.