> For the complete documentation index, see [llms.txt](https://wiki.dough.land/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.dough.land/doughjobmanager/installation.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
