> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fivenetwork.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# five-esc

> Menu ESC (menu principal/pause) com loja de gemas, otimização de FPS, atalhos para mapa/configurações nativas e seções de Battle Pass e Ranking (Em breve). Interface NUI em React.

O **five-esc** substitui o menu de pause nativo por uma NUI própria que mostra: info do jogador (nome, ID, cargo, banco, dinheiro, gemas), status do servidor (online, policiais, médicos, mecânicos), loja de gemas (paga com dinheiro ou gemas), otimização de FPS, atalhos para mapa e configurações do GTA, skins de armas e ajuda. Battle Pass e Ranking existem mas estão marcados como "Em breve".

## Funcionalidades

<CardGroup cols={2}>
  <Card title="Info do jogador" icon="id-card">
    Nome, ID, cargo, banco, dinheiro e gemas exibidos no menu.
  </Card>

  <Card title="Status do servidor" icon="server">
    Jogadores online, policiais, médicos e mecânicos.
  </Card>

  <Card title="Loja de gemas" icon="gem">
    Compra de itens pagando com dinheiro ou gemas.
  </Card>

  <Card title="Otimização de FPS" icon="gauge-high">
    Liga/desliga a otimização gráfica, com estado persistido localmente.
  </Card>

  <Card title="Atalhos nativos" icon="map">
    Acesso rápido ao mapa e às configurações do GTA, além de skins de armas e ajuda.
  </Card>

  <Card title="Battle Pass e Ranking" icon="trophy">
    Seções já presentes na interface, marcadas como "Em breve".
  </Card>
</CardGroup>

***

## Dependências

<CardGroup cols={2}>
  <Card title="vrp" icon="cube">
    Framework base (Tunnel/Proxy). Funções: `Passport`, `GetBank`, `ItemAmount`, `UserGemstone`, `GetUserType`, `NumPermission`, `PaymentFull`, `PaymentGems`, `GenerateItem`.
  </Card>
</CardGroup>

***

## Configuração

`shared/config.lua`:

<AccordionGroup>
  <Accordion title="shared/config.lua — UI, tema, controles e loja" icon="sliders">
    ```lua theme={null}
    Config.UI = { logo = "https://cdn.fivenetwork.dev/.../Logo.png" }
    Config.Theme = { primaryColor = "#0143bb", secondaryColor = "#01205c", thirdyColor = "#2563eb" }
    Config.Links = { shop = "...", discord = "...", tiktok = "...", instagram = "..." }

    Config.Controls = {
        commands = { esc = "escmenu", map = "mapa" },
        defaultKey = "ESCAPE", mapKey = "P",
    }
    Config.Commands = { skins = "skins", fpsOn = "fps on", fpsOff = "fps off" }  -- comandos externos disparados

    Config.BattlePass = { current = 0, total = 10 }   -- Em breve
    Config.Ranking = { Categories = { ["money"] = { name = "Dinheiro", showValue = true }, ... } }  -- Em breve

    Config.Shop = {
        categories = { },  -- preencher
        products = {
            -- { id = "item_repairkit", name = "Kit de Reparo", image = "", Item = "repairkit01",
            --   price = { diamonds = 150, cash = 12000 }, category = { id = "itens", name = "Itens" } },
        },
    }
    ```

    <Note>
      **Loja:** um produto só é comprável se tiver o campo `Item` (item vRP entregue). Preço `<= 0` desabilita aquela forma de pagamento. Por padrão a loja vem vazia.
    </Note>
  </Accordion>
</AccordionGroup>

***

## Comandos

Comandos para abrir o menu ESC e o mapa nativo.

| Comando    | Tecla  | Descrição                  |
| ---------- | ------ | -------------------------- |
| `/escmenu` | ESCAPE | Abre/fecha o menu ESC.     |
| `/mapa`    | P      | Abre o mapa nativo do GTA. |

<Note>
  Comandos `fps on/off`, `skins` e `help` são **disparados** pelo recurso, mas pertencem a outros recursos.
</Note>

***

## Localizações

O recurso não usa coordenadas fixas no mundo (sem NPCs, blips, lojas físicas, zonas ou markers). É um menu de interface aberto por tecla/comando; os dados do jogador e do servidor vêm do vRP.

***

## Exports

Não publica exports. Tunnel `five-esc` expõe `EscData`, `ShopData`, `ShopBuy(payload)`, `Rankings`, `Passport`.

***

## Banco de Dados

Nenhum. Estado de FPS persistido em **KVP** local (chave `otimization`). Dados do jogador via vRP.

***

## Customização

* **Marca/cores:** `Config.UI.logo`, `Config.Theme`.
* **Links:** `Config.Links`.
* **Teclas/comandos:** `Config.Controls`, `Config.Commands`.
* **Loja de gemas:** preencha `Config.Shop.categories`/`products` (produto precisa de `Item`).
* **Battle Pass/Ranking:** estruturas existem mas a lógica está "Em breve" (exige implementar).
