"function at line 1081 has more than 60 upvalues" HELP

Console error:

1:15:22.924&nbsp; C:\Users\pablo.diniz\Documents\Corona Projects\CCV IMTRAFF\Contagem.lua:1342: function at line 1081 has more than 60 upvalues 11:15:22.924&nbsp; stack traceback: 11:15:22.924&nbsp; [C]: in function 'error' 11:15:22.924&nbsp; ?: in function 'gotoScene' 11:15:22.924&nbsp; C:\Users\pablo.diniz\Documents\Corona Projects\CCV IMTRAFF\ArrumarLayout.lua:164: in function '?' 11:15:22.924&nbsp; ?: in function \<?:182\>

function Finalizar(event, tap) if ExportarInformacao == false then AbrirFoto:removeSelf() Fim:removeEventListener("tap", Finalizar) aviso = display.newImageRect("images/telafinalizar.png", display.actualContentHeight, display.actualContentWidth) aviso.x = centerX&nbsp; aviso.y = centerY&nbsp; aviso:rotate( 90 ) group:insert ( aviso ) retangulo = display.newImage("images/sim.png") retangulo.width = retangulo.width/8 retangulo.height = retangulo.height/8 retangulo.x = centerX + centerX/2.1 - 180 retangulo.y = centerY + 65 retangulo:rotate( 90) group:insert ( retangulo ) retangulo2 = display.newImage("images/nao.png") retangulo2.width = retangulo2.width/8 retangulo2.height = retangulo2.height/8 retangulo2.x = centerX + centerX/2.1 - 176 retangulo2.y = centerY - 50 retangulo2:rotate( 90) group:insert ( retangulo2 ) function CancelarAviso(event, tap) display.remove(aviso) display.remove(retangulo) display.remove(retangulo2) if photo == nil then &nbsp; &nbsp; AbrirFoto = display.newImage("images/addIMAGEM.png") &nbsp; &nbsp; AbrirFoto.width = AbrirFoto.width/6 &nbsp; &nbsp; AbrirFoto.height = AbrirFoto.height/6 &nbsp; &nbsp; AbrirFoto.x = centerX + 25 &nbsp; &nbsp; AbrirFoto.y = centerY &nbsp; &nbsp; AbrirFoto:rotate ( 90 ) &nbsp; &nbsp; AbrirFoto:addEventListener("tap", Selecionar) end Fim:addEventListener("tap", Finalizar) end function AceitarAviso(event, tap) ExportarArquivo() retangulo:removeEventListener("tap", AceitarAviso) retangulo2:removeEventListener("tap", CancelarAviso) end retangulo:addEventListener("tap", AceitarAviso) retangulo2:addEventListener("tap", CancelarAviso) end function ExportarArquivo() out = "Movimentos :" .. Movimento1 out = out .. "\n" if QtdeMovimentos \>= 2 then out = out .. ", " .. Movimento2 end if QtdeMovimentos \>= 3 then out = out .. ", " .. Movimento3 out = out .. "\n" end if QtdeMovimentos \>= 4 then out = out .. ", " .. Movimento4 out = out .. "\n" end --ssk.files.util.writeFile( out,nome) if obs ~= nil then out = out .. " Observacao : " .. obs out = out .. ";" out = out .. "\n" end --ssk.files.util.writeFile( out,nome) --ssk.files.util.writeFile( out,nome) out = out .. "Pesquisador: " .. RPesquisador out = out .. ";" out = out .. "\n" --ssk.files.util.writeFile( out,nome) out = out .. "Numero PN: " .. RNumeroPonto out = out .. "\n" out = out .. "MOVIMENTO" out = out .. ";" out = out .. "DATA" out = out .. ";" out = out .. "HORA" out = out .. ";" out = out .. "VEICULO" out = out .. ";" out = out .. "CONTADOR" out = out .. "\n" --ssk.files.util.writeFile( out, nome) for j = 1, #A1 do out = out .. Movimento1 out = out .. ";" out = out .. DataA1[j] out = out .. ";" out = out .. horaA1[j] out = out .. ";" out = out .. VeiculoA1 out = out .. ";" out = out .. j out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for k = 1, #A2 do out = out .. Movimento1 out = out .. ";" out = out .. DataA2[k] out = out .. ";" out = out .. horaA2[k] out = out .. ";" out = out .. VeiculoA2 out = out .. ";" out = out .. k out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for l = 1, #A3 do out = out .. Movimento1 out = out .. ";" out = out .. DataA3[l] out = out .. ";" out = out .. horaA3[l] out = out .. ";" out = out .. VeiculoA3 out = out .. ";" out = out .. l out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for m = 1, #A4 do out = out .. Movimento1 out = out .. ";" out = out .. DataA4[m] out = out .. ";" out = out .. horaA4[m] out = out .. ";" out = out .. VeiculoA4 out = out .. ";" out = out .. m out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end if QtdeMovimentos \>= 2 then for n = 1, #A5 do out = out .. Movimento2 out = out .. ";" out = out .. DataA5[n] out = out .. ";" out = out .. horaA5[n] out = out .. ";" out = out .. VeiculoA5 out = out .. ";" out = out .. n out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for o = 1, #A6 do out = out .. Movimento2 out = out .. ";" out = out .. DataA6[o] out = out .. ";" out = out .. horaA6[o] out = out .. ";" out = out .. VeiculoA6 out = out .. ";" out = out .. o out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for p = 1, #A7 do out = out .. Movimento2 out = out .. ";" out = out .. DataA7[p] out = out .. ";" out = out .. horaA7[p] out = out .. ";" out = out .. VeiculoA7 out = out .. ";" out = out .. p out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for q = 1, #A8 do out = out .. Movimento2 out = out .. ";" out = out .. DataA8[q] out = out .. ";" out = out .. horaA8[q] out = out .. ";" out = out .. VeiculoA8 out = out .. ";" out = out .. q out = out .. "\n" print("deu") end end if QtdeMovimentos \>= 3 then for r = 1, #A9 do out = out .. Movimento3 out = out .. ";" out = out .. DataA9[r] out = out .. ";" out = out .. horaA9[r] out = out .. ";" out = out .. VeiculoA9 out = out .. ";" out = out .. r out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for s = 1, #A10 do out = out .. Movimento3 out = out .. ";" out = out .. DataA10[s] out = out .. ";" out = out .. horaA10[s] out = out .. ";" out = out .. VeiculoA10 out = out .. ";" out = out .. s out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for t = 1, #A11 do out = out .. Movimento3 out = out .. ";" out = out .. DataA11[t] out = out .. ";" out = out .. horaA11[t] out = out .. ";" out = out .. VeiculoA11 out = out .. ";" out = out .. t out = out .. "\n" --ssk.files.util.writeFile( out,nome) print("deu") end for u = 1, #A12 do out = out .. Movimento3 out = out .. ";" out = out .. DataA12[u] out = out .. ";" out = out .. horaA12[u] out = out .. ";" out = out .. VeiculoA12 out = out .. ";" out = out .. u out = out .. "\n" end end if QtdeMovimentos \>= 4 then for a = 1, #A13 do out = out .. Movimento4 out = out .. ";" out = out .. DataA13[a] out = out .. ";" out = out .. horaA13[a] out = out .. ";" out = out .. VeiculoA13 out = out .. ";" out = out .. b out = out .. "\n" end for b = 1, #A14 do out = out .. Movimento4 out = out .. ";" out = out .. DataA14[b] out = out .. ";" out = out .. horaA14[b] out = out .. ";" out = out .. VeiculoA14 out = out .. ";" out = out .. b out = out .. "\n" end for c = 1, #A15 do out = out .. Movimento4 out = out .. ";" out = out .. DataA15[c] out = out .. ";" out = out .. horaA15[c] out = out .. ";" out = out .. VeiculoA15 out = out .. ";" out = out .. c out = out .. "\n" end for d = 1, #A16 do out = out .. Movimento4 out = out .. ";" out = out .. DataA16[d] out = out .. ";" out = out .. horaA16[d] out = out .. ";" out = out .. VeiculoA16 out = out .. ";" out = out .. d out = out .. "\n" end end if MinutosQuinze ~= nil then&nbsp; out = MinutosQuinze .. out end ssk.files.util.writeFile( out, "/storage/emulated/0/Download/" .. RNumeroPonto .. RPesquisador .. os.date("%Y%m%d ") .. composer.getVariable( "horaATUAL" ) .. ".CSV") --io.appendFile( out, "fINAL320.csv" ) --print(out15) composer.setVariable( "out", "nao nulo" ) composer.gotoScene( "inicio" ) end end

Guys, I’m checking this code for hours and hours and I can not find anything wrong … Could anyone help me check this part of the code ?? If I find the error, I’ll reply here before, but I’ve been looking at this code for a long time and I see nothing different :frowning:

PS: 

In the midst of so much desperation to be in this part of the code at times I even tried to change each “for” to use a different variable (hahahaha) but it did not work (as expected)

What is line 1081?

I suspect it might be:

out = "Movimentos :" .. Movimento1

In which case, you might want to make “out” local on it’ first use but not the rest:

local&nbsp;out = "Movimentos :" .. Movimento1

Rob

I changed what you said but nothing changed :\
what’s on line 1080 is the beginning of the code I sent … " function Finalizar(event, tap) "

Lua has a limit on the amount of out of scope variables you can use in a function.  This limit is 60.

You have 16 loops with at least 4 externally scoped variables being accessed. 16 x 4 > 60 and thus the error.

You will need to recode to something “more sensible”.

Are you sure about that ? I think I already made codes similar to these and they did not give a problem with this :x

I have told you why this is happening… and what that error refers too…

I’m sure @Rob will confirm the Lua limitation.

This is a Lua limitation.

Rob

Yes, but I say, the code was running before I add + 8 for and some things, after I added it just does not work anymore … PS: I’ve already tried to delete this function and it still does not work

