Script not printing?

local func1 = function()
	func1() --Undefined.
end

local func2
func2 = function()
	func2() --Defined.
end

local func3 do
	func3 = function()
		func3() --Defined.
	end
end

Avoid defining local functions using the first idiom (prevents the function from being recursive).

We don’t need a recursive function here, so I just defined it normally.

Disregarding recursiveness, another issue is that the function is unaware of its own identity.

local func = function()
	print(debug.info(1, "n")) --Empty string.
end

func()
local function func()
	print(debug.info(1, "n")) --'func'
end

func()

This issue will also present itself in traces of the call stack, i.e; when an error occurs.