iPollo Posted March 6, 2020 Share Posted March 6, 2020 Estudando, descobri que funções que desenham como dxDrawText aparece uma vez no frame e some, por isso deve ser colocada abaixo do onClientRender, que é acionado a cada frame novo, porém, como faço para habilitar e desabilitar em algum momento específico? Por exemplo: tenho um sistema de item, quando o jogador chega perto, desenha um texto na tela, quando se afasta, some, como devo fazer, para que funcione desta forma, pois diretamente abaixo do onClientRender ele iria aparecer o tempo todo. Link to comment
iDannz [Breno] Posted March 6, 2020 Share Posted March 6, 2020 (edited) Das das uma, ou você remove/adiciona o onClientRender quando quiser, ou pode usar variáveis, como no exemplo abaixo; onde a variável será trocada a cada 1 segundo e meio local mostrandoOutroRetangulo = true addEventHandler('onClientRender', root, function() dxDrawRectangle(...) if mostrandoOutroRetangulo then dxDrawRectangle(...) end end) setTimer(function() mostrandoOutroRetangulo = not mostrandoOutroRetangulo --(recebe o valor contrario do atual, ou seja, se estiver true vira false e vice-versa) end, 1500, 0) no seu caso quando quiser que tal coisa não apareça você pode remover a variável com e quando quiser que volte a aparecer basta voltar a variavel pra true Edited March 6, 2020 by iDannz [Breno] 1 Link to comment
Other Languages Moderators Lord Henry Posted March 6, 2020 Other Languages Moderators Share Posted March 6, 2020 Mais fácil simplesmente colocar uma condição no onClientRender que verifica a distância entre o player e o item. Se a distância entre eles for menor ou igual a tanto, desenha o texto na tela. GetDistanceBetweenPoints3D function renderText () local px, py, pz = getElementPosition (localPlayer) local ix, iy, iz = getElementPosition (item) -- Supondo que item exista. if (getDistanceBetweenPoints3D (px, py, pz, ix, iy, iz) <= 10) then -- Se a distância entre o player e o item for menor ou igual a 10, então: dxDrawText ("Texto", 0, 0) -- Apenas teste. end end addEventHandler ("onClientRender", root, renderText) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now