Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2018-03-31, 16:58


mkJ







Wiek: 25
Na forum: 3598 dni
Posty: 6
Nick w MP: mkJ



Respekt: 50

Znowu mam problem z GUI, problem polega na tym, ?e je?eli w GUI nr.1 klikn? Wi?cej informacji w miejscu gdzie w GUI nr.2 jest guzik zamkni?cia to GUI si? zamyka.
Je?eli w GUI nr.1 klikn? Wi?cej informacji w miejscu gdzie nie ma guzika zamykaj?cego GUI nr.2 to normalnie otwiera si? GUI nr.2 i potem mog? go zamkn?? guzikiem.

SS: https://imgur.com/a/eP8bF

local screenW, screenH = guiGetScreenSize()

function isCursorOnElement(x,y,w,h)
    local mx,my = getCursorPosition ()
    local fullx,fully = guiGetScreenSize()
    cursorx,cursory = mx*fullx,my*fully
    if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then
        return true
    else
        return false
    end
end

hud = false
hud2 = false

function dxRender()
        dxDrawRectangle(screenW * 0.3234, screenH * 0.3208, screenW * 0.3508, screenH * 0.3528, tocolor(0, 0, 0, 170), false)
        dxDrawLine((screenW * 0.3547) - 1, (screenH * 0.5653) - 1, (screenW * 0.3547) - 1, screenH * 0.6292, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine(screenW * 0.4797, (screenH * 0.5653) - 1, (screenW * 0.3547) - 1, (screenH * 0.5653) - 1, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine((screenW * 0.3547) - 1, screenH * 0.6292, screenW * 0.4797, screenH * 0.6292, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine(screenW * 0.4797, screenH * 0.6292, screenW * 0.4797, (screenH * 0.5653) - 1, tocolor(255, 255, 255, 255), 1, false)
        dxDrawRectangle(screenW * 0.3547, screenH * 0.5653, screenW * 0.1250, screenH * 0.0639, tocolor(0, 0, 0, 130), false)
        dxDrawLine((screenW * 0.5180) - 1, (screenH * 0.5653) - 1, (screenW * 0.5180) - 1, screenH * 0.6292, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine(screenW * 0.6430, (screenH * 0.5653) - 1, (screenW * 0.5180) - 1, (screenH * 0.5653) - 1, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine((screenW * 0.5180) - 1, screenH * 0.6292, screenW * 0.6430, screenH * 0.6292, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine(screenW * 0.6430, screenH * 0.6292, screenW * 0.6430, (screenH * 0.5653) - 1, tocolor(255, 255, 255, 255), 1, false)
        dxDrawRectangle(screenW * 0.5180, screenH * 0.5653, screenW * 0.1250, screenH * 0.0639, tocolor(0, 0, 0, 130), false)
        dxDrawText("Wyj?cie", screenW * 0.5258, screenH * 0.5792, screenW * 0.6352, screenH * 0.6125, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("Wi?cej informacji", screenW * 0.3641, screenH * 0.5750, screenW * 0.4719, screenH * 0.6153, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.4203, screenH * 0.3569, screenW * 0.5711, screenH * 0.3986, tocolor(255, 255, 255, 255), 2.00, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.3539, screenH * 0.4514, screenW * 0.6352, screenH * 0.4750, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.3453, screenH * 0.4750, screenW * 0.6430, screenH * 0.5069, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
end
 

function dxRender2()
        dxDrawRectangle(screenW * 0.3234, screenH * 0.3208, screenW * 0.3508, screenH * 0.3528, tocolor(0, 0, 0, 161), false)
        dxDrawLine((screenW * 0.4109) - 1, (screenH * 0.5750) - 1, (screenW * 0.4109) - 1, screenH * 0.6472, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine(screenW * 0.5852, (screenH * 0.5750) - 1, (screenW * 0.4109) - 1, (screenH * 0.5750) - 1, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine((screenW * 0.4109) - 1, screenH * 0.6472, screenW * 0.5852, screenH * 0.6472, tocolor(255, 255, 255, 255), 1, false)
        dxDrawLine(screenW * 0.5852, screenH * 0.6472, screenW * 0.5852, (screenH * 0.5750) - 1, tocolor(255, 255, 255, 255), 1, false)
        dxDrawRectangle(screenW * 0.4109, screenH * 0.5750, screenW * 0.1742, screenH * 0.0722, tocolor(0, 0, 0, 138), false)
        dxDrawText("Zamknij", screenW * 0.4195, screenH * 0.5903, screenW * 0.5773, screenH * 0.6333, tocolor(255, 255, 255, 255), 1.60, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.4297, screenH * 0.3347, screenW * 0.5664, screenH * 0.3806, tocolor(255, 255, 255, 255), 2.00, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.3633, screenH * 0.3944, screenW * 0.6406, screenH * 0.4278, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.3633, screenH * 0.4278, screenW * 0.6406, screenH * 0.4611, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.3633, screenH * 0.4611, screenW * 0.6406, screenH * 0.4944, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.3633, screenH * 0.4944, screenW * 0.6406, screenH * 0.5278, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
        dxDrawText("jd", screenW * 0.3633, screenH * 0.5278, screenW * 0.6406, screenH * 0.5611, tocolor(255, 255, 255, 255), 1.10, "default-bold", "center", "center", false, false, false, false, false)
end


function hud ()
        if(hud == true)then
            showCursor(false);
            removeEventHandler("onClientRender",root,dxRender);
        else
            showCursor(true);
            addEventHandler("onClientRender",root,dxRender);
            hud = true;
        end
end
addCommandHandler("premium", hud)

function hud2 ()
        if(hud2 == false)then
            showCursor(true);
            addEventHandler("onClientRender",root,dxRender2);
            hud2 = true;
        else
            showCursor(false);
            removeEventHandler("onClientRender",root,dxRender2);
            hud2 = false;
        end
end

addEventHandler("onClientClick",root,function(button, state)
    if(hud == true)then
        if(state == "down")then
            if(isCursorOnElement(screenW * 0.5180, screenH * 0.5653, screenW * 0.1250, screenH * 0.0639))then
                removeEventHandler("onClientRender",root,dxRender);
                hud = false;
                showCursor(false);
            elseif(isCursorOnElement(screenW * 0.3547, screenH * 0.5653, screenW * 0.1250, screenH * 0.0639))then
                showCursor(true);
                hud = false;
                hud2 = true;
                removeEventHandler("onClientRender",root,dxRender);
                addEventHandler("onClientRender",root,dxRender2)
            end
        end
    end
end)
addEventHandler("onClientClick",root,function(button, state)
        if(hud2 == true)then
            if(state == "down")then
                if(isCursorOnElement(screenW * 0.4109, screenH * 0.5750, screenW * 0.1742, screenH * 0.0722))then
                    removeEventHandler("onClientRender",root,dxRender2);
                    hud2 = false;
                    showCursor(false)
                end
            end
        end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-04-02, 15:59


readreis







Wiek: 37
Na forum: 4049 dni
Posty: 62

Piwa: 4

Respekt: 50

jakies bledy w db3?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-04-02, 21:16


mkJ







Wiek: 25
Na forum: 3598 dni
Posty: 6
Nick w MP: mkJ



Respekt: 50

Nie ma

Postaw piwo autorowi tego posta
 

 
Tagi: zamykanie :: gui
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku