Talk:Collision message sender
Jump to navigation
Jump to search
Probably better should be :
<lsl>
string message = " Merry Christmas "; // put your message here. list users; string user; float TIME=600.0; default {
collision_start(integer num_detected) // check for an avatar colliding with the prim. { integer i; do { user = llDetectedName(i); if ( llDetectedType(i) & AGENT ) { if (llListFindList(users,[user]) == -1)// look at the list, if the name is not there, { llSay(0, message + user); // send the message to the detected avatar. users += user; // add the users name to a list so they only get the message once. llSetTimerEvent(TIME); // change the number for the number of seconds before clearing the list. } } llCollisionFilter(user, "", FALSE); } while ( ++i < num_detected ); } timer() { llSetTimerEvent(0.0); // turn the timer off users = []; // clear the list llCollisionFilter("", NULL_KEY, TRUE); }
} </lsl>
because :
- when you want avoid collisions , you should use llCollisionFilter
- a collision can be an agent , but it can be too an object
- multiple collisions can happen in the same 1/22th second (same event )
Miranda Umino 13:00, 20 March 2014 (PDT)