# How To Do

## How To <mark style="color:yellow;">Jobs works?</mark>

Use the <mark style="color:$success;">**`/jobhelp`**</mark> command to learn how jobs work.

This command will work differently for each job. It will open a job-specific introduction menu.

***

## How to enable <mark style="color:yellow;">SideJob</mark> - Other Job option

With this feature, you can enable people to use this system as a 2nd or 3rd profession by not using setJob functions by core.

```lua
Config.SideJob = true -- If you want to use the side job system, you can activate it here. If you want to use the main job system, you can disable it.
```

***

## <mark style="color:yellow;">Send Trigger</mark> when a job is finished

When a profession is finished, you can send a Trigger/Export to another script using the function below with the finished profession information.

{% hint style="success" %}
**So you can give things like Vehicle, Item, XP, Daily reward, Extra item.**
{% endhint %}

```lua
Config.JobSuccess = function(job, reward, index, currTime, usedExtraTime)
    print('Job Success', job, reward, index, currTime, usedExtraTime)
    -- Here your extra codes
end
```

***

## Making a <mark style="color:yellow;">Level query</mark> when choosing a job

If you have a Level script on your server, you can make a query by finding the codes and file below. Thus, people will no longer be able to take that job without having the required level.

{% hint style="warning" %} <mark style="color:red;">**wais-jobpack Script does not have its own Level/XP System.**</mark>**&#x20;This process applies to people using an additional script.**
{% endhint %}

For this go to the following file path. <mark style="background-color:yellow;">**wais-jobpack/client/editable.lua**</mark>

<pre class="language-lua"><code class="lang-lua">function selectJob(job)
    -- You can put your own queries or content here. 
    -- If you want to use the level system, you can add the user level query here.
    
<strong>    -- ENTER YOUR LEVEL QUERY HERE
</strong><strong>    -- ENTER YOUR LEVEL QUERY HERE
</strong><strong>    
</strong><strong>    local playerLevel = exports["my-level-script"]:getLevel()
</strong><strong>    local jobLevels = {
</strong><strong>            ["pizza_delivery"] = 1
</strong><strong>            ["news_delivery"] = 1,
</strong><strong>            ["mobile_hotdog"] = 1,
</strong><strong>            ["forklifter"] = 4,
</strong><strong>            ["gardener"] = 4,
</strong><strong>            ["trucker"] = 5,
</strong><strong>            ["roadhelper"] = 6,
</strong><strong>            ["bus_driver"] = 6,
</strong><strong>            ["fire_department"] = 8,
</strong><strong>            ["hunter"] = 8,
</strong><strong>            ["detectorist"] = 5,
</strong><strong>            ["project_car"] = 10,
</strong><strong>            ["diver"] = 5,
</strong><strong>            
</strong><strong>            --["job-name"] = Required level ---@number
</strong><strong>            -- Add here the level required for the professions in the Config to be used as above
</strong><strong>        }
</strong><strong>    
</strong><strong>    if jobLevels[job] ~= nil and jobLevels[job] &#x3C; playerLevel then
</strong><strong>        -- The player does not have enough Level to perform this job.
</strong><strong>        return Config.Notification(Lang('job'), "Your level is not enough", "error", 5000)
</strong><strong>    end
</strong><strong>    
</strong><strong>    --If the player's Level is sufficient for the profession he will take, the following codes will work
</strong>    
    if Config.SideJob then
        TriggerEvent('wais:set:sideJob', job)
    else
        TriggerServerEvent('wais:setJob', job)
    end
    SetNewWaypoint(Config.Jobs[job].menu.job_menu.x, Config.Jobs[job].menu.job_menu.y)
end
</code></pre>

***

## <mark style="color:yellow;">Crane/Bucket Controls</mark> of Electrician Job

If you are doing the job in Multiplayer:

* Get in the driver's seat.
* Have your friend take the seat next to you.
* Press H long in the driver's seat and lower the vehicle's feet to the ground.
* Once the legs of the vehicle are on the ground, your friend will be given the option to switch to Crane/Bucket. He can start controlling it by pressing that button.

{% hint style="danger" %}
**The person who will provide the Crane/Bucket controls of the vehicle must definitely have the profession of “electrician” as a SideJob or CurrentJob.**
{% endhint %}

***

## <mark style="color:$success;">Run with a build version lower than</mark> <mark style="color:$success;">**3258**</mark>

You can run the jobpack on version 3095 or lower. To do so, follow these steps:

* Find and delete the code gameBuild:3258 in fxmanifest.lua.
* Go to the pizza\_delivery table in the Config file and find the variable ***\[“disabled”] = false***. Change the value from <mark style="color:$warning;">**`false`**</mark> to <mark style="color:$success;">**`true`**</mark>.

{% hint style="danger" %}
As a result, you won't be able to use your pizza job in any way.
{% endhint %}

***

## <mark style="color:$warning;">Have a job but nothing is happening / showing</mark>

The reason for this is that you have not set up the jobs or have set them up incorrectly.

* For <mark style="color:orange;">**ESX**</mark>, you need to read or add the jobs to the <mark style="color:$info;">**job**</mark> and <mark style="color:$info;">**job\_grades**</mark> <mark style="color:$warning;">**tables**</mark>.
* For <mark style="color:$success;">**QBCore || QBox**</mark>, you need to define the jobs in **Jobs.lua**.

***

## Bus job / <mark style="color:$warning;">Peds doesn't spawn</mark> on bus stop

* This is usually caused by a script that deletes ped spawn points on the anti-cheat or client side.
* Add ped or wais-jobpack to the whitelist in your anti-cheat or blacklist script. This will resolve the issue.

***

## Diver / <mark style="color:$warning;">Doesn't give Sea Urchin</mark>

* Collected sea corals and other such items are not given to you as items.
* The job will come to an end when all the necessary corals and other items have been collected.

***

## <mark style="color:$warning;">Vehicles / NPCs</mark> are <mark style="color:$warning;">disappearing</mark>, Weapons are being <mark style="color:$warning;">deleted</mark>

* The reason for the problem is very clear: the jobpack script does not remove these tools or NPCs until the job is complete.
* **These are Anticheat or Blacklist scripts that protect your server from cheaters**.
* Make the wais-jobpack safe in your anti-cheat script. Or try adding NPCs, vehicles, and weapons in the config to the safe list.

***

## Skill Check <mark style="color:$warning;">too fast</mark>

Changing this is very easy. Do the following:

* Go to this file: <mark style="color:yellow;">**wais-jobpack/client/editable.lua**</mark>
* **Find the skillCheck function** and change values such as <mark style="color:$success;">**medium, hard, easy**</mark><mark style="color:$success;">.</mark>

***

## Uniform / <mark style="color:$warning;">Clothing Requirement</mark>

People can start careers without the right attire. To change this, do the following:

* Go to this file: <mark style="color:yellow;">**wais-jobpack/config.lua**</mark>
* Find the `Config.MustDressOutfit = false` variable and change the value from <mark style="color:$primary;">`false`</mark> to <mark style="color:$success;">`true`</mark>.


---

# 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://docs.0resmon.org/0resmon/0resmon-1/wais-resoucres/wais-jobpack/how-to-do.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.
