Difference between revisions of "LlCollisionFilter"

From Second Life Wiki
Jump to navigation Jump to search
m
(fix for the description of the function , and precision ( it filters object name , not prim name ))
Line 5: Line 5:
|sort=CollisionFilter
|sort=CollisionFilter
|func=llCollisionFilter
|func=llCollisionFilter
|p1_type=string|p1_name=name|p1_desc=filter for specific prim name or avatar {{LSLGC|Avatar/Name|legacy name}}|p1_hover=filter for specific prim name or avatar legacy name
|p1_type=string|p1_name=name|p1_desc=filter for specific object name or avatar {{LSLGC|Avatar/Name|legacy name}}|p1_hover=filter for specific object name or avatar legacy name
|p2_type=key|p2_name=id
|p2_type=key|p2_name=id
|p3_type=integer|p3_name=accept
|p3_type=integer|p3_name=accept
Line 20: Line 20:
<lsl>llCollisionFilter("", NULL_KEY, FALSE);</lsl>
<lsl>llCollisionFilter("", NULL_KEY, FALSE);</lsl>
This script, placed in a wearable object, detects a collision when the person wearing it collides with an object named "Post":
This script, placed in a wearable object, detects a collision when the person wearing it collides with an object named "Post":
1st instance :
an object named "Post" has several child prims named "Object" .
The prim named "Post" hits the scripted object , the collision will be detected
2nd instance :
an object named "Post" has several child prims named "Object" .
A child prim named "Object" hits the scripted object , the collision will be detected
3rd instance :
an object named "Object" has several child prims named "Post" .
A prim named "Post" hits the scripted object , the collision will not be detected
<lsl>default
<lsl>default
{
{

Revision as of 14:16, 24 May 2013

Summary

Function: llCollisionFilter( string name, key id, integer accept );

Sets the collision filter, exclusively or inclusively.

• string name filter for specific object name or avatar legacy name
• key id filter by group, avatar or object UUID
• integer accept TRUE only process collisions that match, FALSE instead excludes matches

if accept == TRUE, only accept collisions with objects name AND id (either is optional), otherwise with objects not name AND id

Examples

Stop filtering: <lsl>llCollisionFilter("", NULL_KEY, TRUE);</lsl> Filter out all collisions: <lsl>llCollisionFilter("", NULL_KEY, FALSE);</lsl> This script, placed in a wearable object, detects a collision when the person wearing it collides with an object named "Post": 1st instance : an object named "Post" has several child prims named "Object" . The prim named "Post" hits the scripted object , the collision will be detected 2nd instance : an object named "Post" has several child prims named "Object" . A child prim named "Object" hits the scripted object , the collision will be detected 3rd instance : an object named "Object" has several child prims named "Post" . A prim named "Post" hits the scripted object , the collision will not be detected

<lsl>default {

   state_entry()
   {
       llCollisionFilter("Post","",TRUE);
   }
   collision_start(integer total_number)
   {
       llSay(0, "OUCH!");
   }
}</lsl>

See Also

Events

•  collision_start
•  collision
•  collision_end

Functions

•  llPassCollisions
•  llVolumeDetect

Deep Notes

Search JIRA for related Issues

Signature

function void llCollisionFilter( string name, key id, integer accept );