AI Core
Référence de l’APILib : client

Raccourcis clavier

Keybind : une touche que le joueur peut réassigner dans les réglages de GTA et dont le propriétaire du serveur peut changer la touche par défaut dans le panneau d’administration d’ai-core.

Chaque touche qu’un script écoute est un Keybind : le joueur peut la changer dans les réglages de GTA (Settings > Key Bindings > FiveM), le propriétaire du serveur peut changer sa touche par défaut dans le panneau d’administration d’ai-core (onglet Keybinds), et rien ne scrute les touches à chaque frame.

new Keybind

Enregistre une touche réassignable. La touche par défaut vient du panneau d’administration d’ai-core quand le propriétaire en a défini une, sinon de defaultKey. La lib enregistre le mappage de touche dès qu’ai-core a répondu (un aller-retour au démarrage) ; sans ai-core, elle utilise defaultKey immédiatement.

Côté : client · Attend : non (l’enregistrement se termine en arrière-plan)

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

Paramètres

Prop

Type

KeybindOptions

Prop

Type

Le type de l’indication est KeyHintWhen.

Membres

Prop

Type

Exemple

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;
    // Indique à la page quelle touche la referme.
    screen.open({ action: "open", data: { closeKey: openKey.currentKey } });
  },
});

// Menotté, la touche ne fait rien.
export const setCuffed = (cuffed: boolean): void => openKey.disable(cuffed);

La commande de mappage porte la touche : +<name>_<key> (+mytablet_open_F5). Quand le propriétaire change la touche par défaut dans le panneau, la nouvelle touche reçoit son propre mappage, que chaque joueur reçoit, et l’ancien cesse d’agir. FiveM conserve les anciens mappages et l’assignation propre à chaque joueur par commande, c’est pourquoi la touche fait partie du nom. Une autre ressource qui a besoin de la touche de ce raccourci clavier interroge l’export client d’ai-core GetKeybindKey(name).

Gardez name stable : le renommer crée un nouveau raccourci clavier, et chaque joueur perd la touche qu’il avait assignée à l’ancien. Ne créez jamais deux raccourcis clavier portant le même nom, même dans des ressources différentes.

Sur cette page