Here's the script. It was designed to give me a list of usernames indexed identicaly to a list of keys, and then tell me the usernames. //MINE-------------------------------------------------------- list Lagents; list usernames=[]; string Sids; key currentKey; integer ListLength;//number of total characters in list(not list items) integer NumKeys; integer counter; integer stringconverter1; integer stringconverter2; //MINE-------------------------------------------------------- default { state_entry() { //MINE-------------------------------------------------------- Lagents=llGetAgentList(AGENT_LIST_REGION,[]); Sids=llDumpList2String(Lagents,""); ListLength=llGetListLength(Lagents)*37; NumKeys=llGetListLength(Lagents); counter=1; while(counter<NumKeys) { currentKey=llGetSubString(Sids,0+stringconverter1,36+stringconverter2); usernames+=[llGetUsername(currentKey)]; stringconverter1+=37; stringconverter2+=37; counter++; } //MINE-------------------------------------------------------- } touch_start(integer total_number) { string saytoowner = llDumpList2String(usernames," "); llOwnerSay(saytoowner); } }