Jelentkezz be, hogy követhesd  
Követő(k) 0
Matheus_Daniel

guiGetScreenSize

9 hozzászólás ebben a témában

Hello.
Elkezdtem tanulni a luát. Kisebb scripteket már sikerült írnom, ezért haladok előrébb.
Elkezdtem hudot csinálni, és elakadtam. Egy videót nézve kezdtem el írni. Leírtam mindent ami a videóban szerepelt, formázásra később teszek szert.
Leakarom tesztelni, elindítom a resource-t és a képen láthatót írja ki.
717N_vtelen.png

Már próbálkoztam dolgokkal, nem jöttek be. Ezért írok ide. 
A válaszokat előre is köszönöm.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

A guiGetScreenSize kliens oldali függvény.

A meta.xml-ben amikor beírod a scriptet, a type-ot add meg client-nek, mert alapból szerver oldaliként kezeli az MTA.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

A metában client szerepel.
Most nem tudom hogy, de már nem írja ki.
Viszont elindítom a scriptet, de a hud nem jelen meg.
A debugscript sem ír semmi hibát a huddal kapcsolatban.
Client.lua tartalma:
 

local x, y = guiGetScreenSize()
oX, oY = 1366, 768

function mainRender()
    local health, armor = getElementHealth(localPlayer), getPedArmor(localPlayer)
    local h, m = getTime()
    if h < 10 then h = "0" .. h end
    if m < 10 then h = "0" .. m end  	
	
	dxDrawRectangle(1590/oX*x, 30/oY*y, 300/oX*x, 100/oY*y, 0x7F000000)
	dxDrawRectangle(1600/oX*x, 40/oY*y, 280*health/100/oX*x, 10/oY*y, 0xCCFF0000) -- Élet
	dxDrawRectangle(1600/oX*x, 60/oY*y, 280*armor/100/oX*x, 10/oY*y, 0xCC006EB2) -- Pajzs
	dxDrawText(h .. ":" .. m, 1600/oX*x, 70/oY*y, _, _, _, 2/oX*x, "pricedown", "left", "top") -- Idő
end
addEventHandler("onClientRender", root, mainRender)

 

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon
1590/oX*x
30/oY*y

Számold már ki pls, hogy ez mennyi egy 1920x1080 as felbontás esetén.

Szerkesztve RoLuX által

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Feltételezzük,hogy a kliens 1920x1080 as felbontáson játszik.

Így az x értéke 1920 lesz,míg az y értéke 1080.

1590/oX*x
30/oY*y

Behelyettesítve:

1590/1366*1920 = 2234.84626647
30/768*1080 = 42.1875

Látható,hogy az x értéke már a monitoron kívül esik.

 

Valószínüleg működik a scripted,csak rossz helyre rajzolja a Rectangle-ket.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Megnézem hogy lenne jó, vagy megpróbálom megcsinálni másképp a hudot.
Köszi.
EDIT: Kérhetnék egy tippet, hogyan lehetne megoldani hogy jó legyen?

 

Szerkesztve Matheus_Daniel által

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Regisztrálj vagy jelentkezz be, hogy válaszolhass

Csak felhasználóként kommentelhetsz.

Regisztrálj

Légy közösségünk tagja még ma! Csak fél perc.


Regisztrálok

Jelentkezz be

Már van felhasználód? Lépj be!


Bejelentkezek
Jelentkezz be, hogy követhesd  
Követő(k) 0