Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Először is, ez nem GUI, hanem DX.
- -- A GUI-val előre definiált ablakokat, szövegdobozokat, gombokat (...) hozhatsz létre, ezt használja alapból az MTA is.
- -- A DX-el különböző egyszerű alakzatokat rajzolhatsz ki (általában négyzet, de ide tartozik a kép és szöveg is), csupán egy frame erejéig.
- -- GUI leírás: https://wiki.multitheftauto.com/wiki/Introduction_to_Scripting_the_GUI
- -- Amit te szeretnél csinálni, a következőképpen nézne ki helyesen:
- local sx, sy = guiGetScreenSize() -- A client aktuális felbontása (pl: 1920x1080)
- -- Ebben a funkcióban kirajzolod amit szeretnél.
- -- Ha meghívod, akkor egyetlen pillanatra fog megjelenni amit csináltál. (talán nem is észleled)
- -- Azért, hogy ez folyamatosan látható legyen, nem csak szimplán meghívjuk, hanem "csatoljuk" az 'onClientRender' eventhez, amely meghívja nekünk minden frame rendereléskor.
- -- (Emiatt, mert ez a funkció egy másodpercben akár hatvanszor is lefuthat, nem érdemes erőforrásigényes dolgokat csinálni benne.)
- function renderFunction()
- dxDrawRectangle(sx/2 - 250, sy/2 - 250, 500, 500, tocolor(255,0,0,255))
- end
- local windowState = false -- ebben a változóban tartjuk számon, hogy épp meg van-e nyitva az ablak, vagy sem. (false = nem | true = igen)
- function toggleWindow()
- if windowState then -- ha: windowState == true -> zárjuk be
- removeEventHandler("onClientRender", root, renderFunction) -- töröljük a "csatolást" --> nem lesz mi meghívja a renderFunction-t, ezáltal nem fog megjelenni
- windowState = false -- megjegyezzük, hogy éppen zárva van
- else -- minden más esetben (vagyis ha nem TRUE) -> nyissuk meg
- addEventHandler("onClientRender", root, renderFunction) -- "csatoljuk" a renderFunction-t az 'onClientRender' eventhez.
- windowState = true -- megjegyezzük, hogy éppen nyitva van
- end
- end
- -- Majdnem minden készvan, már csak egy bind, vagy egy parancs kell amivel megnyithatjuk
- addCommandHandler("ablak", toggleWindow) -- parancs
- bindKey("k", "down", toggleWindow) -- bind
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement