# Installation guide

If you don't have any experience in development we are highly recommend to follow each step in this documentation, and if you have a developer ask them to install the script for you as they have more experience.

***

## Asset download&#x20;

{% hint style="success" %}
Once the purchase is made on our [<mark style="color:blue;">official website</mark>](https://store.brutalscripts.com), you will receive your asset directly in your [<mark style="color:blue;">Keymaster</mark>](https://keymaster.fivem.net), in the Granted Assets panel you will see the asset, download it and do the following steps to install it correctly.
{% endhint %}

* Put the script folder to your server.
* Start the script in the server.cfg. (ensure brutal\_notify)
* Restart your server! (And you get permission to use the script)

{% hint style="info" %}
[<mark style="color:blue;">**Click here if you haven't installed any script ever**</mark>](https://www.youtube.com/watch?v=55RQrpLhs1w)
{% endhint %}

***

## How can I edit the Notify in any other scripts?

{% hint style="info" %}
Every script use a notify function. So you have to change the notify trigger / export in all your scripts, which not use the brutal notify or the default ESX / QB notify.
{% endhint %}

## How to integrate **Brutal Notify** with your server

#### <mark style="color:red;">ESX</mark>

{% hint style="info" %}
Find the <mark style="color:$danger;">ESX.ShowNotification</mark> function, then replace it with:
{% endhint %}

{% code title="es\_extended/client/functions.lua" %}

```lua
function ESX.ShowNotification(message, type, length)
    exports['brutal_notify']:SendAlert('Brutal Notify', message, length, type)
end
```

{% endcode %}

#### <mark style="color:red;">QBCORE</mark>

{% hint style="info" %}
Find the <mark style="color:$danger;">QBCore.Functions.Notify</mark> function, then replace it with:
{% endhint %}

{% code title="qb-core/client/functions.lua" %}

```lua
function QBCore.Functions.Notify(text, texttype, length)
    if type(text) == "table" then
        local ttext = text.text or 'Placeholder'
        local caption = text.caption or 'Placeholder'
        texttype = texttype or 'primary'
        length = length or 5000
        exports['brutal_notify']:SendAlert(caption, ttext, length, texttype)
    else
        texttype = texttype or 'primary'
        length = length or 5000
        exports['brutal_notify']:SendAlert('Brutal Notify', text, length, texttype)
    end
end
```

{% endcode %}

## Asset positioning

{% hint style="danger" %}
Correctly position the assets in the server.cfg by following this step, if something goes wrong you will probably get errors about exports not found, do not skip this step!
{% endhint %}

<pre class="language-lua"><code class="lang-lua">-- First we will start the cores, never below
ensure es_extended or qb-core

ensure brutal_notify -- ensure the script before the other scripts

<strong>ensure [jobs]
</strong>ensure [inventory]
ensure [billing]

-- other scripts
</code></pre>

## If you got any error

If you followed the installation guide and the script still don't work or you get any errors the please check the common errors, here in the docs and in our [<mark style="color:blue;">discord</mark> ](https://discord.gg/85u2u5c8q9)server, for more informations.


---

# 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.brutalscripts.com/site/scripts/notify/installation-guide.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.
