3D PRINTER- ADVANCED CRAFTING [QBCore / ESX / QBOX]

| Code is accessible | 80% |
| Subscription-based | No |
| Lines (approximately) | 10k + |
| Requirements | qb-core/ qbox / esx_core |
| Support | Yes |
Two Printer Sizes
Small/Medium printer for standard items
XL printer for large objects
Realistic Connectivity
Printers must be powered ON to connect
One printer = one laptop connection (no interference!)
Fully Customizable Laptop
Set a password for security
Change username, background wallpaper & user avatar
Persistent data—pick it up and move it anywhere!
USB Blueprint System
Create USBs with metadata (easy to set up!)
Use as heist rewards, shop items, or rare loot
Export blueprints to your crafting lab
NO duplicate exports—prevents exploitation!
Crafting Lab Application
View exported blueprints with required printer size
Clear material requirements for each print
Live progress tracking when printing
Smart Material Management
See exactly what materials are missing
Printer stash system for materials
Cannot turn off printer mid-print—no abuse!
Persistent Data System
Laptops keep all data when moved
Connected USBs stay connected
Perfect for mobile crafting labs & criminal operations
Multiple Crafting Categories (you can add more)
Weapons (Pistol .50, SMG, Assault Rifle)
Tools (Screwdriver)
Armor (Body Armor)
Vehicle Parts (Engine Parts, Brake Discs)
Fully Configurable
Everything in Config.lua
Set printer size restrictions per item
Configure materials, durations, and more!
Works perfectly with:
ox_target ![]()
qb-target ![]()
interact ![]()
MULTILANGUAGE
Supports 10 Languages: English, Spanish, Italian, Portuguese, Polish, Turkish, Arabic, Russian, Bulgarian, French, German
- Config.lua :
Config = {}
-- ====================================
-- BASIC SETTINGS
-- ====================================
Config.Debug = true
Config.Language = 'en' -- Supported languages: 'en', 'es', 'it', 'pt', 'pl', 'tr', 'ar', 'ru', 'bg', 'fr', 'de'
Config.Refresh = 30 -- minutes
Config.MaxDistance = 5 -- distance to detect the printers
Config.Items = {
printer_m = {
name = 'printer_m',
model = 'prop_printer_m',
size = 'm'
},
printer_xl = {
name = 'printer_xl',
model = 'prop_printer_xl',
size = 'xl'
},
laptop = {
name = 'laptop3d',
model = 'gr_prop_gr_laptop_01a',
},
usb = {
name = 'usb3d',
model = nil,
}
}
Config.Prints = {
['weapons'] = {
['pistol50'] = {
name = 'Pistol .50',
item = 'weapon_pistol50',
model = 'w_pi_pistol',
duration = 60000,
blueprint = 'blueprint_pistol',
experience = 100,
rotation_speed = 0.5,
size = 'm',
materials = {
['plastic_filament'] = 2,
['metal_filament'] = 1,
['carbon_filament'] = 1
}
},
['smg'] = {
name = 'SMG',
item = 'weapon_smg',
model = 'w_sb_smg',
duration = 90000,
blueprint = 'blueprint_smg',
experience = 150,
rotation_speed = 1.5,
size = 'm',
materials = {
['plastic_filament'] = 3,
['metal_filament'] = 2,
['carbon_filament'] = 2
}
},
['ak47'] = {
name = 'Assault Rifle',
item = 'weapon_assaultrifle',
model = 'w_ar_assaultriflemk2',
duration = 90000,
blueprint = 'blueprint_assaultrifle',
experience = 150,
rotation_speed = 0.5,
size = 'xl',
materials = {
['plastic_filament'] = 4,
['metal_filament'] = 3,
['carbon_filament'] = 2,
['abs_filament'] = 1
}
},
},
['tools'] = {
['screwdriver'] = {
name = 'Screwdriver',
item = 'screwdriver',
model = 'prop_tool_screwdvr01',
duration = 30000,
blueprint = false,
experience = 10,
rotation_speed = 0.5,
size = 'm',
materials = {
['plastic_filament'] = 1,
['metal_filament'] = 1
}
},
},
['armor'] = {
['vest'] = {
name = 'Body Armor',
item = 'bodyarmour',
model = 'prop_bodyarmour_06',
duration = 45000,
blueprint = 'blueprint_vest',
experience = 75,
rotation_speed = 0.8,
size = 'm',
materials = {
['carbon_filament'] = 3,
['nylon_filament'] = 2,
['tpu_filament'] = 1
}
},
},
['vehicle'] = {
['engine_part'] = {
name = 'Engine Part',
item = 'engine_part',
model = 'prop_car_engine_01',
duration = 60000,
blueprint = 'blueprint_engine',
experience = 100,
rotation_speed = 0.7,
size = 'xl',
materials = {
['metal_filament'] = 4,
['carbon_filament'] = 3,
['abs_filament'] = 2
}
},
['brake_disc'] = {
name = 'Brake Disc',
item = 'brake_disc',
model = 'imp_prop_impexp_brake_caliper_01a',
duration = 45000,
blueprint = 'blueprint_brakes',
experience = 75,
rotation_speed = 0.6,
size = 'xl',
materials = {
['metal_filament'] = 3,
['carbon_filament'] = 2
}
},
}
}
-- ====================================
-- OPTIMISATION PART
-- ====================================
-- Description : this part is responsable on deleting the not needed props when no players are nearby
-- refreshprops : is the time to check if there is someone near the props or not
-- radius : is to check how far is the player from the prop if it is < then the prop will be deleted until someone is nearby...
Config.RefreshProps = 1 -- 15 seconds
Config.Radius = 100.0 -- if the distance between the player and the prop is < 50 then the prop will be deleted.
----------------------------------------------------------------------------------------------------------------------------------------
Showcase : Showcase Video
Tebex: Tebex | ZaT Scipts
QBCore / QBox :
Documentation: 3D Printer | ZaT Scripts
ESX :
Documentation: 3D Printer | ZaT Scripts


