Skip to content

Exports y eventos

API pública de Cuxial Fuel: exports y state bag para leer y fijar el combustible desde otros recursos.

Lee y fija el combustible de un vehículo desde tus propios recursos, en el cliente o en el servidor. El combustible es siempre un porcentaje del depósito, de 0 a 100.

State bag ​

El nivel de combustible de cada vehículo se publica en su state bag fuel (number, de 0 a 100). Está replicado, así que se puede leer en cualquier lado:

lua
local level = Entity(vehicle).state.fuel

El valor es nil hasta que alguien ha conducido el vehículo o un recurso lo ha fijado. Para escribirlo, usa los exports de abajo.

Exports de cliente ​

GetFuel ​

Devuelve el nivel de combustible de un vehículo.

lua
local level = exports.cuxial_fuel:GetFuel(vehicle)
ParámetroTipoDescripción
vehiclenumberEntidad del vehículo.

Devuelve: number, de 0 a 100. 0 cuando el vehículo no existe.

lua
if exports.cuxial_fuel:GetFuel(cache.vehicle) < 10 then
    lib.notify({ description = 'Poco combustible' })
end

SetFuel ​

Fija el nivel de combustible de un vehículo.

lua
exports.cuxial_fuel:SetFuel(vehicle, value)
ParámetroTipoDescripción
vehiclenumberEntidad del vehículo.
valuenumberPorcentaje. Se limita a 0–100.
lua
exports.cuxial_fuel:SetFuel(vehicle, 100.0)

El nivel solo llega a los demás jugadores cuando el cliente que llama al export es el dueño de red del vehículo, normalmente su conductor. Desde cualquier otro cliente, usa el export de servidor.

SetFuelType ​

Fija el tipo de combustible guardado de un vehículo. No vacía el depósito.

lua
exports.cuxial_fuel:SetFuelType(vehicle, fuel)
ParámetroTipoDescripción
vehiclenumberEntidad del vehículo. Tiene que estar en red.
fuelstring | nil'regular', 'plus', 'premium', 'diesel', 'electric_fast' o 'electric_normal'. nil, '' o 'default' borra el tipo guardado, y el vehículo vuelve al de su modelo.

El jugador tiene que estar dentro del vehículo o a menos de distances.fuelType metros de él. El servidor acepta 5 cambios cada 10 segundos por jugador.

lua
exports.cuxial_fuel:SetFuelType(vehicle, 'diesel')

Alias en minúscula ​

getFuel, setFuel y setFuelType son los mismos exports con la primera letra en minúscula.

lua
local level = exports.cuxial_fuel:getFuel(vehicle)

Exports de servidor ​

GetFuel ​

Devuelve el nivel de combustible de un vehículo.

lua
local level = exports.cuxial_fuel:GetFuel(vehicle)
ParámetroTipoDescripción
vehiclenumberEntidad del vehículo en el servidor.

Devuelve: number de 0 a 100, o nil cuando el vehículo no existe o no tiene nivel.

lua
local vehicle = NetworkGetEntityFromNetworkId(netId)
local level = exports.cuxial_fuel:GetFuel(vehicle) or 0

SetFuel ​

Fija el nivel de combustible de un vehículo. El cliente dueño del vehículo lo aplica en el juego.

lua
local ok = exports.cuxial_fuel:SetFuel(vehicle, value)
ParámetroTipoDescripción
vehiclenumberEntidad del vehículo en el servidor.
valuenumberPorcentaje. Se limita a 0–100.

Devuelve: boolean. false cuando el vehículo no existe o el valor no es un número.

lua
-- Depósito lleno para un vehículo que sale de un garaje
exports.cuxial_fuel:SetFuel(vehicle, 100)

Compatibilidad con otros scripts de combustible ​

Cuxial Fuel declara, con provide, los nombres de recurso de los scripts de combustible más habituales. Están al principio de su fxmanifest.lua. Un recurso que llama a los exports de combustible con uno de esos nombres sigue funcionando sin cambios:

LadoExports que responde con esos nombres
ClienteGetFuel, SetFuel, SetFuelType y sus alias en minúscula
ServidorGetFuel, SetFuel

Eventos ​

Cuxial Fuel no tiene eventos públicos. Usa los exports y el state bag.

Integración con Cuxial Gas Stations ​

El enlace con cuxial_gasstations es automático: cuando ese recurso está arrancado, Cuxial Fuel le pide precios, stock y promociones y le comunica cada venta, reembolso y derrame. No hay nada que configurar ni que llamar desde tus recursos.

© Cuxial