Well I took your suggestion and added in the scanning loop, and its still not working correctly, its reporting the wrong prim # atleast compared to what the viewer is seeing. here is a screenshot<br><br><a href="http://www.onikenkon.com/screenshots/link_order_issue_03.png">http://www.onikenkon.com/screenshots/link_order_issue_03.png</a><br>
<br>So it seems that this method will also not work..<br><br><div class="gmail_quote">On Sun, Mar 27, 2011 at 8:02 AM, Wade Schuette <span dir="ltr"><<a href="mailto:wade.schuette@gmail.com">wade.schuette@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Here's an easy to understand snippet of code that does the job, regardless how inelegant.<br>====<br> <br>// The function is to find out what prim numbers correspond to those names right now (in case it has changed).<br>
// Author : Wade Schuette; Date: March 27, 2011; <br>// Anyone is free to copy modify transer or whatever this code (just take off my name if you do!)<br><br>// Note: I'm sure there are vastly more elegant ways to keep all the specific names out of the routines,<br>
// and put them into lists at the start, but my goal was just to illustrate a very simple way that works<br>// and can be read by a new scripter.<br> <br>// global variables set as a side-effect of the getPrimNums() call; <br>
// My example linked set is a body with various parts. This code is run from the root;<br><br>integer heart;<br>integer liver;<br>integer stomach;<br> <br>// subroutine to find which prim corresponds to known names, by brute force exhaustive search.<br>
getPrimNums()<br>{<br> integer i;<br> integer numPrims = llGetNumberOfPrims();<br> llSay(0, "This link set has " + (string) numPrims + " prims.");<br> for (i=1; i <= numPrims; i++) <br>
{<br> llSay(0, "Prim " + (string) i + " is " + llGetLinkName(i) ); <br> if (llGetLinkName(i) == "heart") { heart = i;}<br> else if (llGetLinkName(i) == "liver") { liver = i;}<br>
else if (llGetLinkName(i) == "stomach") { stomach = i;}<br> }<br>}<br><br><br>default<br>{<br> state_entry()<br> {<br> <br> getPrimNums();<br> <br> // OK, those are assigned and the integers can be used in your code.<br>
llSay(0, "Please confirm from the list above...");<br> llSay(0, "Heart is prim number " + (string) heart);<br> llSay(0, "Stomach is prim number " + (string) stomach);<br>
llSay(0, "Liver is prim number " + (string) liver);<br><br> }<br>}<br><br>====<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Sun, Mar 27, 2011 at 9:16 AM, Marck <span dir="ltr"><<a href="mailto:marck00@nexgo.de" target="_blank">marck00@nexgo.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The prim numbering used to change even when an object crossed a region border. This was fixed some time ago.<br>
<br>
For an example how to circumvent this issue in a script, see <a href="http://forums.osgrid.org/viewtopic.php?p=10732#p10732" target="_blank">http://forums.osgrid.org/viewtopic.php?p=10732#p10732</a>. A more generalized solution of this can be found in thread "Single Script Color/Linkset Changer"; in both cases, the relevant function is named "getLinkNums". The basic idea is to put a label either in the linked prim's name or description field and then retrieve the proper prim number by searching for the label(s).<br>
<br>
Michael Cerquoni wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Any chance you have an example of how you do this that you can share? I<br>
would like to see how your doing this.<br>
<br>
On Sun, Mar 27, 2011 at 1:41 AM, Wade Schuette <<a href="mailto:wade.schuette@gmail.com" target="_blank">wade.schuette@gmail.com</a><br>
<mailto:<a href="mailto:wade.schuette@gmail.com" target="_blank">wade.schuette@gmail.com</a>>> wrote:<br>
<br>
Just a note - While I agree entirely that the prim order should stay<br>
constant for an object the user hasn't changed, as an application<br>
developer I always start by polling all linked prims to determine<br>
which one is which number (today), and then work off that list.<br>
Otherwise, adding a single new prim to the object, or unlinking it<br>
in order to resize or retexture a prim that refuses to change when<br>
linked, will totally break the user script, and is maddening.<br>
With polling, I can unlink or relink or add pieces whenever I feel<br>
like it and the code doesn't break. The one extra step only has to<br>
be written and debugged once and used as a utility subroutine after<br>
that. What WOULD kill it is if the root prim changed, of course.<br>
<br>
And, I developed that habit in Second Life, although it's totally<br>
crucial in OpenSim since we have to keep unlinking complex objects<br>
in order to change a stubborn linked prim that refuses to change<br>
while it is linked. Why is THAT, by the way? Can THAT be fixed?<br>
<br>
Wade<br>
<br>
<br>
<br>
On Sun, Mar 27, 2011 at 4:01 AM, Michael Cerquoni<br>
<<a href="mailto:nebadon2025@gmail.com" target="_blank">nebadon2025@gmail.com</a> <mailto:<a href="mailto:nebadon2025@gmail.com" target="_blank">nebadon2025@gmail.com</a>>> wrote:<br>
<br>
I spoke to Melanie, she says she has a fix for this! apparently<br>
this has been an issue for a while, I had no idea, thanks<br>
Melanie :D<br>
<br>
On Sat, Mar 26, 2011 at 11:44 PM, Michael Cerquoni<br>
<<a href="mailto:nebadon2025@gmail.com" target="_blank">nebadon2025@gmail.com</a> <mailto:<a href="mailto:nebadon2025@gmail.com" target="_blank">nebadon2025@gmail.com</a>>> wrote:<br>
<br>
I have just stumbled across a major problem with the core<br>
code, it seems that every time we rez an object its linkset<br>
prim order is changing. This makes it impossible to script<br>
things that call upon a certain # in the link-set. I have<br>
filed a mantis:<br>
<br>
<a href="http://opensimulator.org/mantis/view.php?id=5421" target="_blank">http://opensimulator.org/mantis/view.php?id=5421</a><br>
<br>
see screenshots of issue here:<br>
<br>
<a href="http://www.onikenkon.com/screenshots/link_order_issue_01.png" target="_blank">http://www.onikenkon.com/screenshots/link_order_issue_01.png</a><br>
<a href="http://www.onikenkon.com/screenshots/link_order_issue_01.png" target="_blank">http://www.onikenkon.com/screenshots/link_order_issue_01.png</a><br>
<br>
This is a major issue that should be resolved before 0.7.1<br>
is tagged i believe.<br>
<br>
--<br>
Michael Emory Cerquoni - Nebadon Izumi @ <a href="http://osgrid.org" target="_blank">http://osgrid.org</a><br>
</blockquote>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
</blockquote></div><br><br clear="all"><br></div></div><font color="#888888">-- <br>R. Wade Schuette, CDP, MBA, MPH<br>6751 Scio Church Rd.<br>Ann Arbor, MI 48103-9270<br>cell: 1 (734) 635-0508<br>fax: 1 (734) 864-0318<br>
<a href="mailto:wade.schuette@gmail.com" target="_blank">wade.schuette@gmail.com</a><br>
</font><br>_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Michael Emory Cerquoni - Nebadon Izumi @ <a href="http://osgrid.org">http://osgrid.org</a><br>