Scripts Guides
Installation

đź“€INSTALLATIONS

đźš«

If you lack programming experience, we recommend reading each step thoroughly without skipping any lines, as every part of the documentation is crucial and should not be overlooked. If you have a trusted developer, they can help you complete the installation quickly, easily, and safely by following the documentation step by step.

If you still encounter any issues after completing this documentation, we recommend reviewing each step again carefully. Once you've confirmed everything is correct, you can find additional information on common errors in the Common Problems section within this documentation, allowing you to troubleshoot independently.

ASSET DONWLOAD

⚠️

To find the asset, you must have made the purchase using your own keymaster account. Otherwise, you can use the transfer system to move the asset to a different keymaster account.

If you need to make an update you must also do this step again, download the asset and you will get the complete update.

Once you've completed your purchase on our official website (opens in a new tab), you'll receive your asset directly in your Keymaster panel. From there, you can download the asset and follow the provided documentation for installation.

For issues related to FiveM Escrow, accounts, or asset startup errors, please visit FiveM Assets Escrow Information page to see if any of the listed solutions address your problem. Keep in mind that Escrow requires basic information such as your Keymaster account and license key for proper operation.

To start, log in to your cfx.re Keymaster (opens in a new tab) account and go to the 'Granted Assets' (opens in a new tab) section to find and download the latest release of your purchased resource.

ASSET DEPENDENCIES

DEPENDENCIES :

ASSET POSITIONING

⚠️

Ensure that you position the assets correctly by following this step. Skipping this step may result in errors related to missing exports. It's crucial not to skip this step to avoid potential issues.

To execute this asset, please adhere to the specified order outlined below. We recommend initiating both dependencies and the onex-charselect asset within the designated [onex] folder. Failing to do so may necessitate starting the dependencies first, followed by the onex-charselect. After placing your asset into your servers resource directory, navigate to your server.cfg file and open it.

server.cfg
# First we will start the cores, never below
ensure es_extended or qb-core

# Put all the dependencies file into [onex] folder 
ensure [onex]

Alternatively, if you prefer to keep things separate, utilize the following format.

server.cfg
# First we will start the cores, never below
ensure es_extended or qb-core

# Place all dependency files within a designated resources folder. 
# When doing so, ensure that you maintain the following order:

ensure onex-base
ensure onex-charselect

# Other onex scripts here

REMOVE CONFLICTING SCRIPTS

Don't worry—removing any of the resources on this list won't cause any issues on your server. These resources need to be removed because onex-charselect fully replaces their functionality. If you don't remove these scripts, they will conflict with onex-charselect, leading to errors.

CONFLICTING RESOURCE LIST:

  • esx_multicharacter
  • esx_identity
  • qb-multicharacter

Please remove these resources or any similar ones (such as other multicharacter scripts) from your server.

INTEGRATING OTHER RESOURCES WITH CHARSELECT

⚠️
if you are not using this script skip.

Modify qb-interior

Tested on qb-interior version 1.2.0. If you encounter issues with a newer version, please report it on Discord.

Locate the File

  1. Go to the qb-interior folder.

    • Open the file:
      qb-interior/client/main.lua
  2. Find the Function:

    • Around line 57 (this might vary), locate the function CreateApartmentFurnished.

Remove the Event

  1. Modify the Code:

    • Inside the CreateApartmentFurnished function, find the following line near the bottom:

      TriggerEvent('qb-clothes:client:CreateFirstCharacter')
    • Remove this line from the function.

    Here’s the complete modified code for reference:

    exports('CreateApartmentFurnished', function(spawn)
      local exit = json.decode('{"x": 1.5, "y": -10.0, "z": 0, "h":358.50}')
      local model = 'furnitured_midapart'
      local obj = CreateShell(spawn, exit, model)
      if obj and obj[2] then
          obj[2].clothes = json.decode('{"x": -6.028, "y": -9.5, "z": 1.2, "h":2.263}')
          obj[2].stash = json.decode('{"x": -7.305, "y": -3.922, "z": 0.5, "h":2.263}')
          obj[2].logout = json.decode('{"x": -0.8, "y": 1.0, "z": 1.0, "h":2.263}')
      end
      if IsNew then
          SetTimeout(750, function()
              -- Removed: TriggerEvent('qb-clothes:client:CreateFirstCharacter')
              IsNew = false
          end)
      end
      return { obj[1], obj[2] }
    end)
đź’•

if you've followed the steps above properly, then you're good to start your server and enjoy your new emote menu! Thank you again for supporting Onex Scripts!