Welcome to the Quasar Jobs Creator installation guide, here you can learn how to completely install our asset, following each step we will achieve a clean and fluid installation where you will not find any problems, as long as the documentation has been completed in full.
For compatibility and security reasons, we request that WinSCP be used mandatorily to manage the script files instead of FileZilla. WinSCP offers greater stability and better integration with our work environment, ensuring a more efficient handling of assets and minimizing issues related to file transfers. We appreciate your cooperation in ensuring a better experience for everyone.
If you do not have programming experience, we recommend that you read each step completely without skipping any lines, since all documentation is important and should not be ignored under any circumstances. If you have a trusted developer, you can install this quickly, easily and safely if you complete this documentation step by step.
If at the end of this documentation you still have any problems, review each step again, after having checked that everything is correct, you can obtain more information about common errors in the Common Problems section within this same documentation to seek help independently.
Asset download
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 the purchase is made on our official website, you will receive your asset directly in your Keymaster, in your own panel you can download the asset and install it following the following documentation.
If you have more problems regarding Fivem Escrow, accounts or asset startup errors you can go here and see if any of them match your case, since Escrow requires some basic things for its operation, such as your keymaster account, your licensekey , etc.
If you use esx you will have different dependencies than when using qbcore, pay attention.
This asset has mandatory dependencies and optional dependencies, it also varies if you use qbcore or esx. Please read the dependencies carefully to understand better.
This asset has some dependencies that are completely mandatory and important for the operation of the asset. If you do not have these dependencies, your asset will probably start and have some error or message in its command console.
Correctly position the assets by following this step, if something goes wrong you will probably get errors about exports not found, do not skip this step.
For the correct execution of the asset, place the asset and its dependencies inside a folder named [motels-creator]. Then, start it using the ensure command as shown in the example.
Although the starting order is not critical for this asset, it’s a good practice to follow some basic guidelines to avoid potential errors during use. Make sure that the framework and inventory resources are loaded before this asset to ensure smooth functionality.
By following these steps, you’ll help guarantee a seamless experience and minimize any possible conflicts.
-- First we will start the cores, never belowensure es_extended or qb-core-- The inventory should be executed above and dependenciesensure ox_libensure [inventory]-- Run qs-motels-creator here along with its dependenciesensure [motels-creator]
Database
Do not change the path of the SQL files, if you do this the script will break and you will not be able to check the database
In this case, we will execute the SQL file completely in our database, following the documentation provided below. This is a general SQL file and can be used regardless of the framework you are using.
Database for esx
ALTERTABLE`users`ADD COLUMN IFNOTEXISTS`currentRoom`VARCHAR(90) NOT NULLDEFAULT''COLLATE'utf8mb4_general_ci';DROPTABLEIFEXISTS`motels`;CREATETABLE `motels` (`owner`VARCHAR(90) NOT NULLCOLLATE'utf8mb4_general_ci',`pay`INT(11) NOT NULLDEFAULT'0',`motel`VARCHAR(50) NULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',`roomId`INT(5) NOT NULL,`uniq`VARCHAR(50) NOT NULLDEFAULT''COLLATE'utf8mb4_general_ci',`requests`TEXTNOT NULLCOLLATE'utf8mb4_general_ci',`suspended`INT(2) NOT NULLDEFAULT'0',`shared`TEXTNOT NULLCOLLATE'utf8mb4_general_ci',`startTime`INT(12) NULLDEFAULTNULL,`endTime`INT(12) NULLDEFAULTNULL,`warn`TEXTNULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',`roomUniqueId`VARCHAR(50) NULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',PRIMARY KEY (`owner`) USING BTREE) COLLATE='utf8mb4_general_ci' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_bills`;CREATETABLE `motels_bills` (`owner`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`data`TEXTNOT NULLCOLLATE'armscii8_bin',PRIMARY KEY (`owner`) USING BTREE,INDEX`owner` (`owner`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_items`;CREATETABLE `motels_items` (`id`VARCHAR(50) NOT NULLDEFAULT'AUTO_INCREMENT'COLLATE'utf8mb4_general_ci',`items`TEXTNULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',`limit`INT(11) NOT NULL,PRIMARY KEY (`id`) USING BTREE) COLLATE='utf8mb4_general_ci' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_owners`;CREATETABLE `motels_owners` (`owner`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`motel`VARCHAR(50) NOT NULLDEFAULT''COLLATE'armscii8_bin',PRIMARY KEY (`motel`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_storages`;CREATETABLE `motels_storages` (`motel`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`money`INT(11) NOT NULLDEFAULT'0',PRIMARY KEY (`motel`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_workers`;CREATETABLE `motels_workers` (`employee`VARCHAR(50) NOT NULLDEFAULT''COLLATE'armscii8_bin',`motel`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`salary`INT(11) NOT NULL,`pay`INT(11) NOT NULL,`permissions`TEXTNOT NULLCOLLATE'armscii8_bin',PRIMARY KEY (`employee`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;
Database for qbcore
ALTERTABLE`players`ADD COLUMN IFNOTEXISTS`currentRoom`VARCHAR(90) NOT NULLDEFAULT''COLLATE'utf8mb4_general_ci';DROPTABLEIFEXISTS`motels`;CREATETABLE `motels` (`owner`VARCHAR(90) NOT NULLCOLLATE'utf8mb4_general_ci',`pay`INT(11) NOT NULLDEFAULT'0',`motel`VARCHAR(50) NULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',`roomId`INT(5) NOT NULL,`uniq`VARCHAR(50) NOT NULLDEFAULT''COLLATE'utf8mb4_general_ci',`requests`TEXTNOT NULLCOLLATE'utf8mb4_general_ci',`suspended`INT(2) NOT NULLDEFAULT'0',`shared`TEXTNOT NULLCOLLATE'utf8mb4_general_ci',`startTime`INT(12) NULLDEFAULTNULL,`endTime`INT(12) NULLDEFAULTNULL,`warn`TEXTNULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',`roomUniqueId`VARCHAR(50) NULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',PRIMARY KEY (`owner`) USING BTREE) COLLATE='utf8mb4_general_ci' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_bills`;CREATETABLE `motels_bills` (`owner`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`data`TEXTNOT NULLCOLLATE'armscii8_bin',PRIMARY KEY (`owner`) USING BTREE,INDEX`owner` (`owner`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_items`;CREATETABLE `motels_items` (`id`VARCHAR(50) NOT NULLDEFAULT'AUTO_INCREMENT'COLLATE'utf8mb4_general_ci',`items`TEXTNULLDEFAULTNULLCOLLATE'utf8mb4_general_ci',`limit`INT(11) NOT NULL,PRIMARY KEY (`id`) USING BTREE) COLLATE='utf8mb4_general_ci' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_owners`;CREATETABLE `motels_owners` (`owner`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`motel`VARCHAR(50) NOT NULLDEFAULT''COLLATE'armscii8_bin',PRIMARY KEY (`motel`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_storages`;CREATETABLE `motels_storages` (`motel`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`money`INT(11) NOT NULLDEFAULT'0',PRIMARY KEY (`motel`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;DROPTABLEIFEXISTS`motels_workers`;CREATETABLE `motels_workers` (`employee`VARCHAR(50) NOT NULLDEFAULT''COLLATE'armscii8_bin',`motel`VARCHAR(50) NOT NULLCOLLATE'armscii8_bin',`salary`INT(11) NOT NULL,`pay`INT(11) NOT NULL,`permissions`TEXTNOT NULLCOLLATE'armscii8_bin',PRIMARY KEY (`employee`) USING BTREE) COLLATE='armscii8_bin' ENGINE = InnoDB;
Inventory Configuration
You can turn this off by setting personalStashes to false.
If you are using qs-inventory you don't need to change anything.
The stash items are not dependent on the players. It depends on the rooms. So if a player leaves the room, room's items are not deleted.
There are four inventory supported by the motel. If you are not using one of these, you can use the motel's inventory
If you don't change the Config.stashSettings. Stashes is automatically changed by the motel.
This is a menu based inventory.
So, it doesn't need an inventory hud. If you have an unsupported inventory, don't worry! I have something good for you.
Limit
You can specify a stash limit.
qs-motels-creator/shared/config.lua
inventoryLimit = 100 -- How much inventory space will the motel have? [just for standalone inventory]
There are two things you need to do
Add the item you used on Config.metaitem to your item list. By default it's motelkey.
Change the Config.stashSettings. You can get reference below.
We do not recommend editing frameworks unnecessarily, since almost all assets depend exclusively on your framework and exports on the name of your framework. Otherwise and if you edited your framework, read these steps carefully.
If you still require more open codes for the configuration, you can check within client/custom and server/custom to adapt the asset to your personal taste.
Please expand each part to see information about the configuration of the asset, this way you will understand the general operation of the asset on the framework and editable files side.
Basic framework configuration
The asset will work automatically if your framework is called es_extended or qb-core, it will automatically detect if any of them are started. In case your framework has been renamed, you can modify it in config.lua to edit the name of your framework.