AI Core
Véhiculesai-garages

ai-garages pour les développeurs

Les exports serveur d’ai-garages et les formes qu’ils utilisent.

Depuis votre propre script, utilisez la couche garages de la lib (serveur) : garages.impound(vehicle, by?), garages.store(vehicle, garage?, by?), garages.open(source, garage?) et garages.stored(source). Elle fonctionne avec le script de garage que fait tourner le serveur, quel qu’il soit. Les exports ci-dessous sont ce qu’appelle la couche tant qu’ai-garages est le script de garage actif. ai-garages ne peut pas ouvrir sa liste à distance, donc garages.open répond false avec lui.

Typés AiGaragesServerExports dans @aicore-fivem/shared (garages.ts). Les trois sont synchrones.

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

Exports serveur

ImpoundVehicle

Envoie un véhicule possédé à la fourrière : enregistre son état (carburant, moteur, carrosserie), supprime l’entité et règle son état sur impound. Le propriétaire le récupère à une fourrière contre les frais.

Côté : serveur · Attend : non

Signature
ImpoundVehicle(vehicle: number): boolean
Lua
local ok = exports['ai-garages']:ImpoundVehicle(vehicle)

Paramètres

Prop

Type

Retour

true quand il a été mis en fourrière. false quand l’entité n’existe pas ou n’est pas un véhicule possédé d’ai-vehicles ; supprimez-la alors vous-même.

Exemple

import { resourceExport } from "@aicore-fivem/lib/server";

const garages = resourceExport("ai-garages");

export function towAway(vehicle: number): void {
  if (!garages.ImpoundVehicle(vehicle)) DeleteEntity(vehicle); // non possédé : simplement le retirer
}

StoreVehicle

Gare un véhicule possédé dans un des garages du panneau : enregistre son état, supprime l’entité, règle son état sur garage.

Côté : serveur · Attend : non

Signature
StoreVehicle(vehicle: number, garage: string): boolean
Lua
local ok = exports['ai-garages']:StoreVehicle(vehicle, garage)

Paramètres

Prop

Type

Retour

true quand il a été garé. false pour un véhicule qui n’est pas possédé, un id de garage qui n’existe pas, ou une fourrière.

GetStoredVehicles

Les véhicules du personnage d’un joueur qui ne sont pas sortis : garés dans un garage ou en attente à la fourrière. Les véhicules de flotte ne sont pas inclus.

Côté : serveur · Attend : non

Signature
GetStoredVehicles(source: number): GaragedVehicle[]
Lua
local list = exports['ai-garages']:GetStoredVehicles(source)

Retour

Un tableau de GaragedVehicle. Vide quand le joueur n’a pas de personnage chargé.

GaragedVehicle

Prop

Type

Exemple

const list = garages.GetStoredVehicles(source);
const impounded = list.filter((v) => v.impounded).map((v) => v.plate);
console.log(`impounded: ${impounded.join(", ") || "none"}`);

Events

Les callbacks d’ai-garages sont internes (de son client vers son serveur). Ne les appelez pas depuis d’autres scripts.

NomTypeCe qu’il fait
ai-garages:listcallback client(garageId) : les véhicules que le joueur peut sortir à cet endroit. Limité à 2 toutes les 2 secondes.
ai-garages:takeOutcallback client(garageId, vehicleId) : fait apparaître le véhicule au point de sortie.
ai-garages:parkcallback client(garageId, netId, props) : gare le véhicule que conduit le joueur.

Sur cette page