DW Job Center de DaniWorld ofrece selección inmediata de trabajos civiles y solicitudes para trabajos con whitelist. La versión 1.0.0 examinada usa QBCore. Salario, ventajas y requisitos en config.lua son textos informativos; no implementan nóminas, entrega de equipo ni comprobaciones de antecedentes.
Recurso, base de datos y sistema de interacción
Conserva dw-jobcenter con client, server, html, config.lua y fxmanifest.lua completos. Inicia qb-core y oxmysql antes de ensure dw-jobcenter. Aunque el README cita mysql-async como alternativa, el manifiesto importa @oxmysql/lib/MySQL.lua; no presupongas una sustitución directa sin adaptar y probar esa integración.
Haz una copia de la base del framework y compara sql.sql con tu esquema antes de crear job_applications. El SQL del README y sql.sql difieren en tipos de fecha y restricciones. Elige un esquema compatible; CREATE TABLE IF NOT EXISTS no migra una tabla existente.
Por defecto, qb-target y la revisión interna están activos. Usa TargetSystem = ox para ox_target. UseTarget = false activa el acceso por texto al centro, pero los puntos de revisión internos aún consultan TargetSystem y pueden llamar a sus exports. Desactivar solo UseTarget no elimina esas dependencias.
Definiciones de trabajos y permisos de revisión
Ajusta claves y grados de Config.Jobs a tus trabajos QBCore, añádelos a Config.JobOrder y elige type civilian o whitelisted. Los trabajos por solicitud también definen questions y minReviewGrade. El sistema interno no necesita dw-bossmenu; la integración externa requiere una comprobación aparte.
La acción de revisión verifica el trabajo y grado mínimo del revisor, pero el callback de lectura no impone esos controles antes de devolver solicitudes. Además, concatena el trabajo solicitado en SQL. Añade autorización de trabajo/grado en el servidor y consultas parametrizadas en la lectura; las restricciones visibles de los puntos no bastan.
Contratación offline y textos de solicitudes
La aceptación online llama a SetJob. Offline, escribe un nombre simple de trabajo y una columna job_grade en players. El esquema QBCore examinado no tiene job_grade y su guardado almacena un objeto de trabajo JSON. Adapta la asignación offline al framework y comprueba la persistencia al reconectar; un estado aceptado no demuestra una contratación correcta.
La interfaz de revisión inserta respuestas mediante innerHTML. Muestra respuestas no fiables como texto y valida tipos, longitudes, solicitudes repetidas y transiciones de estado en el servidor. Prueba revisores autorizados y no autorizados, aceptación online y offline, rechazo, funcionamiento sin target y reinicios.
Vista previa existente del creador
Fuentes revisadas el 10 de septiembre de 2026: DW 418dec5004059c0ebe45cdf82f3ff7ca03380e29 y referencia QBCore 9b3cddcce93e5e12cbcf6b47b866b687d32ac7bf. Se inspeccionaron Lua, configuración, SQL y los caminos relevantes de representación de las revisiones. No hubo migración de base de datos, proceso de contratación ni prueba dentro del juego.