Jump to content

Ajuda com isCursorOnElement!!


Recommended Posts

Estou com um problema bem chato, que é o seguinte, fiz um painel em Dx para concessionaria que contem 3 abas de veiculos, estou utilizando isCursorOnElement para determinar a posição do mouse para alternar as abas e para comprar os veículos ao clicar em seus respectivos botões, porém se eu deixar um botao de comprar um carro na primeira ABA, quando alterno para a segunda aba, ao clicar na posição aonde se encontra o botão da da primeira ABA, ele executa o evento, ou seja, compra o carro, mesmo não estando mais na aba dos carros.. Existe alguma maneira de bloquear isso ? ja tentei de tudo e não tive sucesso

 

Link to comment

Olá, tudo bem?

Bom eu já tive esse problema e consegui resolver da seguinte forma:

function isMouseInPosition(x, y, width, height)
    if(not isCursorShowing()) then 
        return false
    end
    local sx, sy = guiGetScreenSize()
    local cx, cy = getCursorPosition()
    local cx, cy = (cx * sx), (cy * sy)
    return((cx >= x and cx <= x + width) and (cy >= y and cy <= y + height))
end

E em vez de usar o isCursorElement use o isMouseInPostion().

Ele funciona da seguinte forma dentro do painel dx aonde você deseja clicar use ele dessa forma como exemplo:

if isMouseInPosition(screenW * 0.3133, screenH * 0.5768, screenW * 0.0836, screenH * 0.0794) then

As posições dele deve ser a da posição do local aonde deseja clicar.

Obs: A função isMouseInPosition deve estar no final do seu código do client.

Edited by Joaovit13
Link to comment

Meu código é mais ou menos assim, a questão , é, por exemplo, minha Dx possui 3 Abas, uma de carros, uma de motos, e uma de vips, só que quando alterno para as outras abas, se eu clico em algum lugar que tenha alguma função de clique na aba 1, ele executa a ação, entende ?ele pega o "isCursorElement" da Aba 1 mesmo estando na aba 2 ou 3

Link to comment
9 hours ago, Rakashy said:

Meu código é mais ou menos assim, a questão , é, por exemplo, minha Dx possui 3 Abas, uma de carros, uma de motos, e uma de vips, só que quando alterno para as outras abas, se eu clico em algum lugar que tenha alguma função de clique na aba 1, ele executa a ação, entende ?ele pega o "isCursorElement" da Aba 1 mesmo estando na aba 2 ou 3

Crie uma variável para saber em qual aba você está e coloque uma condição quando o player clicar para comprar para saber em qual aba ele está.

Vamos supor que tem 2 abas e é na aba 1 que deve comprar o veículo:

local aba

if isCursorOnElement (POSIÇÃO DA ABA 1 ) then
	aba = 'Aba1'
elseif isCursorOnElement (POSIÇÃO DA ABA 2 ) then
	aba = 'Aba2'
end

if isCursorOnElement (POSIÇÃO DO BOTÃO DE COMPRAR ) and aba == 'Aba1' then
	EXECUTA A FUNÇÃO DE COMPRAR
end

Deu pra entender?

Link to comment
1 hour ago, Boechat said:

Crie uma variável para saber em qual aba você está e coloque uma condição quando o player clicar para comprar para saber em qual aba ele está.

Vamos supor que tem 2 abas e é na aba 1 que deve comprar o veículo:


local aba

if isCursorOnElement (POSIÇÃO DA ABA 1 ) then
	aba = 'Aba1'
elseif isCursorOnElement (POSIÇÃO DA ABA 2 ) then
	aba = 'Aba2'
end

if isCursorOnElement (POSIÇÃO DO BOTÃO DE COMPRAR ) and aba == 'Aba1' then
	EXECUTA A FUNÇÃO DE COMPRAR
end

Deu pra entender?

Opa, deu sim amigo!, eu estava utilizando ElementData para definir as abas, e acabei me enrolando, dps de observar de novo consegui resolver, mais acabei optando por organizar as abas em Dx's diferentes, entende ? 1 Função para cada aba, assim tenho melhor controle, e já está funcionando 100%, mais obrigado, sua resposta também funciona muito bem!

Link to comment

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...