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 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.
- llInstantMessage(llGetOwner(), "foo") will send error message ("Group owned objects are unable to instant message.") to the Script Warning/Error window.
- llGiveInventory and llGiveInventoryList will fail and send the error message ("Group owned objects cannot give inventory.") to the Script Warning/Error window.
- llOwnerSay("foo") will fail silently.
- When using such group keys, certain functions that work for agent keys will not work. (llRequestAgentData silently fails, llKey2Name returns NULL_KEY, 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