Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Roz's Link Information Script
- //Sends out llSetLinkPrimitiveParams and link information to your
- //chat window and records it in the object link descriptions so you
- //can compare builds, and paste the output into scripts.
- //If you're making a HUD with moving parts, or you want linked prims
- //to shrink, expand or hide on a timer (or touch) this tells you the
- //link numbers (in the link description) and gives you the links'
- //relationship to the root prim. The information is limited to position,
- //size, and rotation.
- integer primz;
- integer a;
- integer spamzy = FALSE;
- primLink()
- {
- string strA;
- list posinfo;
- string descinfo;
- for (a=2; a<=primz; a++)
- //Gets information for every link, except the root.
- {
- strA = (string)a;
- posinfo = llGetLinkPrimitiveParams(a,[PRIM_POS_LOCAL,PRIM_SIZE,PRIM_ROT_LOCAL]);
- descinfo = llList2CSV(posinfo);
- llOwnerSay ("llSetLinkPrimitiveParamsFast (" + strA + ", [PRIM_POS_LOCAL," + llList2String(posinfo,0) + ", PRIM_SIZE," + llList2String(posinfo,1) + ", PRIM_ROT_LOCAL," + llList2String(posinfo,2) + "]);");
- llSetLinkPrimitiveParams(a,[PRIM_DESC,"Link "+ strA + ": " + descinfo ] );
- }
- }
- default
- {
- state_entry()
- {
- llOwnerSay ("Touch this object to update link information");
- primz = llGetObjectPrimCount(llGetKey());
- primLink();
- }
- changed(integer change)
- {
- //If multiple changes to link order are made, there's no
- //need to continuously spam the owner with updates.
- if (spamzy == FALSE)
- {
- if (change & (CHANGED_LINK | CHANGED_SCALE))
- {
- llOwnerSay ("Touch me, once you're finished editing, to update the object's link information.");
- spamzy = TRUE;
- }
- }
- }
- touch_start(integer total_number)
- {
- //Let's update the information for all links
- llResetScript();
- //Thanks to the Brewers who took the time to test and
- //give feedback on this script.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement