После 508 раза файл перестает открываться...

papercut

Известный
Автор темы
125
25
Версия SA-MP
  1. 0.3.7 (R1)
Сделал такой скрипт, который проверяет файл на наличие новой информации, которую туда вносит другой скрипт. После нескольких тестов удалось выяснить, что ошибка происходит на 509 раз открытия.
Вот код. Функцию Utf8ToAnsi не буду прикреплять, там точно все ок.:
local id = 0
local i = 0
function main()
    repeat wait(0) until isSampAvailable()
    while true do
        wait(100)
        local r, i, m = rf()
        if r then
            sampAddChatMessage("[A]{b43636}"..m, 0x811d1d)
        end
    end
end

function rf()
    local fpath = getWorkingDirectory().."/output.adm"
    local file = io.open(fpath, 'r')
    if file then
    i = i + 1
        local f = decodeJson(file:read('*a'))
        if f then
            if f.id > id then
                id = f.id
                return true, f.id, Utf8ToAnsi(f.m)
            else
                return false
            end
        end
        io.close(file, 'r')
    else
        print('error i: '..i)
    end
    return false
end