Jump to content

Poseball.. simple yes?..


Tristesse Absinthe
 Share

You are about to reply to a thread that has been inactive for 439 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I am struggling to find something that I thought would be easy to find since I see it used everywhere and I keep dumping my linden into stuff that's not what I am looking for. I just need a poseball (or script to make one) for ONE animation that will pop up a menu for the user to adjust their avatar. Like poseballs used for photography.

Link to comment
Share on other sites

If you want to try making it yourself, once the avatar has sat on the sit target, get their position using llGetLinkPrimitiveParams(2, [PRIM_POS_LOCAL, PRIM_ROT_LOCAL]) and then alter the position or rotation , then apply the changes using llSetLinkPrimitiveParamsFast(2, [PRIM_POS_LOCAL, new value, PRIM_ROT_LOCAL, new_value]); People here will be glad to give you help if you get stuck with it. Look through the LSL Portal for help on llAvatarOnSitTarget, and the two other functions I referred to.

If you just want somebody else to do it for you then there is an inworld employment sub-forum.

  • Like 1
Link to comment
Share on other sites

Certainly could be done with AVsitter; is that what's "used for photography"? I have no idea. Mostly I'm just posting to be sure it's clear that most AVsitter scripts are free and open source, and in fact can just be copied out of your favorite AVsitter-based furniture item. The real paid-for version on Marketplace tells you how to get the free code. (Unfortunately I have to say "real" because some scammer is selling the stuff. I hate Marketplace so much.)

There are many simple free open source poseball scripts in the wild, but the "adjust their avatar" part does sound more like AVsitter or some other multi-pose system.

  • Like 1
Link to comment
Share on other sites

IMO the beauty of a poseball is that it is easy to edit and move around while you're sitting on it instead of using a menu for adjustments.

As others mentioned there are a lot of poseball scripts already out there, here's one I happened to dig out of my inventory I used for a test of an animation system that I never really finished. The idea was the controller would use llGiveInventory() to give the animations to the poseball, and the poseball would delete any old animation it had. I commented out a few lines to make it more generally useable:

// config vars:
vector gText_color = <1,1,1>;
//string gControllerName = "Poseball Controller";

// script managed vars:
string gText;
string gAnim;
integer gNewSit = TRUE; // whether the sitter just sat down or was already sitting. 
//integer gHandleListen;
default
{
    state_entry()
    {   llSitTarget(<0,0,0.15>,ZERO_ROTATION);
        llSetClickAction(CLICK_ACTION_SIT);
        gAnim = llGetInventoryName(INVENTORY_ANIMATION,0);
    }
    on_rez(integer i)
    {   //llListen(i,"",llList2Key(llGetObjectDetails(llGetKey(),[OBJECT_REZZER_KEY]),0),"");
        
        gText= llGetObjectName();
        llSetAlpha(1.0,ALL_SIDES);
        llSetText(gText,gText_color,1.0);
    }
    /*listen(integer Channel, string Name, key ID, string Text)
    {   // expected format: "<position>;<rotation>"
        llSetRegionPos((vector)Text);
        Text = llDeleteSubString(Text,0,llSubStringIndex(Text,";"));
        llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_ROTATION,(rotation)Text]);
    }*/
    touch_start(integer total_number)
    {   integer alpha = !(integer)llGetAlpha(0);
        llSetAlpha(alpha,ALL_SIDES);
        llSetText(gText,gText_color,alpha);
    }
    changed(integer c)
    {   if(c&CHANGED_LINK)
        {   if(llGetNumberOfPrims()==1)
            {   gNewSit = TRUE;
            }else
            {   llRequestPermissions(llGetLinkKey(llGetNumberOfPrims()),PERMISSION_TRIGGER_ANIMATION);
            }
        }
        if(c&CHANGED_INVENTORY)
        {   if(llGetNumberOfPrims()==2)
            {   llRequestPermissions(llGetLinkKey(2),PERMISSION_TRIGGER_ANIMATION);
            }else if(gAnim)
            {   //llRemoveInventory(gAnim);
                //gAnim = llGetInventoryName(INVENTORY_ANIMATION,0);
            }
        }
    }
    run_time_permissions(integer perms)
    {   if(perms&PERMISSION_TRIGGER_ANIMATION)
        {   if(gNewSit)
            {   llStopAnimation("sit");
                gNewSit=FALSE;
            }else
            {   llStopAnimation(gAnim);
                //llRemoveInventory(gAnim);
            }
            gAnim = llGetInventoryName(INVENTORY_ANIMATION,0);
            llStartAnimation(gAnim);
        }
    }
}

 

  • Thanks 2
Link to comment
Share on other sites

Thanks everyone for all the replies! I dunno why I said "like for photography" because it IS for photography.. lol - This is for a studio with backdrops & poses, in a way like Sunny's and other places.

So, what I am seeing the AVsitter does seem like my best option.

I had found a script that does have a pop-up menu BUT it only comes up if you click the poseball but of course the poseball needs to poof when sat on for the picture. So, need the menu to come up soon as they sit so they can move their avatar in the right spot for the photo, especially for photos that have multiple avatars together.

I know I can just use the free pose script but I want my visitors to have the ability to get a great photo.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 439 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...