Jump to content

Lolita Erin

Resident
  • Posts

    93
  • Joined

  • Last visited

Everything posted by Lolita Erin

  1. ooo did not now that as convex hull be able to use physics
  2. ok here is what i have, i made small physic with prims and also same as mesh you make the comparition, one is lot of prims the other is lot of physic ,also the server and the download is much in the prims.
  3. Thanks i will try to mix a little to test it and make some curves in blender https://gyazo.com/84cd1a86bccdb442308097981e2b99d5
  4. Thank everybody, the yacht has interior so i need to work on the physic for outside and inside, i dont like the idea ot make prims bucause some times i am not able to make rounds area correctly and end up using many prims, mesh are one side so i belive is less laggiee. but this is a great tip: 4x4 pixel full transparent texture and set transparency to 0% and alpha mode to masking!! what i end doing is to take a picture of the boat and make the physics from there.... https://gyazo.com/9a9f20016bf0906d0fba4b6654edf73d
  5. thanks for the advise, any of the mesh object are let me set as prim,....
  6. i dont have the dae file, i only have the object in mesh so i need to be able to mesure or make some prims to get and idea of how to make in blender the physics..
  7. Hello, i reacently buy a full perm boat yacht mesh in marketplace, i notice that dosent have any physic, i dont like the idea of use normal prims invisible, so i looking for advise to make a great physic, any tip will be apreciated thanks...
  8. ooo thanks i need to know if is sitting on the object containing the script thanks so much!
  9. thanks innula i just try with this do you think is ok too? touch_start(integer total_number){ key touchingAvatar = llDetectedKey(0); if (llGetAgentInfo(touchingAvatar) & AGENT_ON_OBJECT) { //Touch by a sit av } }
  10. Hello everybody, i have small question, How can i check if the user that touch the object is sitting? i have try using this key avatarsiting = llAvatarOnSitTarget(); llSay(0,"avatarsiting "+(string)avatarsiting); key touchingAvatar = llDetectedKey(0); llSay(0,"touchingAvatar " +(string)touchingAvatar); To compare but if 2 avatars are sitting on the same object the avatarsiting allways is the first that was sit, Thanks for any help or advise...
  11. 2 years ago i was looking for this and today i look again and cant find a way to do it lol,...
  12. Hello i try many ways and not able to make slower sliding i found this code and work great but is not for slide is for rotate, is anyone able to help me make a sliding link door and like this code use the SECONDS_TO_ROTATE variable and the use of while (llGetTime() < SECONDS_TO_ROTATE) to make smoot slide i will pay lindens for any help i have spend 4 days and not able to make what i need, thank you /* * Smooth Rotating Linked Door With Hinge * * By: Lyn Mimistrobell * Version: 1.1 * License: Do whatever you like with it, just don't blame me if you break it :) */ /* * Define the rotation in degrees, using the door prim's local coordinate * system */ vector ROTATION = <0.0, 0.0, 80.0>; /* * Define the position of the virtual hinge; usually this is half the door * prim's width and thickness */ vector HINGE_POSITION = <-0.8, 0.05, 0.0>; /* * Define how fast the door opens, in seconds */ float SECONDS_TO_ROTATE = 1.0; /* * Define after how much time the door should close automatically, in seconds; * set to 0.0 to disable autolmatic closing */ float AUTO_CLOSE_TIME = 10.0; /* * Define a sound that plays when the door starts to open; set to NULL_KEY * for no sound. */ key SOUND_ON_OPEN = "e5e01091-9c1f-4f8c-8486-46d560ff664f"; /* * Define a sound that plays when the door has closed; set to NULL_KEY * for no sound. */ key SOUND_ON_CLOSE = "88d13f1f-85a8-49da-99f7-6fa2781b2229"; /* * Define the volume of the opening and closing sounds */ float SOUND_VOLUME = 1.0; /* * NORMALLY, THERE IS NO NEED TO CHANGE ANYTHING BELOW THIS COMMENT. IF YOU DO * YOU RISK BREAKING IT. */ integer gClosed; // Door state: TRUE = closed, FALSE = opened rotation gRotationClosed; // Initial rotation of the door (closed) vector gPositionClosed; // Initial position of the door (closed) vector gRotationPerSecond; // The amount to rotate each second doOpenOrClose() { /* * Only perform the rotation if the door isn't root or unlinked */ integer linkNumber = llGetLinkNumber(); if (linkNumber < 2) return; if (gClosed) { /* * Store the initial rotation and position so we can return to it. * * Rotating back purely by calculations can in the longer term cause the door * to be positioned incorrectly because of precision errors * * We determine this everytime before the door is being opened in case it was * moved, assuming the door was closed whilst being manipulated. */ gPositionClosed = llGetLocalPos(); gRotationClosed = llGetLocalRot(); /* * Play the opening sound and preload the closing sound */ if (SOUND_ON_OPEN) llPlaySound(SOUND_ON_OPEN, SOUND_VOLUME); } vector hingePosition = gPositionClosed + HINGE_POSITION * gRotationClosed; /* * Reset the timer and start moving */ llResetTime(); while (llGetTime() < SECONDS_TO_ROTATE) { float time = llGetTime(); if (! gClosed) /* * Invert the timer for closing direction */ time = SECONDS_TO_ROTATE - time; rotation rotationThisStep = llEuler2Rot(gRotationPerSecond * time) * gRotationClosed; vector positionThisStep = hingePosition - HINGE_POSITION * rotationThisStep; llSetLinkPrimitiveParamsFast(linkNumber, [PRIM_ROT_LOCAL, rotationThisStep, PRIM_POS_LOCAL, positionThisStep]); } /* * Set the new state */ gClosed = !gClosed; if (gClosed) { /* * Finalize the closing movement */ llSetLinkPrimitiveParamsFast(linkNumber, [PRIM_ROT_LOCAL, gRotationClosed, PRIM_POS_LOCAL, gPositionClosed]); /* * Play the closing sound and preload the opening sound */ if (SOUND_ON_CLOSE) llPlaySound(SOUND_ON_CLOSE, SOUND_VOLUME); if (SOUND_ON_OPEN) llPreloadSound(SOUND_ON_OPEN); } else { /* * Finalize the opening movement */ rotation rotationOpened = llEuler2Rot(ROTATION * DEG_TO_RAD) * gRotationClosed; vector positionOpened = hingePosition - HINGE_POSITION * rotationOpened; llSetLinkPrimitiveParamsFast(linkNumber, [PRIM_ROT_LOCAL, rotationOpened, PRIM_POS_LOCAL, positionOpened]); /* * Preload the closing sound */ if (SOUND_ON_CLOSE) llPreloadSound(SOUND_ON_CLOSE); /* * Set a timer to automatically close */ llSetTimerEvent(AUTO_CLOSE_TIME); } } default { state_entry() { /* * Assume the door is closed when the script is reset */ gClosed = TRUE; /* * These doesn't change unless the script is changed, calculate them once */ gRotationPerSecond = (ROTATION * DEG_TO_RAD / SECONDS_TO_ROTATE); /* * Preload the opening sound */ if (SOUND_ON_OPEN) llPreloadSound(SOUND_ON_OPEN); } touch_start(integer agentCount) { doOpenOrClose(); } timer() { llSetTimerEvent(0.0); /* * Close the door if it isn't already closed */ if (! gClosed) doOpenOrClose(); } }
  13. Hello i have a sliding door working but i need to make it delay depending a second i set, for example 3 second, the door should slide during 3 seconds contact me Lolita Erin
  14. Yes i know i use to learn, and thanks for experience user we get little more experince thanks again
  15. yes i use name on prims on the ones i need to manipulate other i dont put them same name to all.
  16. off course!!! i was getting crazy lol i will do that
  17. Thanks again for advise, i was trying to loop for all the Links are about 90, check the rotation, if they match to the rotation change it, because i know the rotation erro after i link the empty prim to the vehicle. but i just cant compare... i set a variable to 179.90 to search in the prims and even i know there are some links with rotation 179.90 all the result are 180... here is the result my variable to search (was 179.90) and the result of the rotation Link # 18 myVecZ.z 179.899994 rr.z 180.000000 so like Rolig say is very complex to compare....
  18. No because some link prims orientation are diferen, i have vehicle mesh all Linked, something very strange happend when i attach a Prim (for the engine script) after i linked some mesh part not all some move little for example some are 180 Degre and others are 179.90 and you can see the vehicle is broke, so i am trying to make small script to find all that 179.90 and change it to 180 but for some reason i just cant mmmmm.....
  19. i made it work thanks check_prims(){ integer prims=llGetNumberOfPrims(); integer x; rotation myQuatRot = llEuler2Rot(<0.0,0.0,45.0> * DEG_TO_RAD); vector myVecZ = llRot2Euler(myQuatRot)*RAD_TO_DEG; for(x = 1; x <= prims;++x){ key link_key = llGetLinkKey(x); list temp = llGetLinkPrimitiveParams(x,[ PRIM_ROT_LOCAL ] ); rotation r = llList2Rot( temp,0); vector rr = llRot2Euler(r)*RAD_TO_DEG; if (myVecZ.z == rr.z){ llOwnerSay("CHANGE Link # "+ (string)x + " rr.z " + (string)rr.z); llSetLinkPrimitiveParamsFast( x, [PRIM_ROT_LOCAL, ZERO_ROTATION] ); } } }
  20. integer prims=llGetNumberOfPrims(); integer x; rotation myQuatRot = llEuler2Rot(<0.0,0.0,45.0> * DEG_TO_RAD); vector myVecZ = llRot2Euler(myQuatRot)*RAD_TO_DEG; for(x = 1; x <= prims;++x){ key link_key = llGetLinkKey(x); list temp = llGetLinkPrimitiveParams(x,[ PRIM_ROT_LOCAL ] ); rotation r = llList2Rot( temp,0); vector rr = llRot2Euler(r)*RAD_TO_DEG; if (myVecZ.z == rr.z) llOwnerSay("Link # "+ (string)x + " rr.z " + (string)rr.z); } This works ok change it to DEG.... any suggestion?
  21. Thank you Rolig Loon and arton Rotaru. arton Rotaru, i manualy set the 45 for testing porpuse and the idea is to find the linked objet that is not rotated correctly and fix it thanks
  22. hi Innula thanks for your reply and yes i have try that here is the result myQuatRot is <0.00000, 0.00000, 0.38268, 0.92388> and r is <0.00000, 0.00000, 0.38268, 0.92388> but cant compare it
×
×
  • Create New...