FrameworkZ API - FrameworkZ.Roles

FrameworkZ.Roles

module

Roles module for FrameworkZ. Provides role-based permission system.

0
Functions
25
Methods
1
Fields

Fields

1
FrameworkZ.Roles 📋 table
Roles module for FrameworkZ. Provides role-based permission system.
Initial value: {}

Methods

25

FrameworkZ.Roles:AssignRole(username, roleId)

method
Assign a role to a player

Parameters

username 🏷️ Player
username
roleId 🏷️ Role
ID to assign

Returns

✅ boolean
Success status

FrameworkZ.Roles:CachePermission(username, permission, result)

method
Cache a permission check result

FrameworkZ.Roles:ClearPermissionCache(username)

method
Clear permission cache

FrameworkZ.Roles:CountAssignedPlayers()

method
Count players with role assignments

Returns

🔢 number
Count

FrameworkZ.Roles:GetAllPermissions(username)

method
Get all permissions for a player (including inherited)

Parameters

username 🏷️ Player
username

Returns

📋 table
Map of permission -> true

FrameworkZ.Roles:GetAllRoles()

method
Get all registered roles

Returns

📋 table
Map of roleId -> role data

FrameworkZ.Roles:GetFormattedRoleName(roleId)

method
Get formatted role name with color for display

Parameters

roleId 🏷️ Role
ID

Returns

📝 string
Formatted name

FrameworkZ.Roles:GetPlayerRoles(username)

method
Get all roles assigned to a player

Parameters

username 🏷️ Player
username

Returns

📋 table
Array of role IDs

FrameworkZ.Roles:GetPlayersWithRole(roleId)

method
Get all players with a specific role

Parameters

roleId 🏷️ Role
ID

Returns

📋 table
Array of usernames

FrameworkZ.Roles:GetPrimaryRole(username)

method
Get the highest priority role for a player

Parameters

username 🏷️ Player
username

Returns

❔ table?
Role data

FrameworkZ.Roles:GetRole(roleId)

method
Get a role by ID

Parameters

roleId 🏷️ Role
ID

Returns

❔ table?
Role data

FrameworkZ.Roles:GetRoleColor(roleId)

method
Get role color

Parameters

roleId 🏷️ Role
ID

Returns

📋 table
{r, g, b} or nil

FrameworkZ.Roles:GetRoleCount()

method
Get count of registered roles

Returns

🔢 number
Count

FrameworkZ.Roles:HasPermission(username, permission)

method
Check if a player has a specific permission

Parameters

username 🏷️ Player
username (or IsoPlayer object)
permission 🏷️ Permission
string (supports wildcards)

Returns

✅ boolean
Has permission

FrameworkZ.Roles:HasRole(username, roleId)

method
Check if a player has a specific role

Parameters

username 🏷️ Player
username
roleId 🏷️ Role
ID

Returns

✅ boolean
Has role

FrameworkZ.Roles:Initialize()

method
Initialize the Roles module

FrameworkZ.Roles:LoadCustomRoles()

method
Load custom roles from role definition files

FrameworkZ.Roles:LoadPlayerRoles()

method
Load player role assignments from save data

FrameworkZ.Roles:MatchesWildcard(permission, pattern)

method
Check if a permission matches a wildcard pattern

Parameters

permission 🏷️ Permission
to check
pattern 🏷️ Pattern
with wildcards (e.g., "chat.*")

Returns

✅ boolean
Matches

FrameworkZ.Roles:RegisterDefaultRoles()

method
Register the default built-in roles

FrameworkZ.Roles:RegisterRole(roleData)

method
Register a new role

Parameters

roleData 🏷️ Table
containing role definition

Returns

✅ boolean
Success status

FrameworkZ.Roles:RemoveRole(username, roleId)

method
Remove a role from a player

Parameters

username 🏷️ Player
username
roleId 🏷️ Role
ID to remove

Returns

✅ boolean
Success status

FrameworkZ.Roles:SavePlayerRoles()

method
Save player role assignments

FrameworkZ.Roles:UnregisterRole(roleId)

method
Unregister a role

Parameters

roleId 🏷️ Role
ID

Returns

✅ boolean
Success

FrameworkZ.Roles:UpdateRoleHierarchy(role)

method
Update role hierarchy for inheritance