Just use a flag and have a way to reset if you need to repeat the sequence later.
local executedOnComplete = false local function finalOnComplete( event ) if( executedOnComplete ) then return end executedOnComplete = true print( 'I only want to call finalOnComplete once') end local function one( onComplete ) timer.performWithDelay( math.random(1000), onComplete ) end local function two( onComplete ) timer.performWithDelay( math.random(1000), onComplete ) end local function three( onComplete ) timer.performWithDelay( math.random(1000), onComplete ) end local function doTest() executedOnComplete = false one( finalOnComplete ) two( finalOnComplete ) three( finalOnComplete ) end