Difference between revisions of "LlGetLocalRot"

From Second Life Wiki
Jump to navigation Jump to search
m (Added Example, Note, also: llGetRot)
Line 9: Line 9:
|caveats
|caveats
|constants
|constants
|examples
|examples=
<pre> //--// v7-D Feebie Type 1 Door Script //--//
//--// Works At ANY Angle            //--//
 
//-- works in ANY single prim door, linked or un-linked
//-- works in muti prim doors NOT linked to a larger structure
//-- REQUIREMENTS: a cut root prim, suggest cube, pathcut start=.125, end=.625
//-- CAVEAT: single prim doors are limited to 5m width
 
//--// USERS MODIFY HERE v
integer vgIntDoorSwing = 90;
//-- use -# to reverse the direction of swing, eg. -90;
 
 
rotation vgRotDoorSwing;
 
default
{
  state_entry()
  {
    vgRotDoorSwing = llEuler2Rot( <.0, .0, (float)vgIntDoorSwing * DEG_TO_RAD> );
  }
 
  touch_start( integer vIntTouches )
  {
    //- small hack to reverse direction of swing on each
    //- touch & avoid lsl funkiness regarding rotation division
    vgRotDoorSwing.s *= -1;
 
    llSetLocalRot( vgRotDoorSwing * llGetLocalRot() );
  }
}
 
//-- IF Redistributing as-is:
//-- Please leave script full permissions & include all comments, so others can learn</pre>
|helpers
|helpers
|also_functions
|also_functions=
*  [[llGetRot]]
|also_events
|also_events
|also_tests
|also_tests
|also_articles
|also_articles
|notes
|notes=Returns the region relative rotation of the object if called from the root
|permission
|permission
|negative_index
|negative_index

Revision as of 18:30, 6 November 2007

Summary

Function: rotation llGetLocalRot( );
0.0 Forced Delay
10.0 Energy

Returns a rotation local to the root (if the script isn't physical)

Examples

 //--// v7-D Feebie Type 1 Door Script //--//
 //--// Works At ANY Angle             //--//

//-- works in ANY single prim door, linked or un-linked
//-- works in muti prim doors NOT linked to a larger structure
//-- REQUIREMENTS: a cut root prim, suggest cube, pathcut start=.125, end=.625
//-- CAVEAT: single prim doors are limited to 5m width

 //--// USERS MODIFY HERE v
integer vgIntDoorSwing = 90;
//-- use -# to reverse the direction of swing, eg. -90;


rotation vgRotDoorSwing;

default
{
  state_entry()
  {
    vgRotDoorSwing = llEuler2Rot( <.0, .0, (float)vgIntDoorSwing * DEG_TO_RAD> );
  }

  touch_start( integer vIntTouches )
  {
     //- small hack to reverse direction of swing on each
     //- touch & avoid lsl funkiness regarding rotation division
    vgRotDoorSwing.s *= -1;

    llSetLocalRot( vgRotDoorSwing * llGetLocalRot() );
  }
}

//-- IF Redistributing as-is:
//-- Please leave script full permissions & include all comments, so others can learn

Notes

Returns the region relative rotation of the object if called from the root

See Also

Functions

Deep Notes

Signature

function rotation llGetLocalRot();