[QB/ESX/QBX] Crafting & Dismantling Script

A script by AP5_Studios

No reviews yet.
[QB/ESX/QBX] Crafting & Dismantling Script main image

Price

$17.99

Full Description

AP5 Crafting – Advanced Crafting & Dismantling Script With Level System



:sparkles: Ultimate Crafting System for Your Server! :sparkles:

:fire: Transform your server and keep players engaged with a feature-packed crafting system that’s built for performance and customization.

:gear: Features:

  • :tools: Craft Anything – Weapons, tools, consumables & more with fully customizable recipes.
  • :chart_with_upwards_trend: Leveling System – Earn XP and unlock advanced recipes as you progress.
  • :recycle: Dismantle Items – Break down items to receive valuable materials.
  • :rocket: Optimized & Lightweight – Designed for smooth performance, even on high-pop servers.
  • :control_knobs: Fully Configurable – Easy setup with endless customization options.

:camera: Preview

Watch Here

:package: Purchase

Escrowed $17.99

Open Source $34.99


Preview config.lua
Config = {}

Config.Debug = false

Config.Framework = 'qb'     -- Options: 'qb', 'qbx', 'esx'
Config.Target = 'qb'        -- Options: 'qb', 'ox'
Config.Inventory = 'qb'     -- Options: 'qb', 'ox'

Config.UseTarget = true      -- Set to true to use target system
Config.UseDrawText = false   -- Set to true to use simple 3D text (only if UseTarget is false)

Config.EnablePersistentQueue = true  -- Items stay in queue over server restarts until collected MUST INSTALL THE SQL FOR YOUR FRAMEWORK TO USE THIS
Config.UseLevelSystem = true  -- Enable/disable level system
Config.UseDismantling = true  -- Enable/disable dismantling feature

Config.UISettings = {
    MaxQueueSize = 10,                    -- Maximum items in crafting queue
    RequireCollectionBeforeNext = false, -- Must collect finished item before next starts
    ShowQueueOnlyWhenActive = true,      -- Show queue panel only when active
    CanCancelCraftedItems = true        -- Allow canceling completed items in queue
}
Config.GlobalQueueOwnerCancelOnly = true   -- Only queue item owner can cancel (for global queues)
-- If the player leaves with an item in the queue false = no materials returned, true = materials returned.
-- If persistent queue = true, this will be overridden to false.
Config.ReturnItemsOnLeave = false

Config.Workbenches = {
    ['weapon_bench'] = {
        label = 'Weapon Workbench',
        SharedQueues = false, -- if true, players share one bench doesnt apply to all benchs each bench have there own
        model = `xm3_prop_xm3_bench_04b`,
        allowedGroups = {'police', 'mechanic'},
        requiredItem = nil,
        coords = {
            vector3(923.44, -1486.09, 30.18),
            vector3(450.51, -981.75, 30.69),
        },
        heading = 180.0,
        blip = {
            enabled = true,
            sprite = 66,
            color = 0,
        }
    },
    ['advanced_bench'] = {
        label = 'Advanced Workbench',
        SharedQueues = true,
        model = `xm3_prop_xm3_bench_04b`,
        allowedGroups = nil,
        requiredItem = 'phone',
        coords = {
            vector3(1273.0, -1711.5, 54.77),
        },
        heading = 90.0,
        blip = {
            enabled = false,
            sprite = 566,
            color = 5,
        }
    },
}

