Jump to content

Problemas de dxDrawImageSection


Recommended Posts

¡Buenas! quisiera saber como puedo sacar el calculo para las posiciones de mi usuario, en mi radar de GTA V. Yo hice los calculos asi (ayudandome de un script de la comunidad ):

function calculate() 
  scrX, scrY = guiGetScreenSize() 
  imgSize = 3072 
  width = 223 
  height = 157 
  x = scrX * 130 / 2560 
  y = scrY - height - scrY * 73 / 1440 
--- 
    zoom = 0.9 
    size = 300 / zoom 
    markerSize = 25 
    posX, posY = x + 5, y + 5 
    width, height = width - 10, height - 20 
    markerX, markerY = posX + width / 2 - markerSize / 2, posY + 100 
    centerX, centerY = imgSize / 2 - width / 2 + markerSize / 2 - 54, imgSize / 2 - 100 - 63 + markerSize / 2 
    startX, startY = -size / 2 + width / 2, -size / 2 + 100 + markerSize / 2 
    val2x = x + 5 
    val2y = y + 144 
    val2width = 105 
    val2height = 9 
  renderTarget = dxCreateRenderTarget(width, height, true) 
  return true 
end 
  
function dxDrawRadar() 
playerX = centerX + getElementPosition(localPlayer) * imgSize / 6000 
  playerY = centerY - getElementPosition(localPlayer) * imgSize / 6000 
  dxSetRenderTarget(renderTarget, true) 
--- Posiciones no se como calcularlas x_x: 
dxDrawImageSection(startX, startY, size, size, playerX, playerY, 300, 300, "world.png", -getPedCameraRotation(localPlayer)) --<--[[ LAS POSICIONES ]] --- 
-------------------------------------------------- 
  dxSetRenderTarget() 
  dxDrawImage(posX, posY, width, height, renderTarget) 
--- ... el codigo sigue ... pero el error esta en la linea señalada ... --- 
end 

Como esta alli, me queda asi el radar:

http://www.Spectral-Gamers.tk/GTAVRadarProblem.png

- Gracias de antemano! :D

Edited by Guest
Link to comment

Primero tienes que buscar el punto del centro de la imagen y dejarlo en el centro del radar, luego de eso relacionar ese punto con la posición en la que te encuentras en el mapa, después solo tienes que calibrar. Yo demoré unas 5 horas haciendo ese radar, si no sabes hacer eso que es lo mas simple dudo que puedas poner los blips de los otros jugadores ya que eso requiere funciones trigonometricas.

Link to comment
Primero tienes que buscar el punto del centro de la imagen y dejarlo en el centro del radar, luego de eso relacionar ese punto con la posición en la que te encuentras en el mapa, después solo tienes que calibrar. Yo demoré unas 5 horas haciendo ese radar, si no sabes hacer eso que es lo mas simple dudo que puedas poner los blips de los otros jugadores ya que eso requiere funciones trigonometricas.

Yo por el momento solo busco calibrar el blip del localPlayer, ya que no sabia bien como era eso del dxDrawImageSection. A Mi me salia mal porque lo hacia desde LS la calibracion, gracias por el tip de que debo hacerlo en el centro, eso no me lo habian dicho, me habian dicho que me pusiera en cualquier lugar del juego, y comenzara a calibrar las localizaciones hasta que me diera en la que estoy. :| Bueno, Gracias por el tip.

EDIT: Gracias por el tip, ya lo hice :D mi codigo no estaba mal, lo unico que debia cambiar de este eran los "PlayerX" y "PlayerY". de:

 playerX = centerX + getElementPosition(getLocalPlayer())* imgSize / 6000 
  playerY = centerY - getElementPosition(getLocalPlayer())* imgSize / 6000 

a:

 px, py, pz = getElementPosition(getLocalPlayer()) 
  ---- EDITAR ---- 
  playerX = centerX + px * imgSize / 6000 
  playerY = centerY - py * imgSize / 6000 

aunque se me presento este problema (lo pongo aka para no hacer otro post del dxDrawImageSection):

http://spectral-gamers.tk/mta-screen_2014-07-02_19-40-08.png

Bueno, lo que pasa alli, es que cuando salgo del mapa, en vez de quedarse con el fondo azul que le puse, es decir, la imagen termina, la misma se repite. Alguna solucion a eso? :|

desde ya gracias :3

Link to comment

Esa es una duda que siempre he tenido con dxDrawImageSection, pero creo que la solución es reemplazar dxDrawImageSection por dxDrawImage, ya que al juntar dxSetRenderTarget con dxDrawImage, puedes imprimir una sección de la imagen.

Link to comment
  • Recently Browsing   0 members

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