User:Daemonika Nightfire/Scripts/Animation Sit
< User:Daemonika Nightfire
Jump to navigation
Jump to search
Revision as of 15:25, 16 December 2010 by Daemonika Nightfire (talk | contribs) (→*DS* ~ Animation Sit with Show/Hide for Balls)
*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>