event
Event syntax
moving_end() { … }Triggered whenever the physical or moving object containing the script stops moving.
Triggered when task stops moving
moving_end(){
}Caveats
Section titled “Caveats”- The
moving_startandmoving_endevents require special handling when scripting attachments. - After adding or editing a script you must take off the attachment and then wear the attachment again.
- This event’s behavior is undefined for non-physical movement (
llSetPos, movement via build tool, etc.) although these movements will often trigger it. - This event is triggered when an object finishes its keyframed motion, or when motion ceases via
KFM_CMD_PAUSEorKFM_CMD_STOP. - This event is also triggered when an object is rezzed (unless, presumably, you happen to rez it in precisely the same spot it was before.)
Examples
Section titled “Examples”Example 1
43 collapsed lines
//Physical Prim Movement Script//By Nika Rugani//With spam work around
vector pos;float move_time = 5; //Move every 5 secondsfloat increment = 5;
float power = 0.5; //The TAU
integer trigger_multiple = FALSE; // This bad boy will prevent spam of moving start eventinteger trigger_slave = 1;
setPhysical(integer status_physics){ llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHYSICS, status_physics]);}
default{ touch_start(integer num_detected) { if(llGetStatus(STATUS_PHYSICS) == FALSE) { pos = llGetPos(); //Set the objects default position setPhysical(TRUE); llSetTimerEvent(move_time); } else { setPhysical(FALSE); llSetPos(pos); } } moving_start() { if(trigger_slave == 0) { llOwnerSay("YEY!! I'm Moving!"); if(trigger_multiple == FALSE) { trigger_slave = 1; } } } moving_end() { llSetTimerEvent(move_time); } timer() {12 collapsed lines
llSetTimerEvent(0); if(llVecDist(pos, llGetPos()) > (increment-2)) { llMoveToTarget(pos, power); } else { llMoveToTarget(pos+<0.0,0.0,increment>, power); } trigger_slave = 0; }}Known issues
Section titled “Known issues”From the issue templates included by the wiki article:
- SVC-1004 (bug): Behavior of moving_start() and moving_end() is inconsistent.
See also
Section titled “See also”Functions
Section titled “Functions”Events
Section titled “Events”Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.