GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Segítségkérés => A témát indította: xerox0224 - 2017. Február 11. - 15:30:26

Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 15:30:26
Sziasztok. Elkezdtem csinálni egy hudot, a Rectangle-ek nem csúsznak el rajta ( ebben segített az mta wiki :D ), viszont a dxDrawImage ikonok sajnos elcsúsznak. Próbáltam már dolgokat, de nem tudtam még rájönni, hogy hogyan tudnám azt is megcsinálni, hogy ne csússzon el. Válaszotokat előre is köszönöm! 
 
 
 


local playerHP = math.floor(getElementHealth(localPlayer))
    local playerArmour = math.floor(getPedArmor(localPlayer))
    local playerMoney = getPlayerMoney()
    local playerPing = getPlayerPing(getLocalPlayer())
    dxDrawImage ( screenWidth/2 - -340, 58, 45, 45, \'rgm.png\')
    dxDrawRectangle ( x/1.35, y/45, x/4, y/30, tocolor ( 0, 0, 0, 150 ) )
    dxDrawRectangle ( x/1.35, y/4.60, x/6, y/30, tocolor ( 0, 0, 0, 150 ) )
    dxDrawRectangle ( x/1.35, y/15, x/4, y/7, tocolor ( 0, 0, 0, 150 ) )
    dxDrawRectangle ( x/1.23, y/13, x/6, y/33, tocolor ( 0, 0, 0, 150 ) )
    dxDrawRectangle ( x/1.23, y/13, playerHP*2.28, y/33, tocolor ( 38, 166, 91, 150 ) )
    dxDrawRectangle ( x/1.23, y/8.50, x/6, y/33, tocolor ( 0, 0, 0, 150 ) )
    dxDrawRectangle ( x/1.23, y/8.50, playerArmour*2.28, y/33, tocolor ( 255, 255, 255, 255 ) )
    dxDrawImage ( screenWidth/2 - -340, 14, 110, 30, \'logo.png\')
    dxDrawImage ( screenWidth/2 - -350, 170, 16, 16, \'coin.png\')
    dxDrawImage ( screenWidth/2 - -400, 58, 25, 25, \'heal.png\')
    dxDrawImage ( screenWidth/2 - -400, 88, 25, 25, \'armor.png\')
    dxDrawText (playerHP.. \'%\', x/1.13, y/12.5, x, y, tocolor ( 255, 255, 255, 255 ), 1, \"default-bold\" )
    dxDrawText (playerArmour.. \'%\', x/1.13, y/8.25, x, y, tocolor ( 255, 255, 255, 255 ), 1, \"default-bold\" )
    dxDrawText (playerName, x/1.14, y/37, x, y, tocolor ( 255, 255, 255, 255 ), 1.3, \"default-bold\" )
    dxDrawText (playerMoney .. \' $\', x/1.29, y/4.60, x, y, tocolor ( 255, 255, 255, 255 ), 1, \"diploma\" )
    dxDrawText (\'ping:\'..playerPing, x/1.06, y/4.80, x, y, tocolor ( 38, 166, 91, 150 ), 2, \"sand\" )
    local playerVehicle = getPedOccupiedVehicle ( localPlayer )
    if playerVehicle then
        local vehicleHealth = getElementHealth ( playerVehicle ) / 10  -- Divide this by 10, as default the denominator is 1000
        dxDrawRectangle ( x/1.41, y/45, x/45, y/5.30, tocolor ( 0, 0, 0, 150 ) )
        dxDrawRectangle ( x/1.41, y/45, x/45, vehicleHealth*1.45, tocolor ( 162, 162, 162, 162 ) )
    end
Cím: dxDrawImage szabályozása
Írta: BlackSy - 2017. Február 11. - 15:43:39
Szia! Az image-nél csak az X koordináta használja a guiGetScreenSize()-ot. Y irányba csúszik el igaz?
 

dxDrawImage( x/1.35, y/45, 45, 45,\"img.png\")

 
Így próbáld.
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 15:51:52
Bocsánat, szarul fogalmaztam. Az ikonok méretét akarom szabályozni.
Cím: dxDrawImage szabályozása
Írta: BlackSy - 2017. Február 11. - 16:05:07

dxDrawImage( x/1.35, y/45, 45, 45,\"img.png\")

 
 45,45 X és Y értékek.
Cím: dxDrawImage szabályozása
Írta: Kriszu025 - 2017. Február 11. - 17:16:11
Ha nem akarod,hogy el legyen nyújtva az icon akkor az icon pontos méretét kell megadnod, ha a kép/iconod 40x40-es akkor az 58 után 40, 40, \"rgm.png\" legyen írva mivel az az adott icon szélessége és magassága (lehet,hogy hülyeséget mondok, akkor sry)
 
 
 

dxDrawImage ( screenWidth/2 - -340, 58, 40, 40, \'rgm.png\')

 

 
 
 
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 17:20:45
Az a problem, hogy 1330 x ... vagy nem tudom, nagy felbontáson minden jó, jó a mérete a hudnak, viszont 800 x 600-ason már óriási.
Cím: dxDrawImage szabályozása
Írta: Kriszu025 - 2017. Február 11. - 17:27:13
Milyen icon az,hogy 1330-as?
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 17:33:14
MTA felbontás, szóval az én felbontásomon ( 1366 x 768 x 32 ) jó, de kisebb felbontáson ( 800 x 600 ) az ikonok nagyok.
Cím: dxDrawImage szabályozása
Írta: Kriszu025 - 2017. Február 11. - 17:35:02
Öhm 1024-en jó még?
 
 
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 17:40:02
Igen
 
 
Cím: dxDrawImage szabályozása
Írta: Kriszu025 - 2017. Február 11. - 17:40:58
Akkor válaszd az egyszerűbb megoldást, csináld meg,hogy 1024-es felbontás alatt ne tudjon az adott játékos játszani, rengeteg szerveren van így.
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 17:47:20
Értem, köszi. Amúgy jelen esetben ez az ikonos dolog csak egy példa volt, későbbiekben lehet csinálok dxDrawImage-val egy hudot, azért kérdeztem. Köszi amúgy :) 
Cím: dxDrawImage szabályozása
Írta: Kriszu025 - 2017. Február 11. - 17:49:25
Igazán nincs mit!
Cím: dxDrawImage szabályozása
Írta: impreZZa - 2017. Február 11. - 17:53:32
A screenWidth meg az x ugyanaz?
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 17:54:38
Igen, ne kérdezd miért csináltam kettő ugyan olyat, nem tudom :D 
Cím: dxDrawImage szabályozása
Írta: impreZZa - 2017. Február 11. - 18:06:11
Próbáld így
 

local playerHP = math.floor(getElementHealth(localPlayer))
local playerArmour = math.floor(getPedArmor(localPlayer))
local playerMoney = getPlayerMoney()
local playerPing = getPlayerPing(getLocalPlayer())
dxDrawImage(x/2 + 340, 58, x/(1366/45), y/(768/45), \"rgm.png\")
dxDrawRectangle(x/1.35, y/45, x/4, y/30, tocolor(0, 0, 0, 150))
dxDrawRectangle(x/1.35, y/4.60, x/6, y/30, tocolor(0, 0, 0, 150))
dxDrawRectangle(x/1.35, y/15, x/4, y/7, tocolor(0, 0, 0, 150))
dxDrawRectangle(x/1.23, y/13, x/6, y/33, tocolor(0, 0, 0, 150))
dxDrawRectangle(x/1.23, y/13, playerHP*2.28, y/33, tocolor(38, 166, 91, 150))
dxDrawRectangle(x/1.23, y/8.50, x/6, y/33, tocolor(0, 0, 0, 150))
dxDrawRectangle(x/1.23, y/8.50, playerArmour*2.28, y/33, tocolor(255, 255, 255, 255))
dxDrawImage(x/2 + 340, 14, x/(1366/110), y/(768/30), \"logo.png\")
dxDrawImage(x/2 + 350, 170, x/(1366/16), y/(768/16), \"coin.png\")
dxDrawImage(x/2 + 400, 58, x/(1366/25), y/(768/25), \"heal.png\")
dxDrawImage(x/2 + 400, 88, x/(1366/25), y/(768/25), \"armor.png\")
dxDrawText(playerHP .. \"%\", x/1.13, y/12.5, x, y, tocolor(255, 255, 255, 255), 1, \"default-bold\")
dxDrawText(playerArmour .. \"%\", x/1.13, y/8.25, x, y, tocolor(255, 255, 255, 255), 1, \"default-bold\")
dxDrawText(playerName, x/1.14, y/37, x, y, tocolor(255, 255, 255, 255), 1.3, \"default-bold\")
dxDrawText(playerMoney .. \" $\", x/1.29, y/4.60, x, y, tocolor(255, 255, 255, 255), 1, \"diploma\")
dxDrawText(\"ping:\" .. playerPing, x/1.06, y/4.80, x, y, tocolor(38, 166, 91, 150), 2, \"sand\")
local playerVehicle = getPedOccupiedVehicle(localPlayer)
if playerVehicle then
local vehicleHealth = getElementHealth(playerVehicle)/ 10  -- Divide this by 10, as default the denominator is 1000
dxDrawRectangle(x/1.41, y/45, x/45, y/5.30, tocolor(0, 0, 0, 150))
dxDrawRectangle(x/1.41, y/45, x/45, vehicleHealth*1.45, tocolor(162, 162, 162, 162))
end

 
 
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 18:17:48
Köszi, így működött. De rájöttem, hogy felesleges ez a Rectangle, photoshop-olok egy normálisat inkább, de az is dximage-val fogom, szóval köszi :) 
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 19:02:38
Még 1 kérdés. Van ugye ilyen sorom
dxDrawRectangle ( x/3.8, y/3.8, playerHP*3.02, y/25, tocolor ( 255, 0, 0, 150 ) )

 a playerHP sort is szeretném ugye guiGetScreenSize-olni ( vayis x-et írni hozzá, hogy ne menjen ki senki képernyőéből. Hogyan?
Cím: dxDrawImage szabályozása
Írta: impreZZa - 2017. Február 11. - 19:09:45

dxDrawRectangle(x/3.8, y/3.8, x/(1366/(playerHP*3.02)), y/25, tocolor(255, 0, 0, 150))

 
?
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 11. - 22:36:14
Működött, köszi mindent :) . Több kérdésem már nem lesz 
 
 
Cím: dxDrawImage szabályozása
Írta: xerox0224 - 2017. Február 12. - 10:10:43
A kép mérete jó, de most meg az x tengelyen csúszik el kis felbontáson, csak a fele látszódik a képnek :D .