Skip to main content
O keyboard é um recurso client-side que registra a interface Tunnel keyboard e abre um formulário NUI. A base é Keyboard(Rows, Title, Subtitle, Cancel): ativa o foco, envia o payload e bloqueia até o jogador enviar, fechar ou clicar num botão. Sobre a tabela Form há presets prontos que montam as Rows. Cada um é publicado em dois canais: Tunnel keyboard (servidor→cliente) e exports locais. Cada Row tem Mode (text, number, password, area, slider, options, button), Placeholder e campos opcionais (Value, Required, Min/Max, Options, Event/Params).
Retorno: tabela (array) com os valores na ordem das Rows. Retorna false se cancelado, se já havia outro form aberto, ou se algum campo veio vazio.

Funcionalidades

Formulários NUI

Abre diálogos de entrada com múltiplos campos diretamente na tela do jogador.

Chamada síncrona

Bloqueia até o envio, fechamento ou clique em botão, retornando o resultado na hora.

Presets prontos

Funções Form.* montam as Rows automaticamente e viram método Tunnel e export.

Múltiplos modos de campo

text, number, password, area, slider, options e button em um só formulário.

Dependências

vrp

Comunicação via Tunnel.

PolyZone

Suporte de zonas.

Uso (Tunnel)

No servidor, obtenha a interface e chame o preset passando source como primeiro argumento (alvo do Tunnel):
Presets principais (retorno = array de inputs, ou false):
options aceita lista de strings ou de objetos { Label, Value }. number valida > 0; Required força preenchimento.

Eventos

Não registra eventos de rede. Expõe a interface Tunnel keyboard (bindInterface), cujos métodos são os presets de Form.* (ver Uso (Tunnel)), e três NUI callbacks:

Customização

  • Título/Subtítulo: 2º/3º args (padrão "Formulário" / "Preencha os campos abaixo").
  • Ocultar Cancelar: 4º arg Cancel.
  • Cor: global Theme.main (padrão #0143bb, aplicada via --theme-color).
  • Novos formulários: adicione uma função em Form.*, que vira automaticamente método Tunnel e export.
Para criar um novo formulário reutilizável, basta adicionar uma função em Form.*: ela é publicada automaticamente como método Tunnel e como export local.