Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

llSetPrimParameters and Path Cuts

DrFran Babcock
Registered User
Join date: 30 Apr 2006
Posts: 69
03-01-2009 04:26
I am trying to make a shower curtain that opens on touch, and I have used a torus for this. The only param that needs resetting is the path cut to open and close the prim. I checked the WIKI and was unable to find this.
Is this possible? If so, can someone please demonstrate the syntax for that. Thanks.
I am a new scripter so please be kind. :-)
Dora Gustafson
Registered User
Join date: 13 Mar 2007
Posts: 779
03-01-2009 05:19
It is all in here:
http://wiki.secondlife.com/wiki/LlSetPrimitiveParams
Look for PRIM_TYPE, PRIM_TYPE_TORUS, vector cut.
The above site has a link to more detailed information:
http://wiki.secondlife.com/wiki/PRIM_TYPE_TORUS
The cut.x and the cut.y has values similar to those found when you look at the torus in the viewer's editor
cut.z is not used
This site is also useful:
http://www.lslwiki.net/lslwiki/wakka.php?wakka=llSetPrimitiveParams
Both sites has examples or will direct you to some:)
_____________________
From Studio Dora
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
03-01-2009 05:22
You have to set all the prim shape parameters in one call. Best way to do this is probably read-modify-write:


list old = llGetPrimitiveParams([PRIM_TYPE]);
list new = llListReplaceList(old,[<start,end,0>],2,2)
llSetPrimitiveParams([PRIM_TYPE]+new);

(this could all be done on one line but it's easiest to understand in two statements)
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Pale Spectre
Registered User
Join date: 2 Sep 2005
Posts: 586
03-01-2009 05:32
The trick here is to use llGetPrimitiveParams to get the primitive parameters for you. This little script will give you the corresponding llSetPrimitiveParms string that you would need to set the PRIM_TYPE primitive parameters:

CODE

default
{
touch_start(integer total_number)
{
llOwnerSay("llSetPrimitiveParams([PRIM_TYPE, " + llList2CSV(llGetPrimitiveParams([PRIM_TYPE])) + "]);");
}
}


Drop it in your object, then whenever you click the object it will give you the llSetPrimitiveParams line that you would need to set that same shape.

Note: It is not possible to just set a single PRIM_TYPE value.

Note also: The parameters are all described here , but I wouldn't really bother - it's mind-numbing. Using llGetPrimitiveParams is the fool-proof way of getting a primitive's parameters. :)
_____________________
DrFran Babcock
Registered User
Join date: 30 Apr 2006
Posts: 69
wow, thanks
03-01-2009 05:35
What a wealth of information. I think I can, I think I can. Thanks.