HUD
Interface do jogador no framework krs: status, voz, carteira, bússola, velocímetro, arma, avisos e chamados. Traz os pedidos de aceitar ou recusar, a hotbar, os selos com tempo, o formulário usado por outros scripts, o cinto de segurança e o rádio.
Precisa de: krs
O script carrega @krs/import.lua, então não roda em outro framework nem sem framework. O rádio usa pma-voice e a ligação pelo chamado usa phone. Os textos são só em português, sem suporte a ox:locale.
Instalação
ensure hudColoque depois do krs. A pasta stream/ traz as texturas do minimapa. Veja a ordem de instalação.
Comandos e teclas
| Comando ou tecla | O que faz |
|---|---|
I ou /hudsettings | Abre o menu da HUD |
/hud | Mostra ou esconde a HUD |
/cinematic | Liga ou desliga as faixas de cinema |
/resethudpos | Volta os blocos para a posição padrão |
F2 | Abre a lista de chamados, depois que chega o primeiro |
Y e U | Aceita ou recusa um pedido. O pedido expira em 15 segundos |
G | Coloca ou tira o cinto |
Page Up e Page Down | Sobe ou desce a frequência do rádio |
O jogador troca as teclas em Configurações > Teclas > FiveM.
Menu da HUD
Cada jogador ajusta o seu. Os ajustes ficam salvos no computador dele.
| Ajuste | Opções |
|---|---|
| Layout | Kroma, Clássico, Compacto e Mínimo |
| Velocímetro | Painel, Redondo e número |
| Tamanho | Escala geral, em porcentagem |
| Minimapa | Retangular ou redondo. Pode aparecer só dentro do veículo |
| Bússola | No carro, sempre ou desligada |
| Voz | Som do rádio ao falar e volume desse som |
| Mostrar | Liga ou desliga cada bloco |
| Mover blocos | Arraste os blocos. Enter salva, Esc desfaz |
A aba Carro abre e fecha portas, liga os faróis e troca de banco.
Cinto
Com o cinto colocado, o jogador não sai do veículo. Sem o cinto, uma queda de 100 km/h ou mais na velocidade tira 25 de vida e joga o personagem para fora. Um veículo com o statebag Seatbelt dispensa o cinto.
Rádio
As frequências vão de 1 a 999. Estas exigem estar em serviço:
| Frequência | Grupo |
|---|---|
| 911 a 920 | Policia |
| 112 a 114 | Paramedico |
Ficam em server-side/radio.lua. Outras podem ser adicionadas pelo export RadioAdd.
Configuração
Tudo fica em shared-side/config.lua.
Config.Defaults
Valores iniciais do menu de cada jogador.
| Opção | Padrão | O que muda |
|---|---|---|
Layout | "kroma" | Layout |
Speedo | "painel" | Velocímetro |
Scale | 100 | Tamanho, em porcentagem |
Map | "rectangle" | "rectangle" ou "circle" |
MapCar | true | Minimapa só dentro do veículo |
Compass | "car" | "car", "always" ou "off" |
MicClicks | true | Som do rádio ao falar |
MicVolume | 10 | Volume desse som |
Show | todos true | Blocos Status, Wallet, Compass, Vehicle, Weapon, Radio, Music, Brand |
Positions | vazio | Posição dos blocos |
Version | 2 | Mudar o número descarta o Layout e o Speedo salvos pelos jogadores |
Outras opções
| Opção | Padrão | O que muda |
|---|---|---|
Ticks.Status | 250 | Atualização do status, em ms |
Ticks.Vehicle | 100 | Atualização do velocímetro, em ms |
Ticks.Compass | 100 | Atualização da bússola, em ms |
Ticks.Street | 1000 | Atualização da rua, em ms |
Low | Health = 40, Armour = 0, Hunger = 25, Thirst = 25, Stress = 60, Oxygen = 35 | Limite de cada valor para o alerta |
Electric | Lista de modelos | Veículos tratados como elétricos |
Minimap | Posições de rectangle e circle | Posição e tamanho do minimapa |
Para programadores
Exports de cliente:
exports.hud:ToggleVisible(true) -- mostra ou esconde a HUD
exports.hud:Wanted() -- true com o tempo de procurado ativo
exports.hud:Repose() -- true com o tempo de repouso ativo
local ok = exports.hud:Task(3, 5000) -- minijogo: rodadas e tempo de 2000 a 7500 msFormulários. Devolvem a lista de respostas ou false:
local Result = exports.hud:Secondary("Nome", "Sobrenome")
local Custom = exports.hud:Custom({
{ Mode = "text", Placeholder = "Motivo" },
{ Mode = "slider", Placeholder = "Valor", Min = 0, Max = 100, Value = 50 }
}, "Título", "Subtítulo")Exports de formulário: Radio, Password, Primary, Secondary, Tertiary, Quaternary, Codes, Announce, Copy, Instagram, Options, Vehicle, Skins, Item e Custom. O servidor chama os mesmos pelo KRS.UI.Keyboard(source, "Primary", ...).
Modos de campo em Custom: text, number, password, area, slider, options e button.
Exports de servidor:
exports.hud:Wanted(CharId) -- true com o tempo de procurado ativo
exports.hud:Repose(CharId) -- true com o tempo de repouso ativo
exports.hud:RadioExist(Numero) -- grupo dono da frequência
exports.hud:RadioAdd(Numero, Grupo) -- protege e salva uma frequênciaEventos de servidor: TriggerEvent("Wanted", source, CharId, Segundos) e TriggerEvent("Repose", source, CharId, Segundos). Eles somam tempo ao que já está ativo.
Eventos de cliente:
| Evento | Argumentos | O que faz |
|---|---|---|
Notify | Titulo, Mensagem, Cor, Tempo | Aviso. Cores: default, server, amarelo, verde, vermelho, fome, sede, sangue, policia, christmas, halloween |
NotifyPush | { title, code, x, y, z, color, phone } | Chamado na lista do F2. Com x, cria um blip por 60 segundos |
Progress | Mensagem, Tempo | Barra de progresso, em ms |
hud:Active | true ou false | Mostra ou esconde a HUD. Evento local |
hud:Menu | Abre o menu da HUD. Evento local | |
hud:Badge | { Id, Title, Tone, Icon, Seconds } | Selo na tela. Evento local |
hud:BadgeRemove | Id | Remove o selo. Evento local |
hud:Hotbar | { Slots, Active } | Mostra a hotbar. Evento local |
hud:DisplayExperience | Tipo, Valor | Aviso de experiência |
hud:Wanted, hud:Repose, hud:Luck, hud:Dexterity | Segundos | Selo com tempo |
hud:Radar | Alterna entre mapa sempre na tela e só no veículo | |
hud:Hood, hud:RemoveHood | Capuz na tela | |
hud:Video | Codigo | Abre um vídeo com o aviso da administração |
hoverfy:Insert | { { Coords, Distancia, Tecla, Titulo, Legenda } } | Aviso de tecla ao chegar perto de um ponto |
hoverfy:Show, hoverfy:Hide | { Key, Title, Legend } | Mostra ou esconde esse aviso direto |
radio:Open | Abre o formulário do rádio | |
radio:Disconnect | Sai da frequência |
Callbacks do krs para o servidor usar: request:Function, taskbar:Task, lettergame:LetterGame e keyboard:<Formulario>.
