AI Core
Referência da APILib: cliente

Teclas de atalho

Keybind - uma tecla que o jogador pode reconfigurar nas opções do GTA, cuja tecla padrão o dono do servidor pode mudar no painel de administração do ai-core.

Toda tecla que um script escuta é um Keybind: o jogador pode mudá-la nas opções do GTA (Settings > Key Bindings > FiveM), o dono do servidor pode mudar o padrão dela no painel de administração do ai-core (aba Keybinds), e nada verifica teclas a cada frame.

new Keybind

Registra uma tecla reconfigurável. A tecla padrão vem do painel de administração do ai-core quando o dono definiu uma ali, senão de defaultKey. A lib registra o mapeamento da tecla assim que o ai-core respondeu (uma ida e volta na inicialização); sem o ai-core ela usa defaultKey na hora.

Lado: Cliente · Espera: não (o registro termina em segundo plano)

Signature
new Keybind(options: KeybindOptions)
Lua
local key = aiLib.Keybind.new(options)

Parâmetros

Prop

Type

KeybindOptions

Prop

Type

O tipo da ajuda é KeyHintWhen.

Membros

Prop

Type

Exemplo

resource/client/index.ts
import { createLocale, Keybind, NuiScreen } from "@aicore-fivem/lib/client";

const Locale = createLocale<typeof import("../../locales/en.json")>();
const screen = new NuiScreen("tablet");

const openKey = new Keybind({
  name: "mytablet_open",
  description: Locale("KEYBIND_OPEN_TABLET"),
  defaultKey: "F5",
  hint: "foot",
  icon: "tablet-screen-button",
  hintLabel: Locale("HINT_TABLET"),
  onPressed: () => {
    if (screen.isOpen) return;
    // Diz à página qual tecla a fecha de novo.
    screen.open({ action: "open", data: { closeKey: openKey.currentKey } });
  },
});

// Enquanto algemado a tecla não faz nada.
export const setCuffed = (cuffed: boolean): void => openKey.disable(cuffed);

O comando do mapeamento carrega a tecla: +<name>_<key> (+mytablet_open_F5). Quando o dono muda o padrão no painel, a nova tecla ganha o próprio mapeamento, que todo jogador recebe, e a antiga para de agir. O FiveM guarda os mapeamentos antigos e a associação de cada jogador por comando, por isso a tecla faz parte do nome. Outro recurso que precisa da tecla deste keybind pergunta ao export de cliente do ai-core GetKeybindKey(name).

Mantenha name estável: renomeá-lo cria um novo keybind, e todo jogador perde a tecla que associou ao antigo. Nunca crie dois keybinds com o mesmo nome, nem em recursos diferentes.

Nesta página