Collision start

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Event: collision_start( integer num_detected ){ ; }

Triggered when task starts colliding with another task

• integer num_detected

Caveats

  • Will not detect collisions with ground. Use land_collision_start instead.
  • Phantom objects can never receive trigger collision events.
  • llVolumeDetect(TRUE) objects get trigger collision_start and collision_end but not collision() events.
  • A collision with a hovering avatar does not trigger collisions, unless the avatar turns or moves.
  • Only a physical object will get collision events from colliding with a non-physical object.
All Issues ~ Search JIRA for related Bugs

Examples

default
{
    collision_start(integer num)
    {
        llSay(0,"No pushing.");
    }
}
list DetectedAvatars = [];
default
{
    state_entry()
    {
        llVolumeDetect(TRUE); // Enable detection of people colliding with object....
    }
    collision_start(integer detected)
    {
        integer index = llListFindList(DetectedAvatars, [llDetectedKey(0)]);
        if (index == -1)
        {
            llInstantMessage(llDetectedKey(0), " Welcome to the Community");
        DetectedAvatars = llListInsertList(DetectedAvatars, [llDetectedKey(0)], -1);
        if (llGetListLength(DetectedAvatars) == 2)
        {
        
            DetectedAvatars = llDeleteSubList(DetectedAvatars, 1, 2);
        }
    }
}
}

See Also

Deep Notes

Issues

All Issues

~ Search JIRA for related Issues
   Add enumeration to llPassCollisions() to provide PASS_ALWAYS, PASS_IF_NOT_HANDLED, and PASS_NEVER as explicit options.
(Was: Collisions passed to parent REGARDLESS llPassCollisions(FALSE) in child)

Signature

event void collision_start( integer num_detected );