I am 99% sure that it is a bad configuration error in some command of this part, but as you can see, it is very confusing and I am already 2 days looking for this error …

 function Selecionar(event, tap) local function onComplete( event ) local photo = event.target if photo ~= nil then photo.x = centerX photo.y = centerY photo.width = 300 photo.height = 240 photo:rotate( 90 ) print( "photo w,h = " .. photo.width .. "," .. photo.height ) group:insert ( photo ) photo:toBack() end end if media.hasSource( media.PhotoLibrary ) then media.selectPhoto( { mediaSource=media.PhotoLibrary, listener=onComplete } ) else native.showAlert( "Imtraff", "Não existe imagens em seu dispositivo.", { "OK" } ) end end AbrirFoto = display.newImage("images/addIMAGEM.png") AbrirFoto.width = AbrirFoto.width/6 AbrirFoto.height = AbrirFoto.height/6 AbrirFoto.x = centerX + 25 AbrirFoto.y = centerY AbrirFoto:rotate ( 90 ) AbrirFoto:addEventListener("tap", Selecionar) function Informacoes() AbrirFoto:removeSelf() if bg.x == display.contentWidth then bg:removeSelf() bg = nil end local \_W = display.contentWidth local \_H = display.contentHeight local bg bg = display.newImageRect("images/fundohCIN.png", display.actualContentWidth, display.actualContentHeight) bg.x = display.contentCenterX bg.y = display.contentCenterY group:insert(bg) BOX1 = display.newImageRect("images/pesquisador.png", display.actualContentWidth/1.1, 37) BOX1.x = centerX BOX1.y = screenTop + 84 group:insert( BOX1 ) BOX2 = display.newImageRect("images/numeroponto.png", display.actualContentWidth/1.1, 37) BOX2.x = centerX BOX2.y = screenTop + 122 group:insert( BOX2 ) BOX3 = display.newImageRect("images/observacoes.png", display.actualContentWidth/1.1, 37) BOX3.x = centerX BOX3.y = screenTop + 160 group:insert( BOX3 ) local function EscreverOBS( event, tap ) if ( event.phase == "began" ) then if ResultadoObservacao ~= nil then ResultadoObservacao = ResultadoObservacao .. event.target.text --EscOBS.text = ResultadoObservacao .. ", " end end if ( event.phase == "editing" ) then ResultadoObservacao = event.target.text end if ( event.phase == "ended" ) then ResultadoObservacao = event.target.text obs = obs .. " " .. ResultadoObservacao end end -- Create text field EscOBS = native.newTextField( centerX+47, centerY-96, 195, 20 ) EscOBS.x = BOX3.x + BOX3.width/6 EscOBS.y = BOX3.y EscOBS.align = "center" EscOBS:addEventListener( "userInput", EscreverOBS ) Pesquisador = display.newText( composer.getVariable( "ResultadoNumeroPonto" ), BOX2.x, BOX2.y, native.systemFont, 20 ) Pesquisador:setFillColor( 0, 0, 0 ) NumeroPonto = display.newText( composer.getVariable( "ResultadoPesquisador" ), BOX1.x, BOX1.y, native.systemFont, 20 ) NumeroPonto:setFillColor( 0, 0, 0 ) function VoltarCONT(event, tap) if ResultadoObservacao ~= nil then obs = obs .. " " .. ResultadoObservacao .. os.date("%H :%M :%S") .. "," end bg:removeSelf() bg = nil EscOBS:removeSelf() Pesquisador:removeSelf() NumeroPonto:removeSelf() BOX1:removeSelf() BOX2:removeSelf() BOX3:removeSelf() Voltar:removeSelf() local bg = display.newImageRect("images/Fundo.png", display.actualContentWidth, display.actualContentHeight) bg.x = display.contentCenterX bg.y = display.contentCenterY bg:toBack() if photo == nil then AbrirFoto = display.newImage("images/addIMAGEM.png") AbrirFoto.width = AbrirFoto.width/6 AbrirFoto.height = AbrirFoto.height/6 AbrirFoto.x = centerX + 25 AbrirFoto.y = centerY AbrirFoto:rotate ( 90 ) AbrirFoto:addEventListener("tap", Selecionar) end end Voltar = display.newImage("images/Voltar.png") Voltar.width = Voltar.width/8 Voltar.height = Voltar.height/8 Voltar.x = centerX Voltar.y = centerY + 120 Voltar:addEventListener("tap", VoltarCONT) end botaoInfo = display.newImage("images/INFO.png") botaoInfo.width = botaoInfo.width/13 botaoInfo.height = botaoInfo.height/13 botaoInfo.x = rightMarg - botaoInfo.height/2 botaoInfo.y = centerY - 15 botaoInfo:rotate( 90 ) botaoInfo:addEventListener("tap", Informacoes) group:insert ( botaoInfo ) function Finalizar(event, tap) if ExportarInformacao == false then AbrirFoto:removeSelf() Fim:removeEventListener("tap", Finalizar) aviso = display.newImageRect("images/telafinalizar.png", display.actualContentHeight, display.actualContentWidth) aviso.x = centerX aviso.y = centerY aviso:rotate( 90 ) group:insert ( aviso ) retangulo = display.newImage("images/sim.png") retangulo.width = retangulo.width/8 retangulo.height = retangulo.height/8 retangulo.x = centerX + centerX/2.1 - 180 retangulo.y = centerY + 65 retangulo:rotate( 90) group:insert ( retangulo ) retangulo2 = display.newImage("images/nao.png") retangulo2.width = retangulo2.width/8 retangulo2.height = retangulo2.height/8 retangulo2.x = centerX + centerX/2.1 - 176 retangulo2.y = centerY - 50 retangulo2:rotate( 90) group:insert ( retangulo2 ) function CancelarAviso(event, tap) display.remove(aviso) display.remove(retangulo) display.remove(retangulo2) if photo == nil then AbrirFoto = display.newImage("images/addIMAGEM.png") AbrirFoto.width = AbrirFoto.width/6 AbrirFoto.height = AbrirFoto.height/6 AbrirFoto.x = centerX + 25 AbrirFoto.y = centerY AbrirFoto:rotate ( 90 ) AbrirFoto:addEventListener("tap", Selecionar) end Fim:addEventListener("tap", Finalizar) end function AceitarAviso(event, tap) ExportarArquivo() retangulo:removeEventListener("tap", AceitarAviso) retangulo2:removeEventListener("tap", CancelarAviso) end retangulo:addEventListener("tap", AceitarAviso) retangulo2:addEventListener("tap", CancelarAviso) end local out = "Movimentos :" .. Movimento1 out = out .. "\n" local out15 = "" out15 = "Movimentos :" .. Movimento1 if QtdeMovimentos \>= 2 then out15 = out15 .. ", " .. Movimento2 end if QtdeMovimentos \>= 3 then out15 = out15 .. ", " .. Movimento3 end out15 = out15 .. "\n" if obs ~= nil then out15 = out15 .. "Observacao : " .. obs out15 = out15 .. ";" out15 = out15 .. "\n" end out15 = out15 .. "Pesquisador: " .. RPesquisador out15 = out15 .. ";" out15 = out15 .. "\n" out15 = out15 .. "Numero PN: " .. RNumeroPonto out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. "MOVIMENTO" out15 = out15 .. ";" out15 = out15 .. "DATA" out15 = out15 .. ";" out15 = out15 .. "HORA" out15 = out15 .. ";" out15 = out15 .. "VEICULO" out15 = out15 .. ";" out15 = out15 .. "CONTADOR" out15 = out15 .. "\n" popup = "Pesquisador: " .. RPesquisador popup = popup .. "\n" popup = popup .. "Numero PN: " .. RNumeroPonto .. "\n" function Timing(event) if ActualTiming == 15 then ActualTiming = 0 popup = popup .. "-----" .. os.date("%H : %M") .. "-----" .. "\n" if A1[1] ~= nil then for j = #A1, #A1 do out15 = out15 .. ";" .. ";" .. ";" .. ";" .. ";" .. ";" out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA1[j] out15 = out15 .. ";" out15 = out15 .. horaA1[j] out15 = out15 .. ";" out15 = out15 .. VeiculoA1 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA1 .. " " if y ~= nil then atualizar = true else atualizar = false end y = 0 for nm = 1, #A1 do y = y + 1 end if atualizar == true then resultado = y - w w = y out15 = out15 .. resultado else w = y out15 = out15 .. w end if atualizar == true then popup = popup .. resultado.. "\n" else popup = popup .. w .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A2[1] ~= nil then for k = #A2, #A2 do out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA2[k] out15 = out15 .. ";" out15 = out15 .. horaA2[k] out15 = out15 .. ";" out15 = out15 .. VeiculoA2 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA2 .. " " if y2 ~= nil then atualizar2 = true else atualizar2 = false end y2 = 0 for nm2 = 1, #A2 do y2 = y2 + 1 end if atualizar2 == true then resultado2 = y2 - w2 w2 = y2 out15 = out15 .. resultado2 else w2 = y2 out15 = out15 .. w2 end if atualizar2 == true then popup = popup .. resultado2 .. "\n" else popup = popup .. w2 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A3[1] ~= nil then for l = #A3, #A3 do out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA3[l] out15 = out15 .. ";" out15 = out15 .. horaA3[l] out15 = out15 .. ";" out15 = out15 .. VeiculoA3 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA3 .. " " if y3 ~= nil then atualizar3 = true else atualizar3 = false end y3 = 0 for nm3 = 1, #A3 do y3 = y3 + 1 end if atualizar3 == true then resultado3 = y3 - w3 w3 = y3 out15 = out15 .. resultado3 else w3 = y3 out15 = out15 .. w3 end if atualizar3 == true then popup = popup .. resultado3 .. "\n" else popup = popup .. w3 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A4[1] ~= nil then for m = #A4, #A4 do out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA4[m] out15 = out15 .. ";" out15 = out15 .. horaA4[m] out15 = out15 .. ";" out15 = out15 .. VeiculoA4 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA4 .. " " if y4 ~= nil then atualizar4 = true else atualizar4 = false end y4 = 0 for nm4 = 1, #A4 do y4 = y4 + 1 end if atualizar4 == true then resultado4 = y4 - w4 w4 = y4 out15 = out15 .. resultado4 else w4 = y4 out15 = out15 .. w4 end if atualizar4 == true then popup = popup .. resultado4 .. "\n" else popup = popup .. w4 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if QtdeMovimentos \>= 2 then if A5[1] ~= nil then for n = #A5, #A5 do out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA5[n] out15 = out15 .. ";" out15 = out15 .. horaA5[n] out15 = out15 .. ";" out15 = out15 .. VeiculoA5 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA5 .. " " if y5 ~= nil then atualizar5 = true else atualizar5 = false end y5 = 0 for nm5 = 1, #A5 do y5 = y5 + 1 end if atualizar5 == true then resultado5 = y5 - w5 w5 = y5 out15 = out15 .. resultado5 else w5 = y5 out15 = out15 .. w5 end if atualizar5 == true then popup = popup .. resultado5 .. "\n" else popup = popup .. w5 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A6[1] ~= nil then for o = #A6, #A6 do out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA6[o] out15 = out15 .. ";" out15 = out15 .. horaA6[o] out15 = out15 .. ";" out15 = out15 .. VeiculoA6 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA6 .. " " if y6 ~= nil then atualizar6 = true else atualizar6 = false end y6 = 0 for nm6 = 1, #A6 do y6 = y6 + 1 end if atualizar6 == true then resultado6 = y6 - w6 w6 = y6 out15 = out15 .. resultado6 else w6 = y6 out15 = out15 .. w6 end if atualizar6 == true then popup = popup .. resultado6 .. "\n" else popup = popup .. w6 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A7[1] ~= nil then for p = #A7, #A7 do out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA7[p] out15 = out15 .. ";" out15 = out15 .. horaA7[p] out15 = out15 .. ";" out15 = out15 .. VeiculoA7 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA7 .. " " if y7 ~= nil then atualizar7 = true else atualizar7 = false end y7 = 0 for nm7 = 1, #A7 do y7 = y7 + 1 end if atualizar7 == true then resultado7 = y7 - w7 w7 = y7 out15 = out15 .. resultado7 else w7 = y7 out15 = out15 .. w7 end if atualizar7 == true then popup = popup .. resultado7 .. "\n" else popup = popup .. w7 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A8[1] ~= nil then for q = #A8, #A8 do out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA8[q] out15 = out15 .. ";" out15 = out15 .. horaA8[q] out15 = out15 .. ";" out15 = out15 .. VeiculoA8 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA8 .. " " if y8 ~= nil then atualizar8 = true else atualizar8 = false end y8 = 0 for nm8 = 1, #A8 do y8 = y8 + 1 end if atualizar8 == true then resultado8 = y8 - w8 w8 = y8 out15 = out15 .. resultado8 else w8 = y8 out15 = out15 .. w8 end if atualizar8 == true then popup = popup .. resultado8 .. "\n" else popup = popup .. w8 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" print("deu") end end end if QtdeMovimentos \>= 3 then if A9[1] ~= nil then for r = #A9, #A9 do out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA9[r] out15 = out15 .. ";" out15 = out15 .. horaA9[r] out15 = out15 .. ";" out15 = out15 .. VeiculoA9 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA9 .. " " if y9 ~= nil then atualizar9 = true else atualizar9 = false end y9 = 0 for nm9 = 1, #A9 do y9 = y9 + 1 end if atualizar9 == true then resultado9 = y9 - w9 w9 = y9 out15 = out15 .. resultado9 else w9 = y9 out15 = out15 .. w9 end if atualizar9 == true then popup = popup .. resultado9 .. "\n" else popup = popup .. w9 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A10[1] ~= nil then for s = #A10, #A10 do out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA10[s] out15 = out15 .. ";" out15 = out15 .. horaA10[s] out15 = out15 .. ";" out15 = out15 .. VeiculoA10 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA10 .. " " if y10 ~= nil then atualizar10 = true else atualizar10 = false end y10 = 0 for nm10 = 1, #A10 do y10 = y10 + 1 end if atualizar10 == true then resultado10 = y10 - w10 w10 = y10 out15 = out15 .. resultado10 else w10 = y10 out15 = out15 .. w10 end if atualizar10 == true then popup = popup .. resultado10 .. "\n" else popup = popup .. w10 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A11[1] ~= nil then for t = #A11, #A11 do out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA11[t] out15 = out15 .. ";" out15 = out15 .. horaA11[t] out15 = out15 .. ";" out15 = out15 .. VeiculoA11 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA11 .. " " if y11 ~= nil then atualizar11 = true else atualizar11 = false end y11 = 0 for nm11 = 1, #A11 do y11 = y11 + 1 end if atualizar11 == true then resultado11 = y11 - w11 w11 = y11 out15 = out15 .. resultado11 else w11 = y11 out15 = out15 .. w11 end if atualizar11 == true then popup = popup .. resultado11 .. "\n" else popup = popup .. w11 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A12[1] ~= nil then for u = #A12, #A12 do out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA12[u] out15 = out15 .. ";" out15 = out15 .. horaA12[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA12 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA12 .. " " if y12 ~= nil then atualizar12 = true else atualizar12 = false end y12 = 0 for nm12 = 1, #A12 do y12 = y12 + 1 end if atualizar12 == true then resultado12 = y12 - w12 w12 = y12 out15 = out15 .. resultado12 else w12 = y12 out15 = out15 .. w12 end if atualizar12 == true then popup = popup .. resultado12 .. "\n" else popup = popup .. w12 .. "\n" end out15 = out15 .. "\n" end end end if QtdeMovimentos \>= 4 then if A13[1] ~= nil then for u = #A13, #A13 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA13[u] out15 = out15 .. ";" out15 = out15 .. horaA13[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA13 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA13 .. " " if y13 ~= nil then atualizar13 = true else atualizar13 = false end y13 = 0 for nm13 = 1, #A13 do y13 = y13 + 1 end if atualizar13 == true then resultado13 = y13 - w13 w13 = y13 out15 = out15 .. resultado13 else w13 = y13 out15 = out15 .. w13 end if atualizar13 == true then popup = popup .. resultado13 .. "\n" else popup = popup .. w13 .. "\n" end out15 = out15 .. "\n" end end if A14[1] ~= nil then for u = #A14, #A14 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA14[u] out15 = out15 .. ";" out15 = out15 .. horaA14[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA14 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA14 .. " " if y14 ~= nil then atualizar14 = true else atualizar14 = false end y14 = 0 for nm14 = 1, #A14 do y14 = y14 + 1 end if atualizar14 == true then resultado14 = y14 - w14 w14 = y14 out15 = out15 .. resultado14 else w14 = y14 out15 = out15 .. w14 end if atualizar14 == true then popup = popup .. resultado14 .. "\n" else popup = popup .. w14 .. "\n" end out15 = out15 .. "\n" end end if A15[1] ~= nil then for u = #A15, #A15 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA15[u] out15 = out15 .. ";" out15 = out15 .. horaA15[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA15 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA15 .. " " if y15 ~= nil then atualizar15 = true else atualizar15 = false end y15 = 0 for nm15 = 1, #A15 do y15 = y15 + 1 end if atualizar15 == true then resultado15 = y15 - w15 w15 = y15 out15 = out15 .. resultado15 else w15 = y15 out15 = out15 .. w15 end if atualizar15 == true then popup = popup .. resultado15 .. "\n" else popup = popup .. w15 .. "\n" end out15 = out15 .. "\n" end end if A16[1] ~= nil then for u = #A16, #A16 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA16[u] out15 = out15 .. ";" out15 = out15 .. horaA16[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA16 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA16 .. " " if y16 ~= nil then atualizar16 = true else atualizar16 = false end y16 = 0 for nm16 = 1, #A16 do y16 = y16 + 1 end if atualizar16 == true then resultado16 = y16 - w16 w16 = y16 out15 = out15 .. resultado16 else w16 = y16 out15 = out15 .. w16 end if atualizar16 == true then popup = popup .. resultado16 .. "\n" else popup = popup .. w16 .. "\n" end out15 = out15 .. "\n" end end end out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. "\n" ssk.files.util.writeFile( out, "/storage/emulated/0/Download/" .. RNumeroPonto .. RPesquisador .. os.date("%Y%m%d ") .. composer.getVariable( "horaATUAL" ) .. ".CSV") if composer.getVariable( "out" ) ~= "nao nulo" then timer.performWithDelay(60000, Timing) end MinutosQuinze = out15 else ActualTiming = ActualTiming + 1 if composer.getVariable( "out" ) ~= "nao nulo" then timer.performWithDelay(60000, Timing) end end end timer.performWithDelay(60000, Timing)

