Jump to content

[Solucionado]dxDrawImage3D


Ryuto

Recommended Posts

Hola, había echo un post parecido anteriormente y mis disculpas por doble post lo había echo hace 3 meses aproximadamente, mi problema aun no fue arreglado sobre la rotación de la imagen, ya alguien me ayudo a encontrar la solución pero diría que no entiendo como usarla, bien el problema es este, use el dxDrawImage3D para crear una imagen en frente mio, cuando paso la lado de esa imagen esta empieza a rotar, ¿como puedo hacer para que esa imagen se quede quieta y no rote?, la solución que me ayudaron a encontrar es esta..

"faceTowardX/Y/Z: The direction the front of the image should face towards. If this is not set, the front of the image always faces toward the camera."

Aunque es algo difícil para mi entender como utilizarla, necesito un ejemplo o si pueden ayudarme a sacar la rotación, le dejare mi lua

local white = tocolor(255,255,255,255) 
function dxDrawImage3D(x,y,z,w,h,m,c,r,...) 
        local lx, ly, lz = x+w, y+h, (z+tonumber(r or 0)) or z 
    return dxDrawMaterialLine3D(x,y,z, lx, ly, lz, m, h, c or white, ...) 
end 
local zdj = dxCreateTexture("test.png") 
addEventHandler("onClientRender", root, 
function() 
dxDrawImage3D(1964.216796875, -2365.044921875, 13, 6, 6, zdj, tocolor(255,255,255,255)) 
end 
) 
  

Estas son las imágenes de mi error

http://www.subeimagenes.com/img/mta-scr ... 22091.html

http://www.subeimagenes.com/img/mta-scr ... 22099.html

http://www.subeimagenes.com/img/mta-scr ... 22102.html

Muchas gracias por la atención, y mis sinceras disculpas por hacer un doble post, pero necesito algún tipo de solución para esto u.u

Edited by Guest
Link to comment
Simplemente, párate en donde queres que la imagen sea vista y saca la posición con
getElementPosition 

luego completa el faceTowardsXYZ.

Muchas gracias por tu ayuda, tengo una duda, ¿en que linea se encuentra el faceTowardsXYZ en mi lua?, disculpa si mi pregunta es algo estúpida jaja

Link to comment

faceTowardX/Y/Z son los 3 últimos argumentos de dxDrawImage3D si quieres que este quieta la imagen solo complétalo con 0

acá te lo dejo pruebalo

local white = tocolor(255,255,255,255) 
function dxDrawImage3D(x,y,z,w,h,m,c,r,...) 
        local lx, ly, lz = x+w, y+h, (z+tonumber(r or 0)) or z 
    return dxDrawMaterialLine3D(x,y,z, lx, ly, lz, m, h, c or white, ...) 
end 
local zdj = dxCreateTexture("test.png") 
addEventHandler("onClientRender", root, 
function() 
dxDrawImage3D(1964.216796875, -2365.044921875, 13, 6, 6, zdj, tocolor(255,255,255,255),0,0,0,0) 
end 
) 

Link to comment
faceTowardX/Y/Z son los 3 últimos argumentos de dxDrawImage3D si quieres que este quieta la imagen solo complétalo con 0

acá te lo dejo pruebalo

local white = tocolor(255,255,255,255) 
function dxDrawImage3D(x,y,z,w,h,m,c,r,...) 
        local lx, ly, lz = x+w, y+h, (z+tonumber(r or 0)) or z 
    return dxDrawMaterialLine3D(x,y,z, lx, ly, lz, m, h, c or white, ...) 
end 
local zdj = dxCreateTexture("test.png") 
addEventHandler("onClientRender", root, 
function() 
dxDrawImage3D(1964.216796875, -2365.044921875, 13, 6, 6, zdj, tocolor(255,255,255,255),0,0,0,0) 
end 
) 

Muchas gracias de verdad ya funciono n.n, tengo otra duda, ¿como puedo hacer para que la imagen se quede acostada en el suelo?, ya que ahora esta como parada y quiero que este como acostada mira te muestro la imagen.

http://www.subeimagenes.com/img/mta-scr ... 97666.html

Muchas gracias por solucionar mi problema n.n

Link to comment

ok mira tienes que colocar los 3 ultimos argumentos que vienen hacer faceTowardX/Y/Z igual que los 3 primeros

pero al ultimo aumentale un poquito este viene a ser la altura para que se pueda ver .

por si no me entendiste nada aca te lo dejo :)

  
local white = tocolor(255,255,255,255) 
local x, y,  z = 1964.216796875, -2365.044921875, 13 -- coordenadas de la imagen 
local zdj = dxCreateTexture(":Rs-Interfaz/Hud/circle.png") 
  
function dxDrawImage3D(x,y,z,w,h,m,c,r,...) 
        local lx, ly, lz = x+w, y+h, (z+tonumber(r or 0)) or z 
    return dxDrawMaterialLine3D(x,y,z, lx, ly, lz, m, h, c or white, ...) 
end 
  
addEventHandler("onClientRender", root, 
function() 
dxDrawImage3D(x, y,  z , 6, 6, zdj, tocolor(255,255,255,255),0, x, y,  z +0.5) 
end) 

Edited by Guest
Link to comment
ok mira tienes que colocar los 3 ultimos argumentos que vienen hacer faceTowardX/Y/Z igual que los 3 primeros

pero al ultimo aumentale un poquito este viene a ser la altura para que se pueda ver .

por si no me entendiste nada aca te lo dejo :)

  
local white = tocolor(255,255,255,255) 
local x, y,  z = 1964.216796875, -2365.044921875, 13 -- cordenadas de la imagen 
local zdj = dxCreateTexture(":Rs-Interfaz/Hud/circle.png") 
  
function dxDrawImage3D(x,y,z,w,h,m,c,r,...) 
        local lx, ly, lz = x+w, y+h, (z+tonumber(r or 0)) or z 
    return dxDrawMaterialLine3D(x,y,z, lx, ly, lz, m, h, c or white, ...) 
end 
  
addEventHandler("onClientRender", root, 
function() 
dxDrawImage3D(x, y,  z , 6, 6, zdj, tocolor(255,255,255,255),0, x, y,  z +0.5) 
end) 

Muchas gracias, ya funciono, no se como agradecértelo, muchas gracias por tu ayuda me sirvió mucho n.n

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...