FrameworkZ API - FrameworkZ.Roles
FrameworkZ.Roles
Roles module for FrameworkZ. Provides role-based permission system.
0
Functions
30
Methods
1
Fields
📋 On This Page
- Overview
- Statistics
- Fields1
- Methods30
- FrameworkZ.Roles:AssignRole
- FrameworkZ.Roles:CachePermission
- FrameworkZ.Roles:ClearPermissionCache
- FrameworkZ.Roles:CountAssignedPlayers
- FrameworkZ.Roles:EnsurePlayerRole
- FrameworkZ.Roles:GetAllGroups
- FrameworkZ.Roles:GetAllPermissions
- FrameworkZ.Roles:GetAllRoles
- FrameworkZ.Roles:GetDefaultRole
- FrameworkZ.Roles:GetFormattedRoleName
- FrameworkZ.Roles:GetGroup
- FrameworkZ.Roles:GetGroupMembership
- FrameworkZ.Roles:GetPlayerRole
- FrameworkZ.Roles:GetPlayersWithRole
- FrameworkZ.Roles:GetPrimaryRole
- FrameworkZ.Roles:GetRole
- FrameworkZ.Roles:GetRoleColor
- FrameworkZ.Roles:GetRoleCount
- FrameworkZ.Roles:HasPermission
- FrameworkZ.Roles:HasRole
- FrameworkZ.Roles:LoadCustomRoles
- FrameworkZ.Roles:LoadPlayerRoles
- FrameworkZ.Roles:MatchesWildcard
- FrameworkZ.Roles:OnInitGlobalModData
- FrameworkZ.Roles:RegisterDefaultRoles
- FrameworkZ.Roles:RegisterGroup
- FrameworkZ.Roles:RegisterRole
- FrameworkZ.Roles:RemoveRole
- FrameworkZ.Roles:SavePlayerRoles
- FrameworkZ.Roles:UnregisterRole
Fields
1
FrameworkZ.Roles
📋 table
Roles module for FrameworkZ. Provides role-based permission system.
Initial value:
{}Methods
30FrameworkZ.Roles:AssignRole(username, roleId)
method
Assign exactly one role to a player, replacing any previous assignment.
Parameters
username
❓ unknown
\string
roleId
❓ unknown
\string
Returns
✅ boolean
Success
FrameworkZ.Roles:CachePermission(username, permission, result)
method
Store a permission-check result in the per-player cache.
FrameworkZ.Roles:ClearPermissionCache(username)
method
Invalidate permission cache for one player, or for all players when username is nil.
FrameworkZ.Roles:CountAssignedPlayers()
method
Number of players with an explicit role assignment.
Returns
❓ unknown
\integer
FrameworkZ.Roles:EnsurePlayerRole(username)
method
Ensure a player has a role. If none is recorded, assign the default role.
Safe to call for both brand-new players and returning players.
Parameters
username
❓ unknown
\string
Returns
📝 string
The player's roleId (existing or newly assigned default)
FrameworkZ.Roles:GetAllGroups()
method
Return all registered group definitions.
Returns
❓ unknown
\table
FrameworkZ.Roles:GetAllPermissions(username)
method
Collect all permissions for a player by walking role inheritance.
Parameters
username
❓ unknown
\string
Returns
📋 table
Map of permission string -> true
FrameworkZ.Roles:GetAllRoles()
method
Return the full RegisteredRoles table.
FrameworkZ.Roles:GetDefaultRole()
method
Return the role marked as default (isDefault = true).
When more than one default is registered the one with the highest priority wins. Falls back to DEFAULT_ROLES.PLAYER if nothing is found.
Returns
📋 table
Role data table
FrameworkZ.Roles:GetFormattedRoleName(roleId)
method
Return the display name for a roleId, falling back to the raw id.
FrameworkZ.Roles:GetGroup(groupId)
method
Return the group definition for a given id, or nil.
Parameters
groupId
❓ unknown
\string
Returns
❓ unknown
\table|nil
FrameworkZ.Roles:GetGroupMembership(groupId)
method
Derive live membership for every role in a group from the current PlayerRoles table.
Parameters
groupId
❓ unknown
\string
Returns
❔ table?
{ roleId -> { username, ... } }, or nil if the group does not exist.
FrameworkZ.Roles:GetPlayerRole(username)
method
Return the roleId assigned to a player, or the default player role.
Parameters
username
❓ unknown
\string
Returns
📝 string
roleId
FrameworkZ.Roles:GetPlayersWithRole(roleId)
method
Return all players currently assigned to a specific role.
Parameters
roleId
❓ unknown
\string
Returns
📋 table
Array of username strings
FrameworkZ.Roles:GetPrimaryRole(username)
method
Return the full role data table for a player's assigned role.
Parameters
username
❓ unknown
\string
Returns
📋 table
role data
FrameworkZ.Roles:GetRole(roleId)
method
Return the role data table for a given roleId.
FrameworkZ.Roles:GetRoleColor(roleId)
method
Return the { r, g, b } color table for a roleId, or nil.
FrameworkZ.Roles:GetRoleCount()
method
Return the number of registered roles.
FrameworkZ.Roles:HasPermission(username, permission)
method
Check whether a player has a given permission (wildcard-aware).
Parameters
username
📝 string
or IsoPlayer
permission
❓ unknown
\string
Returns
❓ unknown
\boolean
FrameworkZ.Roles:HasRole(username, roleId)
method
Check whether a player is assigned a specific role.
Parameters
username
❓ unknown
\string
roleId
❓ unknown
\string
Returns
❓ unknown
\boolean
FrameworkZ.Roles:LoadCustomRoles()
method
Hook point for custom role files to self-register.
FrameworkZ.Roles:LoadPlayerRoles()
method
Load player role assignments from persistent storage.
FrameworkZ.Roles:MatchesWildcard(permission, pattern)
method
Test whether a permission string matches a wildcard pattern (e.g. "chat.*").
FrameworkZ.Roles:OnInitGlobalModData()
method
Registers the Roles namespace and seeds roles/data on game init.
FrameworkZ.Roles:RegisterDefaultRoles()
method
Register the four built-in default roles.
FrameworkZ.Roles:RegisterGroup(groupData)
method
Register a group.
Parameters
groupData
📋 table
{ id \string, name \string, roles \table }
Returns
✅ boolean
Success
FrameworkZ.Roles:RegisterRole(roleData)
method
Register a new role.
Parameters
roleData
📋 table
{ id, name, description?, color?, permissions?, inherits?, priority?, isDefault?, metadata? }
Returns
✅ boolean
Success
FrameworkZ.Roles:RemoveRole(username, roleId)
method
Remove the role assignment from a player.
If roleId is supplied the removal only proceeds when the player currently holds that exact role.
Parameters
username
❓ unknown
\string
roleId (optional)
📝 string
Optional guard — only remove if this is their current role.
Returns
✅ boolean
Success
FrameworkZ.Roles:SavePlayerRoles()
method
Persist player role assignments.
FrameworkZ.Roles:UnregisterRole(roleId)
method
Unregister a custom role. Default roles cannot be removed.
Any player holding the unregistered role has their assignment cleared.
Parameters
roleId
❓ unknown
\string
Returns
✅ boolean
Success