- 59
- 13
- Версия MoonLoader
- .026-beta
В общем пытаюсь сделать норм автообновление. Пробовал https://www.blast.hk/threads/77735/. Но я хочу юзать json вместо ini и у меня часто(почти всегда) крашит скрипт при входе в игру). Юзаю гитхаб для хранения файлов скрипта
Краш происходит на 304 строке с таким логом:
attempt to index a nil value
AdBlock: Script died due to an error. (09D50EB4)
Уже много времени пытаюсь это пофиксить но никак не получается. local waiter и repeat в readJSON добавил потому что скрипт падал, думал это исправит ситуацию. Сам прикол в том что когда скрипт падает на этом моменте, то потом в папке муна таки есть файл с версией скрипта для проверки обновления
main:
if cfg.settings.autoUpdate then
downloadUrlToFile(UPDATE_URL, UPDATE_PATH, function(id, status)
if status == dlstatus.STATUS_ENDDOWNLOADDATA then
local updateJson = readJSON(UPDATE_PATH)
if updateJson.version > tonumber(thisScript().version) then
notf("Update detected. Your version: "..thisScript().version.." | New version: "..updateJson.version)
isUpdateAvailable = true
end
end
end)
end
while true do
wait(0)
if cfg.settings.autoUpdate then
if isUpdateAvailable then
downloadUrlToFile(SCRIPT_URL, SCRIPT_PATH, function(id, status)
if status == dlstatus.STATUS_ENDDOWNLOADDATA then
notf("Script was successfully updated")
thisScript():reload()
end
end)
break;
end
end
end
readJSON:
function readJSON(path)
local updateFile
local waiter = os.time() + 10
repeat
updateFile = io.open(path, "r")
until updateFile == nil or waiter >= os.time()
local rawJson = updateFile:read("*a")
local json = decodeJson(rawJson)
updateFile:close()
os.remove(path)
return json
end
Краш происходит на 304 строке с таким логом:
attempt to index a nil value
AdBlock: Script died due to an error. (09D50EB4)
Уже много времени пытаюсь это пофиксить но никак не получается. local waiter и repeat в readJSON добавил потому что скрипт падал, думал это исправит ситуацию. Сам прикол в том что когда скрипт падает на этом моменте, то потом в папке муна таки есть файл с версией скрипта для проверки обновления
Последнее редактирование: