Rakashy Posted March 31, 2021 Posted March 31, 2021 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
Joaovit13 Posted March 31, 2021 Posted March 31, 2021 (edited) 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 March 31, 2021 by Joaovit13
Rakashy Posted April 1, 2021 Author Posted April 1, 2021 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
Boechat Posted April 1, 2021 Posted April 1, 2021 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?
Rakashy Posted April 1, 2021 Author Posted April 1, 2021 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!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now