Skip to content

Configuración

Todas las opciones de Cuxial Chipeo: shared/config.lua bloque a bloque, y los archivos de datos de piezas, medusas, vehículos, el taller y filtros de ambiente.

Todo se ajusta en shared/config.lua y en los archivos de data/. Reinicia el recurso tras un cambio. Las opciones marcadas en vivo también se cambian desde el Panel de staff sin reiniciar; el panel las guarda en la base de datos y «Fábrica» vuelve a los valores del archivo.

General ​

OpciónTipoPor defectoQué hace
debugbooleanfalsetrue = modo pruebas: el staff no necesita ítems ni trabajo y tiene los comandos de prueba. Déjalo en false en un servidor abierto.
remoteRangenumber12.0Metros desde los que el dueño (o una medusa pública) maneja la radio desde fuera del coche.
remoteMarginnumber3.0Metros de más antes de que la tablet se cierre al alejarse.

ui ​

OpciónTipoPor defectoQué hace
accentstringconfigurableColor de acento de la interfaz (hex).
allowAccentbooleanfalsetrue = cada jugador elige su color.
allowBackgroundbooleantruetrue = cada jugador puede poner una imagen de fondo en la tablet.
allowAcousticsbooleanfalsetrue = cada jugador puede apagar para sí el audio 3D y la oclusión.
cameraKeystring'Alt'Tecla que, mantenida, suelta el ratón para mover la cámara (Alt, Control o Shift).
cameraMovebooleantruetrue = mientras se mantiene esa tecla también se puede andar, correr y conducir.

commands ​

Cada comando es una tabla con name. Pon name = '' para no registrar los que lo permiten. Lista completa en Comandos y permisos.

OpciónPor defectoNotas
open{ name = 'chipeo', keybind = 'F4' }keybind = '' no registra tecla.
repairrepairchipeoSolo existe con mechanic.enabled = true.
removeAll, removeNearby, emergencyremoveallchipeo, removechipeo, chipeoemergenciarestricted = false comprueba admin.permission; un grupo ACE como 'group.admin' además los restringe con ox_lib.
workshoptallerchipeo
musicVolume, updateRatevolumenmusica, intervalomusicaOpciones personales.
adminchipeoadminPanel de staff.
requestpedircancionPeticiones de canciones.
debugtablaNombres de los comandos de prueba, solo con debug = true.

logs ​

OpciónTipoPor defectoQué hace
enabledbooleanfalsetrue = manda registros a Discord.
convarstring'cuxial_chipeo_webhook'Convar del servidor con la URL del webhook (set, nunca en este archivo).

delays ​

Esperas del cliente en milisegundos: boot (tras cargar el personaje, antes de pedir las medusas colocadas), settings (tras arrancar, antes de mandar los ajustes a la interfaz), watch (comprobaciones de distancia con la tablet abierta), control (espera del control de red del coche al tocar puertas y ventanas) y settle (pausa antes de leer cómo quedó una puerta o ventana). Los valores por defecto sirven para casi cualquier servidor.

items ​

OpciónTipoPor defectoQué hace
installstring'chipeo_radio'Ítem que instala la radio.
unmountstring'chipeo_unmount'Ítem que la desinstala y devuelve la radio.
usbtablausb_8 = 8 … usb_128 = 128Ítem de USB → número de canciones.
usbFallbackstring'usb_8'Ítem que se devuelve al expulsar si la capacidad guardada no coincide con ninguno.
debugUsb, debugMedusastring'usb_32', 'chipeo_medusa_l'Lo que dan los comandos de prueba.

install ​

OpciónTipoPor defectoQué hace
timeMs / unmountTimeMsnumber5000 / 5000Duración de instalar y desinstalar.
ownerOnlybooleanfalsetrue = solo el dueño del vehículo instala.
unmountOwnerOnlybooleantruetrue = solo el dueño o quien la instaló desinstala.
rangenumber4.0Metros al vehículo.
rangeMarginnumber1.5Tolerancia que suma el servidor a range.
checkGraceMs / checkExpireMsnumber500 / 60000Tolerancia al lag y validez de la comprobación previa a la barra.
animtablamini@repair / fixing_a_pedAnimación de instalar, desinstalar y reparar.

audio ​

OpciónTipoPor defectoQué hace
defaultDistancenumber10.0Metros a los que se oye un coche sin piezas.
maxVolumeBoostnumber5.0Tope del mando de volumen (1.0 = normal).
volumeCapnumber10.0En vivo. Tope de volumen de todo el servidor, por encima del de cada coche.
defaultVolume / defaultBassnumber1.0 / 30Volumen y bajos con los que arranca una radio.
proximityMsnumber250Cálculo de distancias en el cliente; también la actualización por defecto.
rangeMarginnumber5.0Metros de más a los que el cliente ya prepara la fuente.
maxBass / maxPunchnumber100 / 100Escala de los mandos de bajos y pegada.
bassHztabla60–200, 110Margen y valor inicial del corte del subwoofer.
eqBandstabla31, 62, 125, 250, 500, 1000, 2000, 4000, 8000, 16000Bandas del ecualizador en Hz. La primera y la última son estanterías.
eqLegacyBandstabla60, 170, 350, 1000, 3500, 10000Bandas de versiones anteriores. Los ecualizadores y presets guardados con ellas se convierten al leerse.
eqRangeDbnumber12± dB por banda.
presetSlotsnumber5Presets de ecualizador por jugador.
musicVolumeMaxnumber2.0Tope del volumen personal de música (2.0 = el doble).
updateOptionstabla100, 250, 500Intervalos (ms) que puede elegir el jugador.
idleSuspendMsnumber5000Ms sin nada sonando antes de dormir el audio de la interfaz. 0 = nunca.

emergency, social, groups, buckets ​

OpciónTipoPor defectoQué hace
emergency.removeMedusasbooleanfalseEn vivo. true = la emergencia también retira todas las medusas colocadas.
social.showNamesbooleanfalsetrue = avisos y listas enseñan el nombre del personaje; false = solo el ID.
social.request.enabledbooleantruePeticiones de canciones sí o no.
social.request.whostring'all''all' = cualquiera cerca · 'passengers' = solo dentro del coche · 'list' = solo los trabajos y permisos de list.
social.request.listtablavacíaCon who = 'list': jobs = { mechanic = 0 } (grado mínimo) y permissions = { 'vip' }.
social.request.range / notifyRangenumber25.0 / 60.0Metros para pedir, y metros a los que avisa al dueño.
social.request.maxPending / perPlayernumber8 / 1Peticiones pendientes por equipo y por jugador.
social.request.cooldownSec / ttlSecnumber30 / 300Segundos entre peticiones de un jugador, y duración de una petición.
social.share.enabled / range / ttlSectrue / 4.0 / 30Compartir una lista con un jugador cercano.
groups.enabledbooleantrueGrupos sincronizados sí o no.
groups.maxMembersnumber6Equipos por grupo, contando el maestro.
groups.maxDistance / inviteRangenumber150.0 / 60.0Metros antes de que un miembro salga, y metros para invitar.
groups.inviteSecnumber30Segundos que dura una invitación.
groups.tickMs / refreshMsnumber2000 / 3000Revisiones del grupo y refresco de la app Grupo abierta.
buckets.enabledbooleantruetrue = cada jugador solo oye su routing bucket.
buckets.shareDefaultbooleanfalsetrue = el bucket 0 se oye desde todos.
buckets.pollMsnumber1000Revisiones de bucket de jugadores y coches.
buckets.maxnumber65535Bucket más alto que el staff puede dar a una instalación.
buckets.staffMovebooleantruetrue = «Ir hasta allí» del panel también mete al staff en ese bucket.
buckets.movePermissionstring/nilnilPermiso para ese cambio; nil = admin.permission.

fixed ​

OpciónTipoPor defectoQué hace
enabledbooleantrueInstalaciones fijas sí o no.
netBasenumber65536Base interna de identificadores. No tocar.
spawnRange / controlRangenumber150.0 / 4.0Metros a los que se crean los props, y metros al controlador para usarlo.
placeRange / maxSpreadnumber40.0 / 60.0Alcance del gizmo, y distancia máxima del controlador a cada pieza.
maxPieces / maxInstalls / maxPerOwnernumber24 / 60 / 2Piezas por instalación, instalaciones en el servidor, instalaciones por creador que no es staff.
usbCapacitynumber60Canciones del USB virtual de cada instalación.
tickMsnumber30000Revisiones de horario.
defaultVolume / defaultMaxVolume / defaultMaxRangenumber1.0 / 3.0 / 120.0Valores iniciales de una instalación nueva.
modelstablamedusa L y SModelos de prop permitidos como controlador.
zoneRadiusnumber1.6Distancia del target de un controlador de tipo zona.
creatorstablatodo apagadoQuién más puede crear (solo las suyas): permission (permiso de Cuxial Bridge), jobs ({ club = 2 }) o export ({ resource = 'x', name = 'y' }, recibe el ID del jugador y devuelve boolean).

session y limits ​

session guarda tiempos del servidor: alcance y validez del informe de cabina (cabinRange, cabinTtlMs, cabinResendMs), margen de fin de pista (endMarginSec), avance máximo (maxSeekSec), el valor de cabina por debajo del que un coche cuenta como cerrado (closedBelow), pasada de calor y presión (tickMs), limpieza de radios cuyo coche ya no existe (cleanupMs), caché del dueño (ownerCacheMs) y espera mínima entre dos avisos de ventanas bajadas a los demás (windowsPushMs).

limits acota cuántas peticiones de cada tipo puede mandar un jugador: { max = n, windowMs = ms } por acción (control, panel, USB, canciones, instalar, acciones de medusa, grupos, importar, instalaciones fijas, biblioteca, peticiones, tienda, banco de trabajo, facturas, menú de jefe…). Sube un valor solo si jugadores legítimos ven mensajes de espera.

overheat y pressure ​

OpciónTipoPor defectoQué hace
overheat.enabledbooleantrueEl equipo se puede freír.
overheat.seconds / bassThresholdnumber15 / 80Sin piezas: segundos por encima de ese nivel de bajos hasta freírse.
overheat.fireSecondsnumber20Segundos que arde el maletero.
overheat.cooldownPerSecondnumber2Lo rápido que se enfría.
overheat.damagedMaxVolume / damagedMaxBassnumber1.0 / 20Topes con el equipo frito.
overheat.mounted.enabledbooleantrueEn vivo. Con piezas, el calor depende de vatios, volumen, bajos, cajas cerradas y caída de tensión.
overheat.mounted.refWatts / minRate / enclosed / sagHeatnumber2500 / 0.3 / 1.2 / 1.0Vatios que calientan 1 punto por segundo a tope, ritmo por debajo del que se enfría, extra por cajas cerradas, extra a caída máxima.
pressure.enabledbooleantrueRevientan ventanas en un coche cerrado con el volumen alto.
pressure.volumeThreshold / secondsnumber0.7 / 10Fracción del volumen a tope (sound.fullVolume, o el máximo del coche si es menor) a partir de la que sube, y segundos al máximo hasta reventar una ventana.
pressure.cooldownPerSecond / breakCooldownnumber2 / 12Bajada, y segundos de gracia tras reventar una ventana.
pressure.gaintablabase 0.6, bass 0.4, punch 0.3, min 0.35Peso de cada mando en la subida.
pressure.cabinRefDb / cabinFactor115.0 / 0.3–3.0Con piezas: dB de graves dentro de la cabina que equivalen a la presión normal, y topes del multiplicador.

acoustics, sound y cabin ​

OpciónTipoPor defectoQué hace
acoustics.spatialbooleantrueAudio 3D según la cámara.
acoustics.occlusionbooleantrueParedes y edificios apagan el sonido.
acoustics.occlusionRays / occlusionHeight / occlusionSpread3 / 0.6 / 0.6Rayos por fuente (1–3), su altura y su apertura lateral. Manda el rayo central; los laterales solo matizan.
acoustics.groupRaysnumber1Rayos por grupo de emisores (1–3). Más es más fino y cuesta más con muchos coches.
acoustics.occludeObjects / objectMinSizefalse / 3.0false = solo tapan paredes y edificios (recomendado) · true = también objetos grandes, desde esa diagonal en metros.
acoustics.occlusionSmoothnumber0.350–1, rapidez con la que la oclusión va al valor nuevo. Menos es más suave.
acoustics.interiorFloornumber0.350–1, oclusión mínima entre dos interiores distintos: una puerta o persiana abierta deja pasar el resto.
acoustics.farFrom / farEvery60.0 / 4Desde esa distancia en metros, la oclusión de una fuente se recalcula una de cada farEvery pasadas.
sound.hearDbnumber83.0Nivel por debajo del que la calle deja de oír el coche; marca el alcance.
sound.maxRangenumber250.0En vivo. Metros, tope del alcance de cualquier equipo.
sound.reachTilttablasub 0, mid -3, high -7dB por banda que se restan solo para calcular el alcance.
sound.interiorSpl / refDbnumber98.0 / 112.0dB de la radio de fábrica, y dB que equivalen a ganancia 1.0.
sound.closedDb / closedLowpass-18.0 / 400Pérdida y filtro de una pieza desplegable cerrada.
sound.trunktablasub -3, mid -15, high -15dB por banda de una pieza dentro del maletero cerrado.
sound.airAbsorbFromnumber30.0Metros a partir de los que el aire se come los agudos.
sound.groupsPerVehicle / groupsTotalnumber4 / 16Grupos de emisores por coche y por jugador. Cada fuente cercana tiene al menos uno.
sound.fullVolumenumber2.0Volumen de sesión que cuenta como a tope para el consumo, el calor y la presión.
sound.crossovertablalow 120, high 3000Hz entre graves, medios y agudos.
sound.special.mufflebooleanfalseCoches con Proyecto especial: false = sin ahogo de paredes, cabina, maletero, piezas cerradas ni espaldas · true = como los demás.
sound.special.gainDbnumber6.0dB extra de volumen y de tope por banda de un Proyecto especial. El limitador sigue activo.
sound.refDistancenumber2.0Metros hasta los que la radio de serie suena entera desde fuera; más lejos baja con la distancia como las piezas.
sound.hrtf.near / far / sources20.0 / 60.0 / 3Audio 3D detallado entero hasta near metros, panorama simple desde far, y cuántas de las fuentes más cercanas lo tienen a la vez.
sound.bassCompbooleantrueCompresor suave solo de graves (por debajo de 150 Hz) antes del limitador, para que el bombo no tape las voces.
sound.filters.enabledbooleantrueEn vivo. Filtros de ambiente (perfiles en data/filters.lua).
sound.filters.maxStack / fadeMsnumber3 / 900Perfiles combinados por fuente, y fundido entre ellos.
cabin.door / trunk / window / roofnumber0.45 / 0.3 / 0.3 / 0.9Cuánto abre la cabina cada cosa (0 cerrada, 1 al aire libre).
cabin.anglenumber1.5Multiplicador del ángulo de la puerta.

fx y feel ​

OpciónTipoPor defectoQué hace
fx.tickMsnumber300Pasada de chispas y vibración.
fx.firetablaboot, partículas de coreHueso, partículas, tamaños y alcance del fuego del maletero.
fx.sparkletablaboot, minBass 60Chispas con los bajos altos: partícula, tamaño, hueso, umbral, intervalo, alcance.
fx.shaketablaenabled true, 0.5, 40Vibración simple de cámara, la que se usa con feel.enabled = false.
feel.enabledbooleantrueEn vivo. Cámara y carrocería vibran con los graves que le llegan al jugador.
feel.minDb / fullDbnumber92.0 / 126.0dB de graves donde empieza la vibración y donde llega al máximo.
feel.camMaxnumber0.3En vivo. Tope de la vibración de cámara.
feel.insideBoostnumber1.4Multiplicador dentro del coche que suena.
feel.body / bodyForcetrue / 0.6En vivo. Balanceo de la carrocería por golpe y su fuerza.
feel.bodyMaxSpeed / bodyGapMsnumber1.5 / 180Velocidad por encima de la que la carrocería no se mueve, y tiempo mínimo entre golpes.
feel.tickMs / levelsMs / meterMsnumber50 / 100 / 250Pasada de vibración, envío del nivel de graves, envío del medidor de dB.

electric ​

OpciónTipoPor defectoQué hace
enabledbooleantrueEn vivo. false = corriente infinita.
batteryAh / alternatorAnumber60.0 / 110.0Batería y alternador de serie.
idleDraw / factoryWattsnumber3.0 / 60Amperios de la radio sin música, vatios de los altavoces de fábrica.
efficiency / musicLoadnumber0.75 / 0.2Rendimiento de los amplificadores, fracción media de la potencia RMS que pide la música.
drainMultipliernumber1.0En vivo. Rapidez de descarga y carga (1 = real, 2 = el doble de rápido).
wireOhm / batteryOhmnumber0.0025 / 0.004Resistencia del cableado y de la batería (caída = amperios × ohmios).
restFull / restEmpty / chargingnumber12.7 / 11.6 / 14.2Voltios en reposo llena y vacía, y cargando.
sagFrom / cutVoltsnumber11.8 / 10.5Voltios a los que se nota la caída, y a los que se corta la radio.
resumeSocnumber0.15Carga para volver a encender con el motor apagado.
hitVolts / capPerFaradnumber3.0 / 0.3Bajón por golpe que apaga las luces del todo, y parte que quita cada faradio.
effectstabladropDb 6, bassDb 8, drive 4, lights 0.75Efectos a caída máxima. lights es en vivo.
defaultstablapor tipoValores de las piezas eléctricas sin campo electric propio en data/components.lua (un alternador sin valor propio da 250 A).
amps.enabledbooleantrueLos altavoces necesitan vatios de amplificador.
amps.builtin / maxDropDb / drive600 / 12.0 / 3.0Vatios de la radio sola, dB que se pierden sin amplificador, distorsión sin amplificador.
fuse.margin / peakShare / tripSec1.2 / 0.5 / 4.0Margen de sobrecarga, parte de los picos que cuenta, segundos de sobrecarga hasta fundirse.
fuse.itemstring/false'chipeo_fuse'Ítem que se gasta al reponerlo; false = gratis.

medusa ​

OpciónTipoPor defectoQué hace
pairRange / controlRangenumber15.0 / 4.0Metros a un coche para emparejar, y metros a una medusa para manejarla.
maxPerPlayernumber3Medusas fuera del inventario por jugador.
placeRange / pickupRange / targetDistance / panelRangenumber6.0 / 3.0 / 2.5 / 3.0Distancias para dejar, coger, ver las opciones de target y enseñar el panel de la esquina.
cursorKeystring'LMENU'Tecla que, mantenida, deja usar el panel sin dejar de andar (Alt izquierdo).
cooldownMs / tickMs / nearbyMsnumber800 / 1000 / 5000Espera entre acciones, revisiones del cable, refresco de coches cercanos.
cable.enabledbooleantrueDibuja el cable de la medusa al maletero.
cable.length / reconnectnumber14.0 / 8.0Metros de cable, y distancia a la que se vuelve a enchufar.
cable.vehicleBone / rearHeight'boot' / 0.45Punto final en el coche, y altura de respaldo.
cable.slack / taut / rangenumber0.5 / 0.05 / 60.0Holgura, holgura mínima con el cable al máximo, alcance de dibujo.
cable.ropetablatrenzado negrocustom = true usa la textura trenzada de los assets; false usa la cuerda del juego defaultType.
carrytablaToques de mandos al azar, suavizado, fundidos, alcance de la animación, animación de respaldo.
putdown / pickuptabla1600 msDuración y animación de respaldo.
pole.maxPerPlayernumber2Trípodes por jugador.
pole.placeRange / moveRange / maxSlopenumber4.0 / 8.0 / 30.0Alcance al colocar, cuánto se puede mover un trípode ya puesto, inclinación máxima del suelo.
pole.keystablaE, Retroceso, rueda, flechasControles al colocar.

mounts y anim ​

OpciónTipoPor defectoQué hace
mounts.maxPerVehiclenumber24Piezas de sonido por coche. Las eléctricas cuentan aparte. limits.total en data/vehicles.lua lo cambia por modelo.
mounts.maxElectricnumber10Piezas eléctricas por coche: amplificadores, baterías, condensadores, portafusibles y alternador. limits.electric lo cambia por modelo.
mounts.specialMaxnumber60Piezas que se dibujan en un coche con Proyecto especial, que no tiene topes por clase ni total.
mounts.internalMsnumber5000Barra de progreso al instalar una pieza interna (alternador) sin trabajo del taller (0 = sin barra).
mounts.limitstablasub 6, mid 6, high 6, tower 2, box 2, gate_wall 1, roof_wall 1, cable 1, amp 4, battery 4, capacitor 2, fuse 4, alternator 1Piezas por clase. Un modelo puede cambiar cualquiera en data/vehicles.lua.
mounts.wiring.enabled / rangetrue / 20.0Cables visibles entre piezas eléctricas, y alcance de dibujo.
mounts.wiring.perVehicle / total / slack / radius8 / 24 / 1.08 / 0.008Topes de cables, holgura y grosor.
mounts.wiring.diffuse / diffuseNeg / normalstringtrenzado rojo / negroTexturas de los cables positivo y negativo.
mounts.editRange / renderRangenumber6.0 / 80.0Metros para abrir el taller, y alcance de dibujo de las piezas.
mounts.offsetLimit / envelope1.5 / 1.6 × 6.5 × 3.5Cuánto puede salirse una pieza del coche.
mounts.targetDistance / ghostAlpha2.5 / 150Distancia del target «Taller de sonido», opacidad del fantasma.
mounts.removeReturnstring'owner'A dónde va una pieza quitada: 'owner' = al dueño del coche si está cerca y tiene sitio; si no, a quien la quita · 'remover' = siempre a quien la quita.
mounts.removeOwnerRangenumber15.0Metros del dueño al coche para removeReturn = 'owner'.
mounts.openCooldownMsnumber4500Espera entre abrir y cerrar una pieza sin duración de animación.
mounts.auto.defaultbooleantrueLos coches empiezan con el Automático encendido.
mounts.auto.closeDelayMs / pauseCloseMsnumber8000 / 60000Esperas para cerrar sin música y en pausa (0 = la pausa nunca cierra).
mounts.auto.openMaxSpeed / closeSpeed / speed3.0 / 14.0 / trueReglas de velocidad en m/s; speed = false = solo decide la música.
anim.range / maxAnimatednumber40.0 / 16Alcance de la animación de conos y piezas animadas a la vez.
anim.smooth / minLevel / fallbackHz / waveHz0.35 / 0.04 / 2.0 / 9.0Suavizado del golpe, nivel mínimo de graves, latido de reserva, vaivén del cono.

mechanic y admin ​

OpciónTipoPor defectoQué hace
mechanic.enabledbooleantrueReparación del equipo frito.
mechanic.timeMs / rangenumber30000 / 5.0Duración y distancia de la reparación.
mechanic.jobstabla{ mechanic = true, tuner = true, lscustoms = true, taller_chipeo = true }Trabajos que reparan y que pueden montar piezas en cualquier coche. Añade tus trabajos de mecánico.
mechanic.requirementstabla4 materiales{ item, amount, label } que se gastan en cada reparación.
admin.permissionstring'admin'Permiso de Cuxial Bridge para los comandos de staff, el panel y el modo pruebas.
admin.nearbyRadiusnumber30.0Radio de /removechipeo.
admin.blockMinutesnumber15Minutos que un dueño bloqueado desde el panel no puede poner música.
admin.logSize / refreshMs / gotoLift50 / 4000 / 1.0Entradas del registro, refresco del panel, altura al teletransportarse.
admin.settingstablaMínimo, máximo y paso de los ajustes numéricos en vivo.
admin.specialRangenumber8.0Metros al coche más cercano cuando se activa un Proyecto especial sin matrícula.

shop ​

El negocio del taller: mostrador, bancos de trabajo, bahías, oficina, órdenes de trabajo, facturas y menú de jefe. Cómo se usa en juego: Negocio del taller.

El precio de venta, la moneda, la etiqueta y el precio de instalación de cada artículo, el precio de reparación y las monedas los pone el staff en el Panel de staff. Los valores de abajo y los de data/shop.lua son los de fábrica, de los que parte el panel.

OpciónTipoPor defectoQué hace
enabledbooleantruefalse = tienda, puntos y taller apagados.
job.enabledbooleantruetrue = trabajo del taller con bancos, órdenes, facturas y jefe · false = solo mostrador, y cada jugador instala sus propios ítems.
job.name / label / typestring'taller_chipeo' / nombre del taller / 'mechanic'Trabajo del taller. Cuxial Chipeo no lo crea: pégalo desde install/jobs/ en tu framework. Sin él, el mostrador sigue funcionando.
job.defaultDuty / offDutyPaybooleanfalse / falseDe servicio al conectarse (si no, se ficha en la oficina), y sueldo fuera de servicio.
job.gradestabla3 gradosGrados 0, 1 y 2 con name, payment e isboss. Mantenlos iguales que en install/jobs/.
rankstablapor gradoPor grado: install ('all' o una tabla de tipos de pieza), repair, charge (facturar) y boss (menú de jefe). Por defecto el grado 0 instala altavoces, cajas y conectores; los grados 1 y 2 instalan todo, reparan y facturan; solo el grado 2 abre el menú de jefe.
bayOnlybooleantruetrue = los mecánicos solo instalan en coches ajenos dentro de una bahía.
bayOverridesOwner / ownerRangetrue / 15.0true = en bahía y de servicio no hace falta el dueño · false = el dueño debe estar a ownerRange metros.
installMsnumber6000Barra de progreso al confirmar una instalación con trabajo (0 = sin barra).
installGraceMs / installExpireMsnumber800 / 60000Tolerancia de lag de esa barra, y cuánto vale una vez acabada.
currencystring'bank'Moneda (una key de currencies) de un artículo sin moneda propia.
currenciestablacash, bank, coins (VIP)Monedas de fábrica: key, label, account (cuenta de dinero del framework) y vip. Las monedas VIP se consumen y nunca van a la sociedad.
income.societystring/false'taller_chipeo'Cuenta de sociedad que recibe las ventas del mostrador en monedas normales y las facturas pagadas (solo con trabajo). false = a ningún sitio.
prices.installtabladefault 250 + por tipoPrecio de instalación de fábrica por tipo de pieza (sub, mid, tower, gate_wall…).
prices.repairnumber1500Precio de fábrica de una reparación que entra en la orden.
bench.pickMs / pickExpireMsnumber2500 / 300000Barra de progreso al coger la pieza en el banco, y cuánto vale la pieza cogida antes de instalarla.
bench.markRangenumber30.0Metros a los que se marcan los bancos mientras el mecánico tiene que ir a uno.
carry.cancelKeystring'X'Tecla para soltar la pieza (cada jugador puede cambiarla).
carry.maxDistance / scanRangenumber40.0 / 6.0Metros al coche a partir de los que la pieza se suelta, y metros a los que aparece Instalar en un coche.
carry.anim / box / selftablaAnimación de llevar, modelo de la caja embalada con su hueso y ajuste, y hueso y ajuste por defecto de una pieza que se lleva tal cual.
carry.types / components / offsetstablaQué se lleva por tipo de pieza ('self' o 'box'), excepciones por pieza y ajustes opcionales por tipo.
cart.maxLines / maxQtynumber20 / 10Líneas por compra y unidades por línea.
points.targetDistance / spawnRange / serverMarginnumber2.0 / 40.0 / 2.5Distancia del target de cada punto, distancia a la que se crean los targets y tolerancia del servidor.
points.bayRadiusnumber4.0Radio de una bahía nueva.
invoice.range / ownerRangenumber5.0 / 30.0Metros del mecánico a un cliente elegido, y del dueño al coche para facturarle directamente.
invoice.expireMsnumber90000Tiempo que tiene el cliente para pagar.
invoice.accountstabla{ 'bank', 'cash' }Monedas normales con las que puede pagar el cliente.
orders.maxLines / keepDaysnumber40 / 90Líneas por orden, y días que se guardan las órdenes pagadas y sus facturas.
boss.statsDays / hireRange / recentnumber14 / 5.0 / 20Días que cubren las gráficas, metros para contratar a un jugador cercano y facturas impagadas que se listan.
log.keepDays / recentnumber30 / 100Días que se guardan las ventas del mostrador, y filas que ve el staff en el panel.
removeRangenumber12.0Metros a cualquier punto del taller a los que el jefe puede quitar piezas fuera de una bahía.
seedbooleantruetrue = crea los puntos de data/shop.lua si no hay ninguno.
bliptablaenabled, sprite 72, color 1, scale 0.8Icono en el mapa sobre el mostrador.

Si actualizas desde una versión anterior, sustituye el bloque shop entero por el nuevo. Estas opciones ya no existen: storage, takeMs, ranks[].storage, boss.prices, boss.stock, boss.currency, boss.priceMin, boss.priceMax, invoice.enabled, invoice.max y los antiguos carry.model, bone, pos, rot. mounts.removeReturn = 'stock' ahora funciona como 'remover'.

library ​

