"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).