Documentación de Crimen organizado
ov_crime
Sistema de crimen organizado para qb-core: bandas y mafias con tablet propia, territorio con graffitis, guerras, lavado y extorsion, mercado negro, misiones, garaje, guaridas con muebles, espionaje, redadas y airdrops, mas un panel de administracion.
Que hace
ov_crime convierte a las bandas de tu servidor en organizaciones con herramientas propias. Los miembros las usan desde una tablet (F10) y el staff gestiona el contenido desde un panel de administracion.
- Organizaciones: bandas y mafias con rangos editables (hasta
Config.Orgs.maxRanks), permisos por rango, invitaciones, miembros, caja con dinero limpio y sucio, vehiculos y registro de acciones. - Territorio: zonas con puntos de graffiti. Las bandas pintan y borran graffitis con objetos consumibles, ganan lealtad y experiencia, controlan zonas y suben de nivel.
- Guerras y rivalidades: guerras entre bandas con apuesta, duracion y puntos por muertes y ventas, y rivalidades con coste, duracion y bonus.
- Economia criminal: puntos de lavado de dinero con comision, extorsion (rackets) a negocios, mercado negro entre bandas y un medico clandestino.
- Misiones criminales con pasos validados por el servidor (ir a un punto, subir a un vehiculo, eliminar guardias, interactuar, esperar, entregar). Incluye 14 misiones de ejemplo editables.
- Comunidad: tareas diarias, ranking, DarkChat entre miembros y pase de temporada de bandas.
- Garaje de banda y tienda de vehiculos, guaridas en interiores con muebles colocables, uniformes de banda (via
illenium-appearance) y espionaje (camaras ocultas, sensores, GPS, detector y binoculares). - Restricciones: atar, soltar y escoltar a otro jugador con una soga.
- Redadas de los trabajos configurados (policia por defecto) contra guaridas, con decomiso de dinero.
- Airdrops periodicos con guardias y botin.
- Panel de administracion dentro de la misma tablet (
/crimeadmin) para crear organizaciones, zonas, puntos de lavado, interiores, muebles, misiones y airdrops.
Requisitos
- Servidor FiveM con qb-core (el recurso detecta qb-core o ESX con
Config.Framework = 'auto'), Lua 5.4 y base de datos MySQL o MariaDB conoxmysql. dependenciesdelfxmanifest.lua:ox_lib,ox_inventoryyoxmysql.- Items que debes tener en
ox_inventory(nombres por defecto del config):gang_spray_can,gang_spray_remover,black_money,rope, y los seis del espionaje (spy_cam,spy_gps,spy_motionsensor,spy_cam_terminal,spy_detector,spy_binoculars). Los items del espionaje deben apuntar al exportuseSpyItemdel recurso (ver Instalacion). - Opcionales que el codigo usa si estan iniciados:
illenium-appearance(uniformes de banda) y0r-vehiclekeysoqs-vehiclekeys(llaves al sacar un vehiculo del garaje de banda). - La entrega y consulta de vehiculos de banda usa la tabla
player_vehiclesde qb-core.
Instalacion
El recurso viene protegido con Asset Escrow de Cfx.re: se descarga desde el Portal de Cfx.re con la cuenta Cfx.re del comprador y solo funciona en servidores de esa cuenta. Segun su fxmanifest.lua, quedan sin cifrar config.lua y toda la carpeta web/ (la interfaz).
- Descarga el recurso desde el Portal de Cfx.re y copia la carpeta
ov_crimeenresources/. - Base de datos: no hay archivo
.sql. Todas las tablas (prefijoov_, por ejemploov_orgs,ov_org_members,ov_turf_zones,ov_wars,ov_market,ov_org_hideout,ov_spy_devices,ov_raids) se crean solas conCREATE TABLE IF NOT EXISTSal arrancar. - Declara los items en
ox_inventory. Para los items de espionaje, usa en cada uno el export de cliente del recurso, por ejemplo: ``lua ['spy_cam'] = { label = 'Camara oculta', weight = 500, client = { export = 'ov_crime.useSpyItem' } },`El exportuseSpyItemrecibe el item usado y distingue entrespy_cam,spy_motionsensor,spy_gps,spy_cam_terminal,spy_detectoryspy_binoculars`. - Agrega en
server.cfg, despues de sus dependencias: ``ensure oxmysql ensure ox_lib ensure qb-core ensure ox_inventory ensure ov_crime`` - Define quien administra: por defecto lo son los grupos de
Config.Orgs.adminGroups(admin,superadmin,god,owner,developer) segun el grupo del jugador en qb-core, los permisos de qb-core de esos nombres o el ACEcommand. - Reinicia el servidor. Este recurso no lee convars del
server.cfg. - Entra al juego, abre
/crimeadminy crea el contenido base: zonas y puntos de graffiti, puntos de lavado, interiores de guarida, etc. El config trae solo valores iniciales y semillas.
Configuracion
Todo en config.lua. Valores principales:
| Clave | Valor por defecto | Para que sirve |
|---|---|---|
Config.Framework | 'auto' | 'auto', 'qbcore' o 'esx'. |
Config.Orgs.inviteHours | 48 | Vigencia de una invitacion. |
Config.Orgs.maxRanks | 10 | Rangos maximos por organizacion. |
Config.Orgs.money / dirtyItem | 'cash' / 'black_money' | Cuenta de dinero limpio y item de dinero sucio. |
Config.Orgs.maxTransaction | 5000000 | Tope por deposito o retiro de la caja. |
Config.Orgs.adminGroups | admin, superadmin, god, owner, developer | Grupos con acceso al panel de administracion. |
Config.Turf.sprayItem / removerItem | gang_spray_can / gang_spray_remover | Objetos para pintar y borrar graffiti. |
Config.Turf.sprayTime / removeTime | 10 / 10 | Segundos de la accion. |
Config.Turf.ownerThreshold | 51 | Lealtad necesaria para controlar una zona. |
Config.Turf.cleanHours | 6 | Horas hasta la limpieza periodica del graffiti. |
Config.Turf.levels | 10 umbrales de XP | Experiencia necesaria por nivel de banda. |
Config.Wars.enable / durationHours | true / 24 | Activa las guerras y su duracion. |
Config.Wars.minStake / maxStake | 5 / 100 | Apuesta minima y maxima. |
Config.Eco.launder | fee = 15, maxPerTransaction = 50000, maxVault = 500000 | Lavado: comision, tope por operacion y por caja. |
Config.Eco.racket | cooldown = 30, maxPayout = 100000 | Extorsion. |
Config.Eco.market | enable = true, tax = 5, maxListings = 10 | Mercado negro y su catalogo semilla. |
Config.Missions | enabled = true, 14 misiones | Lista de misiones, cada una con pasos, nivel, XP y pago. |
Config.Garage | maxVehicles = 15, sellPercent = 50, recoverFee = 2000 | Garaje de banda. |
Config.Hideout | stashSlots = 80, armorySlots = 40, bucketBase = 5000 | Guarida y su almacenamiento. |
Config.Furniture | maxPieces = 80, sellPercent = 50 | Muebles y catalogo semilla. |
Config.Outfits.max | 20 | Uniformes por organizacion. |
Config.Medic | fee = 1500, time = 10 | Medico clandestino. |
Config.Restraints | item = 'rope', consume = true, cooldown = 4 | Atar y soltar. |
Config.Rivalry | cost = 5000, hours = 1, bonusPercent = 50 | Rivalidades. |
Config.Raids | jobs = { police = { minGrade = 2 } }, seizePercent = 50, minutes = 30 | Redadas y decomiso. |
Config.Airdrop | intervalHours = 2, minPlayers = 3, guards = 6 | Airdrops. |
Config.Spy | seis items, camHours = 24, maxCams = 6 | Espionaje. |
Para que los decomisos de una redada se ingresen en la cuenta de una sociedad, el codigo lee Config.Police.society = { resource = '...', account = '...' }; esta clave no viene en el archivo y debes anadirla si la necesitas.
Comandos y permisos
| Comando / tecla | Quien | Efecto |
|---|---|---|
/crimetablet o F10 | Miembros de una organizacion | Abre la tablet de la banda; con la tablet minimizada, vuelve a ella. |
/crimeadmin | Administradores | Abre la tablet en modo administracion. |
/ov_decorar o G | Miembros en su guarida | Modo de colocar muebles. |
/ov_atar o K | Miembros (con soga si requireItem) | Atar o soltar a un jugador cercano. |
/redada | Trabajos de Config.Raids.jobs (policia, grado 2 o mas) | Menu de redadas. |
Exports de cliente: open(), openAdmin(), close() (abren y cierran la tablet) y useSpyItem(item) (para los items de espionaje).
Exports de servidor: turfDrugSale(source) (cuenta una venta de droga del jugador para su territorio, tareas y guerras) e isTied(source) (indica si el jugador esta atado). Tambien responde al evento de servidor ov_crime:turf:drugSale con el mismo efecto. Conecta tu sistema de venta de droga llamando a exports.ov_crime:turfDrugSale(source) en cada venta.
Permisos: el acceso de administrador se decide en el servidor por grupo de qb-core, permiso de qb-core o ACE command. Los permisos de cada miembro dentro de la banda dependen del rango (el jefe tiene todos).
Como se usa
- Un administrador crea las organizaciones desde
/crimeadmin(seccion "Organizaciones") y asigna al jefe. El jefe define rangos, permisos e invita a miembros. - Los miembros abren
F10. Tienen paneles de principal, tareas diarias, miembros, rangos, caja, vehiculos, garaje, guarida, uniformes, muebles, espionaje, registro, mapa y zonas, guerras, rivalidades, extorsion, mercado negro, misiones, ranking, DarkChat y pase de temporada (los visibles dependen de los permisos del rango). - Graffiti: con una lata en el inventario, el miembro se acerca a un punto de una zona, pinta y gana lealtad; con un removedor borra el de otra banda.
- Lavado y extorsion: en los puntos creados por el staff, el miembro cambia dinero sucio por limpio (con comision) o cobra extorsiones.
- Misiones: se aceptan desde la tablet y el servidor valida cada paso.
- Guerras: una banda desafia a otra desde la pestana "Guerras" con una apuesta; ganan puntos por muertes y ventas de droga durante la duracion.
- Guarida: la banda compra un interior, lo amuebla con
/ov_decorary guarda objetos en su almacen y arsenal. - Espionaje: coloca camaras, sensores y GPS con sus items y consulta lo capturado con el terminal.
Para administradores
- Contenido base: usa el panel de administracion para crear zonas y puntos de graffiti ("Zonas y graffiti"), puntos de lavado, extorsion y mercado ("Lavado, extorsion y mercado"), medico clandestino, airdrops, tienda de vehiculos, interiores y muebles de guarida, pase de temporada y DarkChat, y la configuracion de misiones.
- Misiones propias: agrega entradas a
Config.Missions.list. Cada una combina pasoscount,goto,vehicle,kill,interact,waitydropoff. - Catalogo de muebles y mercado:
Config.Furniture.seedyConfig.Eco.market.seedson valores iniciales; despues se gestionan en el panel. - Reglas de territorio: ajusta lealtad, experiencia y niveles en
Config.Turf; puedes limitar la actividad a una franja horaria conConfig.Turf.activityWindow. - Redadas: define en
Config.Raids.jobsque trabajos pueden hacerlas y desde que grado, los tiempos de enfriamiento, y si hay una franja horaria (window). - Ver errores: la consola del servidor y la consola F8. Activa
Config.Debug = truepara mas detalle.
Preguntas frecuentes
Necesito importar un SQL? No. Las tablas se crean solas al arrancar.
Funciona con ESX? El config incluye un puente (Config.Framework) que detecta qb-core o ESX, pero varias funciones (por ejemplo los vehiculos de banda) consultan tablas de qb-core como player_vehicles, asi que la compatibilidad completa es con qb-core.
Las latas de graffiti no hacen nada. Comprueba que los items gang_spray_can y gang_spray_remover existen en ox_inventory y que el jugador pertenece a una organizacion y esta cerca de un punto de graffiti creado por el staff.
Los items de espionaje no se usan. Cada item debe declararse en ox_inventory con client = { export = 'ov_crime.useSpyItem' }.
Como integro mi sistema de venta de droga? Llama a exports.ov_crime:turfDrugSale(source) desde el servidor cuando se complete una venta.
Puedo cambiar las teclas? F10, G y K son las predeterminadas; el jugador las cambia en Ajustes > Teclas > FiveM.
Actualizaciones y soporte
Las versiones nuevas aparecen en el Portal de Cfx.re y en la tienda. Antes de actualizar, guarda una copia de tu config.lua; los datos creados desde el panel viven en la base de datos. Para soporte, abre un ticket en el Discord de la tienda: [enlace de soporte]. Indica la version del recurso (1.0.0 en el manifest actual) y el error de la consola.
