mri-QboxResourcesMRI Qelevators

MANUAL - mri_Qelevators

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

Sistema avançado de elevadores para FiveM com suporte a multiandares, proteção por senha, restrições de emprego/gangue e suporte a veículos. Inclui ferramenta de criação in-game para admins.

Funcionalidades principais

  • Multiandares: Suporte para andares ilimitados por elevador.
  • Proteção por senha: Andares protegidos com senha configurável.
  • Restrições de acesso: Limitação por job + patente ou gangue + patente.
  • Elevadores de veículos: Move veículos entre andares com verificação de altura.
  • Criador admin: GUI para criação e gerenciamento de elevadores in-game.
  • Logs Discord: Registro de uso, criação, deleção e tentativas de acesso.

Como funciona (fluxo de trabalho)

Uso do elevador (jogador)

  1. Jogador interage com elevador (via target ou trigger).
  2. Menu abre listando andares disponíveis.
  3. Se andar protegido por senha, solicita senha.
  4. Se andar restrito, verifica job/gangue e patente.
  5. Elevador move jogador (e veículo, se aplicável) para o andar selecionado.

Criação de elevador (admin)

  1. Admin usa comando /elevador.
  2. GUI abre para definir: label, coordenadas, se é elevador de veículo.
  3. Adiciona andares: define coords, label, senha (opcional), job/gangue restritos.
  4. Elevador é salvo no DB e sincronizado com todos os clients.

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

Configurações em config/config.lua:

OpçãoPadrãoDescrição
Config.MaxFloors20Máximo de andares por elevador.
Config.ElevatorSpeed2.0Velocidade da animação.
Config.SoundEnabledtrueAtivar/desativar sons.
Config.VehicleElevators.enabledtrueHabilita elevadores de veículos.
Config.VehicleElevators.maxHeight3.0Altura máxima do veículo.
Config.PasswordProtection.enabledtrueHabilita proteção por senha.
Config.Discord.enabledtrueHabilita logs Discord.
Config.Discord.webhook’SUA_URL_WEBHOOK’URL do webhook Discord.

Comandos disponíveis

ComandoPermissãoDescrição
/elevadorAdmin/ModAbre menu criador/admin de elevadores.

Eventos que dispara/ouve

Cliente → Servidor

EventoParâmetrosDescrição
mri_Qelevators:client:openElevatorelevatorId, floorIdAbre menu do elevador.
mri_Qelevators:client:useElevatorelevatorId, targetFloorUsa elevador para ir ao andar.
mri_Qelevators:client:enterPasswordelevatorId, floorIdSolicita senha do andar.
mri_Qelevators:client:createElevatornoneAbre criador de elevadores.

Servidor → Cliente

EventoParâmetrosDescrição
mri_Qelevators:server:createElevatorelevatorDataCria novo elevador.
mri_Qelevators:server:deleteElevatorelevatorIdDeleta elevador.
mri_Qelevators:server:addFloorelevatorId, floorDataAdiciona andar.
mri_Qelevators:server:removeFloorelevatorId, floorIdRemove andar.
mri_Qelevators:server:checkAccesselevatorId, floorId, playerDataVerifica acesso.
mri_Qelevators:server:logUsageplayerData, elevatorId, floorIdRegistra uso.

Exports que fornece/consome

Exports do cliente

ExportParâmetrosDescrição
openElevatorelevatorId, currentFloorAbre menu do elevador.
checkFloorAccesselevatorId, floorIdVerifica acesso ao andar.
getElevatorelevatorIdObtém dados do elevador.
getFloorselevatorIdObtém andares do elevador.

Exports do servidor

ExportParâmetrosDescrição
createElevatorelevatorDataCria elevador.
deleteElevatorelevatorIdDeleta elevador.
addFloorelevatorId, floorDataAdiciona andar.
removeFloorelevatorId, floorIdRemove andar.
checkAccesssource, elevatorId, floorIdVerifica acesso.

Exports consumidos

Usa ox_lib para UI, oxmysql para persistência, interact-sound (opcional) para efeitos sonoros.

Integração com outros recursos MRI Qbox

  • ox_lib: Componentes UI, notificações e interações.
  • oxmysql: Persistência de elevadores e andares.
  • interact-sound: Efeitos sonoros de elevador (opcional).
  • Outros recursos podem usar exports para integração com sistemas de prédos/apartamentos.

Casos de uso / exemplos práticos

  1. Prédio de apartamentos: Admin cria elevador com 10 andares, cada andar vai para um apartamento diferente.
  2. Elevador de garagem: Elevador de veículos leva carros do térreo ao 5º andar da garagem.
  3. Andar restrito: Andar 10 restrito a job “police” com patente “boss”, outros não acessam.
  4. Andar com senha: Andar VIP protegido por senha, apenas quem sabe a senha pode acessar.

Dicas de solução de problemas

  • Elevador não abre: Verifique se o jogador está próximo e se o target está funcionando.
  • Andar não aparece: Confira se o andar foi adicionado corretamente no DB.
  • Veículo não sobe: Verifique se a altura do veículo é menor que Config.VehicleElevators.maxHeight.
  • Logs não aparecem: Confirme se o webhook do Discord está correto e habilitado.
  • Erros de banco de dados: Importe sql/elevators.sql e sql/floors.sql, verifique oxmysql.