Tealthantos Posted December 21, 2011 Share Posted December 21, 2011 So I've been building a Su-25, but I've been having problems with the flaps.As we all know when you rotate a object it doesn't move leaving overlap or open joints so I added a set position command to change the relative pos as it rotates.integer flaps=TRUE;Flaps(){if (flaps==TRUE) { rotation rot = llGetLocalRot(); rot.z = -0.644333; rot.s = 0.652586; rot.x = 0.297774; rot.y = -0.265136; llSetLocalRot(rot); llSetPos(llGetPos() + <0,0,-0.9>); flaps = FALSE;} else {if (flaps==FALSE) { rotation rot = llGetLocalRot(); rot.z = -0.707107; rot.s = 0.707107; rot.x = 0.000000; rot.y = 0.000000; llSetLocalRot(rot); llSetPos(llGetPos() + <0,0,0.9>); flaps = TRUE;} } } default{ state_entry() { llListen(0,"", NULL_KEY, ""); } listen(integer channel, string name, key id, string message) { if (message == "Flaps") {Flaps();}}}But for some reason it won't move and will just rotate on the spot.Help would be much appreciated Link to comment Share on other sites More sharing options...
Innula Zenovka Posted December 21, 2011 Share Posted December 21, 2011 Assuming these are linked prims, llSetPos() tells them how to move relative to the root, while llGetPos() returns the region coordinates of the prim. For the prim's position relative to the root, you need llGetLocalPos(). But I think you might find this a lot easier if you try using llSetLinkPrimitiveParamsFast and PRIM_POS_LOCAL and PRIM_ROT_LOCAL. 1 Link to comment Share on other sites More sharing options...
Tealthantos Posted December 21, 2011 Author Share Posted December 21, 2011 Tried what you said and it worked fine - thanks for your help! Link to comment Share on other sites More sharing options...
Recommended Posts
Please take a moment to consider if this thread is worth bumping.
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now