spacer.png, 0 kB
MULTI ANIMATION POSEBALL E-mail
MultiPose.jpg

this is a great multi poseball,

Just drop in the animations and you are ready to go .

you can set the debug TRUE to let you know witch animation is playing,

handy if you want to deleate a animation that will not fit the object sitting on.

chainge the pose by pressing shift+arrow key (left or right) 

 


// Created by Seagle Neville
//debug added F.B
integer debug = TRUE; //tels the av sitting the current animation make FALSE to Diable
vector sit_pos = <0.28, 0, -0.25>;
vector sit_rot = <-5, 12, 190>;

string DISPLAY_TEXT = "DANCE \n \n";
string ANIMATION;
integer is_sitting = FALSE;
integer anim_num;
integer fire_anim_num;

list SIT_ANIMATIONS = [];

RANDOM_SELECT_ANIMATION()
{
    anim_num = llGetInventoryNumber(INVENTORY_ANIMATION) - 1;  // Count from 0
    fire_anim_num = llRound(llFrand(anim_num));
}

SIT_ANIMATION()
{
    ANIMATION = llGetInventoryName(INVENTORY_ANIMATION, fire_anim_num);
}

default
{
    state_entry()
    {
        is_sitting = 0;
        llSitTarget(sit_pos, llEuler2Rot(sit_rot*DEG_TO_RAD));
      
    }
    on_rez(integer start_param)
    {
        llResetScript();
    }
    changed(integer change)
    { 
    if(change & CHANGED_INVENTORY)llResetScript();
        if(change & CHANGED_LINK)
        {
            key av = llAvatarOnSitTarget();
            RANDOM_SELECT_ANIMATION();
            if(av != NULL_KEY)
            {
                llRequestPermissions(av, (PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS));
                llInstantMessage (av,"Use SHIFT + ARROW key to chainge pose.");
                llSetAlpha(0.0,ALL_SIDES);
                 llSetText(DISPLAY_TEXT,<1,1,1>,0);
            }
            else
            {
                llSetAlpha(0.65,ALL_SIDES);
                if((llGetPermissions() & (PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS)) && is_sitting)
                {
                    is_sitting = 0;
                    llStopAnimation(ANIMATION);
                    llSetText(DISPLAY_TEXT,<1,1,1>,1);
                    llReleaseControls();
                }
            }
        }
        SIT_ANIMATION();
    }
    run_time_permissions(integer perm)
    {
        if(perm & (PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS))
        {
            llTakeControls(CONTROL_RIGHT | CONTROL_LEFT, TRUE, FALSE);
            is_sitting = TRUE;
            llStopAnimation("sit_generic");
            llStopAnimation("sit");
            llStartAnimation(ANIMATION);
          
        }
    }
    control(key id, integer level, integer edge)
    {

        if(level & CONTROL_RIGHT)
        {
            llSleep(0.1);
            fire_anim_num = fire_anim_num + 1;
            if(fire_anim_num > anim_num)
            {
                fire_anim_num = 0;
            }
            llStopAnimation(ANIMATION);
            ANIMATION = llGetInventoryName(INVENTORY_ANIMATION, fire_anim_num);
             if(debug == TRUE)llInstantMessage(id,ANIMATION);
            llStartAnimation(ANIMATION);
        }
        if(level & CONTROL_LEFT)
        {
            llSleep(0.1);
            fire_anim_num = fire_anim_num - 1;
            if(fire_anim_num < 0)
            {
                fire_anim_num = anim_num;
            }
            llStopAnimation(ANIMATION);
            ANIMATION = llGetInventoryName(INVENTORY_ANIMATION, fire_anim_num);
            if(debug == TRUE)llInstantMessage(id,ANIMATION);
            llStartAnimation(ANIMATION);
        }
    }
}

 


 

 
Comments
Add comments: MULTI ANIMATION POSEBALL

Enter your comment below:

(required)

(required)

Your email will not be displayed on the site; only to our administrator.





 

free lindens
 
spacer.png, 0 kB
   
free joomla templates Joomla tutorials joomla themes