Raccourcis et aides de touches
Lire la touche avec laquelle un Keybind de la lib a été enregistré, afficher et masquer des aides de touches sur le HUD, lire les aides qu’affichent les HUD, et ouvrir l’écran des touches.
ai-core suit chaque touche que les scripts enregistrent avec Keybind de la lib (TypeScript) ou aiLib.Keybind (Lua). C’est ainsi que l’onglet Keybinds du panneau d’administration peut changer la touche par défaut d’un script, que les HUD peuvent lister des aides de touches à gauche de l’écran, et que l’écran des touches peut montrer chaque touche associée à une action.
Une aide de touche est une courte ligne sur le HUD : une touche et ce qu’elle fait (E Open trunk). Les raccourcis peuvent en déclarer une avec leur option hint. Un script peut aussi afficher des aides pendant un moment avec ShowKeyHint, par exemple les commandes d’un outil pendant son utilisation.
GetKeybindKey
Renvoie la touche avec laquelle un Keybind de la lib a été enregistré : la touche que le propriétaire du serveur a définie dans l’onglet Keybinds du panneau d’administration, sinon la touche par défaut du script. Le joueur peut encore l’avoir changée dans les réglages de touches de GTA ; pour la touche qu’il presse vraiment, lisez plutôt Keybind.currentKey sur votre raccourci.
Côté : Client · Attend : non
GetKeybindKey(name: string): string | nulllocal key = exports['ai-core']:GetKeybindKey(name) -- string ou nilParamètres
Prop
Type
Retour
string : la touche en majuscules ("F5", "E"), ou "" pour un raccourci sans touche par défaut. null tant qu’ai-core n’a pas répondu à ce raccourci (peu après le démarrage de sa ressource) et pour les noms qu’aucune ressource en cours n’a enregistrés.
Exemple
import { Keybind, resourceExport } from "@aicore-fivem/lib/client";
import { Locale } from "common";
const core = resourceExport("ai-core");
const open = new Keybind({
name: "myscript_open",
description: Locale("KEY_OPEN"),
defaultKey: "F5",
onPressed: () => console.log("open"),
});
RegisterCommand(
"myscript_keys",
() => {
console.log(`registered with: ${core.GetKeybindKey("myscript_open") ?? "not yet"}`);
console.log(`the player presses: ${open.currentKey}`);
},
false,
);ShowKeyHint
Affiche une aide de touche de votre ressource dans la liste d’aides du HUD jusqu’à ce que vous la masquiez. Utilisez-la pour les touches qui ne comptent que pendant un moment : les commandes d’un outil, un mini-jeu, un mode caméra. Les touches que vos raccourcis offrent en permanence vont plutôt dans l’option hint du Keybind.
Côté : Client · Attend : non
ShowKeyHint(id: string, hint: KeyHintRequest): voidexports['ai-core']:ShowKeyHint(id, hint) -- ou aiLib.keyHints.show(id, hint)Paramètres
Prop
Type
KeyHintRequest
Voir aussi KeyHintRequest.
Prop
Type
Retour
Rien. Une aide sans texte label, ou un id qui n’est pas une chaîne, est ignorée. Une aide dont la touche ne se résout en rien (ni keybind ni key ne donne de touche) est gardée mais pas listée.
Exemple
import { keyHints } from "@aicore-fivem/lib/client";
import { Locale } from "common";
export function startCamera(): void {
keyHints.show("camera_zoom", { label: Locale("HINT_ZOOM"), key: "SCROLL", icon: "magnifying-glass" });
keyHints.show("camera_exit", { label: Locale("HINT_EXIT"), keybind: "myscript_camera" });
}
export function stopCamera(): void {
keyHints.hide("camera_zoom");
keyHints.hide("camera_exit");
}Les aides sont listées dans l’ordre où les scripts les ont affichées, après les aides que déclarent les raccourcis. Les aides de votre ressource sont retirées quand elle s’arrête.
HideKeyHint
Masque une aide de touche que votre ressource a affichée.
Côté : Client · Attend : non
HideKeyHint(id: string): voidexports['ai-core']:HideKeyHint(id) -- ou aiLib.keyHints.hide(id)Paramètres
Prop
Type
Retour
Rien.
Exemple
Voir l’exemple de ShowKeyHint.
GetKeyHints
Renvoie les lignes d’aide de touches que les HUD doivent afficher en ce moment : les aides que déclarent les raccourcis pour la situation du joueur (à pied ou en véhicule, comme le propriétaire du serveur les a réglées dans le panneau) plus les aides qu’affichent les scripts. Un HUD la lit une fois au démarrage puis suit l’événement client ai-core:client:keyHints, qui transporte la même liste après chaque changement.
Côté : Client · Attend : non
GetKeyHints(): KeyHintView[]local hints = exports['ai-core']:GetKeyHints() -- tableau de { id, key, label, icon? }Paramètres
Aucun.
Retour
KeyHintView[], dans l’ordre d’affichage. Un tableau vide quand aucune aide ne s’applique.
Prop
Type
Exemple
import { resourceExport } from "@aicore-fivem/lib/client";
import { KEY_HINTS, type KeyHintView } from "@aicore-fivem/shared";
const core = resourceExport("ai-core");
// La liste d’aides de touches d’un HUD personnalisé.
function draw(hints: KeyHintView[]): void {
SendNUIMessage({ action: "keyHints", data: hints });
}
draw(core.GetKeyHints());
on(KEY_HINTS.changedEvent, draw);OpenKeyboard
Ouvre l’écran des touches d’ai-core : un clavier où chaque touche qui a une action est colorée, avec ce que fait chaque touche en dessous. Les touches sont montrées telles que le joueur les a associées maintenant. L’entrée Keys du menu radial l’ouvre ; n’importe quel script le peut. Tant qu’il est ouvert, les HUD sont masqués.
Côté : Client · Attend : non
OpenKeyboard(): voidexports['ai-core']:OpenKeyboard()Paramètres
Aucun.
Retour
Rien. L’appeler alors que l’écran est déjà ouvert ne fait rien. Le joueur le ferme dans l’écran.
Exemple
import { resourceExport } from "@aicore-fivem/lib/client";
const core = resourceExport("ai-core");
RegisterCommand("keys", () => core.OpenKeyboard(), false);HUD
Masquer et afficher chaque HUD pendant que votre interface plein écran est ouverte, savoir si les HUD s’affichent, et ouvrir les réglages propres au HUD en cours.
Synchro de la météo et de l’heure
Mettre en pause la synchro de la météo et de l’heure du serveur dans le jeu d’un joueur pendant que votre script fixe les siennes (un intérieur, une scène), la reprendre, et savoir si elle est en pause.