NOTE: none of these resources are required, only install the resources that you want!
| For Discord Permissions | |
|---|---|
| [discordroles] | Discord permission checking |
| [hqly_perms] | wrapper for discordroles |
| For QBCore | |
|---|---|
| [QBCore Framework] | QBCore framework |
| For ESX | |
|---|---|
| [ESX Framework] | ESX framework |
| Supported Notification Frameworks | ||
|---|---|---|
| [OkOkNotify] | [VCore-Noti] | [T-Notify] |
| [skeexsNotify] | [Infinity Notify] | [B-Notify] |
| [Atom-Notify] | ||
| [QBCore] | Built-in QBCore notification system | |
| [ESX] | Built-in ESX notification system |
Standalone (Framework & Resource Independent)
hqly_player_worlds and drag and drop into your resources folderstart hqly_player_worlds to your server.cfg fileconfig.luapermissionType to either ace, command, or nonenotificationFramework to gtavQBCore
hqly_player_worlds and drag and drop into your resources folderstart hqly_player_worlds to your server.cfg fileconfig.luapermissionType to qbcorenotificationFramework to qbcoreallowedRoles and put any job names you wish to be able to open the menuESX
hqly_player_worlds and drag and drop into your resources folderstart hqly_player_worlds to your server.cfg fileconfig.luapermissionType to esxnotificationFramework to esxallowedRoles and put any job names you wish to be able to open the menuPermissions Framework Guides
config.luapermissionType to aceserver.cfg add the appropriate ace permissions.config.luapermissionType to discordallowedRolesconfig.luapermissionType to commandcommandPassword to your own password/bc_onduty <password> (if you didnt change the default onDuty command)config.luapermissionType to qbcoreallowedRoles to include any job roles names you wish to be able to open the menuconfig.luapermissionType to qbcoreallowedRoles to include any job roles names you wish to be able to open the menuconfig.luapermissionType to noneconfig.luapermissionType to customcanAccessMenu in client/auth.luaelseif config.permissionType == 'custom' then and add your verification call there, return true if can access menuNotification Framework Guides
config.luanotificationFramework to gtavconfig.luanotificationFramework to okokconfig.luanotificationFramework to vcoreconfig.luanotificationFramework to tnotifyconfig.luanotificationFramework to bnotifyconfig.luanotificationFramework to infinityconfig.luanotificationFramework to atomconfig.luanotificationFramework to skeexsconfig.luanotificationFramework to qbcoreconfig.luanotificationFramework to esxconfig.luanotificationFramework to customdoNotification in config.luaif config.notificationFramework == 'custom' then and add your success notification call under hat line using variable msg as the message textif config.notificationFramework == 'custom' then and add your error notification call under that line using variable msg as the message textNOTE: if an option is left blank, that means that you can change it to anything!
| Configuration | Explanation | Options |
| permissionType | Permission system to use to authenticate roles/jobs | discord, ace, none, qbcore, esx, command, custom |
| commandPassword | Will authenticate the player WITH the onduty command | |
| allowedRoles | The job names or Discord role IDs that can open the menu | |
| commands.staffTransferWorld | Command for staff to transfer their player to the desired Player World | |
| commands.transferPlayerWorld | Command for staff to transfer a target player to a desired Player World | |
| commands.staffAuthenticate | Command used to authenticate player with command-based permissions | |
| commands.transferWorldRequest | Command used to send a teleport request to a target player | |
| commands.transferWorldAccept | Command to accept a teleport request or invite | |
| commands.transferWorldDeny | Command to deny a teleport request or invite | |
| commands.transferWorld | Command to transfer the player to their own Player World | |
| commands.transferWorldInvite | Command to invite a target player to a players Player World | |
| commands.transferWorldKick | Command to kick a target player from own Player World | |
| commands.getCurrentWorld | Command to notify player what Player World they are currently in | |
| commands.mainWorld | Command to transfer back to the Main World | |
| requestCoolDown | How often players can send world transfer requests in seconds. Leave at 0 for no cool down. Staff over-ride cooldown. | 0 - 9999999 |
| teleportCoolDown | How long in seconds a player will not be able to teleport for after a successful teleport between worlds. Leave at 0 for no cool down. Staff over-ride cooldown. | 0 - 9999999 |
| inviteResponseTime | How long in seconds an invite will stay active for before being removed | 0 - 9999999 |
| mainWorldTeleportCoolDown | Toggle whether the teleport cool down should apply when transferring to the Main World | true/false |
| debugMode | Spit debug info into console | true/false |
Note: commands are modifiable through the config
| Config Name | Command (default) | Description | Usage (default) |
| staffTransferWorld | /stw | Transfers your player to the desired Player World (Staff Only) | /stw <worldId> |
| transferPlayerWorld | /tpw | Transfers a target player to desired Player World (Staff Only) | /tpw <playerId> <worldId> |
| staffAuthenticate | /tw_staff | Authenticate player if permission type is set to command | /tw_staff |
| transferWorldRequest | /twr | Send a transfer world request to a target player | /twr <playerId> |
| transferWorldAccept | /twa | Accept a transfer world request or invite that has been received | /twa |
| transferWorldDeny | /twd | Deny a transfer world request or invite that has been received | /twd |
| transferWorld | /tw | Transfer to own Player World | /tw |
| transferWorldInvite | /twi | Send a transfer world invite to a target player | /twi <playerId> |
| transferWorldKick | /twk | Remove target player from Player World if they are in issuing players’ Player World | /twk <playerId> |
| getCurrentWorld | /cpw | Inform player what current Player World they are in | /cpw |
| mainWorld | /mw | Transfers the player to the Main World (World #0) | /mw |
Don’t hesitate to report any issues, offer any constructive criticism, or leave a suggestion!
If you have an idea you’d love to see come to life, don’t be afraid to get in touch!
Check out my other work:
[Bait-Car V2] | [X-Priorities] | [Play-Time] | [Ground]