RFC: @getXXXnames
I’m getting a bit pressed for time so I’ll just refer to the Proposal: @getattachnames blog post
.
The commands are:
- @getattachnames[:<attachgrp>]=<channel>
- @getremattachnames[:<attachgrp>]=<=<channel>
- @getaddattachnames[:<attachgrp>]=<=<channel>
- @getoutfitnames=<channel>
- @getremoutfitnames=<channel>
- @getaddoutfitnames=<channel>
(The attachment group names are: head, torso, arms, legs, hud)
Examples:
- @getattachnames=<channel> – returns the names of all attachments point that currently have a worn attachment
- @getremattachnames:torso=<channel> – returns the names of all “torso” attachment points that have a worn attachment that can be removed by the issuing prim
- @getaddattachnames:hud=<channel> – returns the names of all HUD attachment points that the issuing prim could attach something to
For all add/rem variations the returned values do not take the current restrictions on the issuing prim into account. A practial example:
- Collar (chest) executes: @detach=n,remattach:left foot=n,remattach:right foot=n,remoutfit:shoes=n
- Relay (top left) executes: @detach=n,remattach=n,remoutfit=n
- Relay (top left) executes: @getattachnames:legs=1
-> l lower leg, r lower leg, left foot, right foot - Relay (top left) executes: @getremattachnames:legs=1
-> l lower leg, r lower leg
“Left foot” and “Right foot” aren’t reported to the relay in @getremattachnames because it is impossible for the relay to ever force-detach those items (since the collar has them locked).
“L lower leg” and “R lower leg” *are* reported to the relay because while it issued @remattach=n it *could* execute @remattach=y,remattach:l lower leg=force,remattach=n.
(It might be possible that everyone simply prefers to issue @remattach=y,getremattachnames=1,remattach=n in both cases but I thought that it would at least lessen the script impact not to)
Nice addition, in particular with the new non-standard attach points.
Maybe also add @getxxxfoldernames?