Jump to content
  • Global

    Global

    Chatroom Rules

    • NO SE DA SOPORTE EN CHATBOX
    • NO SPAM
    • NO FLOOD

Recommended Posts

  • Usuario
Posted
¡Buenas! quisiera saber como puedo sacar el calculo para las posiciones de mi usuario, en mi radar de GTA V. Yo hice los cálculos así (con un poco de ayuda de otros scripts):




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:
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:


GTAVRadarProblem.png


- Gracias de antemano! ^_^

  • Usuario
Posted (edited)

Ya Lo Solucione, el problema que tenia era que ponia asi en la localizacion:

 

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

lo cual localizaba TODAS Las posiciones, X, Y, Z. y Solo queria X y Y, por lo cual hise esto:

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

:D

 

Sin Embargo aun sigo teniendo este problema:

 

Cuando salgo del mapa, no se termina la imagen, si no que se repite. ¿que puedo hacer ante esto?

 

es decir...

 

mta-screen_2014-07-02_19-40-08.png

Edited by Sergioks
  • Usuario
Posted

removeEventHandler

 

intentaste con eso? xd

y que evento uso para que se haga después que salga del mapa? la imagen es repetitiva, no se como hacer que este en una sola imagen. No entiendo mucho el dxDrawImageSection :wacko:

  • Ex-Staff
Posted

addEventHandler activa el evento

removeEventHandler desactiva el evento

 

El evento que debes usar para todos los elementos dxDraw es "onClientRender" o "onClientPreRender", ya sea un dxDrawText, dxDrawRectangle, dxDrawImageSection, dxDrawLine etc

y podría seguir agregando elementos hasta el infinito.

El caso es que tu script debería ser algo así

 

function asd()

dxDrawImageSection(...) -- Uso los puntos porque supone que ahí van los argumentos

end

addEventHandler("onClientRender",root,asd) -- Activamos el evento y por consecuencia la función

 

addCommandHandler("noimg",function()

removeEventHandler("onClientRender",root,asd) -- Desactivamos el evento

end)

  • Usuario
Posted (edited)

¿no hay ninguna forma de hacer que la imagen no se repita? es decir, que solo aparezca una vez?, Sin necesidad de un removeEventHandler?

Edited by Sergioks
  • Usuario
Posted (edited)

El mapa del radar es un mapa con las resoluciones de 3072x3072 del GTA San Andreas con el estilo de GTA V.. el mapa en si es uno normal, solo que con el estilo de GTA V.. cuando salgo del mapa, osea.. me voy por el monte chiliad y me pierdo en el mar, el mapa en el radar se repite... aqui una imagen:

 

http://spectral-gamers.tk/RadarProblem.png

 

Yo lo que quiero solucionar es ese problema de repeticion, que no se repita la imagen y quede el fondo azul que le puse abajo, ( con un dxDrawRectangle ).. mi codigo lua es este:


addEventHandler("onClientResourceStart", root,
function()
radarTexture = dxCreateTexture("images/world.png")
radar = dxCreateRenderTarget( s[1]*width*3/1440, s[2]*height*3/900 )
mapRadar = dxCreateRenderTarget( s[1]*width*3/1440, s[2]*height*3/900,true ) 

 local MimgW,MimgH    = dxGetMaterialSize(mapRadar)
addEventHandler ("onClientPreRender",root,
function()
dxSetRenderTarget( mapRadar,true )   
dxDrawRectangle((s[1]*50/1440)+5, (s[2]*650/900)+35, 253-10, 187-23, tocolor(67,86,88,255)) --- FONDO
dxDrawImage (0,0,(MimgW),(MimgH), radarTexture)
dxSetRenderTarget()dxDrawImageSection((s[1]*50/1440)+5, (s[2]*650/900)+35, 253-10, 187-23, 450-355,490-355, 300, 200,radar, 0, -90, 0, tocolor(255, 255, 255, 255),false) end end
Edited by Sergioks

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

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