Jump to content

Como colocar o Botão Para funcionar


Recommended Posts

Bom, não precisa utilizar o botão em gui já que seu painel é em dx, Você deve usar dxDrawImage. Pra funcionar o click você usa o evento onClientClick 

Exemplo

function Painel ()
        dxDrawImage(x*489, y*449, x*186, y*47, "Img/botao.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)	
end

function Click_Painel ( _,state )
	if isEventHandlerAdded("onClientRender", getRootElement(), Painel) then -- Verifica se o está aberto, Se Estiver aberto o click é liberado.
		if state == "down" then
			if isCursorOnElement(x*, y*, x*, y*) then -- Adicione as posições do botão aqui.
			   removeEventHandler("onClientRender", root, Painel) 
			end
		end
	end
end
addEventHandler ( "onClientClick", root, Click_Painel )






function isEventHandlerAdded( sEventName, pElementAttachedTo, func )
	if 
		type( sEventName ) == 'string' and 
		isElement( pElementAttachedTo ) and 
		type( func ) == 'function' 
	then
		local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo )
		if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
			for i, v in ipairs( aAttachedFunctions ) do
				if v == func then
					return true
				end
			end
		end
	end

	return false
end

local x,y = guiGetScreenSize()
function isCursorOnElement(x, y, w, h)
	if (not isCursorShowing()) then
		return false
	end
	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

As duas ultimas funções é obrigatórias para que não ocorra bugs, Por isso deixei as duas isoladas.


Edit#1

Não crie Tópicos repetidos pode ocorrer advertência

Edited by #DaNiLiN
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...