key gKyStatusQuery; list gLstRegionNames = []; integer gIntRegionNameIndex; integer gIntLstLenRegionName; integer gIntNumNotecardLines; string gStrNotecardName; default { on_rez(integer Setting) { llResetScript(); } state_entry() { gStrNotecardName = "sims"; gIntNumNotecardLines = osGetNumberOfNotecardLines(gStrNotecardName); integer i; for(i = 0; i < gIntNumNotecardLines; ++i) { gLstRegionNames = gLstRegionNames +llStringTrim(osGetNotecardLine(gStrNotecardName, i), STRING_TRIM); } gIntRegionNameIndex=0; llInstantMessage(llGetOwner(),"Sim Status Reporter RESET ****"); gIntLstLenRegionName = llGetListLength(gLstRegionNames); llSetText("",<1,1,1>,1.0); } touch_start(integer p) { llSetTimerEvent(2); } timer() { gKyStatusQuery = llRequestSimulatorData( llList2String(gLstRegionNames,gIntRegionNameIndex), DATA_SIM_STATUS ); } dataserver(key query_id, string data) { if (query_id == gKyStatusQuery) { if (gIntRegionNameIndex==-1) { } else if (data == "up") { llInstantMessage(llGetOwner(), llList2String(gLstRegionNames,gIntRegionNameIndex) + " is up and running fine."); } else if (data != "up") { llInstantMessage(llGetOwner(), llList2String(gLstRegionNames,gIntRegionNameIndex) + " is " + data); } data = ""; if (gIntRegionNameIndex == gIntLstLenRegionName-1) { gIntRegionNameIndex = -1; llSetTimerEvent(0); } else { gIntRegionNameIndex++; } } } }