Cocodrilo Posted March 23, 2016 Share Posted March 23, 2016 Quiero que la progressBar = el valor de la variable "value" y aumente este valor cada segundo. El problema esta que, cuando la variable "value" esta entre 0 y 1, por ejemplo, 0.50, 0.80, etc. La progressBar no aumenta nada. A que se debe esto? tiene alguna solucion? o existe otra manera de hacerlo? ayuntamiento_panel_mejorar = guiCreateWindow(0.29, 0.27, 0.51, 0.55, "", true) guiWindowSetSizable(ayuntamiento_panel_mejorar, false) casa_lbl_me = guiCreateLabel(0.27, 0.11, 0.46, 0.06, "", true, ayuntamiento_panel_mejorar) guiLabelSetHorizontalAlign(casa_lbl_me, "center", false) casa_mejorar_confirmar = guiCreateButton(0.38, 0.78, 0.27, 0.09, "upgrade", true, ayuntamiento_panel_mejorar) casacerrarme = guiCreateButton(0.89, 0.08, 0.07, 0.08, "x", true, ayuntamiento_panel_mejorar) lbl_info = guiCreateLabel(0.26, 0.26, 0.49, 0.34, "Upgrade this building.", true, ayuntamiento_panel_mejorar) guiLabelSetHorizontalAlign(lbl_info, "center", false) guiLabelSetVerticalAlign(lbl_info, "center") tiempo = guiCreateLabel(0.44, 0.71, 0.18, 0.07, "0 %", true, ayuntamiento_panel_mejorar) label = guiCreateLabel(0.47, 0.88, 0.12, 0.07, "", true, ayuntamiento_panel_mejorar) guiLabelSetHorizontalAlign(label, "center", false) guiLabelSetVerticalAlign(label, "center") guiLabelSetHorizontalAlign(tiempo, "center", false) Bar = guiCreateProgressBar(0.31, 0.62, 0.39, 0.07, true, ayuntamiento_panel_mejorar) showCursor ( true ) ttime = 10 value = 0 function conf() if source == casa_mejorar_confirmar then theTimer = setTimer( func, 1000, 0) guiSetText(label,ttime.. " sec") guiSetProperty(casa_mejorar_confirmar,"Disabled","true") end end addEventHandler ("onClientGUIClick", getRootElement(), conf) function func() local percent = guiProgressBarGetProgress(Bar) local value = (100/ttime) local progress = percent + value guiProgressBarSetProgress(Bar, progress) guiSetText(tiempo,percent.. " %") if guiProgressBarGetProgress(Bar) == 100 then guiProgressBarSetProgress(Bar, 0) killTimer ( theTimer ) outputChatBox("Done!", 0,255,0) guiSetText(tiempo,"0 %") guiSetText(label,"") guiSetProperty(casa_mejorar_confirmar,"Disabled","false") end end function close_panel() if source == casacerrarme then guiSetVisible ( ayuntamiento_panel_mejorar, false ) showCursor ( false ) end end addEventHandler ("onClientGUIClick", getRootElement(), close_panel) Link to comment
Tomas Posted March 23, 2016 Share Posted March 23, 2016 Intenta con esto: local start = nil function conf() if source == casa_mejorar_confirmar then start = getTickCount() addEventHandler("onClientRender", root, countUp) --theTimer = setTimer( func, 1000, 0) guiSetText(label, "10 sec") guiSetEnabled(casa_mejorar_confirmar, false) end end addEventHandler ("onClientGUIClick", getRootElement(), conf) function countUp () if ( getTickCount() - start >= 1000 ) then start = getTickCount() -- update tick guiProgressBarSetProgress(Bar, guiProgressBarGetProgress(Bar) + 10) guiSetText(tiempo, guiProgressBarGetProgress(Bar).."%") end if ( guiProgressBarGetProgress(Bar) == 100 ) then removeEventHandler("onClientRender", root, countUp) guiSetEnabled(casa_mejorar_confirmar, true) guiSetText(label, "") guiSetText(tiempo, "0%") guiProgressBarSetProgress(Bar, 0) end end --[[function func() local percent = guiProgressBarGetProgress(Bar) local value = (100/ttime) local progress = percent + value guiProgressBarSetProgress(Bar, progress) guiSetText(tiempo,percent.. " %") if guiProgressBarGetProgress(Bar) == 100 then guiProgressBarSetProgress(Bar, 0) killTimer ( theTimer ) outputChatBox("Done!", 0,255,0) guiSetText(tiempo,"0 %") guiSetText(label,"") guiSetProperty(casa_mejorar_confirmar,"Disabled","false") end end]] Link to comment
Recommended Posts