ai-garages para desarrolladores
Los exports de servidor de ai-garages y las formas que usan.
Desde tu propio script, usa la capa garages de la lib (servidor): garages.impound(vehicle, by?), garages.store(vehicle, garage?, by?), garages.open(source, garage?) y garages.stored(source). Funciona con el script de garajes que use el servidor. Los exports de abajo son los que llama la capa mientras ai-garages es el script de garajes activo. ai-garages no puede abrir su lista desde lejos, así que garages.open responde false con él.
Tipados como AiGaragesServerExports en @aicore-fivem/shared (garages.ts). Los tres son síncronos.
import { resourceExport } from "@aicore-fivem/lib/server";
const garages = resourceExport("ai-garages");Exports de servidor
ImpoundVehicle
Envía un vehículo en propiedad al depósito: guarda su estado (combustible, motor, carrocería), borra la entidad y pone su estado en impound. El dueño lo recupera en un depósito pagando la tarifa.
Lado: Servidor · Espera: no
ImpoundVehicle(vehicle: number): booleanlocal ok = exports['ai-garages']:ImpoundVehicle(vehicle)Parámetros
Prop
Type
Devuelve
true cuando se envió al depósito. false cuando la entidad no existe o no es un vehículo en propiedad de ai-vehicles; bórralo tú entonces.
Ejemplo
import { resourceExport } from "@aicore-fivem/lib/server";
const garages = resourceExport("ai-garages");
export function towAway(vehicle: number): void {
if (!garages.ImpoundVehicle(vehicle)) DeleteEntity(vehicle); // sin dueño: simplemente quitarlo
}StoreVehicle
Aparca un vehículo en propiedad en uno de los garajes del panel: guarda su estado, borra la entidad y pone su estado en garage.
Lado: Servidor · Espera: no
StoreVehicle(vehicle: number, garage: string): booleanlocal ok = exports['ai-garages']:StoreVehicle(vehicle, garage)Parámetros
Prop
Type
Devuelve
true cuando se guardó. false para un vehículo sin dueño, un id de garaje que no existe o un depósito.
GetStoredVehicles
Los vehículos del personaje de un jugador que no están fuera: aparcados en un garaje o esperando en el depósito. Los vehículos de flota no se incluyen.
Lado: Servidor · Espera: no
GetStoredVehicles(source: number): GaragedVehicle[]local list = exports['ai-garages']:GetStoredVehicles(source)Devuelve
Un array de GaragedVehicle. Vacío cuando el jugador no tiene personaje cargado.
GaragedVehicle
Prop
Type
Ejemplo
const list = garages.GetStoredVehicles(source);
const impounded = list.filter((v) => v.impounded).map((v) => v.plate);
console.log(`impounded: ${impounded.join(", ") || "none"}`);Eventos
Los callbacks de ai-garages son internos (de su cliente a su servidor). No los llames desde otros scripts.
| Nombre | Tipo | Qué hace |
|---|---|---|
ai-garages:list | callback de cliente | (garageId): los vehículos que el jugador puede sacar allí. Limitado a 2 cada 2 segundos. |
ai-garages:takeOut | callback de cliente | (garageId, vehicleId): hace aparecer el vehículo en el punto de salida. |
ai-garages:park | callback de cliente | (garageId, netId, props): aparca el vehículo que conduce el jugador. |