AI Core
Fahrzeugeai-garages

ai-garages für Entwickler

Server-Exports von ai-garages und die Strukturen, die sie nutzen.

Aus deinem eigenen Skript nutzt du den Layer garages der Lib (Server): garages.impound(vehicle, by?), garages.store(vehicle, garage?, by?), garages.open(source, garage?) und garages.stored(source). Er funktioniert mit dem Garagenskript, das der Server gerade nutzt. Die Exports unten sind das, was der Layer aufruft, solange ai-garages das aktive Garagenskript ist. ai-garages kann seine Liste nicht aus der Ferne öffnen, daher antwortet garages.open damit mit false.

Typisiert als AiGaragesServerExports in @aicore-fivem/shared (garages.ts). Alle drei sind synchron.

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

Server-Exports

ImpoundVehicle

Schickt ein Fahrzeug im Besitz in den Abschlepphof: speichert seinen Zustand (Sprit, Motor, Karosserie), löscht die Entity und setzt seinen Status auf impound. Der Besitzer bekommt es an einem Abschlepphof gegen die Gebühr zurück.

Seite: Server · Wartet: nein

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

Parameter

Prop

Type

Rückgabewert

true, wenn es abgeschleppt wurde. false, wenn die Entity nicht existiert oder kein Fahrzeug im Besitz von ai-vehicles ist; lösche es dann selbst.

Beispiel

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

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

export function towAway(vehicle: number): void {
  if (!garages.ImpoundVehicle(vehicle)) DeleteEntity(vehicle); // nicht im Besitz: einfach entfernen
}

StoreVehicle

Parkt ein Fahrzeug im Besitz in einer der Garagen des Panels: speichert seinen Zustand, löscht die Entity, setzt seinen Status auf garage.

Seite: Server · Wartet: nein

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

Parameter

Prop

Type

Rückgabewert

true, wenn es abgestellt wurde. false bei einem Fahrzeug, das nicht im Besitz ist, einer Garagen-ID, die nicht existiert, oder einem Abschlepphof.

GetStoredVehicles

Die Fahrzeuge des Charakters eines Spielers, die nicht draußen sind: in einer Garage geparkt oder wartend im Abschlepphof. Fuhrpark-Fahrzeuge sind nicht enthalten.

Seite: Server · Wartet: nein

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

Rückgabewert

Ein Array von GaragedVehicle. Leer, wenn der Spieler keinen geladenen Charakter hat.

GaragedVehicle

Prop

Type

Beispiel

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

Events

Die Callbacks von ai-garages sind intern (von seinem Client an seinen Server). Rufe sie nicht aus anderen Skripten auf.

NameArtWas es macht
ai-garages:listClient-Callback(garageId): die Fahrzeuge, die der Spieler dort herausholen kann. Begrenzt auf 2 pro 2 Sekunden.
ai-garages:takeOutClient-Callback(garageId, vehicleId): spawnt das Fahrzeug am Ausfahrtspunkt.
ai-garages:parkClient-Callback(garageId, netId, props): parkt das Fahrzeug, das der Spieler fährt.

Auf dieser Seite