// 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;