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.
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
ImpoundVehicle(vehicle: number): booleanlocal 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
StoreVehicle(vehicle: number, garage: string): booleanlocal 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
GetStoredVehicles(source: number): GaragedVehicle[]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.
| Nom | Type | Ce qu’il fait |
|---|---|---|
ai-garages:list | callback client | (garageId) : les véhicules que le joueur peut sortir à cet endroit. Limité à 2 toutes les 2 secondes. |
ai-garages:takeOut | callback client | (garageId, vehicleId) : fait apparaître le véhicule au point de sortie. |
ai-garages:park | callback client | (garageId, netId, props) : gare le véhicule que conduit le joueur. |