judeu Posted April 3, 2024 Share Posted April 3, 2024 Estou com problemas nesse codigo, se nao me engano é pelo final do codigo dxDrawText Eu estou precisando deixar o codigo centralizado no objeto, as vezes quando tempo ajustar ele consigo ter um resultado, porem quando vou me desaproximando do caixote o texto começa a subir pra cima ele nao fica parado fixado em cima da caixa e nao centraliza direito no meio do objeto, alguem poderia me ajudar sobre esses parametros, pra mim é tudo novo. Imagem do resultado do codigo abaixo: https://prnt.sc/CWzL-wdO0sJ2 addEventHandler("onClientRender", root, function() for _, objeto in ipairs(getElementsByType("object")) do if (getElementData(objeto,"objeto.element")) then local ID = getElementData(objeto, "objeto.id") local PD = getElementData(objeto, "objeto.produtos") local localPos = {getElementPosition(localPlayer)} local objetoPos = {getElementPosition(objeto)} local worldPosition = {getScreenFromWorldPosition(objetoPos[1], objetoPos[2], objetoPos[3] + 0.50)} local distance = getDistanceBetweenPoints3D(localPos[1], localPos[2], localPos[3], objetoPos[1], objetoPos[2], objetoPos[3]) if distance <= 15 then if worldPosition[1] and worldPosition[2] then dxDrawText("ID: "..ID.." | "..PD.."", worldPosition[1] - 40, worldPosition[2], 10, 20, tocolor(255, 255, 255, 255), 1.0 ,"default-bold") end end end end end) Link to comment
Other Languages Moderators Lord Henry Posted April 4, 2024 Other Languages Moderators Share Posted April 4, 2024 Adicione o parâmetro , "center" depois do nome da fonte ali no dxDrawText. 1 Link to comment
judeu Posted April 4, 2024 Author Share Posted April 4, 2024 Deu certo meu amigo, e como eu faço pro começo do texto fique centralizado Por exemplo: Esta dessa forma: ID: 5 | PD: 1579874 Quero que fique dessa forma: ID: 5 | PD: 1579874 dxDrawText("HP:"..HP.."", worldPosition[1], worldPosition[2], 10, 20, tocolor(255, 255, 255, 255), 1.0 ,"default-bold", "center", "center" , center) Eu vi alguns parametros e tentei adicionar, ficou assim.... porem nao funciona o texto buga e fica na tela em um canto bem aleatorio, voce pode me ajudar a entender @Lord Henry Exemplo de como quero deixar: https://prnt.sc/XBqz7sFvfcUF Oque eu tentei fazer: dxDrawText("HP:"..HP.." asdasdasdasdasds", worldPosition[1], worldPosition[2], 10, 20, tocolor(255, 255, 255, 255), 1.0 ,"default-bold", "left", "top" , center, true) Link to comment
Other Languages Moderators Lord Henry Posted April 5, 2024 Other Languages Moderators Share Posted April 5, 2024 O seu 4º e 5º parâmetros não fazem sentido. (10, 20) Também não faz sentido vc colocar "center" fora de aspas duplas. Este parâmetro é uma string, portanto precisa estar entre aspas, exatamente como mencionei na minha resposta anterior. O primeiro "center" faz ele centralizar o texto na horizontal, o segundo "center" faz ele centralizar na vertical, mas não é necessário centralizar na vertical nesse caso, pois é só aumentar o diminuir aquele offset do + 0.50 para mudar a altura do texto. Então utilize apenas o primeiro "center" e delete o que tem depois. 1 Link to comment
Other Languages Moderators Lord Henry Posted April 5, 2024 Other Languages Moderators Share Posted April 5, 2024 objeto = createObject (1337, 2502, -1667, 12.36) -- Cria um objeto qualquer na Grove Street. addEventHandler("onClientRender", root, function() -- for _, objeto in ipairs(getElementsByType("object")) do -- DESATIVADOS APENAS PARA TESTES. -- if (getElementData(objeto,"objeto.element")) then -- local ID = getElementData(objeto, "objeto.id") -- local PD = getElementData(objeto, "objeto.produtos") local ID = 1337 -- APENAS PARA TESTES local PD = 1234567890 -- APENAS PARA TESTES local localPos = {getElementPosition(localPlayer)} local objetoPos = {getElementPosition(objeto)} local worldPosition = {getScreenFromWorldPosition(objetoPos[1], objetoPos[2], objetoPos[3] + 0.50)} local distance = getDistanceBetweenPoints3D(localPos[1], localPos[2], localPos[3], objetoPos[1], objetoPos[2], objetoPos[3]) if distance <= 15 then if worldPosition[1] and worldPosition[2] then dxDrawText("ID: "..ID.." | PD: "..PD, worldPosition[1], worldPosition[2], worldPosition[1], worldPosition[2], tocolor(255, 255, 255, 255), 1.0 , "default-bold", "center") end end -- end -- end -- DESATIVADOS APENAS PARA TESTES. end) 1 Link to comment
judeu Posted April 5, 2024 Author Share Posted April 5, 2024 No caso esses parametros que seriam o 4º e 5º (10, 20): ultiliza em DxImagem e o center ultilizado fora de aspas é para outras funcoes eu estava dando uma estudada aqui mais nao me atentei completamente, show obrigado @Lord Henry aqui funcionou perfeitamente e consegui entender a logica dos parametros do dxDrawText, muito obrigado meu amigo Link to comment
Other Languages Moderators Lord Henry Posted April 5, 2024 Other Languages Moderators Share Posted April 5, 2024 De nada. Link to comment
Recommended Posts