Documentación de Cultivo y produccion de drogas
Otra Vida Drogas (ov_drogas)
Que hace
ov_drogas es un sistema de cultivo y produccion ilegal para servidores de rol en FiveM con qb-core. Los jugadores plantan, riegan, abonan y cosechan; procesan la cosecha en estaciones de produccion; y la venden en la calle con un sistema de reputacion. Los administradores colocan todo en el mapa con un creador visual con gizmo.
Lo mas importante:
- Cultivo por etapas: cada mata pasa por 3 etapas (pequena, mediana, grande). Incluye 6 cepas de cannabis (Plain Jane, Banana Kush, Blue Dream, Purple Haze, Orange Crush, Cosmic Kush) y coca.
- Crecimiento real: la planta solo crece mientras tiene agua. El abono lo acelera (
Config.FertMult) y aumenta la cosecha (Config.FertYieldBonus). El progreso se guarda en base de datos y sigue tras reiniciar. - Estaciones de produccion con menu propio: pozo de pisado, barril de pasta, fogata de secado, mesa de embolsado, mesa de liar, laboratorio y mesa de corte de tusi.
- Cadena de la coca: hoja y cemento (pozo), blend, pasta (barril), cocaina (fogata), bolsas.
- Venta callejera: zonas de venta y compradores fijos, reputacion de 5 niveles, riesgo de rechazo y robo, bonificacion por policia en servicio y registro de ventas.
- Suministros: un proveedor (tienda) y puntos de recogida que reaparecen.
- Consumo con efectos: animaciones, props y efectos de pantalla propios por item, con intensidad suavizable.
- Creador de administracion (
/ovd) con camara libre, gizmo para mover y girar, y opcion de minimizar. - Eficiente: sin bucles de espera constante en reposo; las plantas se muestran solo cerca del jugador.
- Servidor autoritativo: distancias, semillas, agua, tiempos y entregas se validan en el servidor.
Requisitos
| Requisito | Detalle |
|---|---|
| Framework | qb-core |
| Dependencias declaradas en el fxmanifest | ox_lib, oxmysql, qb-core, ox_inventory, ov_drogas_props |
| Props y modelos | ov_drogas_props (recurso incluido en el paquete, carpeta de modelos y props) |
| Apuntado | Config.Target = 'ov_target': el cliente usa exports[Config.Target]. Es compatible con ox_target; si usas ox_target, cambia el valor a 'ox_target' en config.lua |
| Bandas y territorio (opcional) | op-crime u ov_crime, configurados en Config.Crime.adapters. Solo se avisa a los que esten iniciados |
| Lua | 5.4 (lua54 'yes') |
| Base de datos | MySQL o MariaDB, mediante oxmysql |
Instalacion
- Descarga los recursos desde el Portal de Cfx.re (seccion de assets comprados) con la cuenta Cfx.re con la que hiciste la compra. Los recursos vienen protegidos con Asset Escrow de Cfx.re: solo funcionan en servidores cuya clave de licencia pertenece a tu cuenta.
- Copia
ov_drogas_propsyov_drogasdentro deresources. - Agrega los items a
ox_inventory: copia el contenido deitems_ox_inventory.lua(incluido en el recurso, 44 definiciones con prefijoovd_) dentro del archivo de items deox_inventoryy ajusta imagenes y pesos a tu servidor. - Asegurate de que existen en tu servidor el dinero sucio que uses (
Config.Dirty, por defectoblack_money) y el efectivo (Config.Cash, por defectocash) como items deox_inventory. - Agrega en
server.cfg, despues deox_lib,oxmysql,qb-core,ox_inventoryy tu recurso de apuntado:
ensure ov_drogas_props
ensure ov_drogas
add_ace group.admin ovd.admin allow
- Inicia el servidor. No hay archivo .sql: al arrancar se crean solas las tablas
ovd_plants,ovd_stations,ovd_procesos,ovd_ventasyovd_economia_log(CREATE TABLE IF NOT EXISTS).
El codigo no lee convars de server.cfg.
Archivos editables: en el fxmanifest.lua, escrow_ignore deja sin cifrar config.lua y la carpeta html/ (interfaz y herramienta de creador). El resto (client/ y server/) va cifrado por Asset Escrow. El archivo items_ox_inventory.lua es texto plano.
Configuracion
Todo esta en config.lua. Opciones principales:
| Clave | Valor por defecto | Para que sirve |
|---|---|---|
Config.Target | 'ov_target' | Recurso de apuntado |
Config.StreamDist | 60.0 | Distancia a la que aparecen las plantas |
Config.MaxPlantsPerPlayer | 24 | Plantas maximas por jugador |
Config.MinPlantDistance | 0.9 | Distancia minima entre plantas |
Config.PlaceDistance | 6.0 | Distancia maxima para plantar |
Config.InteractDistance | 4.0 | Distancia de interaccion |
Config.AdminAce | 'ovd.admin' | Permiso ACE de administracion |
Config.Items | water = 'ovd_agua', fert = 'ovd_fertilizante' | Items de riego y abono |
Config.Water | duration = 900, max = 2700 | Segundos de agua por riego y maximo acumulable |
Config.FertMult | 1.5 | Multiplicador de crecimiento con abono |
Config.FertYieldBonus | 0.5 | Bonus de cosecha con abono (+50 %) |
Config.Crops | 6 cepas y coca | Por cultivo: semilla, item de cosecha, rango yield, harvestMs, tiempos mediana y grande (segundos) y modelos |
Config.Creator | maxDist = 250.0 | Distancia maxima del creador |
Config.OnlyOwnerCollect | true | Solo quien cargo una estacion pasiva puede recoger |
Config.Dirty / Config.Cash | 'black_money' / 'cash' | Items con los que se paga |
Config.Papel | 'ovd_papel' | Item de papel de liar |
Config.Police | jobs = { 'police' }, alertCooldown = 45, alerts = false, saleAlertChance = 0 | Alertas a la policia (apagadas por defecto) |
Config.Crime | adaptadores op-crime y ov_crime | Sistemas de bandas a los que se avisa de cada venta |
Config.Stations | pozo, barril, fogata, mesas, suministros, laboratorio y mas | Definicion y recetas de cada estacion |
Config.Shop | catalogo de 14 items, maxQty = 50 | Precios del proveedor |
Config.Selling | cooldown = 4, policeRisk = 5, policeBonus = 5, 5 niveles de reputacion, precios por droga | Reglas de venta |
Config.Coca | parametros de pozo, barril y fogata | Costes, duraciones y recompensas de la cadena de coca |
Config.EfectosSuaves / Config.FactorSuave | true / 0.6 | Reduce la intensidad de los efectos de pantalla |
Config.Efectos | un bloque por item consumible | Animacion, prop y efecto visual de cada item |
Config.Blips | 4 zonas de ejemplo | Marcas de zonas en el mapa |
Config.OceanCalm | 2 zonas | Areas donde se calma el mar |
Config.Debug | false | Mensajes de depuracion |
Los blips, Config.OceanCalm y las zonas de ejemplo usan coordenadas de una zona concreta del mapa. Cambialos o eliminalos segun tu servidor.
Comandos y permisos
| Elemento | Detalle |
|---|---|
/ovd | Abre el creador de administracion. Solo para quien tenga el permiso ACE |
/ovd_creador y tecla F6 | Abre o minimiza el creador (la tecla se puede cambiar en Ajustes, Teclas, FiveM) |
/ovd_items [cantidad] | Entrega al admin todos los items ovd_ (cantidad por defecto 10, entre 1 y 500). Exige el permiso ACE |
| Permiso ACE | ovd.admin (Config.AdminAce) |
Integracion con sistemas de bandas: cada venta aceptada llama a los adaptadores de Config.Crime. Para op-crime se usa getPlayerTurfZone y el evento op-crime:drugSold; para ov_crime, el export turfDrugSale. Si el recurso no esta iniciado, se omite.
El recurso no define exports para otros scripts.
Como se usa
Plantar y cultivar
- Usa una semilla del inventario: se planta frente a ti.
- Apunta a la planta con el ojo de interaccion: Revisar, Regar (con
ovd_agua), Abonar (conovd_fertilizante) y Cosechar (solo cuando esta grande). - La planta solo crece mientras tiene agua. Un riego suma tiempo de agua hasta el maximo configurado.
Producir
- Apunta a una estacion colocada por un administrador para abrir su menu. Ahi ves las recetas, lo que tienes y lo que falta.
- Cadena de la coca: hoja + cemento en el pozo, luego barril con gasolina, luego fogata con acido, y la mesa de empaque para las bolsas.
- Cadena del cannabis: cogollo a bolsa (mesa de embolsado) y bolsa a porro (mesa de liar), segun las recetas de
Config.Stations. - Algunas estaciones son pasivas: cargas el material, te vas y recoges despues. Si te pasas del tiempo de gracia recoges menos.
Vender
- Entra en una zona de venta o busca a un comprador fijo.
- Mira a un peaton y elige Ofrecer droga. El precio depende de la droga y de tu reputacion.
- Cada venta da reputacion. Subes de nivel y mejoras el precio y reduces rechazos y robos.
Consumir: usa el item desde el inventario. El servidor comprueba y consume el item, el efecto visual es local.
Para administradores
- Escribe
/ovdpara abrir el creador (necesitas el permisoovd.admin). - Elige una estacion de la lista y colocala: se abre una camara libre con vista previa y un gizmo. Controles:
Factiva el cursor,Ralterna mover/girar,Gpega al suelo,WASDmasEspacio/Ctrlpara volar (Shiftacelera),Enterconfirma yRetrocesocancela. - Marca "seguir colocando" para poner varias del mismo tipo seguidas.
- En la lista de colocadas puedes Ir, Mover o Borrar cada una.
- Tipos especiales con opciones propias: zona de venta (nombre, radio, nivel minimo, porcentaje de robo, reputacion por venta, solo de noche, limite y espera), comprador fijo (aspecto y nivel minimo) y campo de cultivo (cultivo, radio y cantidad de matas).
- Ajusta precios, tiempos y recetas en
config.luay reinicia el recurso. - Para pruebas rapidas,
/ovd_items 10te entrega los items del recurso. - Las ventas y robos quedan registrados en
ovd_economia_log.
Preguntas frecuentes
Que pasa si no uso ov_target? Cambia Config.Target por el nombre de tu recurso de apuntado (por ejemplo ox_target), siempre que ofrezca los mismos exports.
Necesito op-crime u ov_crime? No. Son opcionales; si no estan iniciados, el recurso no avisa a ningun sistema de territorio.
Como cambio los precios de venta? En Config.Selling.drugs (rango min/max y cantidades por venta) y en Config.Shop.catalog para el proveedor.
Se pueden activar las alertas de policia? Si: en Config.Police pon alerts = true y ajusta saleAlertChance.
Las plantas se pierden al reiniciar? No. Se guardan en ovd_plants junto con su progreso, agua y abono.
Donde veo los errores? En la consola del servidor y en F8. Con Config.Debug = true se imprimen los pasos del consumo.
Actualizaciones y soporte
Las versiones nuevas aparecen en el Portal de Cfx.re (en tus recursos comprados) y en la tienda. Descargalas con la misma cuenta Cfx.re de la compra y reemplaza las carpetas, conservando tus cambios en config.lua. Para soporte, abre un ticket en el Discord de la tienda: [enlace de soporte]. Indica la version del recurso, el error de consola y los pasos para reproducirlo.
