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)
new Keybind(options: KeybindOptions)local key = aiLib.Keybind.new(options)Paramètres
Prop
Type
KeybindOptions
Prop
Type
Le type de l’indication est KeyHintWhen.
Membres
Prop
Type
Exemple
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.
Écrans et contrôles
NuiScreen, hud, keyHints et controls : votre propre NUI plein écran, masquer tous les HUD, les lignes d’aide des touches et les contrôles désactivés.
Couches via ai-core
medical, appearance, gestures, seatbelt, fuel, mdt, radial, world et inventory : des appels client qui atteignent le script de mort, de vêtements, d’emotes, de ceinture, de carburant, de MDT, de menu radial, de météo ou d’inventaire que fait tourner le serveur.