📗 mri_Qmenu
- Um sistema de menus feito para Qbox;
- Utiliza
ox_lib
🛠 Instalação
- Baixe o recurso e coloque-o na pasta de recursos(
resources/[mri]
). Certifique-se de que a pasta se chamamri_Qmenu
.
⚙ Configuração
Normalmente não é necessário nenhum ajuste neste script. Em casos específicos, tudo que pode ser alterado está em shared/config.lua
. Exemplo:
Config = {
MenuNameConstant = "mri_Qmenu_",
ServerName = "MRI QBOX",
Debug = true, -- true, false
ImgUrl = "https://cfx-nui-mri_Qbox/web-side/icones/logo24.png",
IconAnimation = "fade", -- spin, spinPulse, spinReverse, pulse, beat, fade, beatFade, bounce
AllowedAces = { "admin", "mod" }, -- admin, mod, support,...
PlayerMenuKeybind = "F9", -- F9, F10, F11, F12, ...
AdminMenuKeybind = "F10", -- F9, F10, F11, F12, ...
}
👨👩👧👦 Permissões
O menu utiliza o sistema de Aces, padrão do FiveM.
📚 Menus
admin
- Menu de administração (Keybind padrão:F10
);player
- Menu do jogador (Keybind padrão:F9
);
🤵 Menu Player
Contém informações e atalhos de comandos pertinentes a cada player. Não necessita de permissões para ser aberto.
➕ Adicionar menus
🧲 Fixos
Para adicionar menus fixos ao menu de players, basta seguir o padrão no arquivo client/player.lua
. Lembrando que novos menus devem ser adicionados após o comentário, para que a ordenação seja mantida corretamente. Menus fixos estarão sempre presentes no menu do player.
...
-- Adicione mais menus fixos aqui :)
...
🔁 Dinâmicos
Menus dinâmicos podem ser adicionados/removidos dinamicamente(em execução) ao menu de players. Para adicionar menus dinâmicos, deve-se usar as exports disponíves em client/exports.lua
diretamente no client de seu script. Exemplo:
-- Client do seu script que precisa de um menu dinâmico
...
exports["mri_Qmenu"]:AddPlayerMenu({
title = "Menu dinâmico",
description = "Descrição do menu dinâmico",
onSelectFunction = function()
print("Menu dinâmico selecionado")
end,
onSelectArg = 'arg'
})
...
👷♂️ Menu Admin
Contém menus e atalhos de configuração dos scripts da base. Exige permissões configuradas para ser aberto. Deve ser usado por staff/administradores do servidor para configurar o servidor.
➕ Adicionar menus
🧲 Fixos
Para adicionar menus fixos ao menu de admin, basta seguir o padrão no arquivo client/admin.lua
. Lembrando que novos menus devem ser adicionados após o comentário, para que a ordenação seja mantida corretamente. Menus fixos estarão sempre presentes no menu de administração.
...
-- Adicione mais menus fixos aqui :)
...
🔁 Dinâmicos
Menus dinâmicos também podem ser adicionados/removidos dinamicamente(em execução) ao menu de admin. Para adicionar menus dinâmicos, deve-se usar as exports disponíves em client/exports.lua
diretamente no client de seu script. Exemplo:
-- Client do seu script que precisa de um menu dinâmico
...
exports["mri_Qmenu"]:AddManageMenu({
title = "Menu dinâmico",
description = "Descrição do menu dinâmico",
onSelectFunction = function()
print("Menu dinâmico selecionado")
end,
onSelectArg = 'arg'
})
...
📦 Exports
AddManageMenu
- Adiciona um menu dinâmico ao menu de administração. Exemplo:exports["mri_Qmenu"]:AddManageMenu({ title = "Menu dinâmico", description = "Descrição do menu dinâmico", onSelectFunction = function() print("Menu dinâmico selecionado") end, onSelectArg = 'arg' })
RemoveManageMenu
- Remove um menu dinâmico do menu de administração. Exemplo:exports["mri_Qmenu"]:RemoveManageMenu({ title = "Menu dinâmico" })
AddPlayerMenu
- Adiciona um menu dinâmico ao menu do jogador. Exemplo:exports["mri_Qmenu"]:AddPlayerMenu({ title = "Menu dinâmico", description = "Descrição do menu dinâmico", onSelectFunction = function() print("Menu dinâmico selecionado") end, onSelectArg = 'arg' })
RemovePlayerMenu
- Remove um menu dinâmico do menu do jogador. Exemplo:exports["mri_Qmenu"]:RemovePlayerMenu({ title = "Menu dinâmico" })
AddItemToMenu
- Adiciona um item a um menu. Exemplo:exports["mri_Qmenu"]:AddItemToMenu("admin", { title = "Item 1", description = "Descrição do item 1", onSelectFunction = function() print("Item 1 selecionado") end, })
RemoveItemFromMenu
- Remove um item de um menu. Exemplo:exports["mri_Qmenu"]:RemoveItemFromMenu("admin", "Item 1")
AddCategory
- Adiciona uma categoria a um menu. Exemplo:exports["mri_Qmenu"]:AddCategory({ displayName = "GFX", description = "Configurações gráficas", icon = "clapperboard", iconAnimation = "fade", parentMenu = "admin" })
RemoveCategory
- Remove uma categoria de um menu. Exemplo:exports["mri_Qmenu"]:RemoveCategory("GFX")