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 19:30, 6 November 2007

Summary

Function: rotation llGetLocalRot( );

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

Search JIRA for related Issues

Signature

function rotation llGetLocalRot();