Jump to content

Ruthven Ravenhurst

Resident
  • Posts

    491
  • Joined

  • Last visited

Posts posted by Ruthven Ravenhurst

  1. 4 minutes ago, littlepinkpie said:

    Ok I get it, need some copies of the same object for setting different points.
    About setting the position and rotation, how can I manipulate them using the same script which does the attach? I mean how to tell "set the rotation of the object1", "set the rotation of the object 2" etc?

    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

  2. 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

  3. 9 minutes ago, WESTCAT said:

    the whole room started rotating

    I have checked the scripts in everything and still it goes round and round unless I click on the room,  as soon as I let it go around and around 

    HELP

    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

    • Thanks 1
  4. 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");
            }
        }
    }

     

    • Thanks 1
  5. 1 minute ago, Pedlar Decosta said:

    Hi Ruthven, thanks for the reply. I had plenty of prims in the place I was building and I was actually making the build smaller. I assumed it was a sculpt because in the build console it was a sculpt with a sculpt texture. My limited knowledge of mesh ...and sculpties has me thinking that you can't see a sculpt texture for mesh, however I don't say that with any real confidence. I have actually started to take some tutorials for 3D models in Blender, but for now I feel like Schultz..." I know Nothing !!!" The build was in my lost and found folder and it still responds to the scripts. Maybe it was my connection... I have wireless and satellite internet and neither are problem free as I'm in the middle of nowhere.

    /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 

    • Like 1
  6. 9 hours ago, Pedlar Decosta said:

    Thanks Fenix. Yes, I have tried all of those scenarios. I even managed to get the script working at one point, however when I unlinked and started editing the scale of the prim manually it disappeared and I couldn't find it. I expect it will be back in my inventory now, when I get back online because of the sim I was in has item returns set up. It is baffling though. I bought it as a 100% mesh object, yet at least one prim was a sculpty. I only realized when all of a sudden I couldn't move around in the space inside it. So I think the problem is not with mesh after all. I'll investigate further, but thanks for the very helpful reply. I was having a bad day yesterday and my patience was running low. Normally I would have persisted myself to eliminate all possibilities. I gave in to the temptation of seeking help here among people who are much more qualified than myself :)

    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

  7. 18 hours ago, Chorazin Allen said:

    Unfortunately reading a notecard located in a child prim is one of the things that's still not possible from a different linkset prim.

    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

    • Like 2
  8. 9 minutes ago, Rolig Loon said:

    So, if you took controls upon sitting or attaching something, the permissions would be revoked when you log out.

    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

  9. 11 hours ago, animats said:

    But if the permissions are set to Object entry for Everyone ON, Run scripts for Everyone OFF, the object can get in, and then its come-home script dies. This leaves the object stuck, perhaps in mid-air, in phantom mode.The property owner or the object owner can return or delete it, but otherwise it's stuck there.

    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

  10. 7 minutes ago, Love Zhaoying said:

    I would suggest echoing the URL you are using (what you got from the llRequestURL() response) via llOwnerSay() in case you really are passing an invalid URL to the tinyurl.com request.

    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.

    • Like 1
    • Thanks 1
  11. 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);

    • Like 2
    • Thanks 1
  12. 11 minutes ago, Nalates Urriah said:

    AFAIK, there is no way to search reviews. You might be able to coax Google into searching the MP and finding it. But, probably not. 

    yep, tried that, lol. didn't find it that way either

  13. 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?

  14. 2 minutes ago, Lucia Nightfire said:
    
        touch_start(integer i)
        {
            list ITEMS = [
                <0.0,0.0,0.0>,<0.563,0.57,0.0>,"1",
                <0.565,0.0,0.0>,<1.0,0.4116,0.0>,"2"];
            vector UV = llDetectedTouchUV(0);
            for (i = -llGetListLength(ITEMS); i < 0; i+=3)
            {
                vector lower = llList2Vector(ITEMS,i); //lower left
                vector upper = llList2Vector(ITEMS,i + 1); //upper right
                if ((UV.x >= lower.x) && (UV.x <= upper.x) && (UV.y >= lower.y) & (UV.y <= upper.y))
                {
                    llSay(0,llList2String(ITEMS,i + 2));
                    return;
                }
            }
            llSay(0,"Nope");
        }

    This way comes to mind, but I'm sure there is a "point on fragmented plane" method someone will chime in with later, heh.

    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...