The ranks API allows you to register, unregister, and manage ranks.
ranks.register(name, def)
- Register a new rank
name: Name for rank (name cannot beclear)def: See [#Rank definition]
ranks.unregister(name)
- Unregister a rank
name: Name of rank
ranks.list_plaintext()
- Returns a plaintext, comma-separated list of ranks
ranks.get_rank(player)
- Returns the player's rank or
nil player: PlayerRef or string
ranks.get_def(name)
- Returns the rank definition or
nil name: Name of rank
ranks.update_privs(player)
- Checks and updates player privileges based on rank definition
- Returns
trueif successful,nilif player has no rank - Automatically called
on_joinplayerand onranks.set_rank player: PlayerRef or string
ranks.update_nametag(player)
- Checks and updates player nametag based on rank definition
- Returns
trueif successful,nilif player has no rank - Automatically called
on_joinplayerand onranks.set_rank player: PlayerRef or string
ranks.set_rank(player, rank)
- Changes a player's rank
- Returns
trueif successful,nilif rank doesn't exist player: PlayerRef or stringrank: Name of rank
ranks.remove_rank(player)
- Removes all ranking information from a player
player: PlayerRef or string
ranks.chat_send(name, message)
- Simulates a chat message being sent to all players from a ranked player
name: Sender player namemessage: Message to send
{
prefix = "Moderator", -- Prefix to be shown on nametag and chat
colour = {a = 255, r = 255, g = 83, b = 37}, -- A table of RGBA values, a single base colour (e.g. "red"), or a hex string
strict_privs = false, -- Whether the rank should have a strict set of privileges (prevents privileges from being granted/revoked)
grant_missing = true, -- Whether missing privileges should be automatically granted
revoke_extra = false, -- Whether extra privileges should be automatically revoked
privs = { -- Default privileges (usage modified by above items)
interact = true,
shout = true,
fly = true,
fast = true,
...
}
}