ZenMondo's Auto-Note Giver

From ZenMondo Wormser, 1 Year ago, written in Linden Scripting, viewed 470 times.
URL http://flynnos.org/flynnbin/view/1462b142 Embed
Download Paste or View Raw
  1. /////////////////////
  2. // ZenMondo's Auto-Note Giver
  3. //
  4. // Gives all the notecards in
  5. // the object's inventory to agents in
  6. // in sesnor range.
  7. //
  8. // Based on a Free Visitor List maker
  9. // by Aaron Linden.
  10. //
  11. ///////////////////////
  12.  
  13. // Global variables
  14. list visitor_list;
  15. float range = 10.0; // in meters
  16. float rate = 1.0; // in seconds
  17.  
  18.  
  19. // Functions
  20. integer isNameOnList( string name )
  21. {
  22.     integer len = llGetListLength( visitor_list );
  23.     integer i;
  24.     for( i = 0; i < len; i++ )
  25.     {
  26.         if( llList2String(visitor_list, i) == name )
  27.         {
  28.             return TRUE;
  29.         }
  30.     }
  31.     return FALSE;
  32. }
  33.  
  34.  
  35. {
  36.     state_entry()
  37.     {
  38.         llSensorRepeat( "", "", AGENT, range, TWO_PI, rate );
  39.         llSetTimerEvent(86400);  //24 hours
  40.        
  41.     }
  42.  
  43.    
  44.     sensor( integer number_detected )
  45.     {
  46.         integer i;
  47.         for( i = 0; i < number_detected; i++ )
  48.         {
  49.             if( llDetectedKey( i ) != llGetOwner() )
  50.             {
  51.                 string detected_name = llDetectedName( i );
  52.                 if( isNameOnList( detected_name ) == FALSE )
  53.                 {
  54.                     visitor_list += detected_name;
  55.                    
  56.                     integer num_notes = llGetInventoryNumber(INVENTORY_NOTECARD);
  57.                     integer j;
  58.                     for( j = 0; j < num_notes ; j++ )
  59.                     {
  60.                         llGiveInventory( llDetectedKey(i), llGetInventoryName(INVENTORY_NOTECARD, j));  
  61.                     }
  62.                    
  63.                    
  64.                 }
  65.             }
  66.         }    
  67.     }
  68.    
  69.     timer()
  70.     {
  71.         visitor_list = llDeleteSubList(visitor_list, 0, llGetListLength(visitor_list));  
  72.     }
  73. }
  74.  

Reply to "ZenMondo's Auto-Note Giver"

Here you can reply to the paste above

captcha