JR Business Jobs
Guías de instalación, configuración y soporte para los recursos de JR Shops.
JR Business Jobs
Creación de negocios, zonas, recetas, almacenes, pedidos y puntos de cobro.
JR Business Jobs
JR Business Jobs is a configurable business and job system for FiveM servers. It allows you to create work zones, recipes, storage areas, billing points, and customer orders from an in-game panel without duplicating code for every business.
The resource uses JR_Bridge as its compatibility layer. Framework, inventory, target, notifications, progress bar, and society providers are configured in the Bridge, while JR Business Jobs automatically uses the active providers.
This guide applies to the stable
v0.2.0release. Development changes that do not have an official release tag are not included in the public documentation.
Main features
- In-game administration panel.
- Businesses, zones, and recipes stored in JSON.
- Crafting with ingredients, quantities, images, and final products.
- Support for preparing multiple items in a single action.
- Configurable animations and props for each zone type.
- Job and on-duty permissions.
- Optional support for business systems such as
origen_masterjobthroughJR_Bridge. - Private storage for each business.
- Customer orders and configurable rewards.
- Billing and payment points.
- Server-side security validation.
- Provider logs and diagnostics.
Before installation
Configure JR_Bridge first. JR Business Jobs does not directly select the framework or any other external resource.
| Requirement | Status | Purpose |
|---|---|---|
JR_Bridge | Required | Connects the script to all external providers. |
| Compatible framework | Required | Provides player, job, duty, permission, and money functions. |
| Compatible inventory | Required | Checks, removes, and gives items; it also manages storage. |
| Compatible target | Required | Creates interaction points in the world. |
| Progress bar | Required for crafting | Handles preparation time, animations, and props. |
| Notifications | Recommended | Displays results and errors to players. |
| Society system | Optional | Receives income from recipes, invoices, and orders. |
origen_masterjob | Optional | Allows the Bridge integration to check businesses and employees. |
The resource does not require its own SQL import. Businesses are stored in data/businesses.json.
Installation
1. Install the resource
Place the resource folder inside your server resources directory using this exact name:
JR-BusinessJobs
2. Configure JR_Bridge
Open JR_Bridge/config.lua and select the providers used by your server. You can choose specific providers or use the automatic detection available in the Bridge.
Check the following providers carefully:
- Framework.
- Inventory.
- Target.
- Notifications.
- Progress bar.
- Society, if you want business income.
3. Check your items
Every ingredient and final product used in a recipe must exist in the active inventory. Item names must match exactly, including uppercase and lowercase letters when the inventory treats them differently.
4. Configure the start order
JR Business Jobs must start after JR_Bridge, and the Bridge must start after its providers.
Example for a QBCore server:
ensure qb-core
ensure qb-target
ensure qb-inventory
ensure progressbar
ensure JR_Bridge
ensure JR-BusinessJobs
Replace the example resources with the providers actually configured in JR_Bridge. If you use a society system or origen_masterjob, start it before the Bridge as well.
5. Start the resource
Restart the server or run the following command from the server console:
restart JR-BusinessJobs
On startup, the console banner displays the version, language, detected providers, and number of loaded businesses. Check this banner before troubleshooting an integration.
Basic configuration
General settings are located in config.lua.
Config.Debug = false
Config.UseMasterJobs = true
Config.RequireOnDuty = true
Config.AdminCommand = 'jrjobs_admin'
Config.DebugCommand = 'bcraft_debug'
Config.DefaultDistance = 2.0
Config.MaxCraftQuantity = 10
Config.DataFile = 'data/businesses.json'
Config.UseJsonBusinesses = true
| Option | Description |
|---|---|
Config.Debug | Enables visual boxes and additional diagnostic messages. |
Config.UseMasterJobs | Enables the active business integration from JR_Bridge. |
Config.RequireOnDuty | Requires employees to be on duty. |
Config.AdminCommand | Command that opens the administration panel. |
Config.MaxCraftQuantity | Maximum number of units that can be prepared at once. |
Config.DataFile | File used to store created businesses. |
Administration permissions
The server validates administration permissions through JR_Bridge and the local configuration:
Config.AdminPermission = {
groups = { 'admin', 'god', 'mod' },
acePermissions = { 'command.jrjobs_admin' },
identifiers = {}
}
You can grant access by group, ACE permission, or identifier. Do not publish private identifiers in public documentation.
Visual customization
The menu header is configured through Config.Branding:
Config.Branding = {
name = 'JR Business Jobs',
shortName = 'JR',
subtitle = 'Business and crafting system',
links = {
{ label = 'Discord', url = 'https://discord.gg/your-server' },
{ label = 'Store', url = 'https://your-store.tebex.io/' }
}
}
Empty links or links that do not use https:// are not displayed.
Creating a business
Open the administration panel in game:
/jrjobs_admin
Step 1. Business details
Select the option to create a business and complete the following fields:
- Internal name: A short, unique identifier without spaces.
- Display name: The name shown to players.
- Job: The exact framework job or integrated business name.
- Status: The business must be enabled before its zones can be registered.
Step 2. Create a zone
Each business can have multiple zones. Select the zone type and configure its name, position, size, rotation, and interaction distance.
The panel can use the administrator's current position to fill in the coordinates.
Available zone types:
| Type | Typical use |
|---|---|
fryer | Fryer. |
grill | Grill or cooking station. |
cutting | Cutting and ingredient preparation. |
drinks | Bar, drinks, or coffee machine. |
packaging | Product packaging. |
storage | Business storage. |
billing | Invoice creation. |
payment | Payment of pending invoices. |
Step 3. Create recipes
Add the available recipes inside a work zone. Each recipe requires:
- Display name.
- Final item and amount given.
- Required ingredients and amount of each ingredient.
- Preparation duration.
- Animation or preset, if you want to customize it.
The panel checks item names through the configured inventory provider. Correct any warning before saving.
Step 4. Save your changes
Select Save business and refresh points. The server writes the data to:
data/businesses.json
Targets are refreshed while the resource is running. A restart is normally not required after saving.
Back up
data/businesses.jsonbefore updating the resource. Do not replace this file with an empty copy if you already have businesses configured.
Player usage
- The player goes on duty with the corresponding job.
- The player approaches a zone and uses the target interaction.
- They select a recipe from the visual menu.
- They review the final product, available ingredients, and maximum quantity.
- They select how many units they want to prepare.
- They select Prepare and wait for the progress bar to finish.
- The server validates the recipe again, removes the ingredients, and gives the final product.
The interface refreshes after crafting to display the new quantities without closing the menu.
Storage
A zone with storage enabled opens a stash through the active inventory provider. The server validates the business, job, duty status, and distance before allowing access.
Customer orders
Zones with customer orders enabled can generate product requests. The employee prepares and delivers the requested items to receive the configured reward.
Active orders are stored in memory and are cleared when the resource restarts.
Billing and payments
billing zones allow employees to create an invoice with a description, amount, and optional customer. payment zones display the business's pending invoices.
When an invoice is paid, the server tries the player's bank account first and then cash. If a compatible society integration is available, the payment is deposited into the business account.
Current pending invoices are stored in memory and are cleared when the resource restarts.
Integrations
JR Business Jobs does not include duplicate adapters for every framework or inventory. All external calls go through JR_Bridge.
| System | How it is used |
|---|---|
| Framework | Player, job, duty status, permissions, and personal accounts. |
| Inventory | Items, capacity, item delivery and removal, images, and storage. |
| Target | Interactive business zones. |
| Progress bar | Duration, animation, cancellation, and props. |
| Notifications | Success, error, and information messages. |
| Society | Income from recipes, orders, and invoices. |
| Logs | Records actions and invalid attempts. |
| MasterJobs | Optional validation of businesses and on-duty employees. |
To change an integration, update the corresponding provider in JR_Bridge/config.lua, restart the Bridge, and then restart JR Business Jobs.
Commands
| Command | Permission | Description |
|---|---|---|
/jrjobs_admin | Administrator | Opens the panel used to create, edit, and delete businesses. |
/bcraft_debug | Diagnostics | Displays the player's job, duty, and integration information. Requires Config.Debug = true. |
/jrjobs_perms [id] | Administrator or console | Displays the permission diagnostics for the selected player. |
The names of the first two commands can be changed in config.lua.
Security
The interface does not decide whether a player can craft an item. The server validates the following information again:
- Job and duty status.
- Business, zone, and recipe.
- Actual distance from the zone.
- Inventory ingredients and capacity.
- Minimum preparation time.
- Temporary token and anti-spam protection.
- Player state, vehicle, death, or handcuff status according to the configuration.
Do not remove these validations to work around a configuration issue.
Updating the resource
Before installing a new version:
- Back up
config.lua. - Back up
data/businesses.json. - Read the changelog for the new version.
- Copy the new files without losing your business data.
- Check whether new options were added to
config.lua. - Restart
JR_Bridgeand thenJR-BusinessJobs. - Check the startup banner and complete a test craft.
Do not combine an old copy of client/main.lua or server/main.lua with an interface from another version.
Common errors
The target does not appear
- Make sure the target provider starts before
JR_Bridge. - Check the provider shown in the startup banner.
- Confirm the zone coordinates, size, rotation, and distance.
- Make sure the business and zone are enabled.
- Temporarily enable
Config.Debugto display the zone boxes.
The player does not have permission
- The job name must exactly match the job configured for the business.
- If
Config.RequireOnDuty = true, the player must be on duty. - If you use MasterJobs, confirm that the business exists and that the employee is listed as on duty.
- A regular framework job does not also need to exist in MasterJobs.
The final product is not given
- Confirm that the item exists in the inventory provider that is actually active.
- Check item weight, capacity, and stacking rules.
- Check the item name in the recipe.
- Enable
Config.Debugand review thefinishCraft,addItem, andadd_reward_failedconsole messages.
Item images are missing
- Configure image paths in
JR_Bridge. - Confirm that the PNG file exists in the inventory resource.
- Make sure the image name matches the item name.
- If no valid image is available, the included placeholder is used.
The panel does not save businesses
- Check the permissions for
/jrjobs_admin. - Make sure the resource folder can write to
data/businesses.json. - Check advanced JSON input for syntax errors.
- Review the server console for the exact reason the operation failed.
A provider does not work
- Check its name and state in
JR_Bridge/config.lua. - Make sure it starts before
JR_Bridge. - When using automatic detection, do not assume that the
resourcefield is the active provider; always check the startup banner.
Information required for support
When requesting help, include:
- JR Business Jobs version.
- Framework, inventory, and target providers shown at startup.
- Relevant section of
config.lua, without private identifiers. - Full server console error.
- Client F8 error, if available.
- Exact steps required to reproduce the issue.
Do not share licenses, tokens, webhooks, passwords, or private identifiers in public channels.
¿Necesitas ayuda con la instalación?
Abre un ticket e incluye las versiones, el error completo y los pasos para reproducirlo. No compartas contraseñas, tokens ni webhooks.