> For the complete documentation index, see [llms.txt](https://fb-scripts.gitbook.io/fb-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fb-scripts.gitbook.io/fb-scripts/scripts/fb-pausemenu/custom-framework-integration.md).

# Custom Framework Integration

If your server uses a framework that isn't automatically detected, set `Config.Framework = "custom"` in `config.lua` and edit the following files:

{% tabs %}
{% tab title="Client Side (editable/client.lua)" %}

```lua
function Editable.GetPlayerData()
    -- Return: { firstName, lastName, job{}, money{} }
end

function Editable.IsPlayerLoaded()
    -- Return: boolean
end

function Editable.OpenWorldMap()
    -- Called when World Map tab is clicked (if action = "custom")
end

function Editable.OpenSettings()
    -- Called when Settings tab is clicked (if action = "custom")
end
```

{% endtab %}

{% tab title="Server Side (editable/server.lua)" %}

```lua
function Editable.GetPlayerName(source)
    -- Return: firstName, lastName
end

function Editable.GetPlayerJob(source)
    -- Return: { name, label, grade, gradeLabel }
end

function Editable.GetMoney(source, type)
    -- type: 'cash', 'bank', 'black'
    -- Return: number
end

function Editable.GetPlayerCount()
    -- Return: current, max
end

function Editable.GetIdentifier(source)
    -- Return: string
end
```

{% endtab %}
{% endtabs %}
