Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Looking for a script

Abbey Camilo
Registered User
Join date: 23 Mar 2009
Posts: 4
10-07-2009 16:06
Hi I've been trying to find an easier way to put scripts into all the parts of a linked object but can't find any way than to manually click through the individual parts and drop it in there which is very time consuming, thanks abunch for any help.
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
10-07-2009 16:53
I can't either, but I have to ask.... why are you putting the same script into what is evidently a vary large number of linked prims? That's potentially going to create quite an impressive lag. Is there no way to control the child prims from the root prim with a single script?
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Ruthven Willenov
Darkness in your light
Join date: 16 Jan 2008
Posts: 965
10-07-2009 20:23
copied from the "fix small prims" script in the scripting library
http://wiki.secondlife.com/wiki/Fix_Small_Prims
CODE

GiveScriptToLinkedPrims()
{
integer p = llGetNumberOfPrims();
integer i = 0;
for (i = 2; i <= p; i++)
{
key prim = llGetLinkKey(i);
llGiveInventory(prim, llGetScriptName());
}
}
_____________________
Dark Heart Emporium

http://www.xstreetsl.com/modules.php?name=Marketplace&MerchantID=133020

want more layers for tattoos, specifically for the head? vote here
http://jira.secondlife.com/browse/VWR-1449?

llDetectedCollision* Functions similar to touch
http://jira.secondlife.com/browse/SVC-3369
Ovaltine Constantine
Registered User
Join date: 28 Jul 2008
Posts: 179
10-07-2009 20:49
There's no easy way to do it. If you give an object a script with llGiveInventory() it'll be set to not running. You could use llRemoteLoadScriptPin() but you'd still have to drop a script in every prim that calls llSetRemoteScriptAccessPin()
_____________________
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
10-07-2009 21:19
From: Ovaltine Constantine
There's no easy way to do it. If you give an object a script with llGiveInventory() it'll be set to not running. You could use llRemoteLoadScriptPin() but you'd still have to drop a script in every prim that calls llSetRemoteScriptAccessPin()
Yes, but if you use llGiveInventory(), you just take the object back into your inventory, rez it again, and use tools--set scripts to running in selection. I use the fix small prims script referenced by Ruthven all the time when I'm resizing stuff to fit me, and it's not a big deal at all.

Or you can just recompile the scripts without taking it back and rezzing it again, though that always seems to take ages.

You could, of course, use that method to propagate a script through the linkset to set the PIN for each prim, and then you could use llRemoteLoadScriptPin, but the 2 second delay is a bit of a pain with a large linkset.