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)
new Keybind(options: KeybindOptions)local key = aiLib.Keybind.new(options)Parâmetros
Prop
Type
KeybindOptions
Prop
Type
O tipo da ajuda é KeyHintWhen.
Membros
Prop
Type
Exemplo
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.
Telas e controles
NuiScreen, hud, keyHints e controls - sua própria NUI de tela cheia, esconder todos os HUDs, linhas de ajuda de teclas e controles desativados.
Camadas pelo ai-core
medical, appearance, gestures, seatbelt, fuel, mdt, radial, world e inventory - chamadas do cliente que alcançam qualquer script de morte, roupas, emotes, cinto, combustível, MDT, radial, clima ou inventário que o servidor roda.