Difference between revisions of "Arri MPI Core Programs"
From Manifold
Jump to navigationJump to search (New page: These are the core programs for Arri and how to set them up on Manifold. So if you want something similar to the removable clothes, this is where to do it. ==Macros to put on clothing== ...) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
These are the core programs for Arri and how to set them up on Manifold. So if you want something similar to the removable clothes, this is where to do it. | These are the core programs for Arri and how to set them up on Manifold. So if you want something similar to the removable clothes, this is where to do it. | ||
− | ==Macros | + | ==Macros== |
+ | ===Macros to put on clothing=== | ||
+ | <code><pre> | ||
@mset me=_msgmacs/wearclothing:{if:{prop:clothing/{:1}/desc,{owner:this}},You put on your {store:{:1},wearing/{prop:clothing/{:1}/location},{owner:this}}.{null:{eval:{prop:clothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | @mset me=_msgmacs/wearclothing:{if:{prop:clothing/{:1}/desc,{owner:this}},You put on your {store:{:1},wearing/{prop:clothing/{:1}/location},{owner:this}}.{null:{eval:{prop:clothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | ||
@mset me=_msgmacs/bitClothing:{if:{prop:bitsClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},bitWearing/{prop:bitsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:bitClothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | @mset me=_msgmacs/bitClothing:{if:{prop:bitsClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},bitWearing/{prop:bitsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:bitClothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | ||
@mset me=_msgmacs/blinderClothing:{if:{prop:blindersClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},blindersWearing/{prop:blindersClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:blindersClothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | @mset me=_msgmacs/blinderClothing:{if:{prop:blindersClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},blindersWearing/{prop:blindersClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:blindersClothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | ||
@mset me=_msgmacs/reinsClothing:{if:{prop:reinsClothing/{:1}/location,{owner:this}},You put on your {store:{:1},reinsWearing/{prop:reinsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:reinsClothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | @mset me=_msgmacs/reinsClothing:{if:{prop:reinsClothing/{:1}/location,{owner:this}},You put on your {store:{:1},reinsWearing/{prop:reinsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:reinsClothing/{:1}/wearProg}}},I don't know what '{:1}' is.} | ||
+ | </pre></code> | ||
− | ==Macros to take off clothing== | + | ===Macros to take off clothing=== |
− | + | <code><pre> | |
@mset me=_msgmacs/stripclothing:{if:{eq:{:1},{prop:wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:clothing/{:1}/stripProg,{owner:this}}}}{store:,wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'} | @mset me=_msgmacs/stripclothing:{if:{eq:{:1},{prop:wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:clothing/{:1}/stripProg,{owner:this}}}}{store:,wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'} | ||
@mset me=_msgmacs/stripBit:{if:{eq:{:1},{prop:bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:bitClothing/{:1}/stripProg,{owner:this}}}}{store:,bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'} | @mset me=_msgmacs/stripBit:{if:{eq:{:1},{prop:bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:bitClothing/{:1}/stripProg,{owner:this}}}}{store:,bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'} | ||
@mset me=_msgmacs/stripBlinders:{if:{eq:{:1},{prop:blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:blindersClothing/{:1}/stripProg,{owner:this}}}}{store:,blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'} | @mset me=_msgmacs/stripBlinders:{if:{eq:{:1},{prop:blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:blindersClothing/{:1}/stripProg,{owner:this}}}}{store:,blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'} | ||
@mset me=_msgmacs/stripReins:{if:{eq:{:1},{prop:reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:reinsClothing/{:1}/stripProg,{owner:this}}}}{null:{store:LooseShort,reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You're not wearing '{:1}'} | @mset me=_msgmacs/stripReins:{if:{eq:{:1},{prop:reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:reinsClothing/{:1}/stripProg,{owner:this}}}}{null:{store:LooseShort,reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You're not wearing '{:1}'} | ||
+ | </pre></code> | ||
− | ==Macros to list the clothing available== | + | ===Macros to list the clothing available=== |
− | + | <code><pre> | |
@mset me=_msgmacs/choices:{nl}Clothing choices: {commas:{parse:path,{listprops:clothing,arrienna},{subst:{&path},clothing/,}}} | @mset me=_msgmacs/choices:{nl}Clothing choices: {commas:{parse:path,{listprops:clothing,arrienna},{subst:{&path},clothing/,}}} | ||
@mset me=_msgmacs/bitChoices:{nl}Bit choices: {commas:{parse:path,{listprops:bitsClothing,arrienna},{subst:{&path},bitsClothing/,}}} | @mset me=_msgmacs/bitChoices:{nl}Bit choices: {commas:{parse:path,{listprops:bitsClothing,arrienna},{subst:{&path},bitsClothing/,}}} | ||
@mset me=_msgmacs/blindersChoices:{nl}Blinder choices: {commas:{parse:path,{listprops:blindersClothing,arrienna},{subst:{&path},blindersClothing/,}}} | @mset me=_msgmacs/blindersChoices:{nl}Blinder choices: {commas:{parse:path,{listprops:blindersClothing,arrienna},{subst:{&path},blindersClothing/,}}} | ||
@mset me=_msgmacs/reinsChoices:{nl}Reins choices: {commas:{parse:path,{listprops:reinsClothing,arrienna},{subst:{&path},reinsClothing/,}}} | @mset me=_msgmacs/reinsChoices:{nl}Reins choices: {commas:{parse:path,{listprops:reinsClothing,arrienna},{subst:{&path},reinsClothing/,}}} | ||
+ | </pre></code> | ||
− | + | ===Macros to list what is currently being worn=== | |
− | ==Macros to list what is currently being worn== | + | <code><pre> |
− | |||
@mset me=_msgmacs/wearing:You are wearing {commas:{parse:stuff,{listprops:wearing,arrienna},{prop:{&stuff},arrienna}}} | @mset me=_msgmacs/wearing:You are wearing {commas:{parse:stuff,{listprops:wearing,arrienna},{prop:{&stuff},arrienna}}} | ||
@mset me=_msgmacs/bitWearing:You are bitted with {commas:{parse:stuff,{listprops:bitWearing,arrienna},{prop:{&stuff},arrienna}}} | @mset me=_msgmacs/bitWearing:You are bitted with {commas:{parse:stuff,{listprops:bitWearing,arrienna},{prop:{&stuff},arrienna}}} | ||
@mset me=_msgmacs/blindersWearing:You are blinded with {commas:{parse:stuff,{listprops:blindersWearing,arrienna},{prop:{&stuff},arrienna}}} | @mset me=_msgmacs/blindersWearing:You are blinded with {commas:{parse:stuff,{listprops:blindersWearing,arrienna},{prop:{&stuff},arrienna}}} | ||
@mset me=_msgmacs/reinsWearing:You are reined with {commas:{parse:stuff,{listprops:reinsWearing,arrienna},{prop:{&stuff},arrienna}}} | @mset me=_msgmacs/reinsWearing:You are reined with {commas:{parse:stuff,{listprops:reinsWearing,arrienna},{prop:{&stuff},arrienna}}} | ||
− | + | @mset me=_msgmacs/bodypart:{if:{prop:/wearing/{:1},this},{eval:{exec:/clothing/{prop:/wearing/{:1},this}/desc}},{eval:{exec:/nude/{:1}/desc,this}}} | |
+ | </pre></code> | ||
==MPI Action that does it all== | ==MPI Action that does it all== | ||
===Action Creation and linking=== | ===Action Creation and linking=== | ||
− | + | <code><pre> | |
@create $mpi_action named wear,strip,bit,blinders,reins,bitStrip,blindersStrip,reinsStrip,harnessed,nippleRings,wristCuffs,ankleCuffs,collared | @create $mpi_action named wear,strip,bit,blinders,reins,bitStrip,blindersStrip,reinsStrip,harnessed,nippleRings,wristCuffs,ankleCuffs,collared | ||
@link wear to me | @link wear to me | ||
− | + | </pre></code> | |
===Programming the Action=== | ===Programming the Action=== | ||
+ | <code><pre> | ||
@succ wear is {exec:{&cmd}/sc} | @succ wear is {exec:{&cmd}/sc} | ||
@mset wear=wear/sc:{if:{&arg},{wearclothing:{&arg}},{wearing}{choices}} | @mset wear=wear/sc:{if:{&arg},{wearclothing:{&arg}},{wearing}{choices}} | ||
Line 54: | Line 60: | ||
@mset wear=ankleCuffs/sc:{if:{&arg},You've set your whether or not you have ankle cuffs to {if:{eq:{&arg},yes},{store:yes,/misc/ankleCuffs?,{owner:this}},{store:no,/misc/ankleCuffs?,{owner:this}}},{if:{eq:yes,{prop:/misc/ankleCuffs?,{owner:this}}},You have ankle cuffs.,You don't have ankle cuffs.}} | @mset wear=ankleCuffs/sc:{if:{&arg},You've set your whether or not you have ankle cuffs to {if:{eq:{&arg},yes},{store:yes,/misc/ankleCuffs?,{owner:this}},{store:no,/misc/ankleCuffs?,{owner:this}}},{if:{eq:yes,{prop:/misc/ankleCuffs?,{owner:this}}},You have ankle cuffs.,You don't have ankle cuffs.}} | ||
@mset wear=collared/sc:{if:{&arg},You've set your whether or not you are collared to {if:{eq:{&arg},yes},{store:yes,/misc/collared?,{owner:this}},{store:no,/misc/collared?,{owner:this}}},{if:{eq:yes,{prop:/misc/collared?,{owner:this}}},You are collared.,You are not collared.}} | @mset wear=collared/sc:{if:{&arg},You've set your whether or not you are collared to {if:{eq:{&arg},yes},{store:yes,/misc/collared?,{owner:this}},{store:no,/misc/collared?,{owner:this}}},{if:{eq:yes,{prop:/misc/collared?,{owner:this}}},You are collared.,You are not collared.}} | ||
+ | </pre></code> | ||
==Basic Description== | ==Basic Description== | ||
===Basic Description and MPI program list=== | ===Basic Description and MPI program list=== | ||
+ | <code><pre> | ||
lsedit me=mpiDesc | lsedit me=mpiDesc | ||
{eval:{prop:basicDescProp}} | {eval:{prop:basicDescProp}} | ||
Line 66: | Line 74: | ||
.save | .save | ||
.end | .end | ||
+ | </pre></code> | ||
+ | <code><pre> | ||
@mset me=basicDescProp: Arrienna is a tall graceful mare. She looks to be about 18 years old, maybe a touch older, maybe a bit younger. She has the stature of a female basket ball player, an inch, maybe two over six feet tall. The mare's short fur is mainly chestnut in colour, her long mane being white. Though she is anthro, her head is definitely that of a horse. | @mset me=basicDescProp: Arrienna is a tall graceful mare. She looks to be about 18 years old, maybe a touch older, maybe a bit younger. She has the stature of a female basket ball player, an inch, maybe two over six feet tall. The mare's short fur is mainly chestnut in colour, her long mane being white. Though she is anthro, her head is definitely that of a horse. | ||
− | + | </pre></code> | |
===Setting the list as the description=== | ===Setting the list as the description=== | ||
+ | <code><pre> | ||
@desc me as {eval:{list:mpiDesc}} | @desc me as {eval:{list:mpiDesc}} | ||
− | + | </pre></code> | |
===Supporting MPI Programs=== | ===Supporting MPI Programs=== | ||
+ | <code><pre> | ||
@mset me=/misc/ankleCuffsProg: Wrapped around each ankle is a two inch thick leather cuff. Locked on with small padlocks. | @mset me=/misc/ankleCuffsProg: Wrapped around each ankle is a two inch thick leather cuff. Locked on with small padlocks. | ||
@mset me=/misc/wristCuffsProg: Wrapped around each wrist is a two inch thick leather cuff. Locked on with small padlocks. | @mset me=/misc/wristCuffsProg: Wrapped around each wrist is a two inch thick leather cuff. Locked on with small padlocks. | ||
@mset me=/misc/collarProg: Wrapped around her neck is a one and a half inch thick leather collar. Locked on with a small padlock. | @mset me=/misc/collarProg: Wrapped around her neck is a one and a half inch thick leather collar. Locked on with a small padlock. | ||
+ | </pre></code> |
Latest revision as of 06:51, 19 September 2007
These are the core programs for Arri and how to set them up on Manifold. So if you want something similar to the removable clothes, this is where to do it.
Macros
Macros to put on clothing
@mset me=_msgmacs/wearclothing:{if:{prop:clothing/{:1}/desc,{owner:this}},You put on your {store:{:1},wearing/{prop:clothing/{:1}/location},{owner:this}}.{null:{eval:{prop:clothing/{:1}/wearProg}}},I don't know what '{:1}' is.}
@mset me=_msgmacs/bitClothing:{if:{prop:bitsClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},bitWearing/{prop:bitsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:bitClothing/{:1}/wearProg}}},I don't know what '{:1}' is.}
@mset me=_msgmacs/blinderClothing:{if:{prop:blindersClothing/{:1}/desc,{owner:this}},You put on your {store:{:1},blindersWearing/{prop:blindersClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:blindersClothing/{:1}/wearProg}}},I don't know what '{:1}' is.}
@mset me=_msgmacs/reinsClothing:{if:{prop:reinsClothing/{:1}/location,{owner:this}},You put on your {store:{:1},reinsWearing/{prop:reinsClothing/{:1}/location},{owner:this}}.{null:{eval:{prop:reinsClothing/{:1}/wearProg}}},I don't know what '{:1}' is.}
Macros to take off clothing
@mset me=_msgmacs/stripclothing:{if:{eq:{:1},{prop:wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:clothing/{:1}/stripProg,{owner:this}}}}{store:,wearing/{prop:clothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'}
@mset me=_msgmacs/stripBit:{if:{eq:{:1},{prop:bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:bitClothing/{:1}/stripProg,{owner:this}}}}{store:,bitWearing/{prop:bitClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'}
@mset me=_msgmacs/stripBlinders:{if:{eq:{:1},{prop:blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:blindersClothing/{:1}/stripProg,{owner:this}}}}{store:,blindersWearing/{prop:blindersClothing/{:1}/location,{owner:this}},{owner:this}},You're not wearing '{:1}'}
@mset me=_msgmacs/stripReins:{if:{eq:{:1},{prop:reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You take off your {:1}.{null:{eval:{prop:reinsClothing/{:1}/stripProg,{owner:this}}}}{null:{store:LooseShort,reinsWearing/{prop:reinsClothing/{:1}/location,{owner:this}},{owner:this}}},You're not wearing '{:1}'}
Macros to list the clothing available
@mset me=_msgmacs/choices:{nl}Clothing choices: {commas:{parse:path,{listprops:clothing,arrienna},{subst:{&path},clothing/,}}}
@mset me=_msgmacs/bitChoices:{nl}Bit choices: {commas:{parse:path,{listprops:bitsClothing,arrienna},{subst:{&path},bitsClothing/,}}}
@mset me=_msgmacs/blindersChoices:{nl}Blinder choices: {commas:{parse:path,{listprops:blindersClothing,arrienna},{subst:{&path},blindersClothing/,}}}
@mset me=_msgmacs/reinsChoices:{nl}Reins choices: {commas:{parse:path,{listprops:reinsClothing,arrienna},{subst:{&path},reinsClothing/,}}}
Macros to list what is currently being worn
@mset me=_msgmacs/wearing:You are wearing {commas:{parse:stuff,{listprops:wearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/bitWearing:You are bitted with {commas:{parse:stuff,{listprops:bitWearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/blindersWearing:You are blinded with {commas:{parse:stuff,{listprops:blindersWearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/reinsWearing:You are reined with {commas:{parse:stuff,{listprops:reinsWearing,arrienna},{prop:{&stuff},arrienna}}}
@mset me=_msgmacs/bodypart:{if:{prop:/wearing/{:1},this},{eval:{exec:/clothing/{prop:/wearing/{:1},this}/desc}},{eval:{exec:/nude/{:1}/desc,this}}}
MPI Action that does it all
Action Creation and linking
@create $mpi_action named wear,strip,bit,blinders,reins,bitStrip,blindersStrip,reinsStrip,harnessed,nippleRings,wristCuffs,ankleCuffs,collared
@link wear to me
Programming the Action
@succ wear is {exec:{&cmd}/sc}
@mset wear=wear/sc:{if:{&arg},{wearclothing:{&arg}},{wearing}{choices}}
@mset wear=strip/sc:{if:{&arg},{stripclothing:{&arg}},{wearing}{choices}}
@mset wear=bit/sc:{if:{&arg},{bitClothing:{&arg}},{bitWearing}{bitChoices}}
@mset wear=bitStrip/sc:{if:{&arg},{stripBit:{&arg}},{bitWearing}{bitChoices}}
@mset wear=blinders/sc:{if:{&arg},{blinderClothing:{&arg}},{blindersWearing}{blindersChoices}}
@mset wear=blindersStrip/sc:{if:{&arg},{stripBlinders:{&arg}},{blindersWearing}{blindersChoices}}
@mset wear=reins/sc:{if:{&arg},{reinsClothing:{&arg}},{reinsWearing}{reinsChoices}}
@mset wear=reinsStrip/sc:{if:{&arg},{stripReins:{&arg}},{reinsWearing}{reinsChoices}}
@mset wear=nippleRings/sc:{if:{&arg},You've set your whether or not you have nipple rings to {if:{eq:{&arg},yes},{store:yes,/misc/nippleRings?,{owner:this}},{store:no,/misc/nippleRings?,{owner:this}}}.,{if:{eq:yes,{prop:/misc/nippleRings?,{owner:this}}},You have nipple rings.,You don't have nippleRings.}}
@mset wear=harnessed/sc:{if:{&arg},You've set your whether or not you are harnessed to {if:{eq:{&arg},yes},{store:yes,/misc/harnessed?,{owner:this}},{store:no,/misc/harnessed?,{owner:this}}},{if:{eq:yes,{prop:/misc/harnessed?,{owner:this}}},You are harnessed.,You are not harnessed.}}
@mset wear=wristCuffs/sc:{if:{&arg},You've set your whether or not you have wrist cuffs to {if:{eq:{&arg},yes},{store:yes,/misc/wristCuffs?,{owner:this}},{store:no,/misc/wristCuffs?,{owner:this}}},{if:{eq:yes,{prop:/misc/wristCuffs?,{owner:this}}},You have wrist cuffs.,You don't have wrist cuffs.}}
@mset wear=ankleCuffs/sc:{if:{&arg},You've set your whether or not you have ankle cuffs to {if:{eq:{&arg},yes},{store:yes,/misc/ankleCuffs?,{owner:this}},{store:no,/misc/ankleCuffs?,{owner:this}}},{if:{eq:yes,{prop:/misc/ankleCuffs?,{owner:this}}},You have ankle cuffs.,You don't have ankle cuffs.}}
@mset wear=collared/sc:{if:{&arg},You've set your whether or not you are collared to {if:{eq:{&arg},yes},{store:yes,/misc/collared?,{owner:this}},{store:no,/misc/collared?,{owner:this}}},{if:{eq:yes,{prop:/misc/collared?,{owner:this}}},You are collared.,You are not collared.}}
Basic Description
Basic Description and MPI program list
lsedit me=mpiDesc
{eval:{prop:basicDescProp}}
{if:{bodypart:head},{nl} {bodypart:head}{nl}}{if:{bodypart:top},{nl} {bodypart:top}}
{if:{bodypart:bottom},{nl} {bodypart:bottom}}
{if:{bodypart:legs},{nl} {bodypart:legs}}
{if:{bodypart:arms},{nl} {bodypart:arms}}{if:{bodypart:lastBondage},{nl}{nl} {bodypart:lastBondage}}{if:{prop:bondageAddon},{nl}{nl} {prop:bondageAddon}}
.save
.end
@mset me=basicDescProp: Arrienna is a tall graceful mare. She looks to be about 18 years old, maybe a touch older, maybe a bit younger. She has the stature of a female basket ball player, an inch, maybe two over six feet tall. The mare's short fur is mainly chestnut in colour, her long mane being white. Though she is anthro, her head is definitely that of a horse.
Setting the list as the description
@desc me as {eval:{list:mpiDesc}}
Supporting MPI Programs
@mset me=/misc/ankleCuffsProg: Wrapped around each ankle is a two inch thick leather cuff. Locked on with small padlocks.
@mset me=/misc/wristCuffsProg: Wrapped around each wrist is a two inch thick leather cuff. Locked on with small padlocks.
@mset me=/misc/collarProg: Wrapped around her neck is a one and a half inch thick leather collar. Locked on with a small padlock.