AI Core
Vehículosai-fuel

ai-fuel para desarrolladores

Cómo leer y fijar el combustible con ai-fuel en marcha, sus state bags y sus eventos internos.

ai-fuel no tiene exports. El combustible de un vehículo es el state bag de entidad fuel (0-100), que lleva el servidor.

Lee y fija el combustible con fuel.get(vehicle) y fuel.set(vehicle, level) de la lib (servidor; fuel.get también en el cliente). Pasan por la capa de combustible de ai-core (en Lua, llama a sus exports GetVehicleFuel y SetVehicleFuel en ai-core), que lee y escribe el bag fuel mientras ai-fuel está en marcha y habla con el otro script de combustible cuando el servidor usa uno en su lugar. Así tu script funciona con cualquier script de combustible.

Leer y fijar el combustible

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

// Llena un vehículo que el jugador acaba de pagar en una gasolinera propia.
export function fillUp(vehicle: number): void {
  const before = fuel.get(vehicle);
  fuel.set(vehicle, 100);
  console.log(`fuel ${before} -> 100`);
}

No escribas el bag fuel desde un cliente: el servidor rechaza las escrituras del cliente (modo estricto de state bags), y de todos modos ai-fuel solo acepta valores más bajos del cliente del conductor.

State bags

BagEnTipoSignificado
fuelentidad de vehículonumberCombustible 0-100. Lo fija el servidor. ai-vehicles lo inicializa cuando hace aparecer un vehículo en propiedad.
aiFuelNozzlejugador{ x, y, z, netId } | undefinedEl surtidor cuyo boquerel tiene el jugador (x, y, z), y el network id del vehículo al que está conectado (netId, null mientras está en la mano). Cada cliente cercano lo usa para dibujar el boquerel y la manguera.
Lua (cliente)
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local level = Entity(vehicle).state.fuel -- number 0-100, o nil antes de la primera vez que se fija

Eventos

Estos son los eventos propios de cliente a servidor de ai-fuel. Se listan para que los reconozcas en los logs; no los llames desde otros scripts.

NombreTipoQué hace
ai-fuel:consumeevento de cliente(netId, fuel): el conductor informa de un nivel más bajo. Limitado a 2 por segundo; solo se aceptan valores más bajos.
ai-fuel:takeNozzlecallback de cliente(x, y, z): coger el boquerel de un surtidor. Limitado a 1 por segundo.
ai-fuel:plugcallback de cliente(netId | null): conectar el boquerel a un vehículo, o sacarlo. Limitado a 2 por segundo.
ai-fuel:returnNozzleevento de clienteVolver a colgar el boquerel. Limitado a 1 por segundo.
ai-fuel:refuelcallback de clienteLleva la barra de progreso, cobra y llena el depósito.

En esta página