Jump to content

Iva Rhapsody

Resident
  • Posts

    46
  • Joined

  • Last visited

Reputation

2 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. still having issues and I can't understand why, anyone out there have any ideas ?
  2. I'll give that a shot is it functionally different then llSetKeyframedMotion([],[KFM_COMMAND, KFM_CMD_STOP]); ? hmmm I seem to be getting the same results
  3. I am attempting to move an object from one waypoint to another, I want the object to rotate so that it's facing the next waypoint then move forward to the waypoint, rotate to face the next then move and so on, but the object will occasionally fail to face the new position andd move backwards etc. Next() { if (special==0 & on==TRUE) { index++; if (index >= llGetListLength(targets)) { index=0; } special = llList2Integer(specials,index); target = llList2Vector(targets,index); float dist=llVecDist(target,llGetPos()); integer speed2=llList2Integer(speeds,index)+1; llSetTimerEvent( (7-speed2)*.1 ); vector pos = llGetPos(); rotation rot = llRotBetween( <1.0,0.0,0.0>, llVecNorm( <target.x,target.y,pos.z> - pos )); llSetKeyframedMotion([],[KFM_COMMAND, KFM_CMD_STOP]); llSetKeyframedMotion( [<0,0,0>,NormRot(rot/llGetRot()),.2,(target - pos)*rot,ZERO_ROTATION, dist*2/(speed2+1)], []); rotation NormRot(rotation Q) { float MagQ = llSqrt(Q.x*Q.x + Q.y*Q.y +Q.z*Q.z + Q.s*Q.s); return <Q.x/MagQ, Q.y/MagQ, Q.z/MagQ, Q.s/MagQ>; } } }
  4. thank you.. I'm an idiot when I'm not moonlighting here, laughs I saw that right AFTER submitting, thanks it's exactly what I need
  5. I'm trying to make a rezzer that allows the owner to rez a "helper" object, move & rotate it then when clicked it passes it's position and rotation to the rezzer setting the pos & rot for the actual items rezzed (jetskis) I would like this to be relative to the rezzer regardless of the rezzers rotation & position, this "almost" works, lol HELPER code integer channel; default { state_entry() { llOwnerSay("move me around & rotate me using the editor"); llOwnerSay("Click to save my rotation & position"); } touch_start(integer total_number) { llSay(channel, (string)llGetPos()+"?"+(string)llGetRot()); llSleep(.5); llDie(); } on_rez(integer value) { channel=value; } } REZZER code integer channel; vector pos; rotation rot; integer l; rezzit(string name) { list temp=llParseString2List(llGetObjectDesc( ), ["?"], [] ); pos=(vector)llList2String(temp,0); rot=(rotation)llList2String(temp,1); llRezObject( name, llGetPos()+pos*llGetRot(), ZERO_VECTOR, rot*llGetRot(), channel ); } default { state_entry() { channel=-1 - (integer)("0x" + llGetSubString( (string)llGetKey(), -7, -1) ); } touch_start(integer total_number) { key id=llDetectedKey(0); if (id==llGetOwner()) { rezzit("HELPER"); l=llListen(channel,"","",""); } else { rezzit("MC Jet Ski"); } } listen(integer channel, string name, key id, string message) { list temp=llParseString2List(message, ["?"], [] ); pos=(vector)llList2String(temp,0)-llGetPos(); rot=(rotation)llList2String(temp,1)/llGetRot(); llSetObjectDesc( (string)pos+"?"+(string)rot ); llOwnerSay( (string)pos+"?"+(string)rot ); } }
  6. thanks, being chewed on by a shark is bad enough being impaled is horrible, laughs
  7. I tried that, adding this did the trick tho llSetVelocity( <0,0,0>, FALSE ); thanks for putting me on the right track, you're great as always
  8. It seems that the object continues to "coast" along afterwards, when I remove the target I trigger an animation(hiding, showing certain surfaces on the objects mesh and releasing particles..this appears to occur at 2.75 meters which is the distance I decided on so that the object just touches the target object ie. offsetting centers so the edges meet, but the object in motion continues on and punches into the target...any ideas ?
  9. I tend to get turned around any time rotations come into play I'm using the following code to point an objects x axis towards a target position and moving it to it via llMoveToTarget and it works just fine however I want it to actually stop .5 meters short of the actual target, can anybody point me in the right direction laughs... Next() { index++; if (index >= llGetListLength(targets)) { index=0; } target = llList2Vector(targets,index); mytarget = llTarget( target, .3 ); float dist=llVecDist(target,llGetPos()); integer speed2=6 - llList2Integer(speeds,index); llMoveToTarget( target, speed2*(dist/4)); vector pos = llGetPos(); llRotLookAt( llRotBetween( <1.0,0.0,0.0>, llVecNorm( <target.x,target.y,pos.z> - pos ) ), 1.0, .2); } }
  10. Thanks..had thought of that shortly after posting but was hoping it could be done via llAnimateTexture..that will do it tho, thanks again
  11. I have used texture animation in the past but always looped the animation, I would like to scroll the texture across the prim once this repeats over and over again even without LOOP llSetTextureAnim(ANIM_ON | SMOOTH , ALL_SIDES, 1, 1, 1.0, 1.0, 1.0);
  12. Thanks, I appreciate it..everything is working great now, it's a small piece of a larger project but rotations throw me from time to time..thanks again
  13. I am using a modified version Glen larsen's looprez script to generate circular linksets, the code below works beautifully , creating a ring of prims around the world z axis of object the script is in, what I would like to do is have them rezzed around the objects local axis...rotate the object 45 degrees on say the x axis and when it rezzes the prims, the resulting loop is also rotated 45 degrees on the x... //////////////////////////////////////////////////////////////////////////////// // LoopRez v0.61, by Ged Larsen, 2 February 2007 // // - rez a number of objects in an ellipse, whose size is determined by xRadius and yRadius // - all facing "outwards", along a tangent to the ellipse // - can set how much the objects flare outwards // - properly handles object rotation corrections (for example, X-axis 180 degree rotation helps for flexi-prim skirts) // - can also get a 'saddle' bend, to generate a bend that might help for necklaces (from Ariane Brodie) // // - (the only difference between v0.6, previously released, and v0.61 is changing some integers to floats, and consolidating some vector math // // To use: // 1) create a prim that will contain this script and the object to use // 2) put the script into the prim // 3) create an object that will be used, and name it "Object" // 4) put "Object" into the prim containing the script, by dragging it from your inventory // 5) get out of Edit Mode, and touch the prim // // Random note: // - this version does NOT insure equal spacing of objects along the perimeter of the ellipse // - i.e., objects "bunch up" at the long ends of an ellipse; the effect should be acceptable for non-extreme ellipses // - even spacing of objects can be accomplished, but requires simulation of integral calculus, which slows down the script // // References: // - tangent formulas from: http://mathworld.wolfram.com/Ellipse.html // // I don't know all those fancy legal terms, but bottom line is that you can do whatever // you want with this script. Have fun :) // // If you like this, check out LoopRez Deluxe at http://slged.blogspot.com // //////////////////////////////////////////////////////////////////////////////// // CONFIGURATION PARAMETERS, change these to your liking string objectName = "Oval Bead"; // object to use; will need to be in the inventory of the prim containing this script integer numObjects = 32; // how many objects float xRadius = 0.07; // ellipse x-axis radius in meters float yRadius = 0.10; // ellipse y-axis radius in meters float flareAngle = 45.0; // how many DEGREES the bottom of object will flare outwards, the "poof" factor float bendCoefficient = 0.02; // makes a "saddle shape", bends DOWN this number of meters at extremes of X-axis vector rotOffset = <0.0, 180.0, 0.0>; // rotation offset in DEGREES -- fixes the rotation of ALL objects; for flexi prims, often you will want <0.0, 180.0, 0.0> vector posOffset = <0.0, 0.0, 0.0>; // position offset //////////////////////////////////////////////////////////////////////////////// // No need to mess with anything below here makeLoop() { vector size=llGetScale( ); xRadius = size.x/2; yRadius = size.y/2; numObjects=(integer)(llSqrt( (xRadius*xRadius+yRadius*yRadius)/2 )/.0016); llSay(0,(string)numObjects); integer n; // which object is being placed float theta; // angle in radians vector pos; // position rotation rot; // rotation in quaternion format for(n = 0; n < numObjects; n++) { theta = TWO_PI * ( (float)n / (float)numObjects ); pos = llGetPos() + posOffset + < xRadius * llCos(theta), yRadius * llSin(theta), -bendCoefficient*llCos(theta)*llCos(theta)>; rot = llEuler2Rot( DEG_TO_RAD * rotOffset); // user-chosen rotation offset correction rot = rot * llEuler2Rot(<0.0, -1.0*flareAngle*DEG_TO_RAD, 0.0>); // flare generation (poof) // the following make the objects face outwards properly for an ellipse; using theta alone is only correct for a circle // the scary formula calculates a unit vector TANGENTIAL to the ellipse, and llRotBetween is used to figure out how much the object needs to rotate to lie parallel to the tangent rot = rot * llRotBetween(<0.0, 1.0, 0.0>, <-1.0 * xRadius * llSin(theta) / ( llSqrt ( (yRadius*yRadius * llCos(theta) * llCos(theta)) + (xRadius*xRadius * llSin(theta) * llSin(theta))) ),yRadius * llCos(theta) / ( llSqrt ( (yRadius*yRadius * llCos(theta) * llCos(theta)) + (xRadius*xRadius * llSin(theta) * llSin(theta))) ), 0.0>); if ( n== (numObjects/2) ) // LSL's implementation of llRotBetween at theta = pi radians is reversed at 180 degrees, so this manually corrects it rot = rot * llEuler2Rot( <0.0, PI, 0.0> ); llRezObject(objectName, pos, ZERO_VECTOR, rot, 0); } } default { state_entry() { } touch_start(integer total_number) { if (llDetectedKey(0) == llGetOwner()) { makeLoop(); } } }
  14. I'm looking for a way to send a request from one prim to another in a differnt region, the 2nd prim owned by me would then send an item NOT full perm to the avatar specified in the message..ie a device I sell which is owned by the buyer requests the item be sent from the second prim located in another region, like a networked vendor but nothing so complex, dedicated to serving a single boxed product, I'm familiar with using email to do this but the server may have to be moved at some point in the future so it's email address which would be hard coded is subject to change, is there a way using http to do this ?
  15. I am using llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT | CONTROL_UP | CONTROL_DOWN | CONTROL_RIGHT | CONTROL_LEFT, TRUE, FALSE); to take control of the arrow keys & page up/down to change the avatars sit position but even though pass is set to false the camera responds to the events, I have seen furniture that used the controls to reposition that didn't change the cam settings..any ideas ?
×
×
  • Create New...