Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

A-b

Watch Coats
Registered User
Join date: 22 Aug 2006
Posts: 23
01-09-2007 02:54
I WOULD like to be ableto move a large object (up 2 30 prims) from a-b with phys or not it dos no matter in the shortest time.i have only been able to do this wil small prims.are there any scripts for examples that could help me?
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
01-09-2007 03:02
From: Watch Coats
I WOULD like to be ableto move a large object (up 2 30 prims) from a-b with phys or not it dos no matter in the shortest time.i have only been able to do this wil small prims.are there any scripts for examples that could help me?


If they are a linked set then you should be able to move them all in one go using the standard llSetPos calls from the root prim. You will need to use multiple calls as it limits to 10m. A faster alternative would be to try using warppos which has a limit of 1000m or 2000m

If that doesnt work look at using MultiMove or one of its competitors.
Jolan Nolan
wannabe
Join date: 12 Feb 2006
Posts: 243
01-09-2007 03:06
*EDIT* Oh wait, are you referring to like a building or something?
========

I don't see why you can't link everything, and then manually set the XYZ position values in the root prim. A script may look something like this:
CODE

default
{
touch_start(integer blah)
{
llSetPos(<x,y,z>); // Sets position of prim or linkset upon touch.
}
}

And Increments could be something like:
CODE

float x_extra = 0; // How much to add/subtract (negatives) to the current position
float y_extra = 0;
float z_extra = 0;

default
{
touch_start(integer blah)
{
vector pos = llGetPos();
pos.x = pos.x + x_extra;
pos.y = pos.y + y_extra;
pos.z = pos.z + z_extra;

llSetPos(pos); // Sets position of prim or linkset upon touch.
}
}



- Jolan
Watch Coats
Registered User
Join date: 22 Aug 2006
Posts: 23
01-09-2007 04:26
thank you for your help but i was using scripts like the ones you suggested but for this on

float x_extra = 0; // How much to add/subtract (negatives) to the current position
float y_extra = 0;
float z_extra = 0;

default
{
touch_start(integer blah)
{
vector pos = llGetPos();
pos.x = pos.x + x_extra;
pos.y = pos.y + y_extra;
pos.z = pos.z + z_extra;

llSetPos(pos); // Sets position of prim or linkset upon touch.
}
}

i could not get it to move more than a 10 meters



and for this one

default
{
touch_start(integer blah)
{
llSetPos(<x,y,z>;); // Sets position of prim or linkset upon touch.
}
}

i could not get it to move when attached to large prims
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
01-09-2007 04:53
From: Watch Coats
i could not get it to move more than a 10 meters


A single llSetPos call can't move more than 10 metres. If you try, it moves it as far as it can (ie, exactly 10 metres) in the right direction. The trick is to loop the llSetPos call in a while loop until the object actually winds up at the current location. I believe there's an example of this on the wiki.

The alternative is to use the WarpPos script that's posted on this forum, but that depends on what you're trying to move; I've had some very bizarre side effects from using it. (I tried making a "builder's cushion" that followed the camera using WarpPos and a lot of the time the prim position and the camera view both went completely nuts)