Config.Crafting = {
    ["Weapons"] = {
        icon = "fa-gun",
        workbench = {"weapon_bench", "advanced_bench"},
        items = {
            ["weapon_pistol"] = {
                name = "weapon_pistol",
                label = "Combat Pistol",
                description = "A standard combat pistol for personal protection and law enforcement.",
                levelReq = 1,
                xp = 25,
                craftTime = 8,
                maxAmount = 5,
                recipe = {
                    ["steel"] = 10,
                    ["plastic"] = 5,
                },
            },
            ["weapon_smg"] = {
                name = "weapon_smg",
                label = "Micro SMG",
                description = "A compact submachine gun with high rate of fire.",
                levelReq = 5,
                xp = 50,
                craftTime = 15,
                maxAmount = 2,
                recipe = {
                    ["steel"] = 25,
                    ["plastic"] = 10,
                    ["rubber"] = 3,
                },
            },
            ["weapon_carbinerifle"] = {
                name = "weapon_carbinerifle",
                label = "Carbine Rifle",
                description = "High-powered rifle for professional use.",
                levelReq = 10,
                xp = 100,
                craftTime = 30,
                maxAmount = 1,
                recipe = {
                    ["steel"] = 50,
                    ["plastic"] = 20,
                    ["rubber"] = 8,
                    ["aluminum"] = 15,
                },
            },
        }
    },
    ["Tools"] = {
        icon = "fa-wrench",
        workbench = {"weapon_bench", "general_bench", "advanced_bench"},
        items = {
            ["lockpick"] = {
                name = "lockpick",
                label = "Lockpick",
                description = "A tool used for picking locks. Handle with care.",
                levelReq = 1,
                xp = 5,
                craftTime = 3,
                maxAmount = 50,
                recipe = {
                    ["metalscrap"] = 2,
                    ["plastic"] = 1,
                },
            },
            ["advancedlockpick"] = {
                name = "advancedlockpick",
                label = "Advanced Lockpick",
                description = "An electronic lockpicking device for complex locks.",
                levelReq = 3,
                xp = 15,
                craftTime = 8,
                maxAmount = 10,
                recipe = {
                    ["metalscrap"] = 5,
                    ["plastic"] = 3,
                    ["electronickit"] = 1,
                },
            },
            ["repairkit"] = {
                name = "repairkit",
                label = "Repair Kit",
                description = "Basic repair kit for vehicle maintenance.",
                levelReq = 2,
                xp = 10,
                craftTime = 5,
                maxAmount = 20,
                recipe = {
                    ["metalscrap"] = 4,
                    ["plastic"] = 2,
                    ["rubber"] = 2,
                },
            },
        }
    },
    ["Electronics"] = {
        icon = "fa-microchip",
        workbench = {"advanced_bench"},
        items = {
            ["phone"] = {
                name = "phone",
                label = "Smartphone",
                description = "A modern smartphone with various features.",
                levelReq = 4,
                xp = 30,
                craftTime = 12,
                maxAmount = 5,
                recipe = {
                    ["plastic"] = 8,
                    ["aluminum"] = 5,
                    ["electronickit"] = 2,
                    ["glass"] = 1,
                },
            },
            ["radio"] = {
                name = "radio",
                label = "Radio",
                description = "Portable radio for communication.",
                levelReq = 2,
                xp = 20,
                craftTime = 7,
                maxAmount = 10,
                recipe = {
                    ["plastic"] = 5,
                    ["metalscrap"] = 3,
                    ["electronickit"] = 1,
                },
            },
        }
    },
    ["Medical"] = {
        icon = "fa-plus",
        workbench = {"advanced_bench"},
        items = {
            ["firstaid"] = {
                name = "firstaid",
                label = "First Aid Kit",
                description = "Comprehensive first aid kit for emergencies.",
                levelReq = 3,
                xp = 15,
                craftTime = 10,
                maxAmount = 20,
                recipe = {
                    ["bandage"] = 5,
                    ["plastic"] = 2,
                },
            },
        }
    },
}

Config.DismantleItems = {
    items = {
        ["weapon_pistol"] = {
            name = "weapon_pistol",
            label = "Combat Pistol",
            xp = 8,
            rewards = {
                ["steel"] = {3, 6},
                ["plastic"] = {1, 3},
            }
        },
        ["weapon_smg"] = {
            name = "weapon_smg",
            label = "Micro SMG",
            xp = 15,
            rewards = {
                ["steel"] = {8, 15},
                ["plastic"] = {3, 7},
                ["rubber"] = {1, 2},
            }
        },
        ["weapon_carbinerifle"] = {
            name = "weapon_carbinerifle",
            label = "Carbine Rifle",
            xp = 30,
            rewards = {
                ["steel"] = {20, 35},
                ["plastic"] = {8, 15},
                ["rubber"] = {3, 6},
                ["aluminum"] = {5, 12},
            }
        },
        ["lockpick"] = {
            name = "lockpick",
            label = "Lockpick",
            xp = 2,
            rewards = {
                ["metalscrap"] = {1, 2},
            }
        },
        ["advancedlockpick"] = {
            name = "advancedlockpick",
            label = "Advanced Lockpick",
            xp = 5,
            rewards = {
                ["metalscrap"] = {2, 4},
                ["plastic"] = {1, 2},
            }
        },
        ["repairkit"] = {
            name = "repairkit",
            label = "Repair Kit",
            xp = 4,
            rewards = {
                ["metalscrap"] = {2, 3},
                ["plastic"] = {1, 2},
                ["rubber"] = {1, 2},
            }
        },
        ["phone"] = {
            name = "phone",
            label = "Smartphone",
            xp = 12,
            rewards = {
                ["plastic"] = {3, 6},
                ["aluminum"] = {2, 4},
                ["metalscrap"] = {1, 3},
            }
        },
        ["radio"] = {
            name = "radio",
            label = "Radio",
            xp = 8,
            rewards = {
                ["plastic"] = {2, 4},
                ["metalscrap"] = {1, 3},
            }
        },
        ["firstaid"] = {
            name = "firstaid",
            label = "First Aid Kit",
            xp = 6,
            rewards = {
                ["bandage"] = {2, 4},
                ["plastic"] = {0, 1},
            }
        },
    }
}

:handshake: Support & Community

Need help, updates, or want to suggest features?
Join the AP5 Studios Community on Discord
:point_right: Click here to join: AP5 Studios


Other Releases

Additional Info

Code Access No
Subscription-based No
Lines of Code ~3000
Requirements None
Support Yes