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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Kelemen - 2017. Július 29. - 09:14:53

Cím: GUI Lenyíló ablak
Írta: Kelemen - 2017. Július 29. - 09:14:53
Sziasztok!
 
Abban szeretném segítségeteket kérni, hogy ha GUIban létrehozok egy ablakot akkor az hogy tudna funkcionálni bezáró ablakként.
 
\"
 
addCommandHandler (\"tesztablak\",function ()
    if nyitva == false then
        addEventHandler(\"onClientRender\",root,ablak)
        nyitva = true
        showCursor(true)
    elseif nyitva == true then
        removeEventHandler(\"onClientRender\",root,ablak)
        nyitva = false
        showCursor(false)
    end
end
 
\"
 
Erre kellene ráirni
Cím: GUI Lenyíló ablak
Írta: BlackSy - 2017. Július 29. - 09:18:50
Bra, rossz helyre nyitottad. De amúgy mit is szeretnél ezzel? Egy gui felületet szeretnél ezzel bezáratni?
 
 
Cím: GUI Lenyíló ablak
Írta: Kelemen - 2017. Július 29. - 09:22:55
Szóval ha rákattintok az adott helyre akkor bezáródjon a felület
 
 
Cím: GUI Lenyíló ablak
Írta: BlackSy - 2017. Július 29. - 09:29:29
Jaa. Hát azt meg lehet oldani gui gombbal, de onClientClick-el is. 
 
Itt van (Azt hiszem) ImpreZZa megoldása az onClientClick-re:
 

function isCursorInPosition(boxX, boxY, boxW, boxH)
    if isCursorShowing() then
        local absoluteX, absoluteY = getCursorPosition()
        absoluteX, absoluteY = absoluteX*sx, absoluteY*sy
        return (absoluteX >= boxX and absoluteX <= boxX+boxW) and (absoluteY >= boxY and absoluteY <= boxY+boxH)
    else
        return false
    end
end

 
Aztán 
 

function click(b,s)
if isCursorInPosition(x,y,szélesség,magasság) then
if b == \"h\" and s == \"down\" then
   if nyitva == false then
           addEventHandler(\"onClientRender\",root,ablak)
              nyitva = true
           showCursor(true)
          elseif nyitva == true then
           removeEventHandler(\"onClientRender\",root,ablak)
           nyitva = false
           showCursor(false)
       end
end
end
addEventHandler(\"onClientClick\",getRootElement(),click)