I think I’m really going to have to redo this code

That’s just it, you added more code and exceeded the limit. Frankly, a lot of that looks like global variables. Do you have them defined as local at the top of the module?

Rob

In addition to what Rob and SGS have said, don’t forget the number 1 reason for running into the “more than 60 upvalues” error:

Is it possible you have an “end” missing somewhere? 99% of the time that I hit this error, it’s because an “end” is missing somewhere. 

The indenting on the code is a bit all over the place (and I don’t even know if this is the whole lua file) so it’s not easy for me to check it.

What is line 1081?

I suspect it might be:

out = "Movimentos :" .. Movimento1

In which case, you might want to make “out” local on it’ first use but not the rest:

local&nbsp;out = "Movimentos :" .. Movimento1

Rob

I changed what you said but nothing changed :\
what’s on line 1080 is the beginning of the code I sent … " function Finalizar(event, tap) "

Lua has a limit on the amount of out of scope variables you can use in a function.  This limit is 60.

You have 16 loops with at least 4 externally scoped variables being accessed. 16 x 4 > 60 and thus the error.

You will need to recode to something “more sensible”.

Are you sure about that ? I think I already made codes similar to these and they did not give a problem with this :x

I have told you why this is happening… and what that error refers too…

I’m sure @Rob will confirm the Lua limitation.

