Kilfwan Posted September 26, 2015 Share Posted September 26, 2015 Cual de los dos es mejor usarlo para cuando se de click a un objeto?. Tambien use los dos pero le puse un outputChatBox y cada vez que doy un click sale el mensaje y si suelto el click izquierdo de nuevo aparece el mensaje ( 2 veces ) por que se da esto??? Link to comment
aka Blue Posted September 26, 2015 Share Posted September 26, 2015 A mi también me devolvía el mensaje dos veces. Lo que utilicé es onClientClick y el objeto en cuestión, pero yo abro una GUI, no envío mensajes. Prueba con esto: mesa = createObject(201, -2107.7, -2283.6001, 30.7, 0, 0, 320) function asda ( button, state, _, _, _, _, _, clickedElement ) local x, y, z = getElementPosition(localPlayer) local x1, y1, z1 = getElementPosition(clickedElement) local distance = getDistanceBetweenPoints3D(x, y, z, x1, y1, z1) if distance < 3 then if clickedElement == mesa then exports.gui:show('mesa') end end end addEventHandler ( "onClientClick", getRootElement(), asda ) Link to comment
Kilfwan Posted September 26, 2015 Author Share Posted September 26, 2015 A mi también me devolvía el mensaje dos veces. Lo que utilicé es onClientClick y el objeto en cuestión, pero yo abro una GUI, no envío mensajes. Prueba con esto: mesa = createObject(201, -2107.7, -2283.6001, 30.7, 0, 0, 320) function asda ( button, state, _, _, _, _, _, clickedElement ) local x, y, z = getElementPosition(localPlayer) local x1, y1, z1 = getElementPosition(clickedElement) local distance = getDistanceBetweenPoints3D(x, y, z, x1, y1, z1) if distance < 3 then if clickedElement == mesa then exports.gui:show('mesa') end end end addEventHandler ( "onClientClick", getRootElement(), asda ) Funciona casi igual, pero como es para un spawn pienso que se repetiria dos veces como en el outputChatBox y talvez daria problemas, pero intentare hacerlo con onClientClick. Link to comment
Castillo Posted September 26, 2015 Share Posted September 26, 2015 Que se "repita" dos veces es porque el primero es el estado del boton "down" y luego al soltar el click, el estado es "up". Si queres que solo se ejecute una vez, tenes que verificar que el "state" sea "down". Por cierto, "onClientClick" es un evento solo del lado del cliente, y "onPlayerClick" solo del lado del servidor. Link to comment
Recommended Posts