Combustível
Leia e defina o nível de combustível de um veículo pelo script de combustível que o servidor roda.
O combustível passa pelo ai-core, nunca pelos exports, decorators ou state bags próprios de um script de combustível (ai-fuel incluído). O ai-core encaminha cada chamada ao script de combustível ativo: o que a configuração Fuel script do painel escolhe, ou o primeiro que estiver rodando (ai-fuel, ox_fuel, LegacyFuel e os outros da lista de compatibilidade). Sem um script de combustível, o nível é só o state bag fuel do veículo.
Um nível é um número de 0 (vazio) a 100 (cheio). Um veículo é um handle de entidade do servidor.
GetFuelSystem
O nome do recurso do script de combustível para o qual o ai-core encaminha.
Lado: Servidor · Espera: não · Lib: fuel.provider()
GetFuelSystem(): string | nulllocal system = exports['ai-core']:GetFuelSystem() -- 'ai-fuel', 'ox_fuel'... ou nilParâmetros
Nenhum.
Retorno
string | null: o nome do recurso do script de combustível. null quando nenhum está rodando.
Exemplo
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
O nível de combustível de um veículo.
Lado: Servidor · Espera: não · Lib: fuel.get (servidor); no cliente, o fuel.get(vehicle) da lib de cliente lê o state bag que o ai-core mantém
GetVehicleFuel(vehicle: number): number | nulllocal level = exports['ai-core']:GetVehicleFuel(vehicle) -- 0-100 ou nilParâmetros
Prop
Type
Retorno
number | null: o nível, 0-100. null quando o veículo ainda não tem nível, ou vehicle não é um veículo existente.
Exemplo
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Um mecânico lê o tanque do carro à sua frente.
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
Define o nível de combustível de um veículo.
Lado: Servidor · Espera: não · Lib: fuel.set (e spawnVehicle({ fuel }) o define na criação)
SetVehicleFuel(vehicle: number, level: number): booleanlocal ok = exports['ai-core']:SetVehicleFuel(vehicle, 100.0)Parâmetros
Prop
Type
Retorno
boolean: true quando o nível foi entregue ao script de combustível (ou gravado no state bag quando nenhum está rodando). false quando vehicle não é um veículo existente, level não é um número finito ou o script de combustível falhou.
Para scripts de combustível que guardam o combustível no jogo dos jogadores, o novo nível chega ao veículo pelo jogo do dono dele um momento depois.
Exemplo
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Um galão adiciona 25% ao carro ao lado do jogador.
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 };
});