# Job Center Locations

Easily add more job center locations via  `Config.Locations`

***

{% hint style="warning" %}
IMPORTANT INFORMATION
{% endhint %}

* The `key` is the location name and must be unique
* The zone `coords` must be a `vector4` value as this is shared with the ped (if enabled)
* The zone `size` must be a `vector3` value
* The jobs you list in the jobs table must exist in your jobs.lua file
* The licenses you list in the licenses table must exist in your qb-core/config.lua file in the licenses metadata table

***

{% hint style="success" %}
Location Name
{% endhint %}

* The `key` is the location name and must be unqiue

```lua
['My Custom Location'] = { -- the key is the location name
    ---
},
```

***

{% hint style="success" %}
Zone
{% endhint %}

* To enable visual debugging of the zone location set debug to true if the ped for this location is disabled
* The `coords` must be `vector4`
* The `size` must be `vector3`

```lua
['My Custom Location'] = { -- the key is the location name
    zone = { -- zone settings
        debug = false, -- enable zone debug if ped is disabled
        coords = vector4(-545.12, -203.98, 38.22, 210.9), -- must be vector4
        size = vector3(2.0, 2.0, 2.0), -- must be vector3
    },
    ---
},
```

***

{% hint style="success" %}
Target
{% endhint %}

* If required you can set a ped to spawn (if disabled then a target zone is created instead) by setting ped to true
* The model is the ped model you want to use (ped models: [https://docs.fivem.net/docs/game-references/ped-models/](https://docs.fivem.net/docs/game-references/ped-models/))
* You can specify a scenario for the ped to use
* The icon is the target icon
* The label is the target label
* The distance is the max target interaction distance

```lua
['My Custom Location'] = { -- the key is the location name
    --
    target = { -- ped settings
        ped = true, -- enalbe ped in this location if set to false just the zone spawns
        model = 'a_m_m_prolhost_01', -- ped model
        scenario = 'WORLD_HUMAN_AA_COFFEE', -- scenario to play if a ped is used
        icon = 'fa-solid fa-clipboard', -- target icon
        label = 'Employment Info', -- target label
        distance = 3.0, -- target distance
    },
    --
},
```

***

{% hint style="success" %}
Blip
{% endhint %}

* If required each location can have its own blip
* The id is the blip id
* The colour is the blip colour
* The scale is the blip scale
* The title is the blip name (advised to keep these the same name to group them up and prevent map issues)

```lua
['My Custom Location'] = { -- the key is the location name
    --
    blip = { -- blip settings
        enabled = true, -- set to true to enable blips for this location
        id = 126, -- blip id
        colour = 3, -- blip colour
        scale = 0.6, -- blip scale
        title = 'City Hall Services', -- blip title
    },
    --
},
```

***

{% hint style="success" %}
Progress Circle
{% endhint %}

* When getting licenses or identity documents a small progress circle is played with an animation and a prop
* The duration is the duration of the progress circle
* The label is the label for the progress circle
* Define animation data in the anim table
* Define prop data in the prop table

```lua
['My Custom Location'] = { -- the key is the location name
    --
    progress = { -- progressCircle settings
        duration = 5000, -- duration of progress circle
        label = 'Filling out required information', -- progress circle label
        anim = { -- animation settings
            anim = 'missheistdockssetup1clipboard@base', -- anim name
            dict = 'base', -- anim dict
            flag = 49, -- anim flag
        },
        prop = { -- prop settings
            model = 'prop_notepad_01', -- prop name
            bone = 18905, -- bone index
            pos = vec3(0.1, 0.02, 0.05), -- prop position must be vec3
            rot = vec3(10.0, 0.0, 0.0), -- prop rotation must be vec3
        },
    },
    --
},
```

***

{% hint style="success" %}
Jobs
{% endhint %}

* You can add jobs where required to each location using the jobs table
* Ensure the jobs you add are in your jobs.lua file
* The `key` is the job name
* The info is a small description of that job for the menu

```lua
['My Custom Location'] = { -- the key is the location name
    --
    jobs = { -- job settings
        ['bus'] = { -- the key is the job name
            info = 'Collect and drop off passengers', -- job description
        },
        ['trucker'] = { -- the key is the job name
            info = 'Complete various deliveries', -- job description
        },
        ['tow'] = { -- the key is the job name
            info = 'Tow stranded vehicles to repair stations', -- job description
        },
        ['garbage'] = { -- the key is the job name
            info = 'Collect and dispose of rubbish', -- job description
        },
        ['vineyard'] = { -- the key is the job name
            info = 'Collect fruits and process into various products', -- job description
        },
        ['hotdog'] = { -- the key is the job name
            info = 'Get your hotdogs, hotdogs here!', -- job description
        },
        ['taxi'] = { -- the key is the job name
            info = 'Collect and drop off passengers', -- job description
        },
        --add more jobs as required for this location making sure the jobs you add are in qb-core/shared/jobs.lua file
    },
    --
},
```

***

{% hint style="success" %}
Licenses
{% endhint %}

* You can add licenses where required to each location in the licenses table
* Ensure the licenses you add are in your qb-core/config.lua file in the license metadata table
* The `key` is the licenses name
* The `info` is a small description of that license
* The `cost` is the cost to purchase that license
* The `item` is the item name given when purchasing that license ensure this exists in your items.lua and also ensure you have added the relevant data you wish to be added in the following callback `lusty94_jobcenter:server:giveLicense`
* Ensure you also add the relevant data you wish to be displayed in the following event `lusty94_jobcenter:server:useItem`
* Ensure you also add the respective item name to the `useableItems` table in server/funcs.lua if adding custom licenses to ensure it is useable

```lua
['My Custom Location'] = { -- the key is the location name
    --
    licenses = { -- license settings
        ['driver'] = { -- the key is the license name
            info = 'Allows you to drive vehicles on the public roads', -- license description
            cost = 1000, -- license cost
            item = 'driving_license', -- item name to give
        },
        ['business'] = { -- the key is the license name
            info = 'Allows you to own a public business', -- license description
            cost = 5000, -- license cost
            item = 'business_license', -- item name to give
            rank = 3, -- job rank required to get license
        },
        ['weapon'] = { -- the key is the license name
            info = 'Allows you to legally own a firearm, just don\'t be stupid!', -- license description
            cost = 10000, -- license cost
            item = 'weapon_license', -- item name to give
        },
        --add more licenses as required for this location making sure the licenses you add are in the license metadata table in qb-core/config.lua
    },
    --
},
```

***

{% hint style="success" %}
Identity Documents
{% endhint %}

* You can add identity documents where required for each location in the identity table
* The `key` is the item name and must be in your items.lua as it gets the label of it for the menu
* The `info` is a small description of that identity document
* The `cost` is the cost to purchase that item and can be set to 0 if required
* The `item` is the item name received and must be in your items.lua
* The `requiredJob` is the job required to purchase that document
* The `rank` is the required rank of that job to purchase that document

&#x20;

```lua
['My Custom Location'] = { -- the key is the location name
    --
    identity = { -- identity settings
        ['passport'] = { -- the key is the document name
            info = 'An important identity document which allows travel to other countries', -- document description
            cost = 1000, -- document cost
            item = 'passport', -- item name to give
        },
        ['lawyerpass'] = { -- the key is the document name
            info = 'A legal document showing your lawyer status', -- document description
            cost = 1000, -- document cost
            item = 'lawyerpass', -- item name to give
            requiredJob = 'lawyer', -- required job to get this document
            rank = 0, -- job rank required to get document
        },
        ['police_badge'] = { -- the key is the document name
            info = 'An official Police badge', -- document description
            cost = 100, -- document cost
            item = 'police_badge', -- item name to give
            requiredJob = 'police', -- required job to get this document
            rank = 1, -- job rank required to get document
        },
        ['medic_badge'] = { -- the key is the document name
            info = 'An official Medical badge', -- document description
            cost = 100, -- document cost
            item = 'medic_badge', -- item name to give
            requiredJob = 'ambulance', -- required job to get this document
            rank = 1, -- job rank required to get document
        },
        --add more licenses as required for this location making sure the licenses you add are in the license metadata table in qb-core/config.lua
    },
},
```

&#x20;

