AI Core
Referencia de la APILib: cliente

Keybinds

Keybind - una tecla que el jugador puede reasignar en los ajustes de GTA y cuya tecla por defecto puede cambiar el dueño del servidor en el panel de administración de ai-core.

Cada tecla que escucha un script es un Keybind: el jugador puede cambiarla en los ajustes de GTA (Settings > Key Bindings > FiveM), el dueño del servidor puede cambiar su valor por defecto en el panel de administración de ai-core (pestaña Keybinds), y nada sondea las teclas en cada frame.

new Keybind

Registra una tecla reasignable. La tecla por defecto viene del panel de administración de ai-core cuando el dueño fijó una allí; si no, de defaultKey. La lib registra la asignación de tecla en cuanto ai-core respondió (un viaje de ida y vuelta al arrancar); sin ai-core usa defaultKey al momento.

Lado: Cliente · Espera: no (el registro termina en segundo plano)

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

Parámetros

Prop

Type

KeybindOptions

Prop

Type

El tipo de la ayuda es KeyHintWhen.

Miembros

Prop

Type

Ejemplo

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;
    // Indica a la página qué tecla la cierra de nuevo.
    screen.open({ action: "open", data: { closeKey: openKey.currentKey } });
  },
});

// Mientras está esposado, la tecla no hace nada.
export const setCuffed = (cuffed: boolean): void => openKey.disable(cuffed);

El comando de la asignación lleva la tecla: +<name>_<key> (+mytablet_open_F5). Cuando el dueño cambia el valor por defecto en el panel, la nueva tecla recibe su propia asignación, que reciben todos los jugadores, y la antigua deja de actuar. FiveM conserva las asignaciones antiguas y la asignación propia de cada jugador por comando, por eso la tecla forma parte del nombre. Otro recurso que necesite la tecla de este keybind pregunta al export de cliente de ai-core GetKeybindKey(name).

Mantén name estable: renombrarlo crea un keybind nuevo, y cada jugador pierde la tecla que asignó al antiguo. Nunca crees dos keybinds con el mismo nombre, ni siquiera en recursos distintos.

En esta página