SCRIPT

Documentación de Centro de reportes

ov_report_center

Centro de reportes y soporte para qb-core: los jugadores abren tickets dentro del juego (jugadores, bugs o ayuda), conversan con el staff y el equipo los gestiona desde un panel con roles, prioridades y etiquetas.

Que hace

ov_report_center sustituye al clasico comando de reporte por un sistema de tickets con historial y chat entre el jugador y el staff, sin salir del juego.

Requisitos

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 la carpeta web/ (la interfaz), para que puedas editarlos.

  1. Descarga el recurso desde el Portal de Cfx.re y copia la carpeta ov_report_center en resources/.
  2. Base de datos: no hay archivo .sql. Las tablas ovr_tickets, ovr_mensajes y ovr_acciones se crean solas al arrancar el recurso (CREATE TABLE IF NOT EXISTS).
  3. Agrega en server.cfg, despues de las dependencias: `` ensure oxmysql ensure ox_lib ensure qb-core ensure ov_report_center ``
  4. Concede los permisos del staff. Los roles se reconocen por ACE (nombres por defecto) o por grupo de qb-core: `` add_ace group.admin ov_report_center.admin allow add_ace group.moderador ov_report_center.mod allow add_ace group.soporte ov_report_center.support allow ` Cambia los nombres de grupo por los de tu servidor. Los grupos de qb-core y los nombres de ACE por rol se definen en Config.Roles`.
  5. Convars opcionales del puente con Discord (el recurso las lee con GetConvar): `` set ovr_bot_key "tu-clave-del-bot" set ovr_bot_url "http://direccion-de-tu-bot:puerto" ` Si ovr_bot_key no esta definida, el puente con el bot queda apagado y el recurso lo indica en consola al arrancar. ovr_bot_url es opcional: si falta se usa Config.Bot.url`.
  6. Revisa config.lua (sobre todo Config.Roles, Config.Panel, Config.Bot y Config.Discord) y reinicia el servidor.

Configuracion

Todo en config.lua.

ClaveValor por defectoPara que sirve
Config.Tecla'F11'Tecla para abrir el centro de reportes (el jugador puede cambiarla).
Config.Comandos{ 'reporte', 'report', 'reportes' }Comandos para jugadores.
Config.ComandoStaff'reportesadmin'Comando de la bandeja del staff.
Config.Rolestres roles (admin, mod, soporte)ACE y grupos de qb-core que dan cada rol. Por defecto: ACE ov_report_center.admin / group.admin, ov_report_center.mod, ov_report_center.support.
Config.Panel.activotrueActiva la lectura de grupos de un panel de administracion externo.
Config.Panel.ttl45Segundos de cache de esos permisos.
Config.Panel.gruposAdmin / permisoMod / gruposSoporte{ 'owner', 'admin' } / 'reports.close' / {}Que grupo o permiso del panel externo da cada rol.
Config.Limites.titulo / descripcion / mensaje / nota100 / 1500 / 800 / 400Largo maximo de textos.
Config.Limites.maxAbiertos3Tickets abiertos a la vez por jugador.
Config.Limites.esperaEntreTickets60Segundos entre dos tickets del mismo jugador.
Config.Limites.esperaEntreMensajes2Segundos entre mensajes.
Config.Limites.maxMensajesPorTicket300Tope de mensajes por ticket.
Config.Limites.paginas25Tickets por pagina en la bandeja del staff.
Config.ArchivarDiasCerrados14Dias tras los que se archivan los tickets cerrados.
Config.PuedeReabrirJugadorHoras24Horas durante las que el jugador puede responder a un ticket ya cerrado (lo reabre).
Config.Categorias22 categoriasLista editable (id, etiqueta, tipo).
Config.PrioridadAutopalabras clave por nivelTexto que sube la prioridad automaticamente.
Config.PrioridadPorCategoriaexploit = urgente, bug_economia = alta, vdm/rdm/combat_log/toxicidad = altaPrioridad minima por categoria.
Config.Etiquetasverificado, falso, duplicado, requiere_admin, espera_evidencia, escalado, investigandoEtiquetas que el staff puede aplicar.
Config.Discordactivo = false, webhook = ''Webhook simple de Discord para avisar de reportes nuevos.
Config.NombreServidor'Otra Vida RP'Nombre que muestra la interfaz; cambialo por el de tu servidor.
Config.Botactivo = true, url = 'http://127.0.0.1:3005', claveConvar, urlConvar, canales, menciones, archivarMinutos = 1440Puente con el bot de Discord. Los identificadores de canales y menciones que trae el archivo son de ejemplo y debes sustituirlos por los de tu Discord, o poner activo = false.

Comandos y permisos

Jugadores

Comando / teclaEfecto
/reporte, /report, /reportes o F11Abre el centro de reportes.

Staff

ComandoEfecto
/reportesadminAbre el mismo centro; si el jugador tiene un rol de staff, ve ademas la bandeja de gestion.

Roles y que puede hacer cada uno (segun el codigo):

AccionSoporteModeradorAdmin
Ver tickets, responder y dejar notas internas, asignarse un ticketSiSiSi
Pasar a "en proceso" o "esperando jugador"SiSiSi
Resolver o cerrar un ticketNoSiSi
Cambiar prioridad y etiquetasNoSiSi
Ir a la ubicacion del reporte (teletransporte)NoSiSi
Reabrir un ticket cerradoNoNoSi
Asignar un ticket a otra personaNoNoSi

Permisos ACE por defecto: ov_report_center.admin, ov_report_center.mod, ov_report_center.support (y group.admin para administrador). Los nombres de los grupos de qb-core de cada rol estan en Config.Roles.

Convars: ovr_bot_key y ovr_bot_url (puente con el bot de Discord).

Eventos de cliente que usa el recurso (informativo): ovr:aviso (aviso al jugador), ovr:nuevo (aviso al staff) y ovr:teletransportar. El recurso no define exports.

Como se usa

  1. El jugador pulsa F11 o escribe /reporte.
  2. En "Nuevo reporte" elige la categoria, escribe un titulo (minimo 3 caracteres) y una descripcion (minimo 10). Si es un reporte contra un jugador, lo elige de la lista de conectados y puede indicar el lugar.
  3. El ticket se registra con un codigo OVR-AAMMDD-NNNN, con las coordenadas del jugador, y el staff conectado recibe un aviso.
  4. En "Mis reportes" el jugador ve sus tickets, el estado y la conversacion, y puede responder o cerrar el suyo.
  5. El jugador recibe un aviso cuando el staff responde o cambia el estado. Un ticket cerrado se puede reabrir respondiendo durante Config.PuedeReabrirJugadorHoras horas.

Para administradores

Preguntas frecuentes

Necesito importar un archivo SQL? No. Las tablas ovr_* se crean solas.

Funciona sin Discord? Si. Discord es opcional. Con Config.Discord.activo = false y sin la convar ovr_bot_key, todo funciona dentro del juego.

Me aparecen errores de base de datos sobre tablas de otro panel. Pon Config.Panel.activo = false. Esa opcion consulta tablas de grupos de un panel de administracion externo; los roles seguiran funcionando por ACE y por los grupos de Config.Roles.

Como cambio el limite de tickets abiertos? Config.Limites.maxAbiertos en config.lua.

Puedo traducirlo a otro idioma o cambiar el nombre del servidor? El nombre sale de Config.NombreServidor; los textos de la interfaz estan en web/ y las categorias en el config, todo sin cifrar. Algunos mensajes de error se generan en el servidor y estan en espanol.

Puedo tener mas de un administrador de reportes? Si, cualquier numero de jugadores con el permiso ACE o el grupo correspondiente.

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. 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), tu configuracion de Discord (sin claves) y el error de la consola.