/*Awareness script by Aaack Aardvark, Arcadia 2023. Do whatever you want with this lil script, add more data, remove data, but keep it civil with capitalization and proper punctuation or I'll die and then my ghost will haunt you at night. Extra credit: Big thanks to Neo Cortex for the mod that allows this script to work in certain places. Extra credit II: Big thanks to Okie Heartsong to replace the llKey2Name for /app/agent to show the owner of the parcel even if the owner is offline */ default { touch_start(integer index) { string x; string y; string size; string npcsentence; key owner = llList2Key(llGetParcelDetails(llGetPos(), [PARCEL_DETAILS_OWNER]), 0); key group = llList2Key(llGetParcelDetails(llGetPos(), [PARCEL_DETAILS_GROUP]), 0); // Originally string owner = llKey2Name(llList2Key(llGetParcelDetails(llGetPos(), PARCEL_DETAILS_OWNER), 0)); This may give an error in x-engine. llOwnerSay("You're at " + osGetGridName() + ", also known as: " + osGetGridNick() + "."); if (owner == group) { llOwnerSay("This parcel's name is " + llList2String(llGetParcelDetails(llGetPos(), [PARCEL_DETAILS_NAME]), 0) + ", its owner is the group " + "secondlife:///app/group/" + (string)group + "/about" + "."); } else { llOwnerSay("This parcel's name is " + llList2String(llGetParcelDetails(llGetPos(), [PARCEL_DETAILS_NAME]), 0) + ", its owner is " + "secondlife:///app/agent/" + (string)owner + "/about."); } llOwnerSay("The physics engine here is " + osGetPhysicsEngineType() + ", the script engine is " + osGetScriptEngineName() + "."); integer where = osStringIndexOf((string)osGetRegionSize(), ".", 1); if (where >= 5) { x = osStringSubString((string)osGetRegionSize(), 1, 4); y = osStringSubString((string)osGetRegionSize(), 14, 4); } else { x = osStringSubString((string)osGetRegionSize(), 1, 3); y = osStringSubString((string)osGetRegionSize(), 13, 3); } if ((integer)x > 256) { size = x + " x " + y + ", (VAR)"; } else { size = x + " x " + y + ", (regular sim)"; } llOwnerSay("The sim version is " + osGetSimulatorVersion() + ", the size of this sim is " + size + "."); string who = (string)llGetListLength(llGetAgentList(AGENT_LIST_REGION | AGENT_LIST_EXCLUDENPC, [])); string total = (string)llGetListLength(llGetAgentList(AGENT_LIST_REGION, 0)); string npcs = (string)((integer)total - (integer)who); if (npcs == "0") { npcsentence = ", no NPCs are present in the region."; } else { npcsentence = ", and " + npcs + " NPCs."; } llOwnerSay("Currently there's " + who + " avatars in the region" + npcsentence); } }