Jump to content

Problema con función onClientClick


aka Blue

Recommended Posts

Esto es algo que me acaba de suceder y realmente no entiendo el motivo. Resulta que uso la función onClientClick junto a isMouseInPosition para los clicks en un panel personalizado DX (lo normal) pero resulta también que al darle click me ejecuta, ya sea el trigger como un outputChatBox, dos veces, lo cual, no entiendo.

He intentado añadir un timer de 100 milisegundos pero nada...

addEventHandler( "onClientClick", root, 
    function( )  
        boton_cerrar = isMouseInPosition( (367/sourceX)*sx, (472/sourceY)*sy, (325/sourceX)*sx, (47/sourceY)*sy ) 
        boton_multar = isMouseInPosition( (621/sourceX)*sx, (366/sourceY)*sy, (62/sourceX)*sx, (18/sourceY)*sy ) 
        boton_freno = isMouseInPosition( (485/sourceX)*sx, (250/sourceY)*sy, (94/sourceX)*sx, (93/sourceY)*sy ) 
        boton_cepo = isMouseInPosition( (379/sourceX)*sx, (249/sourceY)*sy, (94/sourceX)*sx, (93/sourceY)*sy ) 
        if boton_cerrar then 
            setTimer( function( ) 
                cerrarTodo( ) 
            end, 100, 1 ) 
        elseif jugador_policia == 1 and boton_multar then 
            local razon = guiGetText( edit_razon ) 
            local cantidad = guiGetText( edit_cantidad ) 
            if #cantidad == 0 and #razon < 2 then 
                outputChatBox( "(( Introduce una cantidad y razón adecuados. ))", 255, 145, 0 ) 
            else 
                setTimer( function( ) 
                    triggerServerEvent( "vehiculos:ponerMulta", getLocalPlayer( ), getLocalPlayer( ), cantidad, razon, veh, tabla_coche ) 
                end, 200, 1 ) 
            end 
        elseif jugador_policia == 1 and boton_freno then 
            local actualEstado = isElementFrozen ( veh ) 
            local nuevoEstado = not actualEstado 
            if getElementVelocity( veh ) == 0 then 
                setElementFrozen( veh, nuevoEstado ) 
            else 
                outputChatBox( "(( El vehículo está en movimiento ))", 255, 145, 0 ) 
                setTimer( function( ) 
                    cerrarTodo( ) 
                end, 100, 1 ) 
            end 
        elseif jugador_policia == 1 and boton_cepo then 
             
        end 
    end 
) 

Como se puede apreciar, he añadido timers a casi todo, pero nada... sigue ejecutando las funciones un par de veces.

Link to comment
  • Recently Browsing   0 members

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