Jump to content

Erwin Solo

Resident
  • Posts

    1,210
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Erwin Solo

  1. On 6/29/2021 at 12:06 PM, Prokofy Neva said:

    The overwhelming majority of residents in SL are not in RP or costumes other than normal real-world clothing, even if sexier than most everyday life would allow for. They are not furries, vampires, N'avi, Steampunk, as important as these communities of content and lifestyle are. Fantasy Faire -- which I think is the supreme event of the year -- bears ample testimony to this, but it's not "for everybody."

     If you go to the Linden talks, you might think FF is the only contingent of SL, as the RP types tend to be overrepresented there. But if you pick any club with real green dots, or any other type of event, whether a merchant event or even something spontaneous like a memorial for Ebbe or Mr. Sirbu, most of the people are dressed for "normal real life," not fantasy. They might be a weekend Dinkie like me, but it's not a default.

     

    I found these two paragraphs particularly interesting, and I agree.  I likewise have roleplay (RP) outfits, animal outfits, robot outfits, etc.  Most the time, however, I am human in modern clothing.  

    Most of my long time friends here like to make things.  A few have cash cows and show up to keep the income stream alive, having long ago lost interest.  A few do inworld "charity" work, though I suspect they manage to skim enough to line their own pockets cover their expenses; nevertheless it keeps them coming back.  

    The ones that only do roleplay tend to burn out.  

    • Like 1
    • Sad 1
  2. Someone IM'd me today asking for a copy of this script, and so I thought I'd post the latest version. 


    // ===== Should not need to change anything below here ===========

    /* Erwin Solo !ES Rez2 Controller 2018-09-21 Sensor Rev. 1.1.0
    /* Embedded documentation updated 2018-06-17, which may be a little out of date

    This is a support-script/trigger-script for (free-of-charge) CasperTech Rez2 script by Casper Warden. Intended use is as a doormat prim (or mesh) to rez furniture inside a house for a minimum period-of-time (float REZ_TIME), which is automatically extended if the triggering Avatar remains on the Region/SIM. Said doormat prim (or mesh) must also contain the Rez2 script, which communicates by link messages.

    The benefit of this approach is that the Region/SIM is not burdened with the land impact (prims) or script load of all the furniture all the time.  Few Avatars stay in their homes more than a few hours a week.

    The use case is that Avatar walks into front door of home, and furniture rezzes as Avatar walks over the (collision detect) doormat, which triggers the rezzing of furniture in the house.

    By default, the furniture stays rezzed for the value of the float REZ_TIME variable/constant, after which the furniture de-rezzes only if the triggering Avatar has left the area. If the triggering Avatar is still in the area, the furniture's time-to-live will be extended by another interval of float REZ_TIME.

    The Avatar may also touch the doormat prim (or mesh) to use Rez2 menus, either as Owner or with the Owner granting Rez2 permissions througth the Rez2 Menu System. 

    Any Avatar may trigger the doormat prim (or mesh).  No security is provided to limit action to a group or single avatar, because the act of rezzing your home furniture has a low potential for griefing behavior. 

    A griefer might trigger all the rezzers to load the SIM/Region with scripts and prims, but I think that griefers have easier ways to lag sims than run around triggering these rezzer doormats one by one.

    For details on the CasperTech Rez2 API, Google: Rez2 CasperTech Wiki

    Revision History

    1.2.0 Added visualization tool to show coverage 

    1.1.0 Attempted to make a version that people could use with no adjustment needed.

    1.0.8 Bug fix for for 1.0.7

    1.0.7 Production Release.  Runs a sensor every 15 minutes to see if you are still around.  De-rezzes an hour after you leave.

    1.0.3 - 1.0.6 Various Experiments

    1.0.2 2018-03-24 Organized such that Owner can choose to let non-Owner Avatar use Rez2 menus. 

    1.0.1 2018-03-23 Added a test for Avatar-on-SIM

    1.0.0 2018-03-22 Initial Release
    */


    float SENSOR_RANGE = 0.0; // To be calcuated from prim size
    float REZ_TIME = 900.0; // 15 minutes = 15 x 60.0 = 900 seconds
    float TIMER_OFF  = 0.0; // Turns timer off.
    float SLEEP_TIME = 60.0; // Sleep time while Avatar is working Rez2 menus
    float SENSOR_ANGLE = 1.0; // to be multipled times PI
    key gkAgent = NULL_KEY; // Agent triggering script

    // Control Codes for sending link message to (free-of-charge) CasperTech Rez2 script by Casper Warden 

    integer REZ = 10001; // Rez. Will send response code 11001 when done.
    integer DEREZ = 10002; // DeRez. Will send response code 11002 when done.
    integer SHOW_MENU = 10003; // Show menu dialog. Pass the avatar key as the uuid parameter.
    integer EVERYONE = 10004; // Allow rez and de-rez by EVERYONE
    integer GROUP = 10005; // Allow rez and de-rez by GROUP ONLY
    integer OWNER = 10006; // Allow rez and de-rez by OWNER ONLY
    integer OFF_TERRAFORMING = 10007; // Terraforming OFF
    integer TEST = 10013; // Test
    integer QUERY_REZ = 10014; // Is build currently rezzed? Responds with a RESPONSE CODE as defined below.

    // Response Codes -- recieved from CasperTech Rez2 script by Casper Warden

    integer CURRENTLY_REZZED = 11001; // Build is currently rezzed
    integer CURRENTLY_NOT_REZZED = 11002; // Build is currently not rezzed

    float gfTempTime = 10; // display for this many seconds
    vector gvPrimSize = ZERO_VECTOR; // calcuated by script
    vector gvMagnitude  = ZERO_VECTOR; // calcuated by script

    restore_prim()
    {
            llSetLinkPrimitiveParamsFast
            ( LINK_SET, [
            PRIM_COLOR, ALL_SIDES, <1.0,1.0,1.0>, 0.0,
            PRIM_TEXTURE, ALL_SIDES, TEXTURE_BLANK, <1.0, 1.0, 0.0>, ZERO_VECTOR, 0.0,
            PRIM_FULLBRIGHT, ALL_SIDES, FALSE,
            PRIM_TYPE, PRIM_TYPE_BOX, PRIM_HOLE_DEFAULT, <0,1,0>, 0.0, ZERO_VECTOR, <1,1,0>, ZERO_VECTOR,
            PRIM_SIZE, gvPrimSize
            ]);   
            
            llMessageLinked(LINK_THIS, QUERY_REZ, "REZ2-API", NULL_KEY);
    }

    default // figure out whether Rez2 is in the Rezzed or Not-Rezzed state
    {
        state_entry()
        {
            llVolumeDetect(TRUE);  
            SENSOR_ANGLE = SENSOR_ANGLE * PI;
            SENSOR_RANGE = 1.0 + (0.5 * llVecMag( llGetScale( ) )); // set sensor range to the length from origin to corner of 3D cube + 1 meter
            state visualize;
        }
        
        on_rez (integer start_param) {llResetScript();}

        changed(integer change)
        {
            if (change & CHANGED_REGION_START) 
            {
                llSleep(SLEEP_TIME*2.0);
                llResetScript();
            }
            if (change & CHANGED_OWNER | CHANGED_INVENTORY | CHANGED_SCALE | CHANGED_REGION | CHANGED_TELEPORT ) 
            {
                llResetScript();
            }

        }
      

    }

    state rezzed // Stay in this state while Rezzed
    {
        state_entry()
        {
            llVolumeDetect(TRUE); 
            llSensorRepeat( "", NULL_KEY, AGENT, SENSOR_RANGE, SENSOR_ANGLE, (REZ_TIME) );
        }
        
        on_rez (integer start_param) {llResetScript();}
        
        changed(integer change)
        {
            if (change & CHANGED_REGION_START) 
            {
                llSleep(SLEEP_TIME*2.0);
                llResetScript();
            }
            if (change & CHANGED_OWNER | CHANGED_INVENTORY | CHANGED_SCALE | CHANGED_REGION | CHANGED_TELEPORT ) 
            {
                llResetScript();
            }

        }

        no_sensor()
        {
           state derezzed;
        }
                
        collision_start( integer num_detected ) // extend rez time to full float REZ_TIME value if Avatar triggers
        { 
            gkAgent = llDetectedKey(0);
            if (llGetAgentSize(gkAgent)) // tests to ensure gkAgent is an Avatar not a non-Avatar physical object
                {
                     llSensorRepeat( "", NULL_KEY, AGENT, SENSOR_RANGE, SENSOR_ANGLE, (REZ_TIME) );
                }
        }
    }

    state derezzed // this state manages rezzing and derezzing
    {
        state_entry()
        {
            llVolumeDetect(TRUE); 
            llMessageLinked(LINK_THIS, DEREZ, "REZ2-API", NULL_KEY);
        }

        on_rez (integer start_param) {llResetScript();}
        
        changed(integer change)
        {
            if (change & CHANGED_REGION_START) 
            {
                llSleep(SLEEP_TIME*2.0);
                llResetScript();
            }
            if (change & CHANGED_OWNER | CHANGED_INVENTORY | CHANGED_SCALE | CHANGED_REGION | CHANGED_TELEPORT ) 
            {
                llSleep(SLEEP_TIME*2.0);
                llResetScript();
            }

        }
        
        collision_start( integer num_detected ) // Trigger rezzing if Avatar triggers
        { 
            gkAgent = llDetectedKey(0);
                if (llGetAgentSize(gkAgent)) // tests to ensure gkAgent is an Avatar not a non-Avatar physical object
                {
                    llMessageLinked(LINK_THIS, REZ, "REZ2-API", NULL_KEY);
                    state rezzed;
               }
        }
    }

    state visualize // this state manages helps user visualize coverage
    {
        state_entry()
        {
            gvPrimSize = llGetScale(); // gets prim scale
            float fMag = 2.0* SENSOR_RANGE;
            gvMagnitude = <fMag, fMag, fMag>; 
            llSetTimerEvent( gfTempTime ); 
            llSetLinkPrimitiveParamsFast
                ( LINK_SET, [
                PRIM_COLOR, ALL_SIDES, <1.0,0.0,0.0>, 1.0,
                PRIM_TEXTURE, ALL_SIDES, TEXTURE_BLANK, <1.0, 1.0, 0.0>, ZERO_VECTOR, 0.0,
                PRIM_FULLBRIGHT, ALL_SIDES, TRUE,
                PRIM_TYPE, PRIM_TYPE_SPHERE, PRIM_HOLE_DEFAULT, <0,1,0>, 0.0, ZERO_VECTOR, <0,1,0>,
                PRIM_SIZE, gvMagnitude
                ]);   
        }

        timer()
        {
            restore_prim();
        }
        
        link_message( integer source, integer num, string str, key id )
        { 
            if ( str == "REZ2-API")
            {
                // Change to appropriate state after recieving link message 
                // that advises of current state
                
                if (num == CURRENTLY_REZZED) {state rezzed;}
                
                if (num == CURRENTLY_NOT_REZZED) {state derezzed;}
            }
        }

    }
     

     

    The instructions used by a friend of mine are:

    Step 1: Get the free Rez2 gadget from Casper Warden's Marketplace or Shop.

    Step 2.  Put an invisiprim in the door way, or a door mat at the entrance.

    Note: the script will make the invisiprim to be "llVolumeDetect(TRUE)" which acts like phantom, and additionally detects when an avatar steps on the invisiprim.

    Step 3.  Copy the scripts from the Rez2 gadget to the Invisiprim (or door mat) that you put in the doorway.
    Note: you have to copy scripts from Rez2 to your inventory first, and then to your invisiprim, which are called: 
    1. "Rez2 Anchor"
    2. "Rez2 Setup"
                   
                   
    Step 4.  Follow the Rez2 Instructions 
                    https://wiki.casperdns.com/index.php/Rez2 , 
                    except IMPORTANT choose the option 
                    "Tracker Script Options,                 
                    "The crate contains a selection of four different tracker scripts:
                    "....
                    "* Rez2 Tracker (No Text/Particles/Touch) - Combines the two options above."


    **********************************


    WHAT I DID..
    I rezzed my own rug.. RENAME TO ANCHOR RUG FOR REZ
    I rezzed the Anchor from the CasperTech Rez2 box.. 
    i copied the two scripts from that anchor into my inventory and then put them into my rug

    -REZ MY RUG AND ALL FURNITURE I WISH TO USE WITH THE REZZER

    -ADD ANCHOR SCRIPTS TO RUG

    -PLACE * Rez2 Tracker (No Text/Particles/Touch) into the root prim of each piece of furniture
    (local chat: [09:22] Sex Barrel v6.0: Rez2 Tracker: Touch an anchor to pair me.
    [09:22] [Tia] Tree of knowledge fireplace: Rez2 Tracker: Touch an anchor to pair me.)

    -CLICK MY RUG (ANCHOR)  choose PAIR

    - right-click > "take a copy" of each linkset/piece into your inventory. (each piece of furniture)

    -On the anchor, right-click > go to edit menu "Contents" tab

    - Drag all the linksets/pieces (about a dozen at a time) into the anchor's contents/ FROM YOUR INVENTORY

    -"Take a copy" of the anchor. This is another backup in case of "Oops!"  MAKE CERTAIN ITS NAMED!

    -PICK UP ALL THE FURNITURE INTO YOUR INVENTORY

    -CLICK RUG (ANCHOR) Test to see if you can rezz and derez objects

    Step 6.  After completely configuring the Rezzer to your liking and testing it, then drop Erwin's script in to your Rez2 Invisiprim (or door mat) to automate the Rez2 behavior for you and your guests.  This is the script.
    􀀁

    Erwin's script will make your invisiprim into a bright red sphere for 10 seconds after each reset to show you the area covered by the sensor that keeps furniture rezzed.

    Step 7.  Reset the whole invisiprim, and then test everything with an Alt.  Rez2 will behave differently for everyone else except you.  So, you have to test it with an Alt to understand what other people experience.  

     

  3. The market solved the problem of 'running out of oil' pretty efficiently, though that was not a Tragedy of the Commons.
    The market is solving the electric car problem pretty well.
    I think the climate change problem is too complicated for a government micromanagement solution to work.  Instead, the government needs to create incentives and disincentives and let the market take care of the complexities. 

     

    • Like 1
  4. There are a lot of people in life that enjoy "cancelling" others for sport.  Data on your avatar is just part of a mosaic.  The fact that everything is hosted on AWS nowadays provides interesting pivot points that did not exist before. 

  5. Well, I don't really want to sell my Grandfathered 30k region, but these prices are crazy.  I'll let mine go for one million Linden Dollars even (L$ 1,000,000), and I'll pay the transfer fee.  Tier date and all that is in this graphic below; screen-captured off my owner page.  Send me a Notecard inworld.  I'll also respond to IMs if they don't overflow, but a Notecard is more reliable.  If you've never bought a region before, the Lindens handle everything including holding the money prior to the transfer.   Details:  https://community.secondlife.com/knowledgebase/english/managing-private-regions-r50/#Section_5 

     

     

    Treve and Minus Tier Date.PNG

  6. 1 hour ago, LittleMe Jewell said:

    Searching the MP, only to find one particular merchant has used the same huge batch of spam keywords on every one of their products so that it fills up multiple pages of my search results yet do not come anywhere near actually matching what I am searching for.

    You nailed it.  We need to be able to block stores in MP.  That's the way to crowd-source the cleanup of MP.  LL could include the number of blocks in the search algorithm to benefit others too.

    • Like 2
  7. 55 minutes ago, Rolig Loon said:

    If I were doing corporate planning for LL, I wouldn't recommend making it a high priority project.

    I suppose not.  Just because something is popular isn't a reason to keep it; that depends on whether any of the people involved spend any money in the game.  I guess LL knows, and hopefully decides wisely.  I guess storage is cheap these days;  I just don't see anything in the General Discussion Forum as being of archival value.  Seems like one could delete it all on a 30 day rolling basis with no loss.  Let the wayback machine people archive it; they do so anyway.  Okay; obviously I don't get it.  I'm out-a-here.  

  8. 4 hours ago, Rolig Loon said:

    I think the necro responses that annoy me most are the ones that point out some "error" -- often with derogatory language -- that was perfectly correct at the time of the original posting. 

    Well, Rolig, I've responded to some of your older posts over in the scripting forum.  For example, the simple menu system.  It was helpful to get a reply in-context.

    8 hours ago, Rolig Loon said:

    Aside for the pure annoyance of seeing someone raise a five-year-old thread from the grave just to say  "Me too!", the only real problem I see with necroposting is that it occasionally re-triggers a flame war over an issue that was settled ages ago.  Some disagreements are best left in the past, not resurrected.

    I certainly agree with that, but it pertains to the People Forum, mostly.  The scripting forum is different.  

    Auto-lock for the People forum would be a good-thing, in my opinion.  The scripting forum, not so much. 

  9. 27 minutes ago, Booyakashaka said:

    U-poser lets u lease for a weekly fee, that's only a couple hundred LS off top of my head so you can give it a go for little outlay, if you want to message me in SL I can show you anypose in action which may help give you a better idea of it? 

    Fair warning, I'm likely to pick your brains in blender/avastar I am having so many problems just getting started with it. 

     

    EDIT: for that particular problem doesn't AVsitter deal with that?

    I like AVsitter and was using it for furniture long before it was free.  For a vehicle, if I need complicated pose management, I prefer SimpleSit by CasperTech.  It is just one script; it only does singles-sits, but that's what I want in a vehicle. 

    In this particular vehicle, I want greater control of the camera for performance reasons, and so I'm just scripting it myself.  It is easy to rotate the sit-target, but when using the camera-follow function on a vehicle, it is best to have the avatar's "true" forward position align with the direction of travel, even when the avatar's "cosmetic" position is looking another way.  

    I have some simple animations that I made a long time ago, but can't find the BVH's on my system, and so I'm about to remake them.  I have them full-perms in-world, but because of the way I plan to do camera-following on a vehicle I'm making, I want to adjust the animations' so that the avatar's "true" forward position aligns with the direction-of-travel, though the avatar's "cosmetic" position is looking another way.  I've done this before by editing the ASCII BVH Files.  

  10. On 12/6/2019 at 6:05 PM, Booyakashaka said:

    Thanks Erwin, I have been working with anypose the last few days, I am finding some limitations (this is not a slight on what it is, for an inworld tool I think it is very good) but those limitations aside,

    I have some simple animations that I made a long time ago, but can't find the BVH's on system, and so I'm about to remake them.  I have them full perms inworld, but because of the way I like to do camera-following on a vehicle I'm making, I want to adjust the animations' rotation and height relative to their apparent rotation and height.  I've done this before by editing the ASCII BVH Files.  

    So, what's the best inworld tool now-a-days?   Anypose and U-Poser seems to be the most expensive, and the mannequin would be useful  I used Animare last time, and it worked fine, but Anypose and U-Poser seems better on paper.  

    I use Blender 2.81, and have a Avastar license, but I don't want to fall back to Blender 2.79; I am used to the new Blender now!

  11. On 11/10/2019 at 4:30 PM, Rollercoasterw said:

    Hey im looking for my deceased uncles artwork his name was David Lannom anybody know anything we lost everything we had of him if we could retrieve his art we'd be happy to get it in memory of him.

    If his last will and testament or the intestacy laws left the "residual" of his state to a person, have that person send evidence to LL and claim rights to his avatar, and get a password reset.

    http://wiki.secondlife.com/wiki/Linden_Lab_Official:Death_and_other_worries_outside_Second_Life

    LL policy implies that the heir must be explicitly named, but RL law is sovereign over LL policy, and your lawyer will not have difficulty tying the residual of the estate to a name.

    • Like 1
  12. 6 hours ago, OptimoMaximo said:

    Just read the commentary of such script, it's from a long term contributor of Blender scripts whose name I can't remember, but it's not from avastar team. Avastar has its own bvh exporter

    I have a nicely rigged bird in Blender 2.81 that I'd like to animesh.  I suppose that if I really knew what I was doing, I could rename the bones and make it animesh now, but I'm waiting on Avastar 2.81 to pop out of the oven before I do it.  

×
×
  • Create New...