AI Core
Référence de l’API

Exports client d’ai-core

Chaque export client d’ai-core - données du joueur, HUD, aides de touches, synchro du monde, objets, menu radial, gestes, apparences et dialogues.

Typés comme AiCoreClientExports dans @aicore-fivem/shared (exports.ts).

TypeScript
import { resourceExport } from "@aicore-fivem/lib/client";
const core = resourceExport("ai-core");

La plupart ont un utilitaire de la lib plus simple à utiliser (dernière colonne) ; les ressources Lua ont les mêmes sur aiLib.

Joueur

ExportRôleLib
GetPlayerData(): AiPlayerData | nullLes données du joueur local : personnage, argent, métiers, service, métier, gangs, gang actif, métadonnées.getPlayerData, onPlayerData
IsPlayerLoaded(): booleanSi un personnage est chargé.
IsDead(): booleanLe joueur local est à terre, quel que soit le script de mort.medical.isDead
GetDefinitions(file: "jobs" | "gangs"): Record<string, unknown> | nullLes définitions de métiers ou de gangs telles que le fichier du panneau les contient.
Lua
local data = exports['ai-core']:GetPlayerData()
if data and data.duty == 'police' then
  -- on duty
end

HUD

ExportRôleLib
HideHud(reason: string): voidMasque tous les HUD tant qu’un motif est posé (les motifs d’une ressource arrêtée partent avec elle).hud.hide
ShowHud(reason: string): voidRetire un motif.hud.show
IsHudVisible(): booleanSi les HUD s’affichent en ce moment.hud.visible
OpenHudSettings(): booleanOuvre les réglages propres du HUD en place ; false s’il n’en a pas.
HasHudSettings(): booleanSi le HUD en place a des réglages.
TypeScript
core.HideHud("photo-mode");
// ...
core.ShowHud("photo-mode");
Lua
exports['ai-core']:HideHud('photo-mode')
exports['ai-core']:ShowHud('photo-mode')

Raccourcis et aides de touches

ExportRôleLib
GetKeybindKey(name: string): string | nullLa touche avec laquelle un Keybind de la lib a été enregistré ; null avant l’enregistrement.Keybind.currentKey
ShowKeyHint(id: string, hint: KeyHintRequest): voidAffiche une aide de touche (label, keybind?, key?, icon?) jusqu’à ce qu’elle soit masquée.keyHints.show
HideKeyHint(id: string): voidLa masque.keyHints.hide
GetKeyHints(): KeyHintView[]Les aides que les HUD affichent en ce moment (id, key, label, icon?).
OpenKeyboard(): voidOuvre l’écran des touches : chaque touche qui a une action.
Lua
exports['ai-core']:ShowKeyHint('noclip_speed', { label = 'Speed', key = 'SHIFT', icon = 'gauge' })

Synchro de la météo et de l’heure

ExportRôleLib
PauseWorldSync(reason: string): voidMet en pause la synchro météo et heure tant qu’un motif est posé (intérieurs, scènes).world.pauseSync
ResumeWorldSync(reason: string): voidRetire un motif.world.resumeSync
IsWorldSyncPaused(): booleanSi la synchro est en pause en ce moment.

Objets

ExportRôleLib
OpenInventory(): voidOuvre l’écran d’inventaire du joueur.inventory.openInventory
HasItem(item: string, count?: number): booleanSi le joueur a l’objet.inventory.hasItem
GetCurrentWeapon(): HeldWeapon | nullL’objet arme en main (name, label, image?).inventory.currentWeapon
OpenItemPicker(requestId: number, request: ItemPickerRequest): voidOutils d’admin : la grille d’objets avec recherche ; le résultat arrive comme MENU_EVENTS.menuResult.itemPicker

Les entrées vont au menu radial en place ; ai-core les retire quand la ressource qui les a ajoutées s’arrête.

ExportRôleLib
AddRadialItem(item: RadialItem): voidAjoute ou remplace une entrée (id, label, icon?, parent?, items?, canShow?, onPressed?, keepOpen?, whileDead?).radial.add
RemoveRadialItem(id: string): voidRetire une entrée.radial.remove
RefreshRadial(): voidRelit chaque canShow d’une roue ouverte.radial.refresh
Lua
exports['ai-core']:AddRadialItem({
  id = 'myscript_engine', label = 'Engine', icon = 'power-off', parent = 'vehicle',
  canShow = function() return IsPedInAnyVehicle(PlayerPedId(), false) end,
  onPressed = function() ExecuteCommand('engine') end,
})

Gestes

ExportRôleLib
GetGestureProvider(): string | nullLe script d’emotes qui gère les mains en l’air et le pointage.gestures.provider
IsHandsUp(): booleanLe joueur local a les mains en l’air.gestures.isHandsUp
IsPointing(): booleanLe joueur local pointe du doigt.gestures.isPointing

Apparence

ExportRôleLib
ApplyAppearance(ped: number, look: CharacterAppearance): booleanApplique une apparence de GetCharacterAppearance à un ped du même modèle via le script de vêtements actif.appearance.apply
GetPedAppearance(ped: number): CharacterAppearance | nullL’apparence que porte un ped en ce moment.appearance.read

Les menus, dialogues de saisie, notifications, prompts, barre de progression et mini-jeux appartiennent à ai-lib, pas à ai-core : voir Exports des scripts.

Sur cette page