Jump to content

Rider Linden

Lindens
  • Posts

    221
  • Joined

Posts posted by Rider Linden

  1. 6 minutes ago, Love Zhaoying said:

    I wonder if the data is indexed in such a way that the RegEx expressions are "efficient"? Or, is it effectively doing a "table scan" -- reading all the rows in the LinkSet data and comparing each against whether it matches the RegEx.

    It's a table scan. But the table is generally small enough (few thousand records?) that it shouldn't be too large a hit.

    • Thanks 3
  2. Quote
    2 hours ago, Lucia Nightfire said:

    Also, empty values used with llLinksetDataWrite() return 0 and no key is stored. Shouldn't that return 3 "empty string passed as a value"?

     

    Writing a zero length string as the value actually deletes the key from the store. 

    llLinksetDataWrite(key, "");

    is equivalent to

    llLinksetDataDelete(key);

     

    • Thanks 2
  3. 15 hours ago, Rolig Loon said:

    @Rider Linden  Do you know why the PRIM_PROJECTOR constant isn't recognized by llGetLinkPrimitiveParams?

    Yes.

     

     

     

    Oh! You wanted more detail 😉

    It is not supported at this time on purpose.  I had it in the initial release of the feature, but it was pointed out to me that it provided an avenue for getting around certain permissions in some cases so I removed it.  It is the same reasoning that I had with sun/moon/cloud textures in the LSL for EEP where I will only tell you whether or not the texture is the default texture for the settings, but not give you its UUID.

    • Like 1
    • Thanks 3
  4. @Aishagain, you summarized it very well.  Thank you.

    The only thing that I can add is that there are in reality 4 RC channels that in some instances may each get a different version of a new server. 

    The RC channels are:

    • Bluesteel
    • Ferrari 
    • Le Tigra
    • Magnum

    We may also at times create small temporary RC channels that we refer to as "Snack Channels" those are in general rolled/bounced along with the RCs on Wednesdays.

  5. On 2/8/2022 at 2:10 AM, Aishagain said:

    @Caleb Lindenfor the second time, what does "bounced" mean?

    Are the regions themselves made of rubber, that would explain the "rubber banding", I suppose.

    The Main Server regions were restarted last week, so why would ANY of them need a restart this week?

    When we say that we are "bouncing" a region we mean that we are stopping the simulator on which it is running and bring that region back up on a new simulator without changing the version. Essentially, it is a mass restart across an entire channel.  When we say "Roll" we generally mean that we are stopping a region, installing a new version of the simulator and bringing it back up with the shiny new software. 

    If we are not rolling a new version on any given week we usually like to bounce instead. This is to make sure that the regions don't stay up too long and run into memory issues or other problems... it also gives us a chance to clear out any feral meeroos that may have nested inside the hardware. 

    Rubber servers isn't a bad idea.  Please file a Feature Request JIRA for upgrading the simulators from Neoprene to Fluorosilicone.

    • Haha 4
  6. On 1/28/2022 at 4:28 AM, Mayumi Hirano said:

    Always got error.
    "llGetPrimitiveParams error: Param 0 error, unknown parameter"


    "llSetPrimitiveParams" will work fine even if PRIM_PROJECTOR is specified.

    default
    {
        state_entry()
        {
            list params = llGetPrimitiveParams([ PRIM_PROJECTOR ]);
    //      list params = llGetLinkPrimitiveParams(LINK_THIS,[ PRIM_PROJECTOR ]);
        }
    }
     

    For the time being PRIM_PROJECTOR is write only.  You can use llSetPrimitiveParams to set the value, but you can not read it back.

     

    • Like 2
  7. I'm considering adding the following LSL function and would welcome some community feedback.

    Function: integer llIsFriend(key agent_id)
    

    The llIsFriend function will return TRUE if agent_id is a friend of the script owner and either the owner or the agent is in the same region.  If agent_id is not an agent, not a friend, or neither the agent nor the script owner is on the region this function returns FALSE.

    (I am also considering adding llIsFiend just to be cruel... it would return TRUE only on Halloween 😉

    • Thanks 3
  8. 21 minutes ago, Quistess Alpha said:

    in LSL? I don't see how a 'propper implementation' is possible; although it might be slightly more so now with llOrd and llChar and llHash.

    For general purposes llHash() would probably serve your needs.

    An option for the original question, I believe that the sender key in the listen event should be the UUID of the HUD that sent the message.  (Verify this to see if I'm misremembering.)  Take that UUID, pass it to llGetObjectDetails() and ask for OBJECT_CREATOR.   If it is you then you can be reasonably sure that HUD is not a forgery. 

    • Like 2
  9. 6 hours ago, Jerilyn Acajou said:

    I also face this problem as well. and to use llReplaceAgentEnvironment,  we have to ask permission everytime they tp to sim,   so what if I do llrepeatscan agent and found avatar then ask permission to change their eep,  and keep repeat the loop again and again.    
    for right now,  I will ignore last visit avatar that come back within 4 hr since last visit.   but when I tp back to sim within 4 hr.  script won't ask permssion and replace agent eep won't happen as well, 

    Actually, those functions operate from an experience, so the user will only be asked once. Although, you do need to follow the llRequestExperiencePermissions()/experience_permissions model before attempting to modify their environment. 

  10. 12 hours ago, Lucia Nightfire said:

    When I originally proposed the feature that became Animesh, one of the use cases was "personal assistant mascots".

    Clippy comes to mind, even though I'd prefer the cat.

    To bad we can't attach animesh to HUD slots.

    A whole market was passed over.

    After an exhaustive search of the marketplace, the closest I was able to find was a paper clip typer... 

    • Thanks 1
  11. 2 hours ago, Whirly Fizzle said:

    Looking at Rider's comment on BUG-230126 - "Too many error returns for script." error from a HUD while on regions on Second Life Server 2021-01-20.555189
    it's likely to be a script problem the creator needs to fix.
    Where is the soundscape object rezzed?

    @Rider Linden

    Yes.  Whirly is correct. This is a script issue that the creator will need to address. 

    The script is making repeated HTTP calls to a server which is returning 500 class status responses(see below). In order to trigger that warning it needs to make quite a few requests in a very short amount of time with no non-500 responses.  In more poetic terms:  The script is sitting in the back seat of the car asking "arewethereyet?arewethereyet?arewethereyet?arewethereyet?howboutnow?arewethereyet?"

    HTTP response can be broken down into 4 broad ranges:

    • 200: All is right with the world
    • 300: What you are looking for is over there
    • 400: I don't know what you want or you asked wrong. Try again
    • 500: Server is on fire

     

    • Thanks 4
    • Haha 2
  12. 23 hours ago, monyhara said:

    so i have finally figured out how to bring my windlights into SL, which to be honest is pretty much a pain as you can only do one by one. will there be the possibility to allow to bring more windlights into SL at one time, like a bulk uploader? and the second question i have, once i got my windlight uploaded, how do i apply it to actually use it for photography, i have tried the loading and attached and all the things i can think of, which does not give me the windlight i have uploaded, ie: Satomy and battlescars .

    Thank you in advance ♥

    If you are importing multiple Windlights there is a trick you can do.

    1. Create a new sky (or water, or day cycle. Whichever sort of setting that you are importing).
    2. Double click it in your inventory to open the editor
    3. Use the Import button to bring in the first windlight on your list
    4. Use the "Save As" option on the save button. 
    5. Click the Import button again to get the second one, and repeat the process.

     

    • Like 1
    • Thanks 1
  13. LSL is Turing Complete.  So in theory you could do any of projects that you outlined.

    In practice however, that way lies madness, and you would probably not want to tackle them for any reason other than the perverse pleasure of bringing such a horror into the world.

    You would need to operate in rather severe memory constraints. You could work around this by dividing the logic and memory usage among multiple scripts each handling a specific function (how very Minsky!).  This strategy however will start to run into limits with script timing since the number of scripts needed would balloon quickly and the simulator only has so much time each frame to execute scripts.  I/O will also be a problem, your storage would be limited to volatile script state memory and graphics could be done, after a fashion, but would be to slow for a real time display. 

    I once saw a Mandelbrot Zoomer done in LSL where each "pixel" on the screen was a small cube in a linkset. I'll see if I can find the video. 

    • Like 2
    • Thanks 1
  14. Yes AFK, that is actually very easy to do. 

    In the About Land floater you can set the length of the day and number of hours to offset.  You will want to set a 24 hours day and the set the Day Offset to match your timezone.

    There is a label just below these two sliders that can assist you in making the adjustments by showing you the "Apparent Time of Day".

    image.png.287e151f61b36832cc3dbc9079c7bf69.png

    • Like 1
×
×
  • Create New...