ai-garages para desenvolvedores
Exports do servidor do ai-garages e os formatos que eles usam.
A partir do seu próprio script, use a camada garages da lib (servidor): garages.impound(vehicle, by?), garages.store(vehicle, garage?, by?), garages.open(source, garage?) e garages.stored(source). Ela funciona com qualquer script de garagem que o servidor rode. Os exports abaixo são o que a camada chama enquanto o ai-garages é o script de garagem ativo. O ai-garages não consegue abrir sua lista à distância, então garages.open responde false com ele.
Tipados como AiGaragesServerExports em @aicore-fivem/shared (garages.ts). Os três são síncronos.
import { resourceExport } from "@aicore-fivem/lib/server";
const garages = resourceExport("ai-garages");Exports do servidor
ImpoundVehicle
Manda um veículo próprio para o pátio de apreensão: salva seu estado (combustível, motor, lataria), apaga a entidade e define seu estado como impound. O dono o recupera em um pátio de apreensão pagando a taxa.
Lado: Servidor · Espera: não
ImpoundVehicle(vehicle: number): booleanlocal ok = exports['ai-garages']:ImpoundVehicle(vehicle)Parâmetros
Prop
Type
Retorno
true quando foi apreendido. false quando a entidade não existe ou não é um veículo próprio do ai-vehicles; nesse caso, apague-o você mesmo.
Exemplo
import { resourceExport } from "@aicore-fivem/lib/server";
const garages = resourceExport("ai-garages");
export function towAway(vehicle: number): void {
if (!garages.ImpoundVehicle(vehicle)) DeleteEntity(vehicle); // não tem dono: só remova
}StoreVehicle
Estaciona um veículo próprio em uma das garagens do painel: salva seu estado, apaga a entidade, define seu estado como garage.
Lado: Servidor · Espera: não
StoreVehicle(vehicle: number, garage: string): booleanlocal ok = exports['ai-garages']:StoreVehicle(vehicle, garage)Parâmetros
Prop
Type
Retorno
true quando foi guardado. false para um veículo sem dono, um id de garagem que não existe, ou um pátio de apreensão.
GetStoredVehicles
Os veículos do personagem de um jogador que não estão fora: estacionados em uma garagem ou esperando no pátio de apreensão. Veículos de frota não estão incluídos.
Lado: Servidor · Espera: não
GetStoredVehicles(source: number): GaragedVehicle[]local list = exports['ai-garages']:GetStoredVehicles(source)Retorno
Um array de GaragedVehicle. Vazio quando o jogador não tem um personagem carregado.
GaragedVehicle
Prop
Type
Exemplo
const list = garages.GetStoredVehicles(source);
const impounded = list.filter((v) => v.impounded).map((v) => v.plate);
console.log(`impounded: ${impounded.join(", ") || "none"}`);Eventos
Os callbacks do ai-garages são internos (do cliente dele para o servidor dele). Não os chame a partir de outros scripts.
| Nome | Tipo | O que faz |
|---|---|---|
ai-garages:list | callback do cliente | (garageId): os veículos que o jogador pode tirar ali. Limitado a 2 a cada 2 segundos. |
ai-garages:takeOut | callback do cliente | (garageId, vehicleId): cria o veículo no ponto de saída. |
ai-garages:park | callback do cliente | (garageId, netId, props): estaciona o veículo que o jogador dirige. |