Lo que falla con más frecuencia, lo que realmente significa y qué hacer al respecto. La mayoría de estos casos son de configuración, no fallos, y el script indica en la consola exactamente qué no pudo hacer. Con Config.Debug = true también explica cada paso de un recorrido, en la consola del servidor y en F8.
Instalación e inicio#
La consola dice que el script fue renombrado y luego se congela
La carpeta no se llama qs-truckjob. Vuelve a ponerle exactamente ese nombre (sin sufijos, sin mayúsculas, sin número de versión) y reinicia el servidor.
El panel está en blanco o no se abre
La interfaz viene compilada en web/build/. Si falta esa carpeta o se copió a medias, el panel nunca aparece: vuelve a copiar el recurso completo. Si pulsar E no hace nada, colócate a menos de 3 metros del despachador y revisa Config.Target: si está activado, la tecla no se usa y la opción viene del script de target definido en Config.TargetScript, que tiene que estar en ejecución.
No hay despachador, o no hay marcador
El marcador solo se muestra a los jugadores que pueden aceptar un contrato: con Config.RequireJob = true, asígnate primero el trabajo. Si falta el despachador, el modelo de Config.StartJob.ped nunca se cargó; la consola F8 dice Ped model '…' never loaded.
"shared/cargo.lua did not load — hand-loaded runs cannot work"
Los archivos del recurso están incompletos, o el servidor aún conserva una copia antigua de su lista de archivos. Vuelve a copiar el recurso completo y luego ejecuta refresh seguido de ensure qs-truckjob en la consola del servidor. Hasta que cargue, los contratos de carga manual pasan a ser recorridos con carga previa.
"Illegal mix of collations", o la clasificación está vacía
La clasificación une su tabla con la tabla de jugadores de tu framework, y ambas usan collations distintas: MariaDB 11.4 cambió el valor por defecto. El script las alinea al iniciar; si no puede, la consola imprime could not align … Run by hand: seguido de la sentencia ALTER TABLE exacta. Ejecútala en tu base de datos y reinicia.
"Could not register the ESX job rows"
Tu base de datos de ESX no tiene una tabla jobs o job_grades con la forma habitual. Las tablas propias del trabajo no se ven afectadas; añade el trabajo a mano desde [sql]/qs-Truck.sql o con tus propias herramientas de trabajos.
Iniciar un recorrido#
"You don't have the truck driver job"
Tu trabajo no está en Config.TruckDriverJob. Asigna el trabajo con /setjob <id> truck_driver 0, añade el nombre de tu propio trabajo a esa lista o configura Config.RequireJob = false. En QBCore y Qbox, el trabajo también tiene que existir en shared/jobs.lua. El mismo mensaje aparece cuando Config.TrailerLocations o Config.DeliveryLocations está vacío.
"Your level is too low" en un contrato o un camión
levelRequired de ese contrato o camión es superior al nivel del conductor. Los camiones bloqueados se muestran atenuados a propósito, para que los conductores vean lo que desbloquean los próximos niveles; el nivel se vuelve a comprobar en el servidor, así que no se puede saltar.
"Parking lot is full"
Cada espacio de Config.VehicleSpawnCoords tiene un vehículo encima. Despeja el patio o añade más espacios para que varios conductores puedan empezar a la vez. También es lo que ve un conductor cuando el camión no se pudo generar en absoluto: revisa los nombres de modelo en Config.Vehicles; la consola F8 indica el modelo que falló.
No hay llaves, o el motor no arranca
El script de llaves inició después de Trucker Job, así que no se detectó: muévelo por encima de ensure qs-truckjob. Un script de llaves que no está en la lista de compatibles necesita sus propias llamadas en client/vehiclekeys/none.lua — consulta Integraciones.
En la carretera#
No pasa nada después de enganchar el remolque
El enganche se comprueba según dónde está el conductor: tienes que estar en la plaza de remolques del GPS. Si el remolque salió de la plaza antes de engancharse, el servidor responde Hitch up at the trailer bay marked on your GPS — lleva el camión de vuelta al anillo ámbar. Se vuelve a comprobar cada pocos segundos mientras sigas enganchado.
No hay cajas en el muelle, o no aparece la indicación para cargar
La pila se crea cuando te acercas al muelle del GPS, y la indicación solo aparece a pie, a pocos metros de las cajas. Bring the trailer over to the boxes first significa que el remolque está a más de 25 metros de la pila. Si Config.ManualCargo.sites está vacío, el servidor entrega en su lugar un recorrido con carga previa y lo indica en la consola.
"That box did not count — this run is collecting from another dock"
Estás cargando en un muelle distinto del que el servidor tiene asignado al recorrido. Sigue el GPS: los muelles se visitan en un orden fijo, y cada uno debe vaciarse antes del siguiente. La caja vuelve a la pila, así que no se pierde nada.
No se puede tomar una caja
Solo se puede tomar una caja que no tenga nada encima, como lo haría una persona al desapilarlas. Apunta a la parte superior de la pila: una caja se ilumina cuando se puede agarrar.
"The trailer goes back empty. Take the load off first."
En un recorrido de carga manual con Config.UnloadAtDelivery = true, la mercancía tiene que descargarse en el punto de entrega antes de que el remolque cuente. Camina hasta el remolque, pulsa E y descárgalo; luego lleva el remolque vacío de vuelta a su plaza.
Las cajas flotan sobre la plataforma o desaparecen dentro del remolque
Un recorrido de carga manual necesita una plataforma con una altura similar a la de trflat en Config.CargoTrailerModels. Un remolque cerrado o mucho más alto no puede sostener bien la carga. Si esa lista está vacía, la consola dice Config.CargoTrailerModels is empty.
El recorrido desapareció: "You abandoned the route"
El servidor ya no tenía el recorrido: el recurso se reinició, un administrador u otro script lo canceló, el conductor cambió de trabajo o volvió a la pantalla de personajes. Los recorridos viven en la memoria del servidor, así que un reinicio siempre los termina: el camión y el remolque se retiran y no se paga nada. Cambiar de personaje termina el recorrido de la misma forma, así que al siguiente personaje nunca se le paga por él.
Pago y progresión#
"The payment could not be processed — contact an administrator"
El framework rechazó el dinero. En ESX, la cuenta black_money no existe en un recorrido de carga robada o, con ox_inventory o qs-inventory, la mochila del conductor no tenía espacio para el ítem black_money. En QBCore y Qbox, el ítem black_money falta en tu inventario, o la mochila del conductor estaba llena. Con qs-job-management en ejecución, Job Management rechazó el pago. La experiencia se entrega igualmente: solo falló el movimiento del dinero.
Un recorrido de carga robada no pagó nada
Se alertó a la policía cuando se entregó el remolque. Un recorrido denunciado no paga dinero ni experiencia, por diseño. La probabilidad baja con cada nivel hasta Config.MaxBonusLevel — consulta Uso.
El pago no coincide con lo que decía la tarjeta del contrato
La tarjeta muestra una tarifa por cada 100 metros. Un recorrido se paga por toda su ruta (cada muelle y el viaje de vuelta incluidos en un recorrido de carga manual), más cada caja, multiplicado por el camión y el tipo de carga. El rastreador muestra el importe exacto desde que empieza el recorrido.
Una fila de la clasificación dice Unknown
El identificador de ese conductor ya no tiene ningún personaje en users (ESX) o players (QBCore); normalmente es un personaje eliminado. Los conductores sin experiencia en una clasificación quedan totalmente fuera de ella.
No se pagaron los premios de la clasificación
Un ganador que está desconectado en el reinicio cobra en efectivo la próxima vez que inicia sesión. Un servidor que estaba apagado a medianoche, o el día uno del mes, ejecuta el reinicio pendiente en cuanto vuelve a iniciar.
Tienda e ítems#
"This item does not exist: …"
Un ítem de Config.Shop no está registrado en tu inventario, y la consola del servidor también lo nombra. Añádelo (consulta Instalación) o quítalo de la tienda. No se cobra nada por él.
"Your inventory is full"
La mochila no tenía espacio para parte del pedido. Solo se cobra lo que realmente llegó.
No aparece el botón Shop, Statistics o Guide
Cada uno se oculta cuando su función está desactivada: Config.Shop.Enabled (desactivado por defecto), Config.EnableLeaderboard y Config.EnableGuide.
Claves de error#
El servidor responde a un rechazo con una clave de traducción, para que el mismo fallo se lea en el idioma de tu servidor. Las que más probablemente verás:
Clave | Significa |
|---|---|
| El jugador no tiene un trabajo permitido, o no se encontraron el contrato, las plazas de remolques o los puntos de entrega. |
| Ya hay un recorrido en curso. |
| El contrato necesita un nivel más alto. |
| El camión necesita un nivel más alto. |
| No hay espacio de aparición libre, o no se pudo generar el camión. |
| El remolque se enganchó lejos de su plaza. |
| El remolque está a más de 25 m de la pila. |
| Las cajas se mueven a pie, no desde la cabina. |
| La caja se movió en un muelle del que el recorrido no está recogiendo. |
| La carga tiene que bajarse antes de entregar el remolque. |
| La oferta de carga robada ya no era válida cuando se aceptó. El recorrido continúa sin cambios. |
| El framework, o Job Management, rechazó el dinero. |
| Un ítem de la tienda no está registrado en el inventario. |
| No hay espacio para parte de una compra. |
¿Sigues con problemas? Abre un ticket e incluye tu framework y su versión, cada línea
qs-truckjobde la consola del servidor y lo que muestra la consola F8 conConfig.Debug = truemientras reproduces el problema.



