Jump to content

Ruthven Ravenhurst

Resident
  • Posts

    491
  • Joined

  • Last visited

Everything posted by Ruthven Ravenhurst

  1. it looks like they're here: http://www.opencollar.at/ http://maps.secondlife.com/secondlife/Arcadia/30/228/2223 but i haven't used them, so i don't have any other info
  2. Ah ok, so it won't always have the same position/rotation for each attachment point? In that case, yes, I would use a listener to tell it how to position itself after attaching.
  3. The rotation would need to be done in a script in the attachment itself. If the object is copy-able, instead of using a script to handle the rotation, making a copy of the attachment and placing each one in the named folder. Then go through and attach, move/rotate it how you want, and detach. As long as it uses the same attachment point next time, it retains the same position and rotation
  4. As Innula said, the viewer uses the name of the object, or the folder it's in, to determine the attachment point. That being said, I would go with the folder method. That way, you can make a link to the item, and put it in different folders named for the attachment points you want to use. Then in a script inside the object, you want a script with a list of local rotations, and possibly local positions as well as the attachment point constants. On attach, you'll want to use llGetAttached, find that resulting point in your list, and have it apply the rotation and position from the list
  5. Lay off the booze, lol. J/k And you're sure you didn't have the block linked to the room at some point by accident? Only thing I can suggest is putting a script with LlTargetOmega with 0 values to stop the spin. LlTargetOmega is a client side effect, and remains on the prim after the script is deleted, unless turned off before hand, or removed by another script
  6. Also might want to release the permissions, it's as simple as resetting the script, *Edited above
  7. touch_end gets triggered when you release the mouse button, like when moving to click the request to animate. I would use a toggle, or a check for perms. like this: default { touch_start(integer detected) { if(llGetPermissionsKey()) { llStopAnimation("sit"); llResetScript(); } else { llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION); } } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { llStartAnimation("sit"); } } }
  8. /me nods, yep, if you're able to see the texture, and if it shows the stitching options, then it is actually a sculpt. Your connection shouldn't have an effect on whether or not it gets returned to you, sounds like there's another issue. I had a mesh object that I linked to a dimpled cut and hollowed sphere. The mesh was 3 LI and the sphere was a single prim. Linking them together shot the Li to way over 200, and I guess my parcel was pretty full at the time. (My skybox studio is a mess sometimes, lol) It auto returned that object as well as some parts of my building on the ground and some other odd small objects, but as a coalesced object
  9. Changing the scale of a mesh object will often change the Li of it, sometimes higher than you have spare prims for, and it will automatically return it to you. I typically only see that when linking it to a complex prim, like a torus, especially a tortured one. I suppose a sculpty would probably be pretty complex too because of the nature of how it's made with all of the triangles. That being said, the object that you say is a sculpty may in fack be a mesh that just has a solid physics model, instead of being open as the visual representation is. For example, a tree is cone shaped and odd shapes that are somewhat complex. You wouldn't normally need to walk inside or on top a tree, so the physics shape of it is probably just a simple cube
  10. Yes, but it gets a new UUID each time it's edited and saved. So you'd have to update the UUID when you edit it. I used the new UUID method in the script to detect which/if notecard was edited in the object's inventory
  11. Not entirely true. I have an object that a has a sensor script in one of the child prims. it reads some settings and names from a notecard. to make editing the notecard easier, i have it in the root prim, and a script in the root prim communicates the notecard's uuid to the script in the child. the same could be done in reverse. if you have the uuid of the notecard, the notecard doesn't have to be in the linkset at all. it can even just reside in your inventory
  12. Right, but if the owner is just granting the permission on rez, but the script taking the controls never handles any sitting or attach events, would the controls be released when they log out? The only problem I would see is in the chairs, and in that case, I would have a separate script to handle the sitting anyways because of the 1 person permissions limit . Time to test, lol
  13. Would the llTakeControls method work here? Or does the person giving the perms have to be online for it to still work? Might be worth a try
  14. Whoops, nevermind, was thinking about it wrong. Feeling blah today and busy with Thanksgiving stuff
  15. I'm not in world to check. But I'm pretty sure it's using llGetAgentSize, then extracting the Z value of the vector, and doing the math to convert it to inches, feet, etc.
  16. Yes, I took the URL it gave me and tried it directly on the tiny website, and it also told me it was invalid. Then tried it on Google url shortener and noticed it removed the port number that SL generated in the URL. So to fix it, what I did was parsed that out, then passed it to tinycc via the script, and it worked.
  17. I'm trying to use the script at http://wiki.secondlife.com/wiki/Permanent_Primitive_URL to establish a permanent url to communicate between objects on different sims. It worked for me when I tested it a while back, but now it's not. Is it a result of this change? How do I fix it? This is the error message i get {"errorCode":1206,"errorMessage":"URL you tried to shorten was invalid.","results":"","statusCode":"ERROR"}
  18. When an avatar is sitting on an object, they become a child link of the object. You can use llGetObjectDetails with the flag OBJECT_ROOT to find the root UUID of the object the avatar is sitting on. listdetails = llGetObjectDetails (avataruuid,[OBJECT_ROOT]); key object = llList2Key(details,0);
  19. in the script that handles hiding the hud, you'll want to add the logic: if(llDetectedLinkNumber(0) == llGetLinkNumber())//checks to see if the prim you touched is the one containing this script { //code to hide/show the hud } This is assuming that all the root prim does is show/hide the hud
  20. Only works if the alt purchased it too.
  21. yep, tried that, lol. didn't find it that way either
  22. So I have a product that I bought years ago, and after many updates, I wanted to post a review. I click the Write a REview! button, and it tells my I've already reviewed the product. But I searched through all the pages of the reviews and it's not there. Is there some way to find a review you posted other than clicking through the pages of the product's reviews? Even if I didn't use any words but reviewed it on the 5 star scaling, I should be able to change it, right?
  23. ha, thanks Lucia, I actually did work out something similar with a list that also contains the vectors for the other sets based on the texture used (on the mesh object, i'll have it in the description which set it needs to use by using llGetLinkPrimitiveParams(llDetectedLinkNumber(0),[OBJECT_DESC]); list sets = ["set1","<0.0,1.0,0.0>, <465,0.541,0.0>, <0.0,0.54,0.0>, <0.53,0.0,0.0>","set2","<0.0,1.0,0.0>, <0.459,0.535,0.0>, <0.0,534,0.0>, <0.53,0.0,0.0>, <0.531,0.59,0.0>, <0.975,0.0,0.0>","set3","<0.0,0.57,0.0>, <0.563,0.0,0.0>, <0.565,0.4116,0.0>, <1.0,0.0,1.0>"]; integer whichitem(vector UV) { list vectors = llCSV2List(llList2String(sets,3)); integer len = llGetListLength(vectors)/2; integer i = 0; integer item = 1; for(i;i<len;i++) { vector top = (vector)llList2String(vectors,i*2); vector bottom = (vector)llList2String(vectors,i*2+1); if(UV.x >= top.x && UV.y <= top.y && UV.x <= bottom.x && UV.y >= bottom.y)return i; } return -1; } default { touch_start(integer total_number) { vector UV = llDetectedTouchUV(0); llSay(0,(string)whichitem(UV)); } }
×
×
  • Create New...