This is a Lua limitation.

Rob

Yes, but I say, the code was running before I add + 8 for and some things, after I added it just does not work anymore … PS: I’ve already tried to delete this function and it still does not work

I am 99% sure that it is a bad configuration error in some command of this part, but as you can see, it is very confusing and I am already 2 days looking for this error …

 function Selecionar(event, tap) local function onComplete( event ) local photo = event.target if photo ~= nil then photo.x = centerX photo.y = centerY photo.width = 300 photo.height = 240 photo:rotate( 90 ) print( "photo w,h = " .. photo.width .. "," .. photo.height ) group:insert ( photo ) photo:toBack() end end if media.hasSource( media.PhotoLibrary ) then media.selectPhoto( { mediaSource=media.PhotoLibrary, listener=onComplete } ) else native.showAlert( "Imtraff", "Não existe imagens em seu dispositivo.", { "OK" } ) end end AbrirFoto = display.newImage("images/addIMAGEM.png") AbrirFoto.width = AbrirFoto.width/6 AbrirFoto.height = AbrirFoto.height/6 AbrirFoto.x = centerX + 25 AbrirFoto.y = centerY AbrirFoto:rotate ( 90 ) AbrirFoto:addEventListener("tap", Selecionar) function Informacoes() AbrirFoto:removeSelf() if bg.x == display.contentWidth then bg:removeSelf() bg = nil end local \_W = display.contentWidth local \_H = display.contentHeight local bg bg = display.newImageRect("images/fundohCIN.png", display.actualContentWidth, display.actualContentHeight) bg.x = display.contentCenterX bg.y = display.contentCenterY group:insert(bg) BOX1 = display.newImageRect("images/pesquisador.png", display.actualContentWidth/1.1, 37) BOX1.x = centerX BOX1.y = screenTop + 84 group:insert( BOX1 ) BOX2 = display.newImageRect("images/numeroponto.png", display.actualContentWidth/1.1, 37) BOX2.x = centerX BOX2.y = screenTop + 122 group:insert( BOX2 ) BOX3 = display.newImageRect("images/observacoes.png", display.actualContentWidth/1.1, 37) BOX3.x = centerX BOX3.y = screenTop + 160 group:insert( BOX3 ) local function EscreverOBS( event, tap ) if ( event.phase == "began" ) then if ResultadoObservacao ~= nil then ResultadoObservacao = ResultadoObservacao .. event.target.text --EscOBS.text = ResultadoObservacao .. ", " end end if ( event.phase == "editing" ) then ResultadoObservacao = event.target.text end if ( event.phase == "ended" ) then ResultadoObservacao = event.target.text obs = obs .. " " .. ResultadoObservacao end end -- Create text field EscOBS = native.newTextField( centerX+47, centerY-96, 195, 20 ) EscOBS.x = BOX3.x + BOX3.width/6 EscOBS.y = BOX3.y EscOBS.align = "center" EscOBS:addEventListener( "userInput", EscreverOBS ) Pesquisador = display.newText( composer.getVariable( "ResultadoNumeroPonto" ), BOX2.x, BOX2.y, native.systemFont, 20 ) Pesquisador:setFillColor( 0, 0, 0 ) NumeroPonto = display.newText( composer.getVariable( "ResultadoPesquisador" ), BOX1.x, BOX1.y, native.systemFont, 20 ) NumeroPonto:setFillColor( 0, 0, 0 ) function VoltarCONT(event, tap) if ResultadoObservacao ~= nil then obs = obs .. " " .. ResultadoObservacao .. os.date("%H :%M :%S") .. "," end bg:removeSelf() bg = nil EscOBS:removeSelf() Pesquisador:removeSelf() NumeroPonto:removeSelf() BOX1:removeSelf() BOX2:removeSelf() BOX3:removeSelf() Voltar:removeSelf() local bg = display.newImageRect("images/Fundo.png", display.actualContentWidth, display.actualContentHeight) bg.x = display.contentCenterX bg.y = display.contentCenterY bg:toBack() if photo == nil then AbrirFoto = display.newImage("images/addIMAGEM.png") AbrirFoto.width = AbrirFoto.width/6 AbrirFoto.height = AbrirFoto.height/6 AbrirFoto.x = centerX + 25 AbrirFoto.y = centerY AbrirFoto:rotate ( 90 ) AbrirFoto:addEventListener("tap", Selecionar) end end Voltar = display.newImage("images/Voltar.png") Voltar.width = Voltar.width/8 Voltar.height = Voltar.height/8 Voltar.x = centerX Voltar.y = centerY + 120 Voltar:addEventListener("tap", VoltarCONT) end botaoInfo = display.newImage("images/INFO.png") botaoInfo.width = botaoInfo.width/13 botaoInfo.height = botaoInfo.height/13 botaoInfo.x = rightMarg - botaoInfo.height/2 botaoInfo.y = centerY - 15 botaoInfo:rotate( 90 ) botaoInfo:addEventListener("tap", Informacoes) group:insert ( botaoInfo ) function Finalizar(event, tap) if ExportarInformacao == false then AbrirFoto:removeSelf() Fim:removeEventListener("tap", Finalizar) aviso = display.newImageRect("images/telafinalizar.png", display.actualContentHeight, display.actualContentWidth) aviso.x = centerX aviso.y = centerY aviso:rotate( 90 ) group:insert ( aviso ) retangulo = display.newImage("images/sim.png") retangulo.width = retangulo.width/8 retangulo.height = retangulo.height/8 retangulo.x = centerX + centerX/2.1 - 180 retangulo.y = centerY + 65 retangulo:rotate( 90) group:insert ( retangulo ) retangulo2 = display.newImage("images/nao.png") retangulo2.width = retangulo2.width/8 retangulo2.height = retangulo2.height/8 retangulo2.x = centerX + centerX/2.1 - 176 retangulo2.y = centerY - 50 retangulo2:rotate( 90) group:insert ( retangulo2 ) function CancelarAviso(event, tap) display.remove(aviso) display.remove(retangulo) display.remove(retangulo2) if photo == nil then AbrirFoto = display.newImage("images/addIMAGEM.png") AbrirFoto.width = AbrirFoto.width/6 AbrirFoto.height = AbrirFoto.height/6 AbrirFoto.x = centerX + 25 AbrirFoto.y = centerY AbrirFoto:rotate ( 90 ) AbrirFoto:addEventListener("tap", Selecionar) end Fim:addEventListener("tap", Finalizar) end function AceitarAviso(event, tap) ExportarArquivo() retangulo:removeEventListener("tap", AceitarAviso) retangulo2:removeEventListener("tap", CancelarAviso) end retangulo:addEventListener("tap", AceitarAviso) retangulo2:addEventListener("tap", CancelarAviso) end local out = "Movimentos :" .. Movimento1 out = out .. "\n" local out15 = "" out15 = "Movimentos :" .. Movimento1 if QtdeMovimentos \>= 2 then out15 = out15 .. ", " .. Movimento2 end if QtdeMovimentos \>= 3 then out15 = out15 .. ", " .. Movimento3 end out15 = out15 .. "\n" if obs ~= nil then out15 = out15 .. "Observacao : " .. obs out15 = out15 .. ";" out15 = out15 .. "\n" end out15 = out15 .. "Pesquisador: " .. RPesquisador out15 = out15 .. ";" out15 = out15 .. "\n" out15 = out15 .. "Numero PN: " .. RNumeroPonto out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. "MOVIMENTO" out15 = out15 .. ";" out15 = out15 .. "DATA" out15 = out15 .. ";" out15 = out15 .. "HORA" out15 = out15 .. ";" out15 = out15 .. "VEICULO" out15 = out15 .. ";" out15 = out15 .. "CONTADOR" out15 = out15 .. "\n" popup = "Pesquisador: " .. RPesquisador popup = popup .. "\n" popup = popup .. "Numero PN: " .. RNumeroPonto .. "\n" function Timing(event) if ActualTiming == 15 then ActualTiming = 0 popup = popup .. "-----" .. os.date("%H : %M") .. "-----" .. "\n" if A1[1] ~= nil then for j = #A1, #A1 do out15 = out15 .. ";" .. ";" .. ";" .. ";" .. ";" .. ";" out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA1[j] out15 = out15 .. ";" out15 = out15 .. horaA1[j] out15 = out15 .. ";" out15 = out15 .. VeiculoA1 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA1 .. " " if y ~= nil then atualizar = true else atualizar = false end y = 0 for nm = 1, #A1 do y = y + 1 end if atualizar == true then resultado = y - w w = y out15 = out15 .. resultado else w = y out15 = out15 .. w end if atualizar == true then popup = popup .. resultado.. "\n" else popup = popup .. w .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A2[1] ~= nil then for k = #A2, #A2 do out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA2[k] out15 = out15 .. ";" out15 = out15 .. horaA2[k] out15 = out15 .. ";" out15 = out15 .. VeiculoA2 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA2 .. " " if y2 ~= nil then atualizar2 = true else atualizar2 = false end y2 = 0 for nm2 = 1, #A2 do y2 = y2 + 1 end if atualizar2 == true then resultado2 = y2 - w2 w2 = y2 out15 = out15 .. resultado2 else w2 = y2 out15 = out15 .. w2 end if atualizar2 == true then popup = popup .. resultado2 .. "\n" else popup = popup .. w2 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A3[1] ~= nil then for l = #A3, #A3 do out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA3[l] out15 = out15 .. ";" out15 = out15 .. horaA3[l] out15 = out15 .. ";" out15 = out15 .. VeiculoA3 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA3 .. " " if y3 ~= nil then atualizar3 = true else atualizar3 = false end y3 = 0 for nm3 = 1, #A3 do y3 = y3 + 1 end if atualizar3 == true then resultado3 = y3 - w3 w3 = y3 out15 = out15 .. resultado3 else w3 = y3 out15 = out15 .. w3 end if atualizar3 == true then popup = popup .. resultado3 .. "\n" else popup = popup .. w3 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A4[1] ~= nil then for m = #A4, #A4 do out15 = out15 .. Movimento1 out15 = out15 .. ";" out15 = out15 .. DataA4[m] out15 = out15 .. ";" out15 = out15 .. horaA4[m] out15 = out15 .. ";" out15 = out15 .. VeiculoA4 out15 = out15 .. ";" popup = popup .. Movimento1 .. " " .. VeiculoA4 .. " " if y4 ~= nil then atualizar4 = true else atualizar4 = false end y4 = 0 for nm4 = 1, #A4 do y4 = y4 + 1 end if atualizar4 == true then resultado4 = y4 - w4 w4 = y4 out15 = out15 .. resultado4 else w4 = y4 out15 = out15 .. w4 end if atualizar4 == true then popup = popup .. resultado4 .. "\n" else popup = popup .. w4 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if QtdeMovimentos \>= 2 then if A5[1] ~= nil then for n = #A5, #A5 do out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA5[n] out15 = out15 .. ";" out15 = out15 .. horaA5[n] out15 = out15 .. ";" out15 = out15 .. VeiculoA5 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA5 .. " " if y5 ~= nil then atualizar5 = true else atualizar5 = false end y5 = 0 for nm5 = 1, #A5 do y5 = y5 + 1 end if atualizar5 == true then resultado5 = y5 - w5 w5 = y5 out15 = out15 .. resultado5 else w5 = y5 out15 = out15 .. w5 end if atualizar5 == true then popup = popup .. resultado5 .. "\n" else popup = popup .. w5 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A6[1] ~= nil then for o = #A6, #A6 do out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA6[o] out15 = out15 .. ";" out15 = out15 .. horaA6[o] out15 = out15 .. ";" out15 = out15 .. VeiculoA6 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA6 .. " " if y6 ~= nil then atualizar6 = true else atualizar6 = false end y6 = 0 for nm6 = 1, #A6 do y6 = y6 + 1 end if atualizar6 == true then resultado6 = y6 - w6 w6 = y6 out15 = out15 .. resultado6 else w6 = y6 out15 = out15 .. w6 end if atualizar6 == true then popup = popup .. resultado6 .. "\n" else popup = popup .. w6 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A7[1] ~= nil then for p = #A7, #A7 do out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA7[p] out15 = out15 .. ";" out15 = out15 .. horaA7[p] out15 = out15 .. ";" out15 = out15 .. VeiculoA7 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA7 .. " " if y7 ~= nil then atualizar7 = true else atualizar7 = false end y7 = 0 for nm7 = 1, #A7 do y7 = y7 + 1 end if atualizar7 == true then resultado7 = y7 - w7 w7 = y7 out15 = out15 .. resultado7 else w7 = y7 out15 = out15 .. w7 end if atualizar7 == true then popup = popup .. resultado7 .. "\n" else popup = popup .. w7 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A8[1] ~= nil then for q = #A8, #A8 do out15 = out15 .. Movimento2 out15 = out15 .. ";" out15 = out15 .. DataA8[q] out15 = out15 .. ";" out15 = out15 .. horaA8[q] out15 = out15 .. ";" out15 = out15 .. VeiculoA8 out15 = out15 .. ";" popup = popup .. Movimento2 .. " " .. VeiculoA8 .. " " if y8 ~= nil then atualizar8 = true else atualizar8 = false end y8 = 0 for nm8 = 1, #A8 do y8 = y8 + 1 end if atualizar8 == true then resultado8 = y8 - w8 w8 = y8 out15 = out15 .. resultado8 else w8 = y8 out15 = out15 .. w8 end if atualizar8 == true then popup = popup .. resultado8 .. "\n" else popup = popup .. w8 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" print("deu") end end end if QtdeMovimentos \>= 3 then if A9[1] ~= nil then for r = #A9, #A9 do out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA9[r] out15 = out15 .. ";" out15 = out15 .. horaA9[r] out15 = out15 .. ";" out15 = out15 .. VeiculoA9 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA9 .. " " if y9 ~= nil then atualizar9 = true else atualizar9 = false end y9 = 0 for nm9 = 1, #A9 do y9 = y9 + 1 end if atualizar9 == true then resultado9 = y9 - w9 w9 = y9 out15 = out15 .. resultado9 else w9 = y9 out15 = out15 .. w9 end if atualizar9 == true then popup = popup .. resultado9 .. "\n" else popup = popup .. w9 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A10[1] ~= nil then for s = #A10, #A10 do out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA10[s] out15 = out15 .. ";" out15 = out15 .. horaA10[s] out15 = out15 .. ";" out15 = out15 .. VeiculoA10 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA10 .. " " if y10 ~= nil then atualizar10 = true else atualizar10 = false end y10 = 0 for nm10 = 1, #A10 do y10 = y10 + 1 end if atualizar10 == true then resultado10 = y10 - w10 w10 = y10 out15 = out15 .. resultado10 else w10 = y10 out15 = out15 .. w10 end if atualizar10 == true then popup = popup .. resultado10 .. "\n" else popup = popup .. w10 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A11[1] ~= nil then for t = #A11, #A11 do out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA11[t] out15 = out15 .. ";" out15 = out15 .. horaA11[t] out15 = out15 .. ";" out15 = out15 .. VeiculoA11 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA11 .. " " if y11 ~= nil then atualizar11 = true else atualizar11 = false end y11 = 0 for nm11 = 1, #A11 do y11 = y11 + 1 end if atualizar11 == true then resultado11 = y11 - w11 w11 = y11 out15 = out15 .. resultado11 else w11 = y11 out15 = out15 .. w11 end if atualizar11 == true then popup = popup .. resultado11 .. "\n" else popup = popup .. w11 .. "\n" end out15 = out15 .. "\n" out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" --ssk.files.util.writeFile( out15,nome) print("deu") end end if A12[1] ~= nil then for u = #A12, #A12 do out15 = out15 .. Movimento3 out15 = out15 .. ";" out15 = out15 .. DataA12[u] out15 = out15 .. ";" out15 = out15 .. horaA12[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA12 out15 = out15 .. ";" popup = popup .. Movimento3 .. " " .. VeiculoA12 .. " " if y12 ~= nil then atualizar12 = true else atualizar12 = false end y12 = 0 for nm12 = 1, #A12 do y12 = y12 + 1 end if atualizar12 == true then resultado12 = y12 - w12 w12 = y12 out15 = out15 .. resultado12 else w12 = y12 out15 = out15 .. w12 end if atualizar12 == true then popup = popup .. resultado12 .. "\n" else popup = popup .. w12 .. "\n" end out15 = out15 .. "\n" end end end if QtdeMovimentos \>= 4 then if A13[1] ~= nil then for u = #A13, #A13 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA13[u] out15 = out15 .. ";" out15 = out15 .. horaA13[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA13 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA13 .. " " if y13 ~= nil then atualizar13 = true else atualizar13 = false end y13 = 0 for nm13 = 1, #A13 do y13 = y13 + 1 end if atualizar13 == true then resultado13 = y13 - w13 w13 = y13 out15 = out15 .. resultado13 else w13 = y13 out15 = out15 .. w13 end if atualizar13 == true then popup = popup .. resultado13 .. "\n" else popup = popup .. w13 .. "\n" end out15 = out15 .. "\n" end end if A14[1] ~= nil then for u = #A14, #A14 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA14[u] out15 = out15 .. ";" out15 = out15 .. horaA14[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA14 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA14 .. " " if y14 ~= nil then atualizar14 = true else atualizar14 = false end y14 = 0 for nm14 = 1, #A14 do y14 = y14 + 1 end if atualizar14 == true then resultado14 = y14 - w14 w14 = y14 out15 = out15 .. resultado14 else w14 = y14 out15 = out15 .. w14 end if atualizar14 == true then popup = popup .. resultado14 .. "\n" else popup = popup .. w14 .. "\n" end out15 = out15 .. "\n" end end if A15[1] ~= nil then for u = #A15, #A15 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA15[u] out15 = out15 .. ";" out15 = out15 .. horaA15[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA15 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA15 .. " " if y15 ~= nil then atualizar15 = true else atualizar15 = false end y15 = 0 for nm15 = 1, #A15 do y15 = y15 + 1 end if atualizar15 == true then resultado15 = y15 - w15 w15 = y15 out15 = out15 .. resultado15 else w15 = y15 out15 = out15 .. w15 end if atualizar15 == true then popup = popup .. resultado15 .. "\n" else popup = popup .. w15 .. "\n" end out15 = out15 .. "\n" end end if A16[1] ~= nil then for u = #A16, #A16 do out15 = out15 .. Movimento4 out15 = out15 .. ";" out15 = out15 .. DataA16[u] out15 = out15 .. ";" out15 = out15 .. horaA16[u] out15 = out15 .. ";" out15 = out15 .. VeiculoA16 out15 = out15 .. ";" popup = popup .. Movimento4 .. " " .. VeiculoA16 .. " " if y16 ~= nil then atualizar16 = true else atualizar16 = false end y16 = 0 for nm16 = 1, #A16 do y16 = y16 + 1 end if atualizar16 == true then resultado16 = y16 - w16 w16 = y16 out15 = out15 .. resultado16 else w16 = y16 out15 = out15 .. w16 end if atualizar16 == true then popup = popup .. resultado16 .. "\n" else popup = popup .. w16 .. "\n" end out15 = out15 .. "\n" end end end out15 = out15 .. ";" .. ";" .. ";" .. ";" out15 = out15 .. ";" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. ";" out15 = out15 .. "------------" out15 = out15 .. "\n" ssk.files.util.writeFile( out, "/storage/emulated/0/Download/" .. RNumeroPonto .. RPesquisador .. os.date("%Y%m%d ") .. composer.getVariable( "horaATUAL" ) .. ".CSV") if composer.getVariable( "out" ) ~= "nao nulo" then timer.performWithDelay(60000, Timing) end MinutosQuinze = out15 else ActualTiming = ActualTiming + 1 if composer.getVariable( "out" ) ~= "nao nulo" then timer.performWithDelay(60000, Timing) end end end timer.performWithDelay(60000, Timing)

I think I’m really going to have to redo this code

That’s just it, you added more code and exceeded the limit. Frankly, a lot of that looks like global variables. Do you have them defined as local at the top of the module?

Rob