MANUAL - mri_Qblips

O que o recurso faz (descrição funcional)

Sistema avançado de gerenciamento de blips para FiveM, com interface React NUI. Permite criação, edição e remoção de blips no mapa, com restrições de acesso por job/gangue e persistência em banco de dados.

Funcionalidades principais

  • Gerenciamento completo de blips: Criação, seleção de sprite, personalização de cor/escala/opacidade, blips piscantes, curto alcance, ocultação dinâmica.
  • Controle de acesso: Restrição por job, gangue ou grupos ACE.
  • Interface moderna: React NUI com pré-visualização em tempo real, busca/filtro, operações em massa.
  • Persistência: Blips salvos em MySQL, persistem após reinícios.

Como funciona (fluxo de trabalho)

  1. Acesso: Jogador com permissão ACE (command.blipcreator) usa comando /blip.
  2. Interface NUI: Abre React NUI com lista de blips existentes.
  3. Criação de blip: Clica em “Criar”, define nome, coordenadas, sprite, cor, escala, opacidade, flash, shortRange, job/gang.
  4. Edição/remoção: Seleciona blip existente, edita propriedades ou deleta.
  5. Sync: Alterações são salvas no DB e sincronizadas com todos os clients.

Opções de configuração disponíveis

Configurações em config/config.lua:

OpçãoPadrãoDescrição
Config.ACE_Permission'command.blipcreator'Permissão ACE para usar o comando.
Config.DefaultBlip.sprite1Sprite padrão de blip.
Config.DefaultBlip.color0Cor padrão de blip.
Config.DefaultBlip.scale0.8Escala padrão de blip.
Config.DefaultBlip.opacity255Opacidade padrão de blip.
Config.AllowedGroups{'admin', 'moderator'}Grupos com acesso (além de ACE).

Comandos disponíveis

ComandoPermissãoDescrição
/blipACE: command.blipcreatorAbre menu de gerenciamento de blips.

Eventos que dispara/ouve

Cliente → Servidor

EventoParâmetrosDescrição
mri_Qblips:client:openMenuNenhumAbre UI de gerenciamento.
mri_Qblips:client:createBlipblipDataCria novo blip.
mri_Qblips:client:updateBlipid, blipDataAtualiza blip existente.
mri_Qblips:client:deleteBlipidDeleta blip.
mri_Qblips:client:refreshBlipsNenhumAtualiza todos os blips.

Servidor → Cliente

EventoParâmetrosDescrição
mri_Qblips:server:saveBlipblipDataSalva blip no DB.
mri_Qblips:server:updateBlipid, blipDataAtualiza blip no DB.
mri_Qblips:server:deleteBlipidDeleta blip do DB.
mri_Qblips:server:requestBlipsNenhumSolicita todos os blips do DB.

Exports que fornece/consome

Exports do cliente

ExportParâmetrosDescrição
createBlipblipDataCria blip com nome, coords, sprite, cor, etc.
getBlipsNenhumObtém todos os blips.
deleteBlipblipIdDeleta blip por ID.

Exports do servidor

ExportParâmetrosDescrição
saveBlipsource, blipDataSalva blip no DB.
getAllBlipsNenhumObtém todos os blips do DB.
deleteBlipblipIdDeleta blip do DB.

Exports consumidos

Nenhum export externo consumido diretamente, usa oxmysql para persistência.

Integração com outros recursos MRI Qbox

  • oxmysql: Persistência de dados de blips.
  • ox_lib: Componentes UI e notificações.
  • Outros recursos: Podem usar exports para criar blips dinamicamente (ex: mri_Qfarm cria blip de fazenda).

Casos de uso / exemplos práticos

  1. Criação de blip de hospital: Admin usa /blip, cria blip com sprite 61 (hospital), cor 2, coords do hospital.
  2. Restrição de blip para polícia: Blip de delegacia restrito a job police, outros jobs não veem.
  3. Blip de evento temporário: Admin cria blip de evento, define hidden = false, após evento deleta ou oculta.
  4. Blip de gangue: Blip de esconderijo da gangue ballas, restrito a membros da gangue.

Dicas de solução de problemas

  • Blip não aparece: Verifique se o jogador tem permissão para ver o blip (job/gang/ACE).
  • Interface não abre: Confirme que o jogador tem permissão ACE command.blipcreator.
  • Erros de banco de dados: Importe o arquivo SQL db/blips.sql e verifique se oxmysql está instalado.
  • Blips não persistem: Verifique se o DB está salvando corretamente e o servidor está sincronizando com clients.
  • Sprite inválido: Use IDs de sprite válidos do GTA V (referência no README.md).