Lo que falla con más frecuencia, qué significa realmente y qué hacer al respecto. La mayoría de estos casos son de configuración, no fallos. Mientras investigas, activa Config.Debug: así el script explica en la consola del servidor y en F8 hasta dónde llegó antes de detenerse.
Instalación y acceso#
La consola dice "You have renamed the script!" y el servidor se congela
La carpeta no se llama qs-taxijob. Detén el servidor, vuelve a llamar la carpeta exactamente qs-taxijob, corrige la línea ensure en server.cfg para que coincida, y arranca de nuevo.
No aparece nada: ni el despachador ni el blip
Taxi Job no encontró un framework. es_extended, qb-core o qbx_core debe estar en ejecución y debe arrancar antes que qs-taxijob en server.cfg. ¿Usas un core renombrado? Consulta Integraciones → Frameworks renombrados.
El despachador está, pero el blip de Taxi Services no
Es el comportamiento correcto. El blip solo se dibuja para los jugadores con un trabajo listado en Config.TaxiJob, para no saturar el mapa de los demás. Asígnate el trabajo, o revisa Config.EnableBlip. Con Config.RequireJob desactivado, todos lo ven.
"You don't have the taxi job" al empezar un turno
El nombre del trabajo del jugador no está en Config.TaxiJob. En QBCore y Qbox el trabajo también debe existir en el archivo de trabajos compartidos del core. En ESX se registra automáticamente en el primer arranque — si la consola dijo Could not register the ESX job rows, tu base de datos aún no tiene la tabla jobs.
El despachador nunca aparece
El modelo de Config.StartJob.ped.model no existe. La consola del cliente (F8) dice Ped model '…' never loaded — corrige el nombre, o vuelve a poner cs_manuel.
La clasificación falla con "Illegal mix of collations"
Las columnas identifier no se pudieron ajustar automáticamente a la collation de tu framework. La consola imprimió la sentencia ALTER TABLE exacta al arrancar — ejecútala una vez en HeidiSQL o phpMyAdmin y reinicia.
Turnos y viajes#
"Parking lot is full"
Cada plaza de Config.VehicleSpawnCoords tiene un vehículo a un par de metros — normalmente taxis o coches que dejaron otros jugadores. Retíralos, o añade más plazas: puede empezar un conductor por cada plaza libre.
"Your level is too low to drive that cab"
El levelRequired del taxi es superior al nivel del conductor. El panel muestra los taxis bloqueados atenuados con el nivel que necesitan; elige uno desbloqueado.
Nunca llega ningún viaje
La radio espera entre Config.CustomerCalls minTime y maxTime segundos (de 5 a 20) antes de cada viaje. Si nunca llama, comprueba que Config.Rides.startLocation y finishLocation tengan al menos un punto cada uno — si alguno está vacío, se rechazan los turnos.
No hay aviso en la recogida ni en el destino
El aviso solo aparece con el conductor al volante de su propio taxi, el taxi completamente detenido y a menos de Config.InteractDistance (12 m) del punto. Acércate más y detente por completo. Un taxi tomado de otra persona no cuenta.
"There are no free seats available for the passenger"
Todos los asientos de pasajero están ocupados — normalmente por amigos que van de acompañantes. El viaje espera: libera un asiento y pulsa E de nuevo.
"The fare could not be paid in" o "This item does not exist: black_money"
No se pudo abonar el dinero. En ESX un viaje ilegal necesita la cuenta black_money; en QBCore y Qbox necesita un ítem black_money en la lista de ítems de tu inventario — QBCore de serie solo incluye markedbills. Un inventario lleno también rechaza el ítem. La experiencia se da igualmente; las ganancias de la clasificación no.
El turno terminó solo
El conductor perdió el trabajo, se desconectó o se reinició el recurso — el servidor descarta un turno del que ya no puede llevar la cuenta, y el cliente limpia el taxi, los blips y el taxímetro. Otro recurso también puede terminar un turno con el export cancelShift.
El taxi no tiene llaves, o no tiene combustible
Las llaves se detectan una vez, cuando carga el cliente, así que el script de llaves debe arrancar antes que qs-taxijob en server.cfg. El combustible solo se llena con Config.Fuel activado y Config.FuelExport apuntando a un recurso de combustible que esté en ejecución.
La policía nunca recibe aviso en una parada ilegal
Config.DispatchExport está vacío por defecto. Rellénalo con la alerta de tu recurso de dispatch — consulta Integraciones → Dispatch policial. Solo se ejecuta cuando la parada se denuncia de verdad, lo que en el nivel 1 ocurre en una de cada cinco paradas.
Pasajeros jugadores#
Un jugador subió pero nunca se le pidió un destino
El conductor tiene que estar de turno, y ambos deben estar a menos de 10 m el uno del otro. Un taxi lleva un viaje de jugador a la vez: un segundo pasajero se rechaza mientras el primer viaje está en curso, y se le vuelve a ofrecer cuando termina.
"You don't have enough money"
Los viajes de jugadores se pagan en efectivo y por adelantado — no desde el banco. El mapa se vuelve a abrir para que el pasajero elija un sitio más cercano.
"The cab did not cover that route, so the fare earned no experience"
Al conductor se le pagó, pero el servidor no vio al taxi recorrer la ruta: cubrió menos del 75% de la distancia presupuestada, o llegó antes de lo que podría haberlo hecho un coche. La experiencia y las ganancias de la clasificación solo se dan por un viaje realmente conducido.
Nunca se pidió al pasajero que valorara al conductor
Solo se pueden valorar los viajes de más de 100 m, y el aviso debe responderse en tres minutos. Cada viaje se puede valorar una vez.
"The driver is no longer available"
El conductor terminó su turno, se desconectó o perdió el trabajo antes de terminar el viaje. Si el viaje estaba pagado, ya se ha reembolsado por completo.
Clasificaciones y recompensas#
Falta un conductor en la clasificación
Cada clasificación solo muestra a los conductores con experiencia en ese periodo, y se actualiza cada Config.UpdateLeaderboard minutos. Un conductor que no ha terminado ningún viaje hoy aún no aparece en la clasificación diaria.
No se le pagó a un ganador
Los premios se entregan en el reinicio. A un ganador que estaba desconectado se le paga en su siguiente conexión — el premio espera en qs_taxijob_rewards hasta entonces.
El reinicio ocurrió a la hora equivocada
Los reinicios siguen el reloj y la zona horaria de la máquina donde corre el servidor, no los de los jugadores. El diario a las 00:00, y el de temporada a las 00:00 del primer día del mes.
Falta el botón Statistics o Guide
Config.EnableLeaderboard o Config.EnableGuide está desactivado. El botón se oculta en lugar de quedarse sin hacer nada.
Mensajes y lo que significan#
Los mensajes que ven los conductores, por clave de traducción — útil cuando un jugador informa de uno en otro idioma.
Clave | Significa |
|---|---|
| El jugador no tiene ningún trabajo listado en Config.TaxiJob — o lo perdió a mitad del turno. |
| Este jugador ya tiene un turno en curso. |
| El taxi elegido necesita un nivel más alto. |
| No hay plaza libre en la parada, o no se pudo generar el taxi. |
| El taxi no tiene asiento libre para el viaje. |
| No se pudo abonar el viaje — falta una cuenta, o el inventario está lleno. |
| El inventario no tiene ese ítem — casi siempre black_money en QBCore. |
| El conductor de un viaje de jugador se fue, terminó su turno o perdió el trabajo. |
| Un viaje de jugador se pagó pero no se condujo, así que no dio experiencia. |
| El turno terminó — se cerró, o ya no constaba en el servidor tras un reinicio. |
¿Sigues con problemas? Abre un ticket e incluye la consola del servidor desde el arranque del recurso, la salida de F8 con
Config.Debugactivado, tu framework y su versión, y tuconfig/config.lua.



