Combustible
Lee y pon el nivel de combustible de un vehículo a través del script de combustible que tenga el servidor.
El combustible pasa por ai-core, nunca por los exports, decorators o state bags propios de un script de combustible (ai-fuel incluido). ai-core reenvía cada llamada al script de combustible activo: el que elige el ajuste Fuel script (script de combustible) del panel, o el primero que esté en marcha (ai-fuel, ox_fuel, LegacyFuel y los demás de la lista de compatibilidad). Sin un script de combustible, el nivel es simplemente el state bag fuel del vehículo.
Un nivel es un número de 0 (vacío) a 100 (lleno). Un vehículo es un handle de entidad del servidor.
GetFuelSystem
El nombre de recurso del script de combustible al que reenvía ai-core.
Lado: Servidor · Espera: no · Lib: fuel.provider()
GetFuelSystem(): string | nulllocal system = exports['ai-core']:GetFuelSystem() -- 'ai-fuel', 'ox_fuel'... o nilParámetros
Ninguno.
Devuelve
string | null: el nombre de recurso del script de combustible. null cuando no hay ninguno en marcha.
Ejemplo
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
El nivel de combustible de un vehículo.
Lado: Servidor · Espera: no · Lib: fuel.get (servidor); en el cliente, el fuel.get(vehicle) de la lib de cliente lee el state bag que mantiene ai-core
GetVehicleFuel(vehicle: number): number | nulllocal level = exports['ai-core']:GetVehicleFuel(vehicle) -- 0-100 o nilParámetros
Prop
Type
Devuelve
number | null: el nivel, 0-100. null cuando el vehículo aún no tiene nivel, o vehicle no es un vehículo existente.
Ejemplo
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Un mecánico lee el depósito del coche que tiene delante.
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
Pone el nivel de combustible de un vehículo.
Lado: Servidor · Espera: no · Lib: fuel.set (y spawnVehicle({ fuel }) lo pone al crearlo)
SetVehicleFuel(vehicle: number, level: number): booleanlocal ok = exports['ai-core']:SetVehicleFuel(vehicle, 100.0)Parámetros
Prop
Type
Devuelve
boolean: true cuando el nivel se entregó al script de combustible (o se escribió en el state bag cuando no hay ninguno en marcha). false cuando vehicle no es un vehículo existente, level no es un número finito o el script de combustible falló.
En los scripts de combustible que guardan el combustible en los juegos de los jugadores, el nuevo nivel llega al vehículo a través del juego de su dueño un momento después.
Ejemplo
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Un bidón añade un 25% al coche que está junto al jugador.
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 };
});