Jump to content

[AJUDA] Click errado


Recommended Posts

Posted

Fala pessoal, estou com um problema, eu coloquei o Butoon_Sair para sair do PAINEL GUI, mas se eu apertar em qualquer lugar da WINDOW, ela FECHA quando deveria fechar somente com o butoon_sair

Esse é o: client.lua

----------------------------------------------------------------------------WINDOW

local Janela_Agencia_Emprego = guiCreateWindow(0.22, 0.07, 0.54, 0.80, "", true)
guiWindowSetMovable(Janela_Agencia_Emprego, false)
guiWindowSetSizable(Janela_Agencia_Emprego, false)
guiSetAlpha(Janela_Agencia_Emprego, 1.00)
guiSetProperty(Janela_Agencia_Emprego, "CaptionColour", "FF1B0743")

local Label_Top = guiCreateLabel(0.29, 0.11, 0.40, 0.09, "AGENCIA DE EMPREGO", true, Janela_Agencia_Emprego)
guiSetFont(Label_Top, "clear-normal")
guiLabelSetHorizontalAlign(Label_Top, "center", false)
guiLabelSetVerticalAlign(Label_Top, "center")  
----------------------------------------------------------------------------BUTOON

local Butoon_Catador = guiCreateButton(0.01, 0.26, 0.27, 0.10, "CATADOR", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Catador, "NormalTextColour", "FFFFFFFF")

local Butoon_Jornal = guiCreateButton(0.71, 0.26, 0.27, 0.10, "ENTREGADOR DE JORNAL", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Jornal, "NormalTextColour", "FFFFFFFF")

local Butoon_Pedreiro = guiCreateButton(0.01, 0.38, 0.27, 0.10, "PEDREIRO", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Pedreiro, "NormalTextColour", "FFFFFFFF")

local Butoon_Pescador = guiCreateButton(0.71, 0.38, 0.27, 0.10, "PESCADOR", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Pescador, "NormalTextColour", "FFFFFFFF")

local Butoon_MotoBoy = guiCreateButton(0.01, 0.49, 0.27, 0.10, "MOTO BOY", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_MotoBoy, "NormalTextColour", "FFFFFFFF")

local Butoon_Gas = guiCreateButton(0.71, 0.49, 0.27, 0.10, "ENTREGADOR DE GÁS", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Gas, "NormalTextColour", "FFFFFFFF")

local Butoon_Leite = guiCreateButton(0.01, 0.61, 0.27, 0.10, "ENTRAGADOR DE LEITE", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Leite, "NormalTextColour", "FFFFFFFF")

local Butoon_Eletricista = guiCreateButton(0.71, 0.61, 0.27, 0.10, "ELETRICISTA", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Eletricista, "NormalTextColour", "FFFFFFFF")

local Butoon_Caminhoneiro = guiCreateButton(0.01, 0.73, 0.27, 0.10, "CAMINHONEIRO", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Caminhoneiro, "NormalTextColour", "FFFFFFFF")

local Butoon_Minerador = guiCreateButton(0.71, 0.73, 0.27, 0.10, "MINERADOR", true, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Minerador, "NormalTextColour", "FFFFFFFF")

local Butoon_Sair = guiCreateButton(10, 532, 719, 59, "SAIR", false, Janela_Agencia_Emprego)
guiSetProperty(Butoon_Sair, "NormalTextColour", "FFFFFFFF")
guiSetVisible(Janela_Agencia_Emprego, false)
----------------------------------------------------------------------------COMANDOS
local function Abrir_Painel()
   if not guiGetVisible(Janela_Agencia_Emprego) then
        guiSetVisible(Janela_Agencia_Emprego, true)
        showCursor(true)
    else
        guiSetVisible(Janela_Agencia_Emprego, false)
        showCursor(false)
    end
end

addEvent("Abrir_Painel", true)
addEventHandler("Abrir_Painel", root, Abrir_Painel)

----------------------------------------------------------------------------FUNÇOES

addEventHandler("onClientGUIClick", Butoon_Sair, function(tecla)
   if tecla == "left" then
         guiSetVisible(Janela_Agencia_Emprego, false)
         showCursor(false)
   end
end)

Posted

E aí, @SrBarata!

O problema ocorre pois o evento está se propagando para todos os outros elementos do seu painel. Você precisa adicionar um false no quarto parâmetro da função addEventHandler.

Hello, world.


Tutorial sobre interação de BOTs do Discord com o seu servidor - Visitar (Brazilian Portuguese)
Tutorial sobre tabelas - Visitar (Brazilian Portuguese)
Tutorial sobre banco de dados - Visitar (Brazilian Portuguese)
Posted
On 18/10/2022 at 07:13, androksi said:

E aí, @SrBarata!

O problema ocorre pois o evento está se propagando para todos os outros elementos do seu painel. Você precisa adicionar um false no quarto parâmetro da função addEventHandler.

qual, o event do butoon ou do PAINEL ?

 

  • Moderators
Posted

Existem 2 formas de fazer isso, a primeira é como nosso colega havia mencionado que seria evitar a propagação do evento adicionando um false após o último end.

addEventHandler("onClientGUIClick", Butoon_Sair, function(tecla)
   if tecla == "left" then
       guiSetVisible(Janela_Agencia_Emprego, false)
       showCursor(false)
   end
end, false)

A segunda forma e também a mais recomendada seria você adicionar um evento inteiro que ativa com todos os elementos CEGUI do seu resource e então verificar qual deles é o source (elemento cegui clicado).

addEventHandler ("onClientGUIClick", resourceRoot, function (button)
    if (button == "left") then    
        if (source == Butoon_Sair) then
            guiSetVisible (Janela_Agencia_Emprego, false)
            showCursor (false)
        -- elseif (source == Butoon_???) then -- Aqui você vai adicionando o que os demais botões do painel devem fazer.
        end
    end
end)

 

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...