local v=game:GetService("\082\117\110\083\101\114\118\105\099\101")return function(f,q,z)local W=#q local l=z/W local Z,g,x=nil,time(),1 Z=v.RenderStepped:Connect(function()if time()-g>l then x+=1 f.Text=string.sub(q,1,x)g=time()if x==W then Z:Disconnect()end end end)end

local RunService = game:GetService("RunService")

return function(obj, text, duration)
    local length = #text 
    local interval = duration / length 

    local con, lastUpdate, currentPos = nil, time(), 1
    con = RunService.RenderStepped:Connect(function()
        if time() - lastUpdate > interval then
            currentPos += 1
            obj.Text = string.sub(text, 1, currentPos)
            lastUpdate = time()

            if currentPos == length then
                con:Disconnect()
            end 
        end 
    end)
end 
