Avalon Ziplon
Registered User
Join date: 22 Jan 2010
Posts: 1
|
02-03-2010 23:37
I have an object that needs to be moved more than ten meters down. (Its a warp core from Star Trek) And the script I'm using has a 10m movement limitation. So I need some help, knowing what function to use instead of llSetPos. Thanks. (I should point out, this was modified from a dorr script, so ignore the references to doors...) default { state_entry() { llListen(74777, "Warp Core Controls", NULL_KEY, "ejectWarpCore"); llListen(74777, "Avalon Ziplon", NULL_KEY, "ejectWarpCore"); } listen(integer iChannel, string strName, key kID, string strMsg) { vector vClosed = <159.534, 145.682, 867.212>; vector vOpen = <159.534, 145.682, 856.037>; if (llGetLocalPos() == vClosed) { //Door is Closed, open it llSetPos(vOpen); } else if (llGetLocalPos() == vOpen) { //Door is Open, close it llSetPos(vClosed); } else { //Door is neither Open nor Closed //Assume an error has occured and reset door to default location llSetPos(vClosed); } } }
|
Dora Gustafson
Registered User
Join date: 13 Mar 2007
Posts: 779
|
02-04-2010 01:17
http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryWarpPosat this site you have 3 different functions. Each of them can warp from anywhere to anywhere within a region faster than you can wink an eye 
_____________________
From Studio Dora
|
Ron Khondji
Entirely unlike.
Join date: 6 Jan 2007
Posts: 224
|
02-04-2010 08:39
One way would be this: PosJump(vector target_position) { llSetPrimitiveParams([PRIM_POSITION, <1.304382E+19, 1.304382E+19, 0.0>, PRIM_POSITION, target_position]); }
default { state_entry() { llListen(74777, "Warp Core Controls", NULL_KEY, "ejectWarpCore"); llListen(74777, "Avalon Ziplon", NULL_KEY, "ejectWarpCore"); }
listen(integer iChannel, string strName, key kID, string strMsg) { vector vClosed = <159.534, 145.682, 867.212>; vector vOpen = <159.534, 145.682, 856.037>;
if (llGetLocalPos() == vClosed) { //Door is Closed, open it PosJump(vOpen); } else if (llGetLocalPos() == vOpen) { //Door is Open, close it PosJump(vClosed); } else { //Door is neither Open nor Closed //Assume an error has occured and reset door to default location PosJump(vClosed); } } }
|