OpciónTipoPor defectoQué hace
autoNextbooleantruetrue = repetir todas al empezar una sesión; false = para al final de la cola.
fadeSecnumber3Fundido por defecto (0–8).
normalizebooleantrueIgualar el volumen de las canciones directas por defecto.
normalizeTarget / normalizeMaxDbnumber-14.0 / 6.0Sonoridad a la que se igualan las canciones (LUFS aproximados; más bajo es más suave), y dB que como mucho se sube o se baja una canción.
prevRestartSecnumber4Pasado esto, «anterior» vuelve al inicio de la canción.
queueMaxnumber200Canciones en la cola.
maxNameLength / maxUrlLengthnumber60 / 500Largo del nombre y del enlace.
allowedExtensionstablamp3 wav ogg m4a aac flac opus webmArchivos de audio directos aceptados.
allowedHoststablaservicios de alojamiento habitualesDominios permitidos para enlaces directos, con sus subdominios: Discord, Catbox, Dropbox, GitHub raw y archive.org por defecto. Vacía = cualquier dominio. YouTube, SoundCloud y Spotify no dependen de ella.
platforms.youtube / soundcloud / spotifybooleantrueEn vivo. Aceptar enlaces de cada plataforma. Spotify necesita la clave de YouTube.
platformEffectsbooleanfalseEn vivo. Ecualizador, bajos y 3D en YouTube y SoundCloud para quien lo active.
streamerForcedbooleanfalseEn vivo. Modo streamer para todos.
streamer.unknownstring'licensed'Sin respuesta de YouTube: 'licensed' silencia, 'free' suena.
streamer.soundcloud / spotify / directstring'unknown' / 'licensed' / 'free'Cómo cuenta cada fuente para el modo streamer.
streamer.replacementstring/falsefalseEnlace directo a una pista libre que suena en su lugar, o silencio.
streamer.cacheSecnumber86400Cuánto se recuerda la licencia de un vídeo.
playlist.enabledbooleantrueImportar listas de YouTube (necesita la clave).
playlist.maxTracks / maxPages / maxDurationSecnumber100 / 6 / 0Canciones por importación, páginas de 50, canción más larga (0 = sin tope).
playlist.dailyUnitsnumber3000Unidades de cuota de YouTube al día para importar (0 = sin tope).
playlist.cacheSec / cacheMax / maxConcurrent / holdSec / queueExtraMax600 / 30 / 2 / 300 / 100Caché, importaciones a la vez, tiempo para elegir cola o USB, canciones de fuera del USB en una cola.
lists.max / maxSongs / nameLength / historyMaxnumber12 / 200 / 32 / 30Listas por USB, canciones por lista, largo del nombre, canciones recientes.
waveBarsnumber96Barras de la forma de onda guardada.
resolve.keyConvarstring'chipeo_youtube_key'Convar con la clave de YouTube.
resolve.timeoutMs / cacheSec / cacheMax / maxInflight6000 / 21600 / 500 / 8Lectura de enlaces.
resolve.searchResults / durationSlackSecnumber5 / 12Cómo se empareja una canción de Spotify con un vídeo de YouTube.

Archivos de datos ​

ArchivoQué contiene
data/components.luaCatálogo de piezas: ítem, modelo, tipo, punto de montaje, potencia (RMS y pico), sensibilidad y acústica. Cambia aquí ítems o potencias.
data/medusas.luaÍtem → modelo, tamaño y color del LED de la medusa, y el ítem del trípode. Añade una entrada para vender una medusa con otro color de LED (red, blue, white).
data/vehicles.luablacklist de modelos que no admiten radio, y por modelo: distance, volume, huesos de fuego y de chispas, spl (dB del equipo de serie), openBed (caja abierta: las piezas de atrás no se ahogan como en un maletero), limits (total, electric o cualquier clase) y mounts (dónde aparece cada pieza al colocarla, por hueco o por pieza, con bone, offset y rot). Los modelos incluidos son ejemplos.
data/shop.luaCatálogo de fábrica del mostrador (item, categoría, price, y opcionales currency, label e install) y los puntos que se crean la primera vez (shop, bench, bay, boss, colocados en el mapa del taller). El staff edita los artículos y los puntos desde el panel.
data/filters.luaPerfiles de los filtros de ambiente (paso bajo, paso alto, reverberación) y las reglas que los aplican: interiores, salas, túneles, bajo el agua, otro coche, distancia, lluvia.

Cambios habituales ​

shared/config.lua
lua
install = {
    ownerOnly = true,
    unmountOwnerOnly = true,
    -- ...
},

© Cuxial