# Installation

## blip-manager

#### For blips that should change on job switch, for instance the regular job-center jobs use the below

```lua
TriggerEvent('doughJobmanager:client:registerBlip', {
    unique = JOBNAME, -- for the automatic switch, this has to be the jobname
    label = LABEL, -- this can be anything, label for the UI
    job = true, -- if this is a job, true.. else remove line or false
    state = false, -- enable the blip by default? leave false for these jobs
    blipData = {
        coords = BLIPCOORDS, -- coords for the specific blip (v.blipCoords..)
        sprite = BLIPSPRITE, -- sprite for the specific blip (v.blipSprite..)
        scale = 0.65, -- scale for the specific blip (v.blipScale..)
        colour = BLIPCOLOUR, -- colour for the specific blip (v.blipColour..)
        blipLabel = BLIPLABEL -- label for the specific blip (v.blipLabel..)
    }
})
```

{% hint style="info" %}
All data inside `blipData` should be unique to each blip you want to register for the job
{% endhint %}

{% hint style="warning" %}
This is only a example of how to use the event!&#x20;
{% endhint %}

```lua
Citizen.CreateThread(function()
    for k,v in pairs(Jobs) do 
        for i=1, #v.location, 1 do  
            TriggerEvent('doughJobmanager:client:registerBlip', {
                unique = v.jobName,
                label = k,
                job = true,
                state = false,
                blipData = {
                    coords = v.location[i].coords,
                    sprite = v.location[i].blip.sprite,
                    scale = 0.65,
                    colour = v.location[i].blip.color,
                    blipLabel = v.location[i].blip.blipName
                }
            })
        end
    end
end)
```

#### For all "regular" blips that should be availble to everyone, all the time:

```lua
TriggerEvent('doughJobmanager:client:registerBlip', {
    unique = 'garages', -- unique name for all blips in this "category"
    label = 'Garage Blips', -- label for the UI
    single = false, -- is there only 1 blip with this unique?
    state = false, -- enable the blip by default?
    blipData = {
        coords = v.coords,
        sprite = Config.Blip[v.Type].sprite,
        scale = 0.65,
        colour = Config.Blip[v.Type].colour,
        blipLabel = 'Garage Blips'
    }
})
```

## menu-triggers

#### This script comes with no triggers to open the menus. You will need to trigger them yourself

```lua
-- CLIENT EVENTS
TriggerEvent('doughJobmanager:client:blipmanager')
TriggerEvent('doughJobmanager:client:jobcenter')
TriggerEvent('doughJobmanager:client:bossmenu')
```

## other-settings

#### Inside of `client/public.lua` there are various other edits you can make to fit your specific needs. Change how notifications work, add jobcenters, and there are premade commands and examples on how to use the functions

#### By default the blipmanager is accessed by a command `blipmanager`. To disable this comment out `client/public.lua 75:77`

{% hint style="warning" %}
All the in-UI notifications are permanent and **CANNOT** be edited.&#x20;
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.dough.land/doughjobmanager/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
