Cuxial Diseases no necesita importar ningún SQL. Crea sus tablas en el primer arranque. Sí necesita unos cuantos ítems de inventario y una decisión antes de arrancarlo por primera vez.
Comprueba las dependencias
Deben estar instaladas y funcionando antes de añadir el script:
- OneSync activado en el servidor
ox_liboxmysqlcuxial_bridge, conectado a tu frameworkox_inventoryoqb-inventory
Opcionales: cuxial_police, cuxial_medical, cuxial_emotes y lb-phone. La introducción explica qué aporta cada uno.
Copia el recurso
Coloca la carpeta cuxial_diseases dentro de tu directorio resources.
No cambies el nombre de la carpeta. Los ítems llaman al script como cuxial_diseases.<ítem> y los recursos opcionales lo buscan por ese nombre.
Decide el plazo de vacunación
El plazo de vacunación viene apagado. Cuando está activado, cada personaje recibe un plazo para vacunarse y enferma cuando vence. Con applyToExisting = true esto incluye a los personajes que ya existen en tu servidor: tienen 72 horas reales, contadas desde su primera entrada.
Para usarlo, abre shared/config.lua y ajusta el bloque onboarding antes del primer arranque:
onboarding = {
enabled = true, -- false = sin plazo de vacunación
applyToExisting = false, -- true = también los personajes que ya existen
-- ...
},Si lo activas, el ítem de la vacuna tiene que existir en tu inventario y los jugadores necesitan una forma de conseguirlo. Si no, todos acaban enfermos sin poder evitarlo.
En ESX, deja onboarding.enabled = false. El plazo necesita las columnas id y citizenid en la tabla de personajes.
Añade los ítems
El catálogo se refiere a los ítems por su nombre: una prueba, un tratamiento, una vacuna, una caja de pastillas. Todo ítem nombrado en data/diseases.lua tiene que existir en tu inventario.
Tres vienen listos en install/items.lua: el tratamiento antirretroviral, el test rápido y la mascarilla. El resto de ítems que usa el catálogo incluido son ejemplos; créalos con los nombres que encuentres en data/diseases.lua, o cambia esos nombres por ítems que ya tengas.
Copia las entradas de install/items.lua en ox_inventory/data/items.lua. Para cualquier otro ítem del catálogo, usa la misma forma y apunta server.export al script con el nombre del ítem:
['rapid_test'] = {
label = 'Test rápido',
weight = 20,
stack = true,
close = true,
description = 'Prueba rápida de infecciones comunes.',
server = {
export = 'cuxial_diseases.rapid_test',
},
client = {
usetime = 4000,
anim = { dict = 'mp_common', clip = 'givetake1_a' },
},
},El script registra un export por cada ítem que el catálogo usa como test.item, treatment.item, treatment.box.item o vaccine.item. La mascarilla no necesita export: basta con llevarla en el inventario.
Con Cuxial Police instalado, los medicamentos y vacunas que ya define conservan su propia definición de ítem. Cuxial Police pasa cada uso a Cuxial Diseases, que cuenta la dosis o la vacuna.
Da el permiso a tu staff
Los comandos de staff están limitados al grupo ACE de admin.restricted, group.admin por defecto. Tu staff tiene que pertenecer a él:
add_principal identifier.license:xxxxxxxxxxxxxxxx group.adminEl script pregunta además a cuxial_bridge si el jugador tiene el permiso admin de tu framework. Deben cumplirse las dos comprobaciones. Consulta Comandos y permisos.
Define las convars
Las dos son opcionales.
# Idioma de avisos y comandos (incluye es y en)
setr ox:locale "es"
# Trazas de depuración en consola
setr cuxial_diseases_debug "0"Arranca el recurso
Arráncalo después de sus dependencias y antes de los recursos opcionales que lo usan:
ensure ox_lib
ensure oxmysql
# aquí tu framework
ensure ox_inventory
ensure cuxial_bridge
ensure cuxial_diseases
# opcional
ensure cuxial_emotes
ensure cuxial_policeNo hay SQL que ejecutar. Al arrancar, el recurso crea cuxial_disease_cases, cuxial_disease_immunity, cuxial_disease_log, cuxial_disease_onboarding, cuxial_disease_pregnancies y cuxial_disease_meta.
Comprueba que funciona
- Arranca el servidor y mira la consola. No debe haber errores de
cuxial_diseases. - Entra con una cuenta de staff y ejecuta
/disease list. Aparecen los ids del catálogo. - Ejecuta
/disease symptom <tu id> cough. Tu personaje tose. - Elige un id de la lista y ejecuta
/disease infect <tu id> <enfermedad>y después/disease status <tu id>. El caso aparece con su etapa. - Usa desde el inventario el ítem de prueba de esa enfermedad. El resultado es positivo, o no concluyente si la enfermedad tiene tiempo de incubación.
- Ejecuta
/disease cure <tu id> <enfermedad>. El caso queda cerrado.
Siguiente: ajusta el script y el catálogo en Configuración.
