🛠️ Installations
Syntax Craft — Installation Guide
Welcome to Syntax Craft, a modern, flexible crafting system for FiveM with full support for QBCore and ESX, NUI admin tools, ox_lib interactions, per-table blips, leveling, and recipe categories.
This page walks you through installation, database setup, and configuration. It is designed for GitBook and uses clean, skimmable sections.
What you get
Dual framework support: QBCore and ESX
NUI admin panel to create/edit tables and recipes
ox_lib interactions (zones and clean prompts)
Per-table blips (sprite/color/scale/display) managed from the admin UI
Leveling system with XP, required levels, and notifications
Recipe categories with icons and filters
Job and job-grade restrictions
Clean SQL schema and persistence via oxmysql/MySQL
Requirements
FiveM server up and running
One of the frameworks below:
QBCore:
qb-coreESX:
es_extended
Database driver:
oxmysql(recommended) or MySQL equivalentInteractions:
ox_lib(recommended)
Tip: Keep your framework and dependencies updated to the latest stable versions.
Folder and resource name
Place the resource inside your server's resources folder with the exact name:
Folder name:
Syntax_Craft
Warning: Renaming the folder will break events and manifest references. Keep it as
Syntax_Craft.
Installation steps (Quick Start)
Download and place the folder in
resourcesasSyntax_Craft.Import the SQL schema into your database:
File:
syntax_craft_complete.sqlTables created:
syntax_crafting_tables— crafting tables with position, prop, job restrictions, and blip fieldssyntax_craft_profiles— player crafting XP and level
Ensure the resource in your
server.cfgafter your framework andoxmysql/ox_lib:
Start your server. Use the admin command in-game to open the panel:
Admin command:
/craftadmin
Note: Only players in configured admin groups can access the admin panel.
Database schema
The SQL file ships with the essential schema only. If you are upgrading, back up your data and compare columns before importing.
syntax_crafting_tablesStores: label/name, coords/heading, prop model, job/job grades, distance, and blip fields (enabled, sprite, color, scale, display)
syntax_craft_profilesStores: player identifier, current XP and level
Tip: If you changed table or column names previously, align your schema before running the import.
Configuration (shared/config.lua)
This file controls the script behavior. Below is a guided tour of each section.
Framework
Set
Config.Frameworkto match your serverEnable only the section you are actually using (ESX or QBCore)
Language
The UI and notifications use the selected locale in
Config.LocalesYou can add your own language pack by extending
Config.Locales
Categories
Controls the categories shown in the recipe creator and player UI
You can rename labels and icons without changing the IDs
Leveling system
Linear XP growth by default: XP required per level =
BaseXP + (level-1) * StepXPToggle notifications as needed
Admin access
Only members of these groups can open the admin panel
Adjust group names to match your permission system
Crafting and distance
Per-table blips are managed from the admin UI; this flag controls whether blips show at all
Animation
Change animation dict/clip if you want different crafting behavior
Available props
These props appear in the admin panel when creating a crafting table
Positioning speeds
Positioning keys
Note: If you prefer Alt for lowering height, set
heightDown = 19.
Admin panel (NUI)
Open the panel with /craftadmin.
Create Table: choose a prop, name, distance, job requirements, and blip settings
Edit Table: update any field, including blip sprite/color/scale/display
Reposition Table: move and rotate in world using configured keys
Add Recipe: set item ID, display name, category, ingredients, XP, level, duration, amount, price
Tip: Per-table blips are fully controlled here. There is no
Config.Blipblock; that logic lives in the admin UI and database.
Inventory images (qb-inventory and ox_inventory)
Syntax Craft supports both popular inventories for item images and names. Ensure your items are configured in your inventory resource. If your server uses custom item definitions, mirror the names in your recipes.
qb-inventory: relies on shared items from QBCore
ox_inventory: uses its metadata and item registry
Interactions (ox_lib)
The script uses ox_lib zones and text UI for clean prompts and better performance.
If ox_lib is missing, install and ensure it before this resource
Prompts are concise and do not include the internal table name
Blips
No default blips are forced
Each table has its own blip configuration saved in the database
Fields include: enabled, sprite, color, scale, display
You can toggle visibility globally with
Config.ShowBlips
Troubleshooting
Categories not showing in the recipe creator:
Check
Config.Categoriesis defined and IDs are stringsEnsure the NUI receives the config on open (resource restart after changes)
Blip toggle resets after restart:
Make sure the extended blip columns exist in
syntax_crafting_tablesVerify values are stored as correct types (boolean/number)
Admin command does nothing:
Confirm your group is listed in
Config.AdminGroupsCheck server console for permission checks
Wrong framework behavior:
Set
Config.Frameworkcorrectly and enable the matching section only
FAQ
Can I add new languages? Yes. Extend
Config.Localeswith a new key (e.g.,['de']) and translate strings. SetConfig.Locale = 'de'.Can I add more props? Yes. Add entries to
Config.AvailablePropswithlabelandmodel.Can I hide all blips? Set
Config.ShowBlips = false.
Support
Author: Syntax Store
Add your Discord invite link here
Include your documentation site or storefront link if applicable
Changelog (suggested)
Maintain a separate CHANGELOG.md or a GitBook page to track releases, migrations, and breaking changes.
Last updated