El comportamiento está en shared/config.lua. Las listas de modelos y posiciones están en data/. Reinicia el recurso después de cualquier cambio.
General
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
debug | boolean | false | Imprime trazas en la consola. También se activa poniendo la convar cuxial_fuel_debug a 1. |
refuelTick | number | 300 | Milisegundos por cada 0,5 L en un surtidor de combustible. Menos es más rápido. |
ropeEnabled | boolean | true | Dibuja la manguera entre el surtidor y la boquilla. Solo la ve el jugador que lleva la boquilla. false quita la manguera; el límite de distancia se mantiene. |
ropeLength | number | 7.5 | Metros que se puede alejar la boquilla del surtidor cuando el surtidor no tiene un valor propio en data/. |
refundOnReturn | boolean | true | true reembolsa lo pagado y no servido al cerrar la compra. false no reembolsa nunca. |
saveAllFuelTypes | boolean | true | true guarda el tipo de combustible de todos los vehículos. false guarda solo los vehículos de jugador; el resto se recuerda hasta el siguiente reinicio. |
fuelTypeCommand | string | 'fuel_type' | Comando que dice el combustible del vehículo. |
wrongFuelDelay | number | 5000 | Milisegundos desde que se conduce con el combustible equivocado hasta que se avería el motor. |
accounts | string[] | { 'cash', 'bank' } | Cuentas con las que se puede pagar. |
admin.permission | string | 'admin' | Permiso del framework, comprobado a través de Cuxial Bridge, que exige /fuel_screen. |
Los reembolsos se redondean hacia abajo, y si sobra menos de 1 L no se reembolsa. La compra también se cierra, con su reembolso, cuando el jugador se desconecta o cambia de personaje.
Interfaz · ui
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
accent | string (hex) | configurable | Color de acento de la interfaz. |
currency.symbol | string | '$' | Símbolo que va delante de cada importe. |
currency.locale | string | 'en-US' | Formato de los números (separadores de miles y decimales), como etiqueta de idioma, por ejemplo 'es-ES'. |
Distancias · distances
Distancias máximas que comprueba el servidor, en metros.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
pump | number | 8.0 | Del jugador al surtidor al abrirlo o al pagar. |
vehicle | number | 8.0 | Del vehículo al surtidor. |
fuelType | number | 6.0 | Del jugador al vehículo cuando otro recurso cambia su tipo de combustible. |
Descuentos por trabajo · jobDiscounts
Una tabla de nombre del trabajo = porcentaje. El descuento solo se aplica mientras el jugador está de servicio, y usa el nombre del trabajo, no su etiqueta. Los trabajos del archivo son ejemplos: cámbialos por los tuyos.
jobDiscounts = { police = 90, ambulance = 80 },El bidón no tiene descuento, y los tótems enseñan siempre el precio sin descuento.
El descuento requiere un framework que informe de si el jugador está de servicio. En ESX, usa una versión con estado de servicio.
Precios y stock por defecto · defaults
Los usan los surtidores que no pertenecen a ninguna gasolinera: todos cuando cuxial_gasstations no está arrancado, y las gasolineras sin dueño cuando sí lo está.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
price | table | regular = 1.55, plus = 1.69, premium = 1.98, diesel = 1.49 | Precio por litro de cada combustible. |
stock | table | todos true | true = hay combustible, hasta 1000 L por compra. false = sin stock. |
Una gasolinera sin precio fijado (precio 0) también vende al precio de defaults.
Bidón · jerryCan
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
enabled | boolean | true | false quita la venta en el surtidor, y los bidones que ya se tengan dejan de repostar. |
price | number | 300 | Precio fijo, sin descuento por trabajo. |
requiredStock | number | 10 | Litros que se descuentan del stock de la gasolinera por cada bidón. El bidón se llena con el primer combustible que tenga ese stock. |
item | string | 'weapon_petrolcan' | Ítem del inventario que recibe el jugador. |
liters | number | 100 | Litros que lleva el bidón. |
El bidón solo se vende en surtidores de combustible, no en cargadores. Para usarlo, el jugador se lo equipa y elige Repostar en el tapón de un vehículo cercano.
Derrames · spill
Arrancar el motor mientras se reposta corta el chorro y deja la boquilla enchufada. Si después el vehículo se mueve, la boquilla salta y la compra se cierra.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
enabled | boolean | true | false desactiva la regla: arrancar el motor solo para el repostaje. |
moveThreshold | number | 1.5 | Metros que tiene que moverse el vehículo para que salte la boquilla. |
speed | number | 2.0 | Velocidad en m/s que también la hace saltar. |
customerPays | boolean | true | true = los litros derramados no se reembolsan. false = se reembolsan igualmente. |
El charco y los litros perdidos los decide cuxial_gasstations. Sin él no se derrama nada y los litros no usados se reembolsan como siempre.
Combustibles · fuelTypes
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
petrol | string[] | regular, plus, premium, diesel | Combustibles que se venden en los surtidores. |
electric | string[] | electric_fast, electric_normal | Modos de carga que se venden en los cargadores. Cada uno va con una entrada de chargers.types (electric_fast = fast). |
Un vehículo sin tipo de combustible guardado toma el de su modelo: diesel si está en data/diesel.lua, eléctrico si es un vehículo eléctrico, y regular en otro caso.
Consumo · consumption
Litros por segundo = usage según las RPM × perClass × perFuel ÷ 10.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
perFuel | table | regular = 1.0, plus = 0.9, premium = 0.8, diesel = 1.0, electric = 1.0 | Multiplicador según el combustible del depósito. Menos es más económico. |
perClass | table | de 0.0 (bicicletas) a 4.0 (aviones) | Multiplicador por clase de vehículo de GTA, de 0 a 22. |
usage | table | de 0.0 a 1.3 | Valor base para cada tramo de RPM, de 0.0 a 1.0. 0.2 es el ralentí. |
Cuando el depósito llega a cero el motor se apaga. Un vehículo que nunca ha tenido nivel recibe uno al azar entre el 20 % y el 80 % la primera vez que alguien lo conduce.
Depósito · tank
Depósito en litros. El script mira primero el modelo, después la clase, y usa 100 L cuando no hay ninguno de los dos.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
perClass | table | de 0 (bicicletas) a 500 (aviones) | Litros por clase de vehículo de GTA. 0 = sin depósito: el vehículo no consume y no puede repostar. |
perVehicle | table | panto = 40 | Litros por nombre de modelo. Manda sobre la clase. |
perVehicle = { panto = 40, sultan = 65 },Boquilla · nozzle
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
gas | string | 'prop_cs_fuel_nozle' | Modelo de la boquilla de combustible. |
electric | string | 'prop_eletricpistol' | Modelo del conector de carga. |
bone | number | 18905 | Hueso del personaje al que se une la boquilla (mano izquierda). |
handOffset | vector3 | vec3(0.13, 0.04, 0.01) | Posición en la mano. |
handRotation | vector3 | vec3(-42.0, -115.0, -63.42) | Rotación en la mano. |
ropeOffset | vector3 | vec3(0.0, -0.033, -0.195) | Punto de la boquilla donde se ata la manguera. |
Surtidores · pumps
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
ropeOffset | table | forward = 0.0, right = 0.0, up = 2.1 | Punto del surtidor del que sale la manguera, para los modelos que no tienen el suyo. |
props | table[] | siete modelos de surtidor | Modelos que funcionan como surtidor. Cada entrada tiene prop, un ropeOffset opcional y un enabled opcional. |
Cualquier objeto del mapa con uno de estos modelos pasa a ser un surtidor que funciona. enabled = false en una entrada apaga ese modelo: sin interacción y sin pantalla.
props = {
{ prop = 'prop_gas_pump_1a', ropeOffset = { forward = 0.0, right = 0.0, up = 2.3 } },
{ prop = 'mi_surtidor', ropeOffset = { forward = 0.0, right = 0.0, up = 1.9 } },
},Cargadores · chargers
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
enabled | boolean | true | false quita los cargadores. Los vehículos eléctricos dejan entonces de consumir. |
props | table[] | prop_electric_01 | Modelos que funcionan como cargador, con los mismos campos que pumps.props. |
types.fast | table | price = 2.5, time = 0.8, stock = true, power = 220 | Carga rápida. |
types.normal | table | price = 1.8, time = 2, stock = true, power = 100 | Carga normal. |
vehicles | string[] | lista de modelos | Modelos que se tratan como eléctricos. |
Campos de cada tipo de carga:
| Campo | Qué hace |
|---|---|
price | Precio por unidad de batería. La batería usa la misma escala que el depósito. |
time | Segundos por unidad cargada. |
stock | true = disponible en los surtidores que no pertenecen a ninguna gasolinera. |
power | kW que enseña la pantalla. |
Con la build 3258 del juego o posterior, el cliente reconoce además los eléctricos por sí mismo. El servidor solo conoce la lista vehicles, así que añade ahí tus modelos eléctricos propios.
Blips · blips
Los blips vienen apagados porque cuxial_gasstations ya pone los suyos.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
enabled | boolean | false | Pone un blip en cada posición de coords. |
nearestOnly | boolean | false | Enseña solo el más cercano, recalculado cada 5 segundos. |
sprite | number | 361 | Icono del blip. |
color | number | 41 | Color del blip. |
scale | number | 0.6 | Tamaño del blip. |
coords | vector3[] | lista de gasolineras | Posiciones de los blips. |
Pantalla del surtidor · screen
La pantalla se dibuja sobre el modelo del surtidor. Enseña los precios en reposo y la compra cuando un jugador usa el surtidor.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
enabled | boolean | true | false apaga todas las pantallas de surtidor; los surtidores abren un panel normal en la pantalla del jugador. |
renderDistance | number | 20.0 | Metros dentro de los que se dibuja la pantalla de reposo. |
idle | table | 900 × 400 | Resolución de la pantalla de reposo en surtidores de combustible. |
session | table | 1080 × 480 | Resolución de la pantalla de compra en surtidores de combustible. |
idleEv | table | 800 × 450 | Resolución de la pantalla de reposo en cargadores. |
sessionEv | table | 1024 × 576 | Resolución de la pantalla de compra en cargadores. |
textures | table | gas, electric, vintage | Nombres de textura que la pantalla sustituye en los modelos de cuxial_gas_assets. No los cambies. |
variants | table | vintage | Diseños alternativos de pantalla con su propia resolución. Un modelo elige uno con variant. El surtidor clásico (vintage) muestra la marca de la clave de locale UI_VINTAGE_BRAND, FUEL por defecto; edítala en locales/. |
camera.distance | number | 1.2 | Metros de la cámara a la pantalla durante la compra. |
camera.margin | number | 1.25 | Margen alrededor de la pantalla en el encuadre. 1.0 = la pantalla llena la vista. |
camera.fov | number | automático | Opcional. Fija el campo de visión en lugar del calculado. |
models | table | ocho modelos | Dónde va la pantalla en cada modelo de surtidor o cargador. |
Posición de la pantalla por modelo · screen.models
Cada clave es un nombre de modelo. Un surtidor cuyo modelo no tiene entrada aquí abre el panel normal.
| Campo | Qué hace |
|---|---|
offset | Centro de la pantalla desde el origen del modelo: x derecha, y delante, z arriba. |
yaw | Rotación en grados. |
width, height | Tamaño en metros. |
sides | 1 o 2. Con 2 la pantalla se dibuja también en la cara opuesta. |
mesh, txdName | Vienen puestos en los modelos de cuxial_gas_assets, que llevan la pantalla en el propio modelo. No los cambies. |
variant | Diseño de screen.variants. |
Para colocar la pantalla en un modelo tuyo, ponte a su lado, ejecuta /fuel_screen y pega en screen.models la línea que imprime. Consulta Comandos y permisos.
Tótems de precios · screen.totems y screen.totemBrands
Los tótems son los carteles grandes de precios de las gasolineras. Enseñan precio por litro, stock, cargadores y, con cuxial_gasstations, el nombre de la gasolinera y sus promociones.
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
totems.enabled | boolean | true | false apaga todos los tótems. |
totems.mode | string | 'prop' | Cómo se pone la pantalla en el cartel. Deja 'prop'. |
totems.propDistance | number | 300.0 | Metros dentro de los que existe la pantalla de un tótem. |
totems.renderDistance | number | 140.0 | Metros dentro de los que la pantalla está encendida. |
totems.switchMargin | number | 15.0 | Metros que otro tótem tiene que estar más cerca para que cambie el encendido. |
totems.refreshMs | number | 60000 | Milisegundos entre refrescos. Los cambios de precio, stock o promociones llegan sin esperar. |
totems.maxDuis | number | 3 | Pantallas de tótem encendidas a la vez, las más cercanas. |
totems.models | table | lista de modelos de cartel | Modelos de cartel y las pantallas que lleva cada uno. Ligados a los modelos de cuxial_gas_assets. |
totems.placements | table[] | lista de carteles | Una entrada por cartel del mapa: modelo, posición, gasolinera y líneas de servicios. |
Campos de una colocación que puede interesarte editar:
| Campo | Qué hace |
|---|---|
station | Id de la gasolinera en cuxial_gasstations. Sin él, la gasolinera se busca a partir de coords. |
services | Líneas fijas de la pantalla grande: '24h', 'shop', 'lotto', 'wash'. |
totemBrands define el aspecto de cada marca de gasolinera: name, imágenes banner y disc, mascot, orden de los fuels, slogans (prefijo de las claves de idioma) y colors (primary, secondary, digits, text).
totems.models y totems.placements se corresponden con los modelos de cartel de cuxial_gas_assets. Cambia precios, marcas y servicios con libertad; no toques posiciones ni nombres de modelo salvo que sustituyas los modelos.
Sonidos · audio
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
enabled | boolean | true | false apaga los sonidos nativos. |
remote | boolean | true | Deja oír el chorro de otros jugadores que repostan. |
remoteDistance | number | 25.0 | Metros dentro de los que se oye ese chorro. |
screenBeep | boolean | true | Pitido al pulsar la pantalla del surtidor. |
debugCommand | string | 'fuelaudio' | Comando que reproduce todos los sonidos. Solo se registra con debug activo. |
Gráfica de consumo · chart
| Opción | Tipo | Por defecto | Qué hace |
|---|---|---|---|
enabled | boolean | true | false quita la gráfica, su comando y su tecla. |
command | string | 'fuel_chart' | Comando que abre y cierra la gráfica. |
focusKey | string | 'F3' | Tecla por defecto que da el cursor a la gráfica. Cada jugador puede cambiarla en los ajustes de teclas de GTA. |
position | string | 'left' | Lado de la pantalla: 'left' o 'right'. |
Listas de datos · data/
| Archivo | Qué contiene |
|---|---|
data/pumps.lua | Surtidores extra que crea el script donde el mapa no tiene. Cada entrada tiene prop, coords (vec4, el cuarto valor es el rumbo) y un ropeLength opcional. |
data/chargers.lua | Cargadores eléctricos, con los mismos campos. |
data/diesel.lua | Modelos que van con diésel. Cualquier otro combustible les avería el motor, y el diésel se lo avería a los demás. |
data/blacklist.lua | Modelos que no consumen y no pueden repostar. |
data/vehicles.lua | Punto de repostaje por modelo: distance para interactuar, nozzleOffset desde el tapón (forward, right, up) y un nozzleRotation opcional. default vale para los modelos que no están en la lista. |
Las posiciones de data/pumps.lua y data/chargers.lua son ejemplos para el mapa por defecto. Cámbialas por las tuyas.
{ prop = 'prop_gas_pump_1b', coords = vec4(442.2, -977.17, 42.69, 270.3), ropeLength = 14.0 },Cambios habituales
Cambiar los precios
defaults = {
price = { regular = 2.10, plus = 2.35, premium = 2.80, diesel = 1.95 },
stock = { regular = true, plus = true, premium = true, diesel = true },
},Añadir un modelo eléctrico
Añade su nombre de modelo al final de chargers.vehicles, sin quitar los que ya hay:
vehicles = {
'voltic', 'voltic2', 'neon', -- ...el resto de la lista
'mi_coche_electrico',
},Hacer que un modelo vaya con diésel
Añade su nombre de modelo a data/diesel.lua:
'mi_camion',Repostar más rápido
refuelTick = 150,