Group Powers

Some commands such as getrolepowers or createrole either return a CSV list of powers or need a CSV list of powers to be supplied. Corrade uses libomv's representation of group powers:

Name Description
None No powers.
Invite Can send invitations to groups default role.
Eject Can eject members from group.
ChangeOptions Can toggle 'Open Enrollment' and change 'Signup fee'.
MemberVisible Member is visible in the public member list.
CreateRole Can create new roles.
DeleteRole Can delete existing roles.
RoleProperties Can change Role names, titles and descriptions.
AssignMemberLimited Can assign other members to assigners role.
AssignMember Can assign other members to any role.
RemoveMember Can remove members from roles.
ChangeActions Can assign and remove abilities in roles.
ChangeIdentity Can change group Charter, Insignia, 'Publish on the web' and which members are publicly visible in group member listings.
LandDeed Can buy land or deed land to group.
LandRelease Can abandon group owned land to Governor Linden on mainland, or Estate owner for private estates.
LandSetSale Can set land for-sale information on group owned parcels.
LandDivideJoin Can subdivide and join parcels.
JoinChat Can join group chat sessions.
AllowVoiceChat Can use voice chat in Group Chat sessions.
ModerateChat Can moderate group chat sessions.
FindPlaces Can toggle "Show in Find Places" and set search category.
LandChangeIdentity Can change parcel name, description, and 'Publish on web' settings.
SetLandingPoint Can set the landing point and teleport routing on group land.
ChangeMedia Can change music and media settings.
LandEdit Can toggle 'Edit Terrain' option in Land settings.
LandOptions Can toggle various About Land > Options settings.
AllowEditLand Can always terraform land, even if parcel settings have it turned off.
AllowFly Can always fly while over group owned land.
AllowRez Can always rez objects on group owned land.
AllowLandmark Can always create landmarks for group owned parcels.
AllowSetHome Can set home location on any group owned parcel.
LandManageAllowed Can modify public access settings for group owned parcels.
LandManageBanned Can manager parcel ban lists on group owned land.
LandManagePasses Can manage pass list sales information.
LandEjectAndFreeze Can eject and freeze other avatars on group owned land.
ReturnGroupSet Can return objects set to group.
ReturnNonGroup Can return non-group owned/set objects.
ReturnGroupOwned Can return group owned objects.
LandGardening Can landscape using Linden plants.
DeedObject Can deed objects to group.
ObjectManipulate Can move group owned objects.
ObjectSetForSale Can set group owned objects for-sale.
Accountable Pay group liabilities and receive group dividends.
SendNotices Can send group notices.
ReceiveNotices Can receive group notices.
StartProposal Can create group proposals.
VoteOnProposal Can vote on group proposals.

This is very simple to use. Suppose for example that you wanted to create a role called Test that has the ability to change the parcel media (ChangeMedia) and able to join the group chat (JoinChat). In which case, a suitable command would be:

        llInstantMessage(CORRADE, 
            wasKeyValueEncode(
                [
                    "command", "createrole",
                    "group", GROUP,
                    "role", "Test",
                    "title", "Chatters",
                    "password", PASSWORD,
                    "powers", wasListToCSV(
                        [
                            "ChangeMedia",
                            "JoinChat"
                        ]
                    )
                ]
            )
        );

where powers is supplied a comma-separated list of powers from the table above. Corrade will equally answer with a comma-separated list of powers once a group is polled for powers. When Corrade is polled to check the role powers of the group Everyone via:

        llInstantMessage(CORRADE, 
            wasKeyValueEncode(
                [
                    "command", "getrolepowers",
                    "group", GROUP,
                    "role", "Everyone",
                    "password", PASSWORD,
                    "callback", URL
                ]
            )
        );

amongst the other data, Corrade will answer:

data=JoinChat,AllowVoiceChat,AllowSetHome,ReceiveNotices

which represent the role powers for the role Everyone in the specified group.

This is very convenient due to the fact that one can use the key-value data API to extract data and the use wasCSVToList in order to obtain a list of powers:

list powers = wasCSVToList(
    wasKeyValueGet(
        "data",
        answer
    )
);

Index


secondlife/scripted_agents/corrade/tutorials/group_powers.txt ยท Last modified: 2019/01/03 01:36 (external edit)

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the copyright, license, warranty and privacy terms for the usage of this website please see the license, privacy, copyright and the plagiarism pages.