llGetLocalRot

From Second Life Wiki
Revision as of 19:49, 6 November 2007 by Void Singer (talk | contribs) (corrected/added also: Get*Rot(ation) GetPrimitiveParams Set*Rot Set*PrimitiveParams)
Jump to navigation Jump to search

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
Void Singer 18:49, 6 November 2007 (PST)

Notes

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

Deep Notes

Search JIRA for related Issues

Signature

function rotation llGetLocalRot();