17 horas atrás17 h Licença Plus comment_1493 Sugestões de recurso para a UI em Lua. No caso o recurso JÁ existe no cliente, só não está exposto para o Lua.1) GIRAR ITEM 3D EM JANELA CUSTOM (COLEÇÕES)Na minha janela de Coleções (feita em Lua, ClientHooks.RegisterRenderTop) os itens 3D ficam parados. Eu os desenho com Client.RenderMarketplaceItem e Client.RenderItemScaled, mas essas funções desenham o item num ângulo fixo — RenderItem / RenderItemScaled / RenderMarketplaceItem não têm parâmetro de ângulo.No INVENTÁRIO a mesma peça gira sozinha, sem personagem atrás (print em anexo). Ou seja, o cliente já sabe renderizar um item sozinho e girando — só não dá para fazer isso numa janela feita em Lua. Para personagem vocês já expõem esse caminho persistente (ClientRenderStoredCharacter / ClientHasStoredCharacter / ClientClearStoredCharacter); para item não existe equivalente.Qualquer uma destas opções resolve:- (Preferida) Um "StoredItem" para o Lua, igual ao StoredCharacter: criar o item uma vez, o motor mantém e gira sozinho, e eu só recrio quando a coleção muda.- Um parâmetro de ângulo em RenderItem / RenderItemScaled / RenderMarketplaceItem, que eu animo a cada quadro. Relatório
50 minutos atrás50 min Solução comment_1500 16 horas atrás, bcavalini disse:Sugestões de recurso para a UI em Lua. No caso o recurso JÁ existe no cliente, só não está exposto para o Lua.1) GIRAR ITEM 3D EM JANELA CUSTOM (COLEÇÕES)Na minha janela de Coleções (feita em Lua, ClientHooks.RegisterRenderTop) os itens 3D ficam parados. Eu os desenho com Client.RenderMarketplaceItem e Client.RenderItemScaled, mas essas funções desenham o item num ângulo fixo — RenderItem / RenderItemScaled / RenderMarketplaceItem não têm parâmetro de ângulo.No INVENTÁRIO a mesma peça gira sozinha, sem personagem atrás (print em anexo). Ou seja, o cliente já sabe renderizar um item sozinho e girando — só não dá para fazer isso numa janela feita em Lua. Para personagem vocês já expõem esse caminho persistente (ClientRenderStoredCharacter / ClientHasStoredCharacter / ClientClearStoredCharacter); para item não existe equivalente.Qualquer uma destas opções resolve:- (Preferida) Um "StoredItem" para o Lua, igual ao StoredCharacter: criar o item uma vez, o motor mantém e gira sozinho, e eu só recrio quando a coleção muda.- Um parâmetro de ângulo em RenderItem / RenderItemScaled / RenderMarketplaceItem, que eu animo a cada quadro.Implementamos esse recurso na 4.0.0 com um parâmetro opcional de rotação em Client.RenderItem, Client.RenderItemScaled, Client.RenderItemCentered e Client.RenderMarketplaceItem.Na sua janela de Coleções, pode continuar usando ClientHooks.RegisterRenderTop e desenhar assim:-- Defina uma vez, fora do callback: local rotacao = { autoRotate = true, rotationSpeed = 30 } -- Dentro do callback de renderização: Client.RenderMarketplaceItem( x, y, largura, altura, itemIndex, level, excellent, ancient, rotacao )O Main calcula o giro automaticamente, em graus por segundo, sem depender do FPS ou da quantidade de itens desenhados. Valores negativos invertem o sentido.Se preferir controlar o ângulo pelo Lua, use:{ angle = 45 }A rotação preserva a orientação e a calibração do item, e o mouse não sobrescreve o ângulo informado. As chamadas existentes, sem esse argumento, continuam funcionando como antes.Optamos por ampliar as funções existentes porque o motor já reutiliza os modelos dos itens. Para esse caso, não é necessário criar e gerenciar um StoredItem: ao mudar a coleção, basta passar os dados do novo item.O recurso já foi testado e validado na 4.0.0. A documentação Lua foi atualizada, e o pacote inclui o exemplo Data\Custom\Lua\Examples\ItemRotation.lua.Agradeço imenso por sua colaboraçao meu caro, qualquer coisa estamos a disposição. 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.