Publiez jusqu'à 2 panneaux par serveur. Le message du salon affiche le top ; chaque joueur clique Voir le classement et navigue dans un message visible seulement par lui. Premium · WebLogs ≥ 9.6.
Setup
- 1Mis servidores → DiscordBot → Conectar (mismo bot que VIP, tickets y sorteos).
- 2Menú Ranking: categorías (Zombies se crea solo), emoji, reinicio y vistas 24h/7d, estilo del embed.
- 3Nuevo panel → canal Discord + categorías → Publicar.
- 4En FiveM, suma puntos con el export (o Adictos_Zombies ya lo llama al matar).
Periodos, reinicio y eventos
En cada categoría puedes marcar vistas Hoy, 7 días, 30 días e Histórico. Los periodos se calculan sobre días naturales, así que Hoy arranca vacío a medianoche igual que un ranking diario del juego. También puedes poner inicio y fin de un evento: solo cuentan puntos dentro de esas fechas; al acabar se registra el ganador (y top 10) y se limpia la clasificación. El reinicio cada N días limpia el histórico automáticamente (cron del panel).
Dónde se guardan los puntos
Las tablas se crean solas al abrir Ranking o al recibir el primer lote. Con origen Export, los puntos se acumulan en el panel (ranking_scores, licencia Rockstar sin prefijo license:). Con origen ox_inventory o qb_inventory, el ranking se lee en vivo del JSON de inventario en la misma MySQL que el panel. El intervalo del embed público se configura en Panel Settings → Discord.
| Tabla / campo | Para qué |
|---|---|
ranking_categories | Categorías (clave, emoji o sin emoji, reinicio, vistas, origen) |
ranking_scores | Totales históricos del export |
ranking_scores_daily | Buckets diarios: una fila por jugador, categoría y día (rankings Hoy / 7d / 30d) |
ranking_event_winners | Ganador y metadatos al cerrar un evento |
ranking_event_standings | Todas las posiciones archivadas; retención = días de logs del plan (Free/Premium) |
ranking_panels | Hasta 2 mensajes Discord (canal, categorías, refresh) |
servers.weblogs_ranking_config | JSON: módulo on/off, color, pie, filas por página |
Export (Adictos_WebLogs)
Caché en memoria en FiveM y envío al panel cada N segundos (Panel Settings → Flush Ranking; por defecto 60 s). Delta opcional (por defecto 1).
exports['Adictos_WebLogs']:Ranking(source, 'Zombies')
exports['Adictos_WebLogs']:Ranking(source, 'pesca')
exports['Adictos_WebLogs']:Ranking(source, 'MisionesDiarias')
exports['Adictos_WebLogs']:Ranking(source, 'Tomate', cantidad)
exports['Adictos_WebLogs']:Ranking(source, 'Zombies', 1) -- deltaLeer clasificación desde un script (RankingBoard)
Para menús de pausa, HUD o scripts propios puedes pedir el top al panel (misma clasificación que Discord). Requiere WebLogs ≥ 9.6 y que la categoría exista en Ranking → Categorías.
-- Histórico, página 1
exports['Adictos_WebLogs']:RankingBoard('zombies', 1, nil, function(ok, board)
if not ok or type(board) ~= 'table' then return end
for _, e in ipairs(board.entries or {}) do
print(('#%s %s — %s'):format(e.rank, e.player_name, e.score))
end
end)
-- Ranking 7 días (period: 0=histórico, 1=24h, 7, 30)
exports['Adictos_WebLogs']:RankingBoard('pesca', 1, 7, function(ok, board) ... end)
-- Atajo: solo callback (página 1, histórico)
exports['Adictos_WebLogs']:RankingBoard('zombies', function(ok, board) ... end)
exports['Adictos_WebLogs']:RankingFlush() -- forzar envío de puntos pendientes
exports['Adictos_WebLogs']:RankingPendingCount() -- cuántos hay en caché| Campo del board | Qué trae |
|---|---|
entries[] | Cada fila: rank, player_name, score, license |
total / page / pages | Paginación (filas por página = Ranking → Embed) |
period_days | 0 histórico · 1 24h · 7 · 30 |
period_label | Texto legible del periodo activo |
category | Metadatos (label, emoji, origen export/inventario) |
zombies, pesca…). WebLogs la normaliza a minúsculas. El panel cachea el board unos segundos (Panel Settings → Caché RankingBoard, default 15 s) para menús de pausa con muchos jugadores; se invalida al llegar nuevos puntos. Las categorías de inventario (ox/qb) en vivo no se cachean.Cómo se ve el embed
Mensaje público (categoría por defecto, primera página). Color y pie se editan en Ranking → Embed.
Carlos — 1.234María — 890Luis — 512Ana — 120Pedro — 98Si falla
| Problema | Qué mirar |
|---|---|
| No suben puntos | WebLogs ≥ 9.6, módulo Ranking ON, export con source del jugador, flush en Panel Settings |
| Embed no se publica | DiscordBot conectado; canal de texto; el bot puede enviar embeds y botones |
| Botones sin respuesta | Interactions Endpoint URL del bot apuntando al panel (como sorteos) |
| 401 Unauthorized al publicar | Token del bot inválido. Panel Settings → Discord: pega el Bot Token (Bot → Reset Token), no la Public Key. Invita el bot en Mis servidores → DiscordBot. |
| Inventario a 0 | Elige origen ox_inventory/qb_inventory y el objeto correcto; misma MySQL que el panel. O usa Export y llama Ranking(src, clave). |