|
Ina Centaur
IC
Join date: 31 Oct 2006
Posts: 202
|
02-02-2007 20:28
How do you use LSL to quickly duplicate an initial prim N times (and with the Nth prim being much more than 10 m away)
|
|
grumble Loudon
A Little bit a lion
Join date: 30 Nov 2005
Posts: 612
|
02-02-2007 21:12
How do you build a Nuke in RL?
Please explain your planed use.
|
|
Ina Centaur
IC
Join date: 31 Oct 2006
Posts: 202
|
02-02-2007 21:30
I WANT TO NUKE SL WITH PRIMS INSTEAD OF PARTICLES lol just kidding  I'm trying to build large, long walls -- say, fences -- spanning several hundred meters quickly with perfect alignment. I'd also like to make some fractal art based on prim's.
|
|
Johan Laurasia
Fully Rezzed
Join date: 31 Oct 2006
Posts: 1,394
|
quick building
02-02-2007 22:02
best bet would be to use a script to rez the prims in place already. Write the script so you can chat the length, for example /fence 100, to rez a 100 meter long fence, and store say, a single, even pretextured fence piece inside the script object, and have the script rez that prim repeatedly, and use llSetPos() to move each fence piece into position.
|
|
Ina Centaur
IC
Join date: 31 Oct 2006
Posts: 202
|
02-03-2007 00:27
well, there's no such thing as llRezObject for items that aren't in inventory.
inventory items have 10m limits
|
|
Elsewhere Essex
Registered User
Join date: 8 Sep 2006
Posts: 50
|
02-03-2007 07:36
you have to make an object with same that obect in it. then take a copy of that objct,delete inventory in the first object and and add the new one to it.
or read the wiki page on self-replication. basicly, you main rezzer will have to rez and object that self-replicates a set amount,most likely tranmitted from you main rezzer to the first prim and then from that prim to the next and from the next to it's rezzed child.
say "=>" is the act of rezzing and communicating vairables.
main rezzer => object a object a => object b object b => object c etc......
|
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
02-03-2007 08:41
The other way is for the rezzed prim to containa temporary script which would allow the rezzer to post it its location and orientation via a comms link set up using the initialisation parameter. Once positioned this temporary script could kill itself.
|
|
Ina Centaur
IC
Join date: 31 Oct 2006
Posts: 202
|
02-04-2007 19:30
ok, i tried something like using a chain-effect to duplicate prims in inventory before posting here... however, i also want the entire bunch of duplicated prims to be linked. the linking part isn't working. please help 
|
|
Elsewhere Essex
Registered User
Join date: 8 Sep 2006
Posts: 50
|
02-04-2007 19:49
well, the difficulty inlinking is that after some point the wall will be too long for them all to link. if they are rezzing at 10 meters wide, butted together, i think you can at most get 3 or 4 of them to link. any more than that and it will fail. if only LSL hada try/catch/finally system
|
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
02-05-2007 00:31
From: Elsewhere Essex well, the difficulty inlinking is that after some point the wall will be too long for them all to link. if they are rezzing at 10 meters wide, butted together, i think you can at most get 3 or 4 of them to link. any more than that and it will fail. if only LSL hada try/catch/finally system even a simple on_error event would be useful, a sor of implicit catch. Ideally with an integer parameter, Error, which is one of a set of defined constants would be fantatsic, but just being able to attempt to recover from an error would be good. on_error(integer Error) { if(STACK_HEAP_COLLISION == Error) { } else if(DIALOG_LIST_TO_LONG== Error) { } }
|
|
Shippou Oud
The Fox Within
Join date: 11 Jul 2005
Posts: 141
|
02-05-2007 08:38
You could have each indevidual fence peace with a temp script that rezes it were you want it, though your looking at some long scripts after a while, since the fence will have so many peaces, and the max it can move is 10 meters per call From: someone llRezObject("WallPeace1", llGetPos()+<0,10,0>, <0,0,0>, llGetRot() + <0,0,0,0>, 0); llRezObject("WallPeace2", llGetPos()+<0,10,0>, <0,0,0>, llGetRot() + <0,0,0,0>, 0); llRezObject("WallPeace3", llGetPos()+<0,10,0>, <0,0,0>, llGetRot() + <0,0,0,0>, 0);
For each peace of the wall in the first object, and a script like this in each wall peace (how many times you call move depends on how far down the line it is) From: someone llSetPos( llGetPos() + < 0, 10, 0 > ); llSetPos( llGetPos() + < 0, 10, 0 > ); llSetPos( llGetPos() + < 0, 10, 0 > ); llSetPos( llGetPos() + < 0, 10, 0 > ); llRemoveInventory("This Script Name Here"  ; This would be the 5th fence peace, just remember to add "llRemoveInventory" after your done with the script, in an area with no scripts running. (it's a pain in the butt, but it iliminates unessary scripts)
|