Re: Stack overflow error
Posted: Mon Sep 17, 2012 10:54 pm
Okay, I finally got almost everything working, and even got a full countdown going when I used a series of timers, but the function to remove the last timer doesn't seem to work when used in the countdown function at the bottom. I put the a function right below it, and it successfully prints, but the remove function doesn't do anything, not even an error.
Code: Select all
if x == nil then
x = 10
end
function makelight()
for i=1,25 do
spawn("fx", 1, 5, 11, 3, "lcd"..i)
local lcd = findEntity("lcd"..i)
lcd:setLight(1,0,0,500,0.3, 360000, true)
end
end
function removelight()
for i=1,25 do
local lcd = findEntity("lcd"..i)
lcd:setLight(1,0,0,500,0.3, .1, true)
end
end
function num1()
lcd1:translate(-1,2.5,1.4)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd8:translate(0,2,1.3)
lcd13:translate(0,1.5,1.3)
lcd18:translate(0,1,1.3)
lcd21:translate(-1,0.5,1.3)
lcd22:translate(-0.5,0.5,1.3)
lcd23:translate(0,0.5,1.3)
lcd24:translate(0.5,0.5,1.3)
lcd25:translate(1,0.5,1.3)
end
function num2()
lcd1:translate(-1,2.5,1.3)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd4:translate(0.5,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd10:translate(1,2,1.3)
lcd11:translate(-1,1.5,1.3)
lcd12:translate(-0.5,1.5,1.3)
lcd13:translate(0,1.5,1.3)
lcd14:translate(0.5,1.5,1.3)
lcd15:translate(1,1.5,1.3)
lcd16:translate(-1,1,1.3)
lcd21:translate(-1,0.5,1.3)
lcd22:translate(-0.5,0.5,1.3)
lcd23:translate(0,0.5,1.3)
lcd24:translate(0.5,0.5,1.3)
lcd25:translate(1,0.5,1.3)
end
function num3()
lcd1:translate(-1,2.5,1.3)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd4:translate(0.5,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd10:translate(1,2,1.3)
lcd11:translate(-1,1.5,1.3)
lcd12:translate(-0.5,1.5,1.3)
lcd13:translate(0,1.5,1.3)
lcd14:translate(0.5,1.5,1.3)
lcd15:translate(1,1.5,1.3)
lcd20:translate(1,1,1.3)
lcd21:translate(-1,0.5,1.3)
lcd22:translate(-0.5,0.5,1.3)
lcd23:translate(0,0.5,1.3)
lcd24:translate(0.5,0.5,1.3)
lcd25:translate(1,0.5,1.3)
end
function num4()
lcd1:translate(-1,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd6:translate(-1,2,1.3)
lcd10:translate(1,2,1.3)
lcd11:translate(-1,1.5,1.3)
lcd12:translate(-0.5,1.5,1.3)
lcd13:translate(0,1.5,1.3)
lcd14:translate(0.5,1.5,1.3)
lcd15:translate(1,1.5,1.3)
lcd20:translate(1,1,1.3)
lcd25:translate(1,0.5,1.3)
end
function num5()
lcd1:translate(-1,2.5,1.3)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd4:translate(0.5,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd6:translate(-1,2,1.3)
lcd11:translate(-1,1.5,1.3)
lcd12:translate(-0.5,1.5,1.3)
lcd13:translate(0,1.5,1.3)
lcd14:translate(0.5,1.5,1.3)
lcd15:translate(1,1.5,1.3)
lcd20:translate(1,1,1.3)
lcd21:translate(-1,0.5,1.3)
lcd22:translate(-0.5,0.5,1.3)
lcd23:translate(0,0.5,1.3)
lcd24:translate(0.5,0.5,1.3)
lcd25:translate(1,0.5,1.3)
end
function num6()
lcd1:translate(-1,2.5,1.3)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd4:translate(0.5,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd6:translate(-1,2,1.3)
lcd11:translate(-1,1.5,1.3)
lcd12:translate(-0.5,1.5,1.3)
lcd13:translate(0,1.5,1.3)
lcd14:translate(0.5,1.5,1.3)
lcd15:translate(1,1.5,1.3)
lcd16:translate(-1,1,1.3)
lcd20:translate(1,1,1.3)
lcd21:translate(-1,0.5,1.3)
lcd22:translate(-0.5,0.5,1.3)
lcd23:translate(0,0.5,1.3)
lcd24:translate(0.5,0.5,1.3)
lcd25:translate(1,0.5,1.3)
end
function num7()
lcd1:translate(-1,2.5,1.3)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd4:translate(0.5,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd6:translate(-1,2,1.3)
lcd10:translate(1,2,1.3)
lcd15:translate(1,1.5,1.3)
lcd20:translate(1,1,1.3)
lcd25:translate(1,0.5,1.3)
end
function num8()
lcd1:translate(-1,2.5,1.3)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd4:translate(0.5,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd6:translate(-1,2,1.3)
lcd10:translate(1,2,1.3)
lcd11:translate(-1,1.5,1.3)
lcd12:translate(-0.5,1.5,1.3)
lcd13:translate(0,1.5,1.3)
lcd14:translate(0.5,1.5,1.3)
lcd15:translate(1,1.5,1.3)
lcd16:translate(-1,1,1.3)
lcd20:translate(1,1,1.3)
lcd21:translate(-1,0.5,1.3)
lcd22:translate(-0.5,0.5,1.3)
lcd23:translate(0,0.5,1.3)
lcd24:translate(0.5,0.5,1.3)
lcd25:translate(1,0.5,1.3)
end
function num9()
lcd1:translate(-1,2.5,1.3)
lcd2:translate(-0.5,2.5,1.3)
lcd3:translate(0,2.5,1.3)
lcd4:translate(0.5,2.5,1.3)
lcd5:translate(1,2.5,1.3)
lcd6:translate(-1,2,1.3)
lcd10:translate(1,2,1.3)
lcd11:translate(-1,1.5,1.3)
lcd12:translate(-0.5,1.5,1.3)
lcd13:translate(0,1.5,1.3)
lcd14:translate(0.5,1.5,1.3)
lcd15:translate(1,1.5,1.3)
lcd20:translate(1,1,1.3)
lcd21:translate(-1,0.5,1.3)
lcd22:translate(-0.5,0.5,1.3)
lcd23:translate(0,0.5,1.3)
lcd24:translate(0.5,0.5,1.3)
lcd25:translate(1,0.5,1.3)
end
function make1()
makelight()
num1()
end
function make2()
makelight()
num2()
end
function make3()
makelight()
num3()
end
function make4()
makelight()
num4()
end
function make5()
makelight()
num5()
end
function make6()
makelight()
num6()
end
function make7()
makelight()
num7()
end
function make8()
makelight()
num8()
end
function make9()
makelight()
num9()
end
function countdown()
if x == 1 then
x = 1
else
x = x - 1
end
if x < 9 then
removelight()
print("removed")
end
if x == 1 then
make1()
end
if x == 2 then
make2()
end
if x == 3 then
make3()
end
if x == 4 then
make4()
end
if x == 5 then
make5()
end
if x == 6 then
end
if x == 7 then
make7()
end
if x == 8 then
make8()
end
if x == 9 then
make9()
end
end