# Custom Framework

{% hint style="info" %}
More info about frameworks here - [Config.Frameworks](https://documentation.rcore.cz/paid-resources/config#framework)
{% endhint %}

If you use any custom framework other than ESX/QBCore, you will have to write a small integration to our script.

This will required the very basics of LUA or programming, as you will be only rewriting some existing values.

We can't really provide support to include all your frameworks, so please pay attention and follow this easy guide :)

{% hint style="danger" %}
If you do not understand the instructions and the code below, please ask your server developer, if they can help you implement your framework.
{% endhint %}

First of all, add your framework to Frameworks in `shared\const.lua`.

### Where?

The framework integration is located in the file `server\lib\frameworkBridge.lua`

### How?

Here you can see a commented part starting at line 62 (marked with line `CUSTOM FRAMEWORK`). All you have to do to start is to simply remove comment from the `elseif` block.

Inside the `elseif` block copy paste the QBCORE integration above (in the file) and simply add your own functions.

### **Am I doing it right?**

Let's say your framework is called STEVE, for better preview :) Your integration should then look like this:

```lua
elseif Config.Framework == Frameworks.STEVE then
    QBCore = {}
    ESX = {}
    Steve = ... -- function to get object of your framework

    ESX.GetPlayerFromId = function(source)
        local xPlayer = {}
        local stevePlayer = Steve.GetPlayer(source)

        ---------
        xPlayer.getMoney = function()
            return stevePlayer.GetMoney("cash") -- ***
        end
        ---------

        ... -- and other needed functions here

        return xPlayer
    end
end
```

So if you understand correctly, you should now know, that you simply need to only write the return functions inside xPlayer functions, like the one marked with `***`.
