11 horas atrás11 h Licença Lifetime comment_1652 AmbienteDesenvolvo sistemas customizados em Lua (cliente + servidor) no meu servidor, usando a API ClientHooks, GenesysUI, Client.OnPacket, etc.O que eu observeiOs sistemas oficiais com a UI mais bonita — Daily Reward, Lucky Wheel (Roleta) e Battle Pass — usam RML (o motor estilo HTML/CSS do RmlUi) para desenhar as janelas, e é por isso que ficam com gradientes, fontes elegantes, cantos arredondados e layout rico.Mas cada um usa uma função de render própria e compilada dentro do cliente, exclusiva daquele sistema:Client.DailyRewardRmlRender(...)Client.LuckyWheelRmlRender(...)Client.BattlePassRmlRender(...)(e as auxiliares ...RmlHoveredReward, ...RmlUpdateInput, ...RmlClose, ...RmlTime).Procurei em toda a API exposta ao Lua (as funções Client.* / ClientAPI.*) e não existe um renderizador RML genérico. Para uma janela nova, criada por mim, só sobram as primitivas de desenho manual (ClientAPI.RenderColorBox, ClientAPI.RenderText, ClientAPI.RenderImage, SetFontType, etc.). Com elas dá pra fazer uma janela funcional, mas não dá pra alcançar o acabamento visual do RML (fontes, gradientes e os elementos decorativos do CSS ficam fora de alcance).Meus projetosEu construo coisas como:Sistema de Quests (NPC por mapa, aceitar quest, rastrear kills, recompensa em pontos/zen) — quero a janela no mesmo nível visual da Roleta/Daily Reward.Sistema de Coleções.E outros sistemas custom no futuro.Todos ganhariam muito se eu pudesse desenhar a UI em RML, em vez de caixa por caixa.O pedidoSeria possível vocês disponibilizarem o RML de forma genérica, para eu usar nos meus projetos?Em ordem de preferência:(Ideal) Um renderizador RML genérico exposto ao Lua, que qualquer sistema custom possa usar — por exemplo:Client.RmlRender(contextId, rmlString [, dataParaItens]) para desenhar,Client.RmlClose(contextId), Client.RmlHovered(contextId), Client.RmlUpdateInput(contextId) para interação,com suporte a carregar uma folha de estilo (RCSS) própria do meu sistema, ou reutilizar o tema/paleta padrão (os tokens $accent, $window, etc. que já são usados nos documentos RmlUi do cliente).(Alternativa) Permitir registrar um "documento RML custom" por nome, apontando para um .rml + .rcss meus dentro da pasta de UI do cliente, e me dar um gancho em Lua para abri-lo, preencher dados e tratar os cliques — nos mesmos moldes do que já existe para Daily Reward / Lucky Wheel / Battle Pass, mas genérico.ObservaçãoVocês já implementaram exatamente esse mecanismo (RML) para 3 sistemas oficiais; o pedido é só generalizar o acesso para os sistemas Lua dos servidores. Isso destravaria UIs bonitas para toda a comunidade que desenvolve custom, sem precisar de uma recompilação do cliente a cada novo sistema.Obrigado! Relatório
11 minutos atrás11 min comment_1659 10 horas atrás, bcavalini disse:AmbienteDesenvolvo sistemas customizados em Lua (cliente + servidor) no meu servidor, usando a API ClientHooks, GenesysUI, Client.OnPacket, etc.O que eu observeiOs sistemas oficiais com a UI mais bonita — Daily Reward, Lucky Wheel (Roleta) e Battle Pass — usam RML (o motor estilo HTML/CSS do RmlUi) para desenhar as janelas, e é por isso que ficam com gradientes, fontes elegantes, cantos arredondados e layout rico.Mas cada um usa uma função de render própria e compilada dentro do cliente, exclusiva daquele sistema:Client.DailyRewardRmlRender(...)Client.LuckyWheelRmlRender(...)Client.BattlePassRmlRender(...)(e as auxiliares ...RmlHoveredReward, ...RmlUpdateInput, ...RmlClose, ...RmlTime).Procurei em toda a API exposta ao Lua (as funções Client.* / ClientAPI.*) e não existe um renderizador RML genérico. Para uma janela nova, criada por mim, só sobram as primitivas de desenho manual (ClientAPI.RenderColorBox, ClientAPI.RenderText, ClientAPI.RenderImage, SetFontType, etc.). Com elas dá pra fazer uma janela funcional, mas não dá pra alcançar o acabamento visual do RML (fontes, gradientes e os elementos decorativos do CSS ficam fora de alcance).Meus projetosEu construo coisas como:Sistema de Quests (NPC por mapa, aceitar quest, rastrear kills, recompensa em pontos/zen) — quero a janela no mesmo nível visual da Roleta/Daily Reward.Sistema de Coleções.E outros sistemas custom no futuro.Todos ganhariam muito se eu pudesse desenhar a UI em RML, em vez de caixa por caixa.O pedidoSeria possível vocês disponibilizarem o RML de forma genérica, para eu usar nos meus projetos?Em ordem de preferência:(Ideal) Um renderizador RML genérico exposto ao Lua, que qualquer sistema custom possa usar — por exemplo:Client.RmlRender(contextId, rmlString [, dataParaItens]) para desenhar,Client.RmlClose(contextId), Client.RmlHovered(contextId), Client.RmlUpdateInput(contextId) para interação,com suporte a carregar uma folha de estilo (RCSS) própria do meu sistema, ou reutilizar o tema/paleta padrão (os tokens $accent, $window, etc. que já são usados nos documentos RmlUi do cliente).(Alternativa) Permitir registrar um "documento RML custom" por nome, apontando para um .rml + .rcss meus dentro da pasta de UI do cliente, e me dar um gancho em Lua para abri-lo, preencher dados e tratar os cliques — nos mesmos moldes do que já existe para Daily Reward / Lucky Wheel / Battle Pass, mas genérico.ObservaçãoVocês já implementaram exatamente esse mecanismo (RML) para 3 sistemas oficiais; o pedido é só generalizar o acesso para os sistemas Lua dos servidores. Isso destravaria UIs bonitas para toda a comunidade que desenvolve custom, sem precisar de uma recompilação do cliente a cada novo sistema.Obrigado!Olá,Como vai?Na verdade eu tinha dito já isto em algum outro tópico.Pra já o RML tá cryptado, mas não é pôr nada além de simplesmente ainda está em desenvolvimento. Quando finalizar eu vou abrir ele para vocês manipularem como quiserem. Porém se eu fizer isto agora eu tenho certeza que vão mexer em tudo e quando eu lançar um update aí vão ter que substituir tudo praticamente.Na verdade o que faço é mesmo dentro do Ui e não do Main, basicamente o Ui faz o front e chama o Lua nas funções.Mas vamos pensar em uma boa solução para isto! 🙏🏻 Rivify Brasil LtdaHolding de tecnologia, Software, Cloud, IAe infraestrutura digital.[email protected] • www.rivify.com.brAv. Tiradentes, 960, 9.º andar, sala 2 — LuzSão Paulo/SP — CEP 01102-000CNPJ 68.145.965/0001-06Nos acompanhem nas redes @rivifybrasil Relatório
Participe da conversa
Você pode publicar agora e se cadastrar depois. Se você tem uma conta, entre agora para publicar com sua conta.