// Bromley College // Linden Script Exhibition // Code for poster 38 list SCAN = []; // define an empty list integer ItemNumber; // reference number of selected item integer ItemTotal; // total number of items string Item; // the selected item default { state_entry() { llSetTimerEvent( 0 ); //disable timer } touch_start(integer total_number) // wait for touch and scan for agents { llSensor("", NULL_KEY, AGENT, 96, PI); } sensor(integer total_number) // write scan results into a list one by one { integer i; for (i = 0; i < total_number; i++) { SCAN = SCAN + [llDetectedName(i)]; } llSay(0, "Scanning complete " + (string)i + " avatar(s) detected and stored in list. Touch poster again to view list. "); if(i==total_number) // if scan complete { state playback; } } } state playback { touch_start(integer total_number) // on touch display list contents one by one with a half second delay between each item { ItemTotal = llGetListLength(SCAN); llSetTimerEvent( 0.5 ); } timer () { Item = llList2String(SCAN, ItemNumber); // Get Item from list llSay(0, "List Item " + (string)ItemNumber + ": " + (string)Item); // Output Item ItemNumber++; // Point to next Item in list if (ItemNumber == ItemTotal) // if all items displayed reset { ItemNumber = 0; llResetScript(); } } } // End of code;