Jump to content

BB Seesaw

Resident
  • Posts

    12
  • Joined

  • Last visited

Posts posted by BB Seesaw

  1. @Ron KhondjiYour snippet solved the problem, thanks so much. I have no idea how I managed after years of scripting not to realise that when you convert strings to lists you have to explicitly typecast each element. I somehow got it fixed in my mind that lsl automatically recognised the type from the form.

    @Frionil FangI haven't tried your solution yet as Ron's solution worked, but I'll try it later and respond.

     

    • Like 1
    • Thanks 1
  2. I have a cam HUD script with a custom camera option, and want to modify it to save custom camera parameters users set via the HUD. I was going save the data in the prim description but now that linkset data can save far more and survives script resets (useful for reset on region crossings) I'm trying to save there instead. However, although I can save and retrieve data using the function, it won't actually set the camera parameters. I know I must be making a mistake but can't see it.

    Here's the test script I'm using. I'd really appreciate some help getting it to work. I'm using integers for the camera parameters to save bytes so that if I can't get linkset data to work I'll have to go back to using the prim description.


    integer on;
    string camName;


    list testCam = [
        12,1,//camera active
        8,.01,//camera behindness angle
        9,.0,//camera behindness lag
        7, 2.0,//camera distance
        6,.01 ,//camera focus lag
        1,<.0,.0,.75> ,//camera focus offset
        11,.0,//camera focus threshold
        22,0,//camera focus locked
        0,10.0,//camera pitch
        5,.01,//camera position lag
        10,.0,//camera position threshold
        21, 0//camera position locked
        ];
        
    take_camera_control(key agent)
    {
        llOwnerSay("take_camera_control"); // say function name for debugging
        llRequestPermissions(agent, PERMISSION_CONTROL_CAMERA);
        llSetCameraParams([CAMERA_ACTIVE, 1]); // 1 is active, 0 is inactive
        on = TRUE;
    }

    default
    {
        state_entry()
        {
            llLinksetDataReset( );
            take_camera_control(llGetOwner());
            //llSetCameraParams(testCam);

            camName="testDataWrite";
        }
        touch_start(integer total_number)
        {
            llLinksetDataWrite(camName,llDumpList2String(testCam,"#"));//save parameters as linkset data
            string temp = llLinksetDataRead(camName);//get cam settings from data store
            llOwnerSay("Settings read from linkset "+temp);
            list tempCamSettings = llParseString2List(temp,["#"],[""]);//convert to list
            llClearCameraParams();
            llSetCameraParams(tempCamSettings);
            llOwnerSay(llDumpList2String(tempCamSettings,","));
        }
        run_time_permissions(integer perm)
        {
            if ((perm & PERMISSION_CONTROL_CAMERA) == PERMISSION_CONTROL_CAMERA) {
                llSetCameraParams([CAMERA_ACTIVE, 1]); // 1 is active, 0 is inactive
                llOwnerSay("Camera permissions have been taken llSetCameraParams");
            }
        }
    }

     

     

  3. The link rules on the sl wiki still say LINKABLE = D < 54 AND N ≤ 256 where D = diameter of the smallest bounding sphere of the collection of prim centers and N = number of prims in the collection.  If I understand it right, that would surely mean that the rules  must have changed now we have a maximum prim size of 64m, but I can't find an update. Anyway, after some tests it seems they have, and if there is a distance/size limit it's so great that I can't actually reach it!

    I noticed when making an off sim lighthouse on my isolated homestead sim that I could get the on-sim root to link much further than 54m from the lighthouse object, and eventually managed just under 400m on a pair of test prims.

    To replicate, set draw distance as high as you can, disable 'Limit select distance' and disable cam constraints from the Advanced menu.

    Rez a prim and make it 10 m cube so it's visible at long distances. Duplicate it.

    If you put one prim at 0,0 and  the other at 255.99, 255.99 it's fairly easy to select them both and you get the full sim diagonal as the separation. You can get greater distances by separating the prims vertically but it's harder selecting them because of the cam angles you need.

    Select both and link them.

    I managed to get more by setting them 400m apart on the z axis but gave up trying bigger separations because selection got tricky.

    Putting the root at the sim edge and rotating it the child could be set 400m outside the sim.

    Testing again in a build enabled mainland sim (Ultsch) the prims still linked at the same separation. Positioning the the root prim near the edge of Ultsch and rotating the set, the child could be placed two sims away, in Coviello, with the root still in Ultsch, or the other way round. I also tested in Aditi with similar results.

    So is it a new link rule, or is it a bug, and if so should it be fixed? There will be tears later if a fix is needed after content is created using this.

    The pic shows the lighthouse 231m off the sim with the root in the sim corner as red post.

    Off sim lighthouse

     

    • Like 1
×
×
  • Create New...