Kraftstoff
Den Tankstand eines Fahrzeugs lesen und setzen, über das Tank-Skript, das der Server nutzt.
Kraftstoff läuft über ai-core, nie über die eigenen Exports, Decorators oder State Bags eines Tank-Skripts (ai-fuel eingeschlossen). ai-core leitet jeden Aufruf an das aktive Tank-Skript weiter: das, das die Panel-Einstellung Fuel script (Tank-Skript) wählt, oder das erste, das läuft (ai-fuel, ox_fuel, LegacyFuel und die anderen aus der Kompatibilitätsliste). Ohne Tank-Skript ist der Stand einfach die State Bag fuel des Fahrzeugs.
Ein Stand ist eine Zahl von 0 (leer) bis 100 (voll). Ein Fahrzeug ist ein Server-Entity-Handle.
GetFuelSystem
Der Ressourcenname des Tank-Skripts, an das ai-core weiterleitet.
Seite: Server · Wartet: nein · Lib: fuel.provider()
GetFuelSystem(): string | nulllocal system = exports['ai-core']:GetFuelSystem() -- 'ai-fuel', 'ox_fuel'... oder nilParameter
Keine.
Rückgabe
string | null: der Ressourcenname des Tank-Skripts. null, wenn keines läuft.
Beispiel
import { addCommand, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
addCommand("fuelsystem", { help: "Shows the fuel script in use", restricted: true }, () => {
console.log(core.GetFuelSystem() ?? "none: fuel is only the state bag");
});GetVehicleFuel
Der Tankstand eines Fahrzeugs.
Seite: Server · Wartet: nein · Lib: fuel.get (Server); auf dem Client liest fuel.get(vehicle) der Client-Lib die State Bag, die ai-core führt
GetVehicleFuel(vehicle: number): number | nulllocal level = exports['ai-core']:GetVehicleFuel(vehicle) -- 0-100 oder nilParameter
Prop
Type
Rückgabe
number | null: der Stand, 0-100. null, wenn das Fahrzeug noch keinen Stand hat oder vehicle kein existierendes Fahrzeug ist.
Beispiel
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Ein Mechaniker liest den Tank des Autos vor sich.
onClientCallback("myscript:checkTank", { args: oneArg(readId) }, (source, netId) => {
const vehicle = vehicleNearPlayer(source, netId, { metres: 4 });
if (!vehicle) return fail("TOO_FAR");
return { ok: true, level: core.GetVehicleFuel(vehicle) };
});SetVehicleFuel
Setzt den Tankstand eines Fahrzeugs.
Seite: Server · Wartet: nein · Lib: fuel.set (und spawnVehicle({ fuel }) setzt ihn beim Erstellen)
SetVehicleFuel(vehicle: number, level: number): booleanlocal ok = exports['ai-core']:SetVehicleFuel(vehicle, 100.0)Parameter
Prop
Type
Rückgabe
boolean: true, wenn der Stand an das Tank-Skript übergeben wurde (oder in die State Bag geschrieben, wenn keines läuft). false, wenn vehicle kein existierendes Fahrzeug ist, level keine endliche Zahl ist oder das Tank-Skript fehlgeschlagen ist.
Bei Tank-Skripten, die den Kraftstoff im Spiel der Spieler führen, erreicht der neue Stand das Fahrzeug einen Moment später über das Spiel seines Besitzers.
Beispiel
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Ein Benzinkanister fügt dem Auto neben dem Spieler 25 % hinzu.
onClientCallback("myscript:jerryCan", { args: oneArg(readId), lock: true }, (source, netId) => {
const vehicle = vehicleNearPlayer(source, netId, { metres: 3 });
if (!vehicle) return fail("TOO_FAR");
if (!core.RemoveItem(source, "jerrycan")) return fail("NO_JERRYCAN");
core.SetVehicleFuel(vehicle, (core.GetVehicleFuel(vehicle) ?? 0) + 25);
return { ok: true };
});