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:
local level = Entity(vehicle).state.fuelEl 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.
local level = exports.cuxial_fuel:GetFuel(vehicle)| Parámetro | Tipo | Descripción |
|---|---|---|
vehicle | number | Entidad del vehículo. |
Devuelve: number, de 0 a 100. 0 cuando el vehículo no existe.
if exports.cuxial_fuel:GetFuel(cache.vehicle) < 10 then
lib.notify({ description = 'Poco combustible' })
endSetFuel
Fija el nivel de combustible de un vehículo.
exports.cuxial_fuel:SetFuel(vehicle, value)| Parámetro | Tipo | Descripción |
|---|---|---|
vehicle | number | Entidad del vehículo. |
value | number | Porcentaje. Se limita a 0–100. |
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.
exports.cuxial_fuel:SetFuelType(vehicle, fuel)| Parámetro | Tipo | Descripción |
|---|---|---|
vehicle | number | Entidad del vehículo. Tiene que estar en red. |
fuel | string | 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.
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.
local level = exports.cuxial_fuel:getFuel(vehicle)Exports de servidor
GetFuel
Devuelve el nivel de combustible de un vehículo.
local level = exports.cuxial_fuel:GetFuel(vehicle)| Parámetro | Tipo | Descripción |
|---|---|---|
vehicle | number | Entidad del vehículo en el servidor. |
Devuelve: number de 0 a 100, o nil cuando el vehículo no existe o no tiene nivel.
local vehicle = NetworkGetEntityFromNetworkId(netId)
local level = exports.cuxial_fuel:GetFuel(vehicle) or 0SetFuel
Fija el nivel de combustible de un vehículo. El cliente dueño del vehículo lo aplica en el juego.
local ok = exports.cuxial_fuel:SetFuel(vehicle, value)| Parámetro | Tipo | Descripción |
|---|---|---|
vehicle | number | Entidad del vehículo en el servidor. |
value | number | Porcentaje. Se limita a 0–100. |
Devuelve: boolean. false cuando el vehículo no existe o el valor no es un número.
-- 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:
| Lado | Exports que responde con esos nombres |
|---|---|
| Cliente | GetFuel, SetFuel, SetFuelType y sus alias en minúscula |
| Servidor | GetFuel, 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.
