Integração lb-phone
Como ativar o DS-Homes como app dentro do celular lb-phone
O DS-Homes pode ser exibido como um aplicativo dentro do celular lb-phone. O jogador toca no ícone do app e a interface de casas abre como tela do celular — sem precisar usar o comando /casas.
A integração funciona em paralelo com o comando /casas: você pode deixar os dois ativos. O /casas continua abrindo o NUI padrão; o app no celular abre a mesma interface só que dentro do celular do jogador.
Pré-requisitos
lb-phoneinstalado e rodando no servidords-homesversão atual (já inclui o móduloclient/modules/lb_phone.lua)
Como ativar
1. Habilite a integração no config/preferences.lua
lbPhone = {
enabled = true,
identifier = 'ds-homes',
name = 'Casas',
description = 'Sistema de casas, aluguel e roubos',
developer = 'denverst',
defaultApp = true,
price = 0,
size = 60000,
icon = '',
fixBlur = true,
},| Campo | O que faz |
|---|---|
enabled | Liga/desliga a integração inteira. Se false, o módulo nem carrega. |
identifier | ID único do app no lb-phone. Não mude (afeta quem já tem o app instalado). |
name | Nome exibido abaixo do ícone no celular. |
description | Descrição na loja de apps. |
developer | Aparece como autor na loja. |
defaultApp | true = já vem instalado no celular novo. false = jogador precisa baixar pela loja. |
price | Preço in-game na loja (0 = grátis). Ignorado se defaultApp = true. |
size | Tamanho exibido na loja, em kB. Cosmético. |
icon | URL do ícone. Vazio = usa cfx-nui-ds-homes/web/build/icon.png se você colocar um lá. |
fixBlur | Mantenha true (corrige distorção quando a UI usa em/rem). |
2. Reinicie o ds-homes
restart ds-homesNo console do servidor você verá:
[DS-HOMES] [SUCCESS] lb-phone: app "ds-homes" registradoSe o lb-phone for reiniciado depois, o ds-homes re-registra automaticamente.
3. Pronto
O ícone do app aparece para todos os jogadores que entram (se defaultApp = true) ou na loja de apps do celular (se defaultApp = false).
Como funciona por baixo
- O lb-phone carrega
web/build/index.htmldods-homesdentro de um iframe quando o jogador toca no ícone. - Mensagens enviadas via
SendNUIMessagenods-homessão automaticamente espelhadas para o iframe do app viaSendCustomAppMessage. Você não precisa mexer em nenhum código existente. - As chamadas
fetchNuida interface React continuam funcionando — oGetParentResourceNameresolve parads-homesmesmo dentro do iframe do lb-phone.
Coexistência com Smartphone (Hydrus)
Você pode rodar lb-phone e Smartphone (Hydrus) no mesmo servidor (ou alternar). A integração com o Smartphone (Hydrus) é feita pelo lado do próprio Smartphone (basta cadastrar o ds-homes na configuração dele); a integração com lb-phone é controlada pelo bloco lbPhone.enabled no preferences.lua.
Exports auxiliares
Caso você queira enviar mensagens custom para o app do ds-homes no celular a partir de outro resource:
exports['ds-homes']:lbPhoneSendMessage({ action = 'minha-acao', data = {...} })
local registered = exports['ds-homes']:lbPhoneIsRegistered()Troubleshooting
App não aparece no celular: verifique se lb-phone iniciou antes do ds-homes (a thread espera, mas se o lb-phone crashar a tentativa não acontece). Reinicie o ds-homes.
App abre em branco: a build do React em web/build/ pode estar faltando. Rode cd web && npx tsc && npx vite build.
Erro AddCustomApp falhou: identifier duplicado (outro resource registrou ds-homes). Mude identifier no preferences.lua.