:
    s = Comments.Value
    start     = 30
    frequency = 15
    c1 = ""
    c2 = "|"
    manual  = 0
    writeOn = 0
    speed   = 1
    math.randomseed(1)
    x = 0
    if manual > 0.5 then
        x = math.min(writeOn, #s)
    else
        t = start + (time - start) * speed
        for i = start, t do
            if math.random() > 1/3 or i == start then
                x = x + 1
            end
        end
    end
    c = c1
    if frequency > 0 and (time % frequency) > (frequency / 2) then
        c = c2
    end
    return s:sub(1, math.min(math.floor(x), #s)) .. c