default { state_entry() { // Set a sit target for link 3, so we can use llAvatarOnLinkSitTarget // to detect whether an agent sat on it. llLinkSitTarget(3, <0, 0, 1>, ZERO_ROTATION); } changed(integer change) { if (change & CHANGED_LINK) { key id = llAvatarOnLinkSitTarget(3); // read who is sitting on prim 3, if anyone if (id != llGetOwner() && id != NULL_KEY) { llUnSit(id); llRegionSayTo(id, 0, "This seat is reserved for the owner only!"); } } } }