Difference between revisions of "Talk:LlRotTarget"

From Second Life Wiki
Jump to navigation Jump to search
Line 3: Line 3:
Not much to look at anywhere regarding llRotTarget, llRemoveRotTarget, not_at_rot_target, and at_rot_target. So here's a *working* little example script I cobbled together showing the four in action, whoever wants to add this to the examples page, feel free.
Not much to look at anywhere regarding llRotTarget, llRemoveRotTarget, not_at_rot_target, and at_rot_target. So here's a *working* little example script I cobbled together showing the four in action, whoever wants to add this to the examples page, feel free.


<math>
<nowiki>
//--------------------
 


vector standrot = <0.0, 0.0, 0.0>;
vector standrot = <0.0, 0.0, 0.0>;
Line 127: Line 125:
}
}


</math>
</nowiki>

Revision as of 06:32, 22 February 2007

Not exactly sure how to submit an example (I've not edited a wiki before), so I will just put this in the discussion page.

Not much to look at anywhere regarding llRotTarget, llRemoveRotTarget, not_at_rot_target, and at_rot_target. So here's a *working* little example script I cobbled together showing the four in action, whoever wants to add this to the examples page, feel free.

vector standrot = <0.0, 0.0, 0.0>; vector fliprot = <45.0, 0.0, 0.0>; // simple two-state rot target detection and rotation by Hypatia Callisto // works, to detect a rotation target. An example I wrote // since there is almost zilch for clean examples for // at_rot_target, not_at_rot_target, llRotTarget, llRotTargetRemove integer rottarget; default { state_entry(){ rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1); llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(standrot*DEG_TO_RAD)]); // rotate to standrot } not_at_rot_target() { llRotTargetRemove( rottarget ); llOwnerSay("not there"); } touch_start (integer total_number) { state rotatestate; // change to state for new position } } state rotatestate { state_entry(){ rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1); llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(fliprot*DEG_TO_RAD)]); // rotate to new point } at_rot_target(integer tnum, rotation targetrot, rotation ourrot) { llRotTargetRemove( rottarget ); llOwnerSay("there"); //reached the target } touch_start(integer touched) { state default; } } vector standrot = <0.0, 0.0, 0.0>; vector fliprot = <45.0, 0.0, 0.0>; // simple two-state rot target detection and rotation by Hypatia Callisto // works, to detect a rotation target. An example I wrote // since there is almost zilch for clean examples for // at_rot_target, not_at_rot_target, llRotTarget, llRotTargetRemove integer rottarget; default { state_entry(){ rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1); llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(standrot*DEG_TO_RAD)]); // rotate to starting point } not_at_rot_target() { llRotTargetRemove( rottarget ); llOwnerSay("not there"); //not at target } touch_start (integer total_number) { state rotatestate; // change to state for new position } } state rotatestate { state_entry(){ rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1); llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(fliprot*DEG_TO_RAD)]); // rotate to new point } at_rot_target(integer tnum, rotation targetrot, rotation ourrot) { llRotTargetRemove( rottarget ); llOwnerSay("there"); //reached the target } touch_start(integer touched) { state default; } }