> For the complete documentation index, see [llms.txt](https://docs.tworst.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tworst.com/getting-started-installation/scripts/fashion-job/configuration.md).

# Configuration

Complete configuration reference for the Multiplayer Fashion & Print Job.

***

## Configuration Files

The script uses multiple configuration files located in the `config/` folder:

| File             | Purpose                                           |
| ---------------- | ------------------------------------------------- |
| `config.lua`     | Main configuration (framework, settings, rewards) |
| `coordinate.lua` | Location coordinates for all job areas            |
| `GetCore.lua`    | Framework detection (usually don't modify)        |

***

## Basic Settings

### Framework & Core

```lua
-- Framework Selection
-- Options: 'qb', 'oldqb', 'esx', 'oldesx', 'vrp', 'vrp2', 'standalone'
Config.Framework = 'qb'

-- Language (Available: 'en', 'tr', 'de', 'fr', 'pt', 'ru', 'ar')
Config.Locale = 'en'

-- Currency Display
Config.CurrencyUnit = '$'  -- Options: '$', '€', '₺'

-- Database Resource
Config.SQL = "oxmysql"  -- Options: 'oxmysql', 'mysql-async', 'ghmattimysql'
```

{% hint style="info" %}
**QBox Users:** QBox is fully compatible. Set `Config.Framework = 'qb'` for QBox servers.
{% endhint %}

***

## Inventory Settings

```lua
-- Inventory System (ignored in standalone mode)
Config.Inventory = "qb_inventory"
-- Options: 'qb_inventory', 'esx_inventory', 'ox_inventory', 'qs_inventory', 'tgiann-inventory'

-- Inventory Images Path (adjust based on your inventory)
Config.InventoryImagePath = "nui://qb-inventory/html/images/"
```

***

## Interaction Settings

```lua
-- Interaction Handler
Config.InteractionHandler = 'drawtext'  -- Options: 'drawtext', 'ox-target'
```

***

## Server & Display Settings

```lua
-- Server Name (displayed in UI)
Config.ServerName = "TWORST"  -- Max 10 characters

-- Money Settings
Config.MoneyType = "$"        -- Currency symbol in UI
Config.MoneyType2 = "bank"    -- Payment type: 'bank' or 'cash'
```

***

## Job Settings

### Factory Settings

```lua
-- Maximum Clothes Waiting
Config.MaxWaitingClothes = 4  -- Max items in queue

-- Enable Script Sounds
Config.Sounds = true
```

### Commands

```lua
Config.Command = {
    jobReset = "jobresetfashion",      -- Reset current job
    jobLeave = "jobleavefashion",      -- Leave lobby
    openTutorial = "openTutorialfashion", -- Open tutorial menu
}
```

***

## Location Settings

```lua
-- Main Factory Location
Config.FactoryLocation = vector3(722.07, -976.57, 24.13)

-- Market Location
Config.MarketLocation = vector3(452.32, -787.34, 27.36)
```

***

## Vehicle Settings

```lua
-- Delivery Vehicle
Config.Vehicle = "burrito4"  -- Delivery van model

-- Vehicle Key System
Config.Vehiclekey = true

-- Remove Keys on Job End
Config.Removekeys = true
```

The script **auto-detects** your vehicle key system:

* qb-vehiclekeys
* qbx-vehiclekeys
* qs-vehiclekeys
* wasabi-carlock
* cd\_garage
* Renewed-Vehiclekeys

***

## Clothing System

```lua
-- Enable Job Clothing
Config.ChangeClothesSystem = false  -- true/false

-- Clothing Script
Config.ClothingScript = "qb-clothing"
-- Options: 'qb-clothing', 'illenium-appearance', 'fivem-appearance', 'esx_skin', 'rcore_clothing'
```

***

## Debug Settings

```lua
-- Debug Mode (shows console messages)
Config.Debug = false

-- Debug Commands (enables testing commands)
Config.DebugCommands = false
```

{% hint style="warning" %}
**Production Servers:** Always set `Config.Debug = false` and `Config.DebugCommands = false` for better performance!
{% endhint %}

***

## Market Items Configuration

Configure items available in the market:

```lua
Config.MarketItems = {
    { item = "wool", price = 150, label = "Wool" },
    { item = "dye_darkblue", price = 250, label = "Dark Blue Dye" },
    { item = "dye_purple", price = 250, label = "Purple Dye" },
    { item = "dye_black", price = 250, label = "Black Dye" },
    { item = "dye_white", price = 250, label = "White Dye" },
    { item = "dye_blue", price = 250, label = "Blue Dye" },
}
```

***

## Available Colors

```lua
Config.Colors = {
    "darkblue",
    "purple",
    "black",
    "white",
    "blue"
}
```

***

## Region & Rewards

Configure work regions and their rewards:

```lua
['regionData'] = {
    {
        regionID = 1,
        regionInfo = {
            regionName = "Beginner",
            regionMinimumLevel = 0
        },
        regionAwards = {
            money = 5000,
            xp = 1000,
        },
        tasks = {
            tshirtCount = 1,
            sweaterCount = 1,
            colorCount = 1,
            deliveryCount = 2,
        },
    },
    {
        regionID = 2,
        regionInfo = {
            regionName = "Intermediate",
            regionMinimumLevel = 2
        },
        regionAwards = {
            money = 10000,
            xp = 2000,
        },
        tasks = {
            tshirtCount = 2,
            sweaterCount = 2,
            colorCount = 3,
            deliveryCount = 3,
        },
    },
    -- Regions 3-4 with increasing tasks and rewards
}
```

***

## Task Configuration

Configure tasks per region:

```lua
['tshirtCrafting'] = {
    taskCount = 2,      -- Number of t-shirts to make
    colorCount = 3,     -- Number of different colors
},
['sweaterCrafting'] = {
    taskCount = 2,      -- Number of sweaters to make
    colorCount = 3,     -- Number of different colors
},
['boxLoading'] = {
    taskCount = 4,      -- Number of boxes to load
},
['delivery'] = {
    taskCount = 4,      -- Number of deliveries to make
},
```

***

## Delivery Bonuses

Configure per-item delivery bonuses:

```lua
Config.DeliveryBonus = {
    perTshirt = 100,    -- Bonus per t-shirt delivered
    perSweater = 150,   -- Bonus per sweater delivered
}
```

***

## Level System

Configure XP required for each level (up to level 70):

```lua
Config.RequiredXP = {
    [1] = 1000,
    [2] = 1500,
    [3] = 2000,
    [4] = 2500,
    [5] = 3000,
    -- ... up to level 70
    [70] = 45500,
}
```

***

## Reconnection System

Configure player reconnection settings:

```lua
Config.Reconnection = {
    enabled = true,                    -- Enable reconnection
    gracePeriodSeconds = 0,            -- 0 = unlimited until lobby closes
    maxReconnectAttempts = 3,          -- Max reconnection attempts
    resetAttemptsAfterSeconds = 300,   -- Reset after 5 minutes stable
    autoCleanupExpired = true,         -- Auto-remove expired players

    ownerTransfer = {
        enabled = true,                -- Transfer ownership if owner disconnects
        allowRejoinAsMember = true,    -- Owner can rejoin as member
        prioritizeByScore = true,      -- Highest score becomes owner
        minimumLobbyTime = 60,         -- Min time to be eligible for transfer
    },
}
```

***

## UI Positions

Customize UI element positions:

```lua
Config.DefaultUIPositions = {
    teamList = { top = '77.22vh', left = '85.94vw' },
    scoreList = { top = '2.64vh', left = '1.61vw' },
    inviteSide = { top = '2.85vh', left = '73.07vw' },
    notificationDiv = { top = '40.48vh', left = '81.54vw' },
    keyInfoSide = { top = '50%', right = '2.0833vw' },
}
```

{% hint style="info" %}
Players can also adjust UI positions in-game through the settings menu!
{% endhint %}

***

## Need Help?

{% hint style="info" %}
Having configuration issues? Join our [Discord server](https://discord.gg/tworst) and open a support ticket.
{% endhint %}
