aka Blue Posted May 31, 2016 Posted May 31, 2016 Antes que nada, siento crear tantos posts, pero me acaba de ocurrir un error en la consola el cual no termino de entender. La idea del script es crear un temporizador que vaya descontando un cierto elementData asignado del jugador. El problema que me da es el título del tema, Expected element at argument 1. Es un Warning y donde da expected element es en el setTimer de la tabla: temporizadorVisualizar[ player ] = setTimer ( function ( ) setElementData ( player, "visualizando", math.min( visualizacionActual- 1, 0 ) ) end, 50000, 0 )
Castillo Posted May 31, 2016 Posted May 31, 2016 Proba esto: temporizadorVisualizar[ player ] = setTimer ( function ( player ) setElementData ( player, "visualizando", math.min( visualizacionActual- 1, 0 ) ) end, 50000, 0, player )
aka Blue Posted May 31, 2016 Author Posted May 31, 2016 La idea es que se vaya rellenando una barra, cosa que no ocurre y se llena de golpe cuando el timer termina. ¿Alguna solución? Y por ahora no me ha dado error, gracias. Edito: Sigue dándome el error... temporizadorVisualizaciones[ player ] = setTimer ( function ( player ) setElementData ( player, "visualizacion", math.min( visualizacionActual - 1, 0 ) ) end, 6000, 0, player )
Castillo Posted May 31, 2016 Posted May 31, 2016 'visualizacionActual' tendria que estar definido dentro del mismo timer, si no, como obtiene el valor actual?
aka Blue Posted May 31, 2016 Author Posted May 31, 2016 Bueno, acabo de cambiarlo y por ahora no me ha dado error, pero sigo teniendo la duda de como podría hacer que la barra suba lentamente y no de golpe.
Castillo Posted June 1, 2016 Posted June 1, 2016 A que te refieres con "de golpe"? fijate que valor tiene antes y despues de usar setElementData.
aka Blue Posted June 1, 2016 Author Posted June 1, 2016 Es una barra de progreso hecha en DX (gracias a tu ayuda jeje) y lo que quiero hacer es que con ese timer, que baja -1, se vaya restando a tiempo real a la barra. Lo que pasa actualmente es que la barra se llena de golpe y ya.
Tomas Posted June 1, 2016 Posted June 1, 2016 Es una barra de progreso hecha en DX (gracias a tu ayuda jeje) y lo que quiero hacer es que con ese timer, que baja -1, se vaya restando a tiempo real a la barra. Lo que pasa actualmente es que la barra se llena de golpe y ya. Postea el script.
aka Blue Posted June 1, 2016 Author Posted June 1, 2016 Aquí esta. function visualizaciones_bajar ( player ) local visualizaciones = getElementData ( player, "visualizaciones" ) or 0 if isLoggedIn ( player ) then local tiempo = temporizadorVisualizaciones [ player ] if tiempo == nil or tiempo == false then setElementFrozen ( player, true ) temporizadorVisualizaciones [ player ] = setTimer ( function ( player ) local visualizacionesActuales = getElementData ( player, "visualizaciones" ) setElementData ( player, "visualizaciones", math.min( visualizacionesActuales - 1, 0 ) ) end, 6000, 0, player ) else outputChatBox ( "(( Ya estás bajando las visualizaciones. Espera a que baje la barra. ))", player, 255, 145, 0 ) end end end end addCommandHandler ( "bajarVisualizaciones", visualizaciones_bajar )
Castillo Posted June 1, 2016 Posted June 1, 2016 Supongo que el valor "visualizaciones" empezara por un valor mas alto que 0?
aka Blue Posted June 1, 2016 Author Posted June 1, 2016 Exacto, se me olvidó poner la comprobación, pero vamos, he realizado el comando con más de 0.
Castillo Posted June 1, 2016 Posted June 1, 2016 El problema es que estas usando math.min en lugar de math.max. math.min devuelve el numero mas chico, en este caso, seria 0 obviamente.
aka Blue Posted June 1, 2016 Author Posted June 1, 2016 Exacto, justo lo acaba de fixear y pasaba para que dijera que cierren tema jaja, pequeño error tonto. Gracias por la ayuda igualmente @Solidsnake14 y @Tomas
Recommended Posts