So, while something like a wait function is convenient, it isn't overly complicated to do the same thing with the tools already available. For instance, I put together a very simple little script to manage that performance you mention. It just needs a couple of simple aliases thrown together to interface with it, and you would be good to go.
perform = perform or {}
local performance = performance or {}
perform.run = function(line, wait, rand)
line = line or 1
wait = wait or 1
rand = rand or false
send(performance[line])
if line < #performance then
tempTimer(rand and math.random(wait) or wait, perform.run(line + 1, wait, rand))
end
end
perform.view = function()
for i,v in ipairs(performance) do
echo(" " .. v .. "\n")
end
end
perform.add = function(text, line)
line = line or #performance + 1
table.insert(performance,line,text)
end
perform.remove = function(line)
line = line or #performance
table.remove(performance,line)
end
perform.clear = function()
performance = {}
end
If you look, you will notice that it uses the tempTimer function and a recursive call to mimic the functionality of a wait function. And, you have the option of either coding in your performance, or adding it line by line via a simple alias that uses the perform.add function.