Skip to main content
O five-roubos adiciona pontos de roubo interativos ao mapa, cada um vinculado a um preset (recompensa, cooldown, itens necessários, animação, permissão, projeção bandidos×policiais), com painel administrativo em NUI, killfeed, histórico em banco e logs via webhook.

Funcionalidades

Pontos por preset

Cada ponto de roubo é vinculado a um preset com recompensa, cooldown, itens necessários, animação, permissão e projeção bandidos×policiais.

Painel administrativo

Gerenciamento de presets e pontos em runtime via NUI (/bk roubos).

Killfeed e scoreboard

HUD de partida com scoreboard; as mortes alimentam o killfeed em tempo real.

Histórico em banco

Cada roubo concluído é gravado no histórico (preset, vencedor, duração, killfeed).

Como funciona

1

Interação no ponto

O jogador pressiona E no ponto de roubo.
2

Validação do servidor

O servidor valida preset, permissão, cooldown, mínimo de policiais e itens.
3

Montagem dos times

O “pusher” escolhe bandidos/reféns e um policial monta o time policial.
4

Início do roubo

Ao entrarem no perímetro o roubo inicia (HUD + scoreboard) e as mortes alimentam o killfeed.
5

Recompensa e histórico

O time vencedor recebe a recompensa e o roubo é gravado no histórico.

Dependências

vRP

Framework base (Proxy/Tunnel; Passport, HasGroup, HasService, GiveItem, Query, Request).

MySQL

Persistência via vRP.Query/Prepare.
Opcional: five_logs — logs ROUBO-INICIOU e ROUBO.

Configuração

O killfeed é configurável em Config.DeathEvent (ícones por classe de arma e nomes via add('classe', { WEAPON_X = 'Nome' })).
Config.Roubos.AdminWebhook e Config.Roubos.hitMarker são lidos pelo código mas não vêm definidos; adicione em Config.Roubos se quiser usá-los (AdminWebhook cai em LogWebhook se vazio).

Comandos

Comandos disponíveis nos lados client e server.

Exports

Não publica exports próprios. Consome exports["five_logs"]:AddLog(...) (opcional).

Banco de Dados

O schema fica em install.sql (idempotente, com migração das tabelas antigas lotus_*). Rode uma vez.

Localizações

Não há coordenadas fixas no shared/config.lua. Os pontos de roubo são criados em runtime pelo painel admin (/bk roubos) e gravados na tabela five_roubos_points (coluna de coords em JSON), sendo lidos do banco a cada boot. Os blips em volta de cada ponto (AddBlipForRadius, raio 50.0) e o blip de rota policial (AddBlipForCoord, sprite 1, cor 27) usam as coordenadas vindas do banco, definidas ao cadastrar o ponto.

Customização

  • Permissões/cargos: Config.Permissions e Config.Hierarquia.
  • Tema: Config.Roubos.ThemeColor (copie de Theme.main).
  • Logs: Config.Roubos.LogWebhook (+ opcional AdminWebhook).
  • Killfeed: listas add('classe', {...}) e Config.DeathEvent.WeaponClassIcons.
  • Presets e pontos: criados em runtime pelo painel /bk roubos (não em config).
Constantes do fluxo (raios, timeouts, vida “down”) estão hardcoded em server/functions.lua e client/. A UI fica em ui/ (artefatos compilados; sem src no recurso, edite pelo projeto-fonte original).