Skip to content

Roda ​

Roda de ações na tela. O jogador segura a tecla, aponta com o mouse e solta. Mostra ações a pé e no veículo, com submenus e filtro por grupo. Outros scripts adicionam entradas ou abrem rodas avulsas.

Precisa de: ox_lib, krs_helper

Instalação ​

cfg
ensure roda

Coloque depois do krs_helper. Não usa banco de dados. Veja a ordem de instalação.

As entradas que vêm na config disparam eventos de outros scripts, como player:*, skinshop:* e paramedic:*. Troque pelos eventos do seu servidor.

Como usar ​

AçãoO que acontece
Segurar F9, apontar e soltarEscolhe a entrada
Soltar no centroCancela
Toque rápido em F9, menos de 300 msA roda fica aberta no modo clique
Esc, no modo cliqueFecha

O jogador troca a tecla em Configurações > Teclas > FiveM.

A roda não abre com o personagem caído nem com os estados de BlockedStates. Se um desses estados ligar com ela aberta, ela fecha.

Permissão ​

Groups em uma entrada limita quem a vê. Por padrão, é preciso estar em serviço em um dos grupos. Com OnDuty = false, basta ter o grupo. "Policia-2" indica grupo e cargo.

Sem framework, o grupo é a permissão do krs_helper no server.cfg. Veja a página do krs_helper.

Configuração ​

Tudo fica em config.lua. Só precisa ter o que você mudou. Os textos ficam em locales/*.json.

OpçãoPadrãoO que muda
Key"F9"Tecla padrão
Theme.Color"#b3c0ff"Cor de destaque
Theme.Background"rgba(12, 13, 17, 0.95)"Fundo
Theme.Hover"rgba(40, 45, 66, 0.97)"Fundo da entrada apontada
Theme.Text"#f3f1ed"Cor do texto
Theme.Font""Nome de fonte instalada. Vazio usa a padrão
Theme.Scale1.0Tamanho
Theme.X0.74Posição horizontal do centro. 0.0 esquerda, 1.0 direita
BlockedStatesBanned, Prison, Commands, Handcuff, Buttons, CancelStatebags que impedem abrir e fecham a roda
EntriesAssentos, portas, roupas, guarda-roupa, ferimentos, polícia e paramédicoEntradas, na ordem da lista

Entradas ​

lua
{ Id = "door:5", Parent = "doors", Label = "entry.trunk", Icon = "trunk", Hint = "entry.toggle_open", Event = "player:Doors", Param = "5", Server = true, Where = "vehicle" }
CampoO que faz
IdIdentificador único
Label, HintTexto direto ou chave de locales/*.json
IconNome da lista abaixo, arquivo da pasta icons/ ou URL https://
ParentId do submenu onde a entrada fica
EventEvento disparado ao escolher
ParamValor enviado com o evento
Servertrue usa TriggerServerEvent
Closetrue fecha a roda ao escolher
GroupsGrupos que veem a entrada
OnDutyfalse dispensa estar em serviço
Where"foot" só a pé, "vehicle" só no veículo. Sem o campo, sempre

Uma entrada sem Event só aparece se tiver filhos visíveis.

Ícones: clothes, wardrobe, injuries, reload, hat, mask, glasses, jacket, gloves, vest, pants, shoes, accessory, send, driver, seat, rear, windows, door, trunk, hood, heart, back, plate, siren, person, carry, car, uniform, cone, plus, trash, info, light, wrench, paw.

Para usar uma imagem sua, coloque .png, .jpg, .webp, .svg ou .gif em icons/ e escreva Icon = "meu.png".

Para programadores ​

Exports de cliente:

lua
exports.roda:Add({ Id = "meu:item", Label = "Meu item", Icon = "info", Hint = "Faz algo", Event = "meu:Evento", Param = "x", Close = true, Where = "foot" })
exports.roda:Remove("meu:item") -- remove também os filhos
exports.roda:Show("Título", { { Label = "A", Event = "x:A", Children = { { Label = "B", Event = "x:B" } } } }) -- roda avulsa
exports.roda:Close()

Add e Show devolvem true ou false. Entradas adicionadas por um script somem quando ele para. Em Show, uma entrada sem Event e sem Children aparece como informação.

Para fechar por evento:

lua
TriggerEvent("roda:Close")
TriggerClientEvent("roda:Close", source) -- do servidor

O evento escolhido chega com Param. A roda só mostra e repassa, então valide tudo no servidor.