> For the complete documentation index, see [llms.txt](https://docs.t1ger.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.t1ger.net/resources/t1ger-mechanic/troubleshoot/faq.md).

# FAQ

{% hint style="success" %}

## Could not find dependency `t1ger_mechanicprops` for resource `t1ger_mechanic`

The props asset is new and has been added to the [Granted Assets](https://portal.cfx.re/assets/granted-assets) in Cfx.re Portal of the account that originally purchased the mechanic script.

If you can’t find it:

* You likely had the script transferred from someone else. Ask them to also transfer the props asset.
* If the script was gifted via the webstore (we can check) and the props didn’t show up, open a ticket on our [Discord](https://discord.gg/t1ger) — we can manually resend it.
* If you **don’t have access to the original purchasing account**, we cannot help. The asset can only be resent to the account that made the original purchase.
* We **do not send or sell the props separately**. Buying from resellers or third parties is not supported - nor our issue to take care of.
  {% endhint %}

***

{% hint style="success" %}

## `sv_enforceGameBuild` needs to be at least 3258

Build 3258 is required to use a native that detects electric vehicles. If you prefer using a lower build:

1. Open `fxmanifest.lua` and lower or comment out the `gameBuild` dependency.
2. Manually configure your electric vehicles in `Config.ElectricVehicles`.
   {% endhint %}

***

{% hint style="success" %}

## Failed to insert job

This is an error you are likely to see on `es_extended` when creating shops/jobs in runtime. All you have to do is:

1. Open `createJob.lua` located inside `es_extended/server/modules`. If you do not have a `createJob.lua` file or modules folder, then open `functions.lua` inside `es_extended/server`.
2. Locate the function named: `ESX.CreateJob`.
3. Replace the entire function with the following code:

```lua
--- Create Job at Runtime
--- @param name string
--- @param label string
--- @param grades table
function ESX.CreateJob(name, label, grades)
  local currentResourceName = GetInvokingResource()
  local success = false

  if not name or name == '' then
      print("ERROR",currentResourceName, 'Missing argument `name`')
      return success
  end

  if not label or label == '' then
      print("ERROR",currentResourceName, 'Missing argument `label`')
      return success
  end

  if type(grades) ~= "table" or not next(grades) then
      print("ERROR",currentResourceName, 'Missing argument `grades`')
      return success
  end

  if ESX.DoesJobExist(name, 0) then
      print("ERROR",currentResourceName, 'Job already exists: `%s`', name)
      return success
  end

  local queries = {
      { query = 'INSERT INTO jobs (name, label) VALUES (?, ?)', values = { name, label } }
  }

  for _, grade in pairs(grades) do
      queries[#queries + 1] = {
          query = 'INSERT INTO job_grades (job_name, grade, name, label, salary, skin_male, skin_female) VALUES (?, ?, ?, ?, ?, ?, ?)',
          values = { name, grade.grade, grade.name, grade.label, grade.salary, type(grade.skin_male) == "table" and json.encode(grade.skin_male) or '{}', type(grade.skin_female) == "table" and json.encode(grade.skin_female) or '{}' }
      }
  end

  success = exports.oxmysql:transaction_async(queries)

  if not success then
      print("ERROR", currentResourceName, 'Failed to insert one or more grades for job: `%s`', name)
      return success
  end

  local job = { name = name, label = label, grades = {} }
  for _, v in pairs(grades) do
      job.grades[tostring(v.grade)] = { job_name = name, grade = v.grade, name = v.name, label = v.label, salary = v.salary, skin_male = v.skin_male or '{}', skin_female = v.skin_female or '{}' }
  end

  ESX.Jobs[name] = job

  print("SUCCESS", currentResourceName, 'Job created successfully: `%s`', name)

  TriggerEvent('esx:jobCreated', name, ESX.Jobs[name])

  return success
end
```

4. Restart your server
   {% 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://docs.t1ger.net/resources/t1ger-mechanic/troubleshoot/faq.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.
