> 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-chat/custom-framework-integration.md).

# Custom Framework Integration

Set `Config.Framework = 'custom'` and edit the unencrypted files in `editable/`:

{% tabs %}
{% tab title="editable/server.lua" %}

```lua
function Editable.GetPlayer(source)
    return exports['my-core']:GetPlayer(source)
end

function Editable.GetPlayerName(source)
    local p = Editable.GetPlayer(source)
    return p.firstname .. ' ' .. p.lastname
end

function Editable.IsStaff(source)
    local p = Editable.GetPlayer(source)
    return p.group == 'admin'
end

function Editable.GetPlayerDetails(source)
    local p = Editable.GetPlayer(source)
    return { citizenid = p.identifier }
end
```

{% endtab %}

{% tab title="editable/client.lua" %}

```lua
function Editable.GetPlayerData()
    local p = exports['my_core']:GetPlayerData()
    return {
        name     = p.firstname .. ' ' .. p.lastname,
        job      = p.job.name,
        group    = p.group,
        serverId = GetPlayerServerId(PlayerId())
    }
end

function Editable.IsStaff()
    local p = exports['my_core']:GetPlayerData()
    return p.group == 'admin'
end
```

{% endtab %}
{% endtabs %}
