function Scheduler.Delay(L,t,...)assert(DelayTuple(L,t))local q=select("\035",...)if q>0 then local d={...}local i=tick()+L local z z=Heartbeat:Connect(function()if tick()>=i then z:Disconnect()t(table.unpack(d,1,q))end end)return z else local q=tick()+L local d d=Heartbeat:Connect(function()if tick()>=q then d:Disconnect()t()end end)return d end end

function Scheduler.Delay(DelayTime, Function, ...)
	assert(DelayTuple(DelayTime, Function))
	local Length = select("#", ...)
	if Length > 0 then
		local Arguments = {...}
		local ExecuteTime = tick() + DelayTime
		local Connection

		Connection = Heartbeat:Connect(function()
			if tick() >= ExecuteTime then
				Connection:Disconnect()
				Function(table.unpack(Arguments, 1, Length))
			end
		end)

		return Connection
	else
		local ExecuteTime = tick() + DelayTime
		local Connection

		Connection = Heartbeat:Connect(function()
			if tick() >= ExecuteTime then
				Connection:Disconnect()
				Function()
			end
		end)

		return Connection
	end
end
