Jump to content

LissomePrey

Resident
  • Posts

    83
  • Joined

  • Last visited

Posts posted by LissomePrey

  1. We probably need to see the script but if you want to trigger an animation for an avatar, you have to have got permission to trigger animations:

                   if (PERMISSION == FALSE)
                    {
                        llRequestPermissions(sitter, PERMISSION_TRIGGER_ANIMATION | PERMISSION_OVERRIDE_ANIMATIONS);
                    }

        run_time_permissions(integer perms)
        {
           if ((perms & PERMISSION_TRIGGER_ANIMATION) &&  (PERMISSION_OVERRIDE_ANIMATIONS))
           {
                PERMISSION = TRUE;
                llSetAnimationOverride("Sitting","sldown");
           }

         }
       

    that is just two code snipperts from an old script as an example.

     

    If the script is an attachment permission should be granted automatically, otherwise a window pops up in the viewer to gain permissions.

  2. Glad the problem got solved but reading the script raised a formatting question for me.

    When I was at university we were taught to make brackets line up vertically, i.e. the closing bracket was level  with the opening bracket to aid bracket checking. When I worked in the industry, that was the standard my employer laid down too.

    Reading scripts many years later, I find I am in a, possibly small, minority.

    When did the change take hold and what are the arguments for it?

  3. I'm about to dive into the maths of scripting a pendulum (a rod attached to a ceiling at one end but otherwise free to move) and a feather (slowly falling object that can be 'wind blown').

    Not asking for anyone to provide a script but has anyone useful hints or pitfalls to avoid?

  4. Someone has asked me for a script to handle a 'scavenger hunt' where participants have to touch various objects to complete the hunt. The participants each have an attachment that gathers the touches.

    I can't see a way that this can be done without the objects having a very trivial script that announces they have been touched.

    None of that is hard to achieve, I already have suitable code snippets, but I would like confirmation that I'm not missing an obvious trick that would allow the objects to be dumb.

  5. Going almost way off topic, apologies, thinking about this reminded me of John Conway's Game Of Life Wikipedia Article which probably almost everyone who studied or even worked in IT in the 70s or 80s coded a version of.

     

    I have no doubt that there are SL versions of it somewhere but thinking about automata, if an object could rez exact copies of itself, you could have an entirely autonomous version with no central control. As is, I think you could only go semi-autonomous with a central object that you requested to create new objects, though that object wouldn't need to know where any existing cells were.

     

    And no, it isn't on my list  ... yet.

  6. 11 hours ago, PheebyKatz said:

    I don't even bother with all of that. They sit, it moves instantly to the destination, it unsits them. That's all you need.

    The object itself can do it, and it goes so fast most people never even see it go, if they're watching someone else "teleport".

    You can even have it turn to face the right direction before unseating them, so they face the right way. Just be sure to turn it back when it goes back.

    If it's a big object you're using as the visible portal, or part of a large linkset, you can just put an invisiprim right in front of the spot they should click, and use that invisible object as the "mover" instead.

    I've made several different versions of this kind of "fake tp" device, even one that has a notecard whitelist of permitted users. They're my go-to for quick local transport options. If you'd like copies, hit me up inworld sometime and I'll send them to you, so you can dissect them and stuff.

    I just got interested as a friend said they had bought a script and I wondered how difficult they were and then read the wrong sample script off the internet!

    There is something odd about an object rezzing a copy of itself that is not a true copy but thinking about it, it is probably a good thing to stop griefing as objects that could rez multiple copies of themselves forever would be a gift to griefers, so good that it doesn't work.

    • Like 1
  7. I've got a stage  further.

    The TP Box has full permissions for next owner as does the copy inside it. After the first use whilst it appears the new TP Box is the same , the copy inside it has lost Copy permissions for next owner. Not sure if there is a way around that.

  8. I've been playing about trying to understand how teleport on touch works.

    The approach seems to be that touching temporarily sits you on an object that rezzes a copy of itself and then moves the avi to the required location before it dies, leaving the new copy for the next person to touch.

    I've done a stripped down test (code below).

    1) I rez the object (TP Box) which contains the script and a copy of itself.

    2) I touch it and get transported

    3) I come back, check that the new object appears to be a true copy, which it seems to be.

    4) I touch it and get tranported

    5) I come back, check the new object and it has the script but not a copy of itself.

    I can't see why that happens, any suggestions would be appreciated.

    default
    {
        
        //set up new copy of the object
        on_rez(integer start_param)
        {
            llOwnerSay("rezzed");
            llSetClickAction(CLICK_ACTION_SIT);
            llSitTarget(<0.0, 0.0, 1.0>, ZERO_ROTATION);
        }

        //detect someone sitting so create a new copy ready
        changed(integer change)
        {
            if (change & CHANGED_LINK)
            {
                llRezObject("TP Box", llGetPos(), ZERO_VECTOR, llGetRot(), 1);
                llSleep(1.0);
            }
        }

        //new copy is ready so move with avatar and then die
        object_rez(key id)
        {
            llOwnerSay("object rezzed");
            key avi = llAvatarOnSitTarget();
            llSetRegionPos(<210.0, 240.0, 2400.5>);
            llUnSit(avi);
            llDie();
        }

    }

  9. Using the Catznip viewer ( I am not sure whether other viewers supported the option) I could set up folders within the Outfits/My Outfits system folder, for example one called "Lara v5.3 plus Lelutka" and then keep basic outfits in there, separately from those using Catwa or other heads.

    This facility has now disappeared, you get an error if trying to create a folder, and the Catznip forum says it was a change in the LL code that has stopped it.

    Was there a purposeful reason for this or accidental in some other development? Was there a way that it caused harm? If not could it be reinstated at some point?

  10. Thanks.

    The rlv bit would work fine if the folder went in the correct place but it doesn't. I was hoping there was some symbol I could put before #RLV that forced putting it into the root rlv folder.

    I could use a viewer that had the root as default for accepting inventory but I can't force others to do that.

    As my viewer is Catznip and they look after rlva, I'll seek their opinion.

  11. I'm trying to use llGiveInventoryList to set up an rlv folder in #RLV directory.

    I, and I imagine many others, have a default directory for new items, let's call it "2024 To Sort"

    Using the line

    llGiveInventoryList(myId,"#RLV/CARP Test",["Cuff LW","Cuff LA","Cuff RW","Cuff RA"]);

    The inventory arrives in - 2024 To Sort/#RLV/CARP Test

    How can I force it into #RLV/CARP Test?

  12. He can see me. If I request a TP he can do it, he just can't offer me one.

    I've tried switching viewers between Firestorm and Catznip so we're thinking it his side.

    He is going to try and reset things.

    Thanks for the help.

    I'll post if we find the solution.

     

     

  13. There is probably a trivial answer to this but I can't find it right now.

    I have an attachment to an avatar that I want to sense objects in a relatively small arc behind the avatar. It seems that sl always considers the positive x direction of an attachment  to always be facing in the directoin the avatar is facing.

    Am I missing something? Is there a way to make the sensing area behind the avatar?

  14. One additional comment:

                    llSetLinkPrimitiveParamsFast(LINK_SET,[PRIM_POSITION,position,PRIM_ROTATION,rot]); seems to be the same as llSetPos and restricted to how far it can move the object so I have to go back to llRegionPos.

     

  15. Thanks to all

    It seems one particular chair doesn't react when I drop the script (I'll investigate further) in but I've now tried with another model and it works so I can scrap the child prim in that case.

    I think I will still keep the child prim handy incorporating the suggested mods.

×
×
  • Create New...