Group-Owned Objects
"Group" in this case refers to
user groups (as in Liaisons, Instructors, etc), not
linked objects. However, there are some interesting
LSL things to note about
objects which have been
deeded to a group.
- There is no way to grant permissions (PERMISSION_DEBIT etc) to an object deeded to a group.
- Money paid to an object deeded to a group goes into the group treasury, which is split evenly among all members nightly or as soon as there is total_members L$ in the group treasury.
- Functions that only work over the script owner's land (llSetParcelMusicURL etc) will only work over group owned land if on an object that has been deeded to the group.
- An object deeded to a group will be deleted if "returned" (via autoreturn etc) because there is no group inventory for it to go to.
- llGetOwner returns the group's key, which means things like (llDetectedKey(0) == llGetOwner()) can never turn true.
- llOwnerSay("foo"), llInstantMessage(llGetOwner(),"foo"), and llDialog(llGetOwner(),"foo",["bar"],1) will fail silently.
- When using such group keys, certain functions that work for agent keys will not work. (llRequestAgentData silently fails, llKey2Name returns "", etc.)
To deed an object to a group:
- Set the object to a group by clicking the "set" button and selecting a group.
- Check the "Share with group" box.
- Have a group officer click the "Deed" button. If you are a group officer you will see the "Deed" button become active and you can click it.
Scripts run in group-owned objects give the group key as the owner
(llGetOwner == groupkey). There are issues with functions that require
permissions (ie permissions only an owner can grant).
Group |
Object