Почитайте правила синтаксиса для Lua. Там Вы найдете, что каждому оператору if, function, for и некоторым другим нужен дополнительный оператор end. То есть, если у Вас 3 оператора if, то в конец каждого их блока необходимо добавить оператор end. Аналогично к остальным, которые его требуют.
Я ничего не понял из Вашего сообщения.
function f ( )
-- function-block
if ( true ) then
-- if-true-block
if ( false ) then
-- if-true-false-block
end
end
if ( false ) then
-- if-false-block
end
end
Как Вы видите оператор end закрывает каждый открытый блок кода.