User:Jacen 1

From LiberationMUSH Wiki
Revision as of 03:10, 15 October 2023 by Jacen 1 (talk | contribs) (added poseorder commands)

DescFormat

&descformat me=[setr(1,udefault(d.desccorner,%xh//%xn))][printf($5:[setr(0,udefault(d.desccode,%xh=%xn=))]:s$-71:%q0:s,,[setr(2,udefault(d.descbrace1,%xh%[%xn))] %xh[name(me)] [setr(3,udefault(d.descbrace2,%xh%]%xn))])]%q1%R%T%0%R[setq(4,v(d.descapp))][if(%q4,center(%(%(Appearance: %q4%)%),80))]%R%q1[printf($71:%q0:s$-5:%q0:s,%q2 %xh[name(me)] %q3,)]%q1

It's customizable, via the following code:

&d.desccorner me=<code>
&d.desccode me=<code>
&d.descbrace1 me=<code>
&d.descbrace2 me=<code>
&d.descapp me=<AppearanceScore>

For example, Jacen's current setup:

&D.DESCCODE me=%xh%xm=%xn%xm=
&D.DESCCORNER me=%xh%xm//%xn
&D.DESCBRACE1 me=%xh%xm%[%xn
&D.DESCBRACE2 me=%xh%xm%]%xn
&D.DESCAPP me=2


PoseOrder

This block of code will monitor who enters and leaves a room, will place them in a 'pose order'. When someone enters, they are put at the end of the list. When someone leaves, they are removed.

+poseorder will show you a numbered list of the pose order. +poseorder/clear will clear out the list. +poseorder/remove <player> will remove a player.

@aenter here=@set [if(listdiff(%#,v(d.poseorder),|,|),me)]=d.poseorder:[insert(v(d.poseorder),-1,%#,|,|)]

@aleave here=@set me=d.poseorder:[remove(v(d.poseorder),%#,|)]

&C.POSEORDER here=$+poseorder:@pemit %#=%ch%cm//%cn%cm=%ch%cm=%cn%cm=%ch%cm=%cn%cm=%ch%cm%[[printf($-68:%ch%cm=%cn%cm=:s,%b%ch%cwPose Order: [name(me)]%b%ch%cm%])]%ch%cm//%cn%R[iter(v(d.poseorder),%b%B[rjust(#@,2)]. [name(##)],|,%R)]%R%ch%cm//[printf($68:%ch%cm=%cn%cm=:s,%ch%cm%[ %ch%cwPose Order%b)]%ch%cm%]%cn%cm=%ch%cm=%cn%cm=%ch%cm=%cn%cm=%ch%cm//%cn

&C.POSEORDER.CLEAR me=$+poseorder/clear:@set me=d.poseorder:;@pemit %#=%xh+POSEORDER> Cleared.

&C.POSEORDER.REMOVE me=$+poseorder/remove *:@set [ifelse(setr(0,ulocal(f.poseorder.target,%0)),me,#-1)]=d.poseorder:[remove(v(d.poseorder),%q0,|)];@pemit %#=[ifelse(not(%q0),ERROR: Invalid target: '%0',%ch+POSEORDER>%cn Removed [name(%q0)])]

&F.POSEORDER.TARGET me=[switch(1,and(isnum(%0),gt(%0,0),lte(%0,words(setr(9,v(d.poseorder)),|))),extract(%q9,%0,1,|),and(isdbref(setr(0,num(*%0))),member(%q9,%q0,|)),%q0,ERROR: Invalid Poseorder target: '%0')]