User:Daemonika Nightfire/Scripts/Animation Sit: Difference between revisions
Jump to navigation
Jump to search
Created page with "==*DS* ~ Animation Sit with Show/Hide for Balls== To set the Position & Rotation of the Avatar, edit the following Line in each Script. <lsl> llSitTarget(<-0.1,0.1,-0.43>,llEuler…" |
|||
| Line 2: | Line 2: | ||
To set the Position & Rotation of the Avatar, edit the following Line in each Script. | To set the Position & Rotation of the Avatar, edit the following Line in each Script. | ||
<lsl> | <lsl> | ||
llSitTarget(< | llSitTarget("Position in meters" <x,y,z>,llEuler2Rot("Rotation in degrees" <x,y,z>*DEG_TO_RAD)); | ||
</lsl> | </lsl> | ||
'''<font color="red">This Script must be placed together with a Pose / Animation in the Object.</font>''' | '''<font color="red">This Script must be placed together with a Pose / Animation in the Object.</font>''' | ||
Revision as of 14:25, 16 December 2010
*DS* ~ Animation Sit with Show/Hide for Balls
To set the Position & Rotation of the Avatar, edit the following Line in each Script. <lsl> llSitTarget("Position in meters" <x,y,z>,llEuler2Rot("Rotation in degrees" <x,y,z>*DEG_TO_RAD)); </lsl> This Script must be placed together with a Pose / Animation in the Object.
Sctipt Time ~0.002 ms
<lsl> string anim; integer sitting; show() {
llSetPrimitiveParams([PRIM_TEXT,"SIT HERE",<0.9,0.6,0.2>,1.0, PRIM_COLOR, ALL_SIDES,<1,1,1>,1.0]);
} hide() {
llSetPrimitiveParams([PRIM_TEXT,"",ZERO_VECTOR,0.0, PRIM_COLOR, ALL_SIDES,ZERO_VECTOR,0.0]);
} default {
state_entry()
{
show();
sitting = 0;
anim = llGetInventoryName(INVENTORY_ANIMATION, 0);
llSitTarget(<-0.1,0.1,-0.43>,llEuler2Rot(<00,-90,-90>*DEG_TO_RAD));
}
run_time_permissions(integer perm)
{
if(perm & PERMISSION_TRIGGER_ANIMATION)
{
sitting = 1;
llStopAnimation("sit_generic");
llStopAnimation("sit");
llStartAnimation(anim);
hide();
}
}
changed(integer change)
{
if(change & CHANGED_LINK)
{
key avatar = llAvatarOnSitTarget();
if(llKey2Name(avatar) != "")
{
llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION);
}
else
{
show();
if((llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) && sitting && llKey2Name(avatar) != "")
{
llStopAnimation(anim);
}
sitting = 0;
}
}
if(change & CHANGED_OWNER + CHANGED_REGION_START + CHANGED_INVENTORY)
{
llResetScript();
}
}
on_rez(integer start_param)
{
llResetScript();
}
} </lsl>
*DS* ~ Animation Sit without Show/Hide for Furniture
This Script must be placed together with a Pose / Animation in the Object.
Sctipt Time ~0.002 ms
<lsl> string anim; integer sitting; default {
state_entry()
{
sitting = 0;
anim = llGetInventoryName(INVENTORY_ANIMATION, 0);
llSitTarget(<-0.1,0.1,-0.43>,llEuler2Rot(<00,-90,-90>*DEG_TO_RAD));
}
run_time_permissions(integer perm)
{
if(perm & PERMISSION_TRIGGER_ANIMATION)
{
sitting = 1;
llStopAnimation("sit_generic");
llStopAnimation("sit");
llStartAnimation(anim);
}
}
changed(integer change)
{
if(change & CHANGED_LINK)
{
key avatar = llAvatarOnSitTarget();
if(llKey2Name(avatar) != "")
{
llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION);
}
else
{
if((llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) && sitting && llKey2Name(avatar) != "")
{
llStopAnimation(anim);
}
sitting = 0;
}
}
if(change & CHANGED_OWNER + CHANGED_REGION_START + CHANGED_INVENTORY)
{
llResetScript();
}
}
on_rez(integer start_param)
{
llResetScript();
}
} </lsl>