Comandos#
Fuel Stations registra dos comandos. Ambos están restringidos a jugadores con acceso al creador (consulta Instalación); fuelmarket también se puede ejecutar desde la consola del servidor.
Comando | Dónde | Descripción |
|---|---|---|
| En el juego | Abre el creador de estaciones: estaciones, surtidores y la pestaña Economy. El nombre es |
| En el juego · consola | Muestra el factor de mercado, la tendencia y el precio base resultante de cada tipo de combustible. Solo responde cuando |
| En el juego · consola | Mueve el mercado un paso ahora, lo guarda, lo envía a todos los jugadores y luego muestra los nuevos precios. |
> fuelmarket
Petrol: x1.012 (up) -> €5.06
Diesel: x0.987 (down) -> €9.87
Electric: x1.000 (flat) -> €5.00Para abrir el creador con una tecla, establece Config.Creator.keybind (por ejemplo, 'F7'). Se registra como un key mapping de FiveM, así que cada administrador puede cambiarla en Settings → Key Bindings → FiveM.
Exports de cliente#
Para leer y establecer el combustible desde tus propios scripts: un garaje, un HUD, un trabajo de mecánico, una app de teléfono. El combustible es siempre un porcentaje del depósito, de 0 a 100.
GetFuel
Devuelve el nivel de combustible del vehículo, 0–100. Devuelve 0 si el vehículo no existe.
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local fuel = exports['qs-fuelstations']:GetFuel(vehicle)
print(('Tank at %.1f%%'):format(fuel))SetFuel
Establece el nivel de combustible del vehículo. El valor se limita a 0–100 y se replica mediante el state bag fuel, así que se mantiene incluso cuando es otro jugador quien conduce.
-- A garage restoring the level it saved
exports['qs-fuelstations']:SetFuel(vehicle, storedFuel)
-- A mechanic job filling the tank
exports['qs-fuelstations']:SetFuel(vehicle, 100.0)GetVehicleFuelType
Devuelve el tipo de combustible que usa el vehículo ('petrol', 'diesel' o 'electric'), según lo configurado en Economy → Vehicles. Todo lo que no aparece es gasolina.
if exports['qs-fuelstations']:GetVehicleFuelType(vehicle) == 'electric' then
-- show a battery icon instead of a fuel pump
endGetVehicleFuelCapacity
Devuelve el tamaño del depósito en litros, o de la batería en kWh, leído del handling del vehículo (fPetrolTankVolume). Si no, usa 50 L, o 65 kWh para un vehículo eléctrico.
local capacity = exports['qs-fuelstations']:GetVehicleFuelCapacity(vehicle)
local litres = exports['qs-fuelstations']:GetFuel(vehicle) / 100 * capacitygetFuelStations
Devuelve todas las estaciones con su posición, precios y stock en vivo, pensado para apps de teléfono y mapas. Una estación que vende combustible y electricidad aparece una vez como gas y otra como charge.
local data = exports['qs-fuelstations']:getFuelStations()
for _, station in ipairs(data.stations) do
-- station.id 'gas_12' or 'charge_12'
-- station.type 'gas' | 'charge'
-- station.name 'Gas Station 12'
-- station.x, .y, .z
-- station.level stock, 0-100 (always 100 for chargers)
-- station.prices { petrol = 5.06, diesel = 9.87 }
end
print(data.counts.gas, data.counts.charge, data.counts.total)
print(data.priceSymbol, data.prices.petrol)setFuelWaypoint
Establece el waypoint del mapa. Devuelve false si las coordenadas no son números.
exports['qs-fuelstations']:setFuelWaypoint(station.x, station.y)El state bag del combustible#
Cada vehículo en red lleva su nivel de combustible en el state bag fuel, que se actualiza cada vez que cambia un 1% o más. Cualquier cliente y el servidor pueden leerlo sin preguntar al conductor:
-- Read it — client or server
local fuel = Entity(vehicle).state.fuel
-- Set it from the server — the client in control of the vehicle applies it
Entity(vehicle).state:set('fuel', 50.0, true)Escribir el state bag desde el servidor es la forma de establecer el combustible cuando no interviene ningún script de cliente: un garaje del lado del servidor, un comando de administrador, una recompensa.
Compatibilidad con LegacyFuel#
Los scripts escritos para LegacyFuel llaman a exports['LegacyFuel']:GetFuel y SetFuel. Fuel Stations responde a esas llamadas por sí mismo, así que siguen funcionando sin cambios:
-- Still works, and reads the same tank as qs-fuelstations
local fuel = exports['LegacyFuel']:GetFuel(vehicle)
exports['LegacyFuel']:SetFuel(vehicle, 100.0)La primera llamada muestra un aviso único en la consola del cliente que sugiere usar en su lugar los exports qs-fuelstations. Es un recordatorio, no un error.
Eventos de cliente#
Evento | Argumentos | Descripción |
|---|---|---|
|
| Muestra una notificación mediante el propio puente de notificaciones del script. |
Todos los demás eventos del recurso son internos: los pagos, el stock y las entregas se validan en el servidor, que comprueba distancias y tiempos, así que no están pensados para activarse desde fuera.



