DirkScripts
VIP Roles
VIP slots give selected players extra characters beyond the default. Two ways to grant them:
#1. Discord Role Mapping (default)
Admin defines role-to-slot mappings in the configurator's VIP Roles tab. The bot pulls the player's Discord roles when they log in, and grants them the highest matching slot count.
Example mapping:
| Discord Role | Extra slots |
|---|---|
| Booster | +1 |
| Tier 1 Donor | +2 |
| Tier 2 Donor | +4 |
A player with both Booster and Tier 1 Donor roles gets max(+1, +2) = +2 extra slots (not stacked).
#2. ESX Character Slots Table
The Use ESX Character Slots Table toggle (also in the VIP Roles tab) switches the source of truth to ESX's native users.character_slots column. Useful if you already manage slot counts via your existing ESX-side admin tools.
When this toggle's on, the Discord role mapping is ignored β slot counts come purely from users.character_slots.
#Commands
| Command | Purpose |
|---|---|
/grantvipslots [playerId] [count] | Grant additional slots directly to a player. Persists across logins. |
/revokevipslots [playerId] [count] | Remove granted slots from a player. |
Both commands require the configured admin permission (set up via dirk_lib).
#Live Editing
Role mapping updates apply live via lib.scriptConfig.on('vipRoles', ...). Players see the new slot count the next time they reach the multichar selector β no relog required for already-online players, but the player has to open the selector for the count to be re-read.
