🛠️Creating a Crafting Table

There are two ways to create crafting tables in dynyx_crafting:

  1. Pre-Defined Tables – Static benches placed at set locations on the map

  2. Placeable Tables – Player-placed benches that spawn when using an inventory item


📍 Option 1: Pre-Defined Crafting Tables

These are static benches you configure in Config.PreSetTables. They spawn automatically at fixed world coordinates when the server starts.

✅ When to Use:

  • Job-specific or gang-specific crafting areas

  • Permanent crafting zones like mechanic shops or labs

  • Controlled access benches (e.g., whitelist players or jobs)


🔧 Step-by-Step: Pre-Defined Table Setup

1️⃣ Open config.lua

Scroll to:

Config.PreSetTables = {

2️⃣ Copy this sample template:

["Table_BlackMarket"] = {
    Label = "Black Market Bench", -- UI name
    BenchProp = "gr_prop_gr_bench_02a", -- Prop model
    BenchCoords = vector4(135.76, -1048.23, 29.37, 180.0), -- World location
    Groups = { "lostmc" }, -- Job/gang access (optional)
    CitizenID = { "ABCD1234" }, -- Specific player access (optional)

    ["Items"] = {
        ["weapon_pistol"] = {
            Label = "Pistol",
            DefaultQuantity = 1,
            XPEnable = true,
            Level = 2,
            xpGain = 5,
            UseBlueprint = true,
            BlueprintItem = "blueprint_pistol",
            ShowOnList = false,
            RemoveBlueprint = false,
            ConsumeDurability = 0,

            ["Material"] = {
                ["steel"] = { Label = "Steel", amount = 3 },
                ["rubber"] = { Label = "Rubber", amount = 2 }
            },

            ["Prop"] = {
                model = "w_pi_pistol",
                offset = vector3(1.3, 0.0, -0.3),
                rotation = vector3(0, 0, 0)
            }
        }
    }
}

3️⃣ Paste it inside Config.PreSetTables

Make sure each table is separated by a comma:

Config.PreSetTables = {
    ["Table1"] = { ... },
    ["Table_BlackMarket"] = { ... } -- New table
}

🔄 Customize the Table:

Field
Description

["Table_BlackMarket"]

Unique key for this table

Label

Name shown in UI

BenchProp

The bench model placed in the world

BenchCoords

X, Y, Z, and heading location

Groups

Optional job/gang access

CitizenID

Optional player whitelist

["Items"]

Recipes assigned to this bench

Use /copycoords or a similar command to get your coordinates easily.


🎒 Option 2: Placeable Crafting Tables

These are benches players can place using inventory items. Once placed, the bench spawns and is interactable for crafting.

✅ When to Use:

  • Portable crafting kits

  • Temporary crafting benches (like black market or outdoor workbenches)

  • Player-owned or limited-use stations


🔧 Step-by-Step: Placeable Table Setup

1️⃣ Open config.lua

Scroll to:

Config.PlaceableTables = {

2️⃣ Copy this sample template:

["portable_gunbench"] = {
    Label = "Portable Gun Bench",
    BenchProp = "gr_prop_gr_bench_02a",

    ["Items"] = {
        ["weapon_pistol"] = {
            Label = "Pistol",
            DefaultQuantity = 1,
            XPEnable = false,
            Level = 0,
            xpGain = 0,
            UseBlueprint = false,
            ShowOnList = true,
            RemoveBlueprint = false,
            ConsumeDurability = 0,

            ["Material"] = {
                ["metal_scrap"] = { Label = "Scrap Metal", amount = 4 }
            },

            ["Prop"] = {
                model = "w_pi_pistol",
                offset = vector3(1.2, 0.0, -0.3),
                rotation = vector3(0, 0, 0)
            }
        }
    }
}

3️⃣ Paste it inside Config.PlaceableTables

Make sure it’s formatted correctly:

Config.PlaceableTables = {
    ["table_weapon"] = { ... },
    ["portable_gunbench"] = { ... } -- New table
}

🔄 Customize the Table:

Field
Description

["portable_gunbench"]

Must match the usable item name

Label

UI name

BenchProp

The prop to spawn

["Items"]

Recipes with XP, blueprint, and material settings

🔑 Important: The item name (portable_gunbench) must exist in your inventory system and be marked as usable.


🕐 Optional: Set Table Duration

Control how long the placed table stays in the world:

Config.LifetimeofBench = 600 -- 10 minutes

Set to 999999 to make it stay forever.


🧠 Best Practices & Tips

  • Use jobs/gangs for role-specific crafting in PreSet tables.

  • Placeable tables are perfect for black markets or gang reward items.

  • Always use unique keys (["table_name"]) to prevent conflicts.

  • You can share crafting recipes between tables or make them unique to each.

Last updated