Adictos_WebLogs centraliza los eventos de tu servidor. Muchos logs se generan automáticamente (inventario ox, conexiones, vehículos…), pero puedes registrar los tuyos desde cualquier script con los exports del recurso.
Logs automáticos de ox_inventory
Con la integración ox_lib, los movimientos de inventario llegan solos al panel cuando Adictos_WebLogs está iniciado. WebLogs los interpreta (taquilla, maletero, dar objeto…) y los agrupa; no hace falta código extra en tus scripts.
ox_inventory (lib.logger)
│
▼
ox_lib/imports/logger/server.lua ← bloque pegado al final
│
▼
Adictos_WebLogs (buffer → panel)
│
▼
Panel web (procesamiento + vista Logs)Registrar un log desde otro script
Desde el lado servidor de cualquier recurso, con Adictos_WebLogs arrancado. Hay dos formas habituales:
Log() — tú indicas los datos del jugador
Útil cuando ya tienes xPlayer o quieres controlar licencia, nombre IC y OOC a mano. Comprueba que el recurso esté activo antes de llamar:
if GetResourceState('Adictos_WebLogs') == 'started' then
exports['Adictos_WebLogs']:Log('inventory', 'item_give', {
license = xPlayer.identifier, -- sin prefijo license:
playerName = xPlayer.getName(),
playerOOC = GetPlayerName(source),
details = 'Entregó 5x pan',
severity = 'INFO', -- DEBUG | INFO | WARNING | ERROR | CRITICAL
}, true) -- true = enviar a Discord si la categoría tiene webhook
endLogPlayer() — el recurso rellena al jugador
Pasa el source del jugador y WebLogs obtiene licencia y nombres automáticamente. Menos código cuando el evento viene de un jugador conectado:
exports['Adictos_WebLogs']:LogPlayer(source, 'jobs', 'duty_on', {
details = 'Entró de servicio',
}, true)Categorías
Cada log pertenece a una categoría: agrupa eventos en el panel (vista GENERAL, filtros, perfil del jugador) y, si quieres, en un canal de Discord distinto. La llamada Log(categoría, acción, datos) usa dos identificadores distintos:
- Categoría (1.er parámetro) — tipo de evento a nivel servidor:
inventory,vehicles,jobs,anticheat… Debe existir en el panel y estar activa. - Acción (2.º parámetro) — qué pasó dentro de esa categoría:
item_give,duty_on,vehicle_delete… Lo defines tú en el script; sirve para filtrar y buscar.
Las categorías se crean en Mis servidores → Categorías. En la tabla, la columna Categoría es el identificador técnico (texto corto en minúsculas, sin espacios: inventory, vehicles…). Ese mismo texto es el 1.er parámetro de Log() — tiene que coincidir letra por letra. El nombre de la categoría es solo para mostrar en el panel; el webhook es opcional.
-- Ejemplo: categoría 'jobs', acción 'duty_on'
exports['Adictos_WebLogs']:Log('jobs', 'duty_on', { details = 'Entró de servicio' }, true)
-- Ver qué categorías tiene tu servidor ahora mismo
for _, categoria in ipairs(exports['Adictos_WebLogs']:GetCategoryIds()) do
print(categoria)
end
local meta = exports['Adictos_WebLogs']:GetCategoryMeta('inventory')
-- meta.name, meta.icon, meta.colorgeneral. Créala y actívala antes de usarla en tus scripts.Campos útiles del log
| Campo | Descripción |
|---|---|
license | Licencia del jugador (hex, sin license:) |
playerName / playerOOC | Nombre IC y nombre de Steam |
targetLicense / targetName | Otro jugador implicado |
details / reason | Texto descriptivo del evento |
items | Tabla de items (nombre, cantidad…) |
amount | Cantidad numérica (dinero, etc.) |
location | Coordenadas o zona |
severity | DEBUG, INFO, WARNING, ERROR o CRITICAL |
video | Duración en ms para grabar pantalla del jugador (server_id requerido) |
Helpers y eventos alternativos
Para conectar otros recursos de forma cómoda existe shared/integration.lua. La guía completa (eventos, vehículos, hook de borrado) está en API de integración.
-- Resumen rápido (ver guía completa en /documentation/integration-api)
shared_scripts { '@Adictos_WebLogs/shared/integration.lua' }
AdictosWebLogs.logPlayer(source, 'jobs', 'duty_on', { details = 'Entró de servicio' })Flujo de datos
Tu script (export Log)
│
▼
Adictos_WebLogs (buffer en memoria)
│ envío periódico al panel
▼
Panel web (base de datos)
│
├─► Vista Logs / perfil jugador
└─► Discord (si la categoría tiene webhook)Dónde ver los logs en el panel
| Vista | Uso |
|---|---|
| Logs → GENERAL | Todos los eventos del servidor por categoría |
| Perfil de jugador | Historial de un jugador concreto |
| Búsqueda IA | Preguntas en lenguaje natural (si tu rol lo permite) |