Не понятная ошибка помогите, луа самп тут

Страницы: 1
RSS
Не понятная ошибка помогите, луа самп тут, (exception) and (error)
 
(exception) update.luac: error reading ini file: D:\SAMP\CLEAR SBORKA SAMP\moonloader\script_update.ini: cannot open file
[17:34:47.955073] (error) update.luac: D:\SAMP\CLEAR SBORKA SAMP\moonloader\update.luac:0: attempt to index global 'updateIni' (a nil value)
stack traceback:
D:\SAMP\CLEAR SBORKA SAMP\moonloader\update.luac: in function <D:\SAMP\CLEAR SBORKA SAMP\moonloader\update.luac:0>
[17:34:47.955073] (error) update.luac: Script died due to an error. (0F3649BC)

Код:
Код
require 'lib.moonloader'
inicfg = require 'inicfg'
dlstatus = require('moonloader').download_status
enc = require('encoding')
enc.default = 'CP1251'

local update_state = false
local script_version = 2
local script_version_text = "2.0"

local update_url = "https://raw.githubusercontent.com/FasminCode/FasminCode/main/script_update.ini"
local update_path = getWorkingDirectory() .. '/script_update.ini'

local script_url = "https://github.com/FasminCode/FasminCode/blob/main/update.luac?raw=true"
local script_path = thisScript().path

function main()
   repeat wait(0) until isSampAvailable()
   sampAddChatMessage("{ff0000}update.lua {00ff00}completed {ffffff}loaded", -1)
   sampRegisterChatCommand('update', cmd_update)
   
   downloadUrlToFile(update_url, update_path, function(id, status)
        if status == dlstatus.STATUS_ENDDOWNLOADDATA then
            updateIni = inicfg.load(nil, update_path)
            if tonumber(updateIni.info.vers) > script_version then
                sampAddChatMessage("Есть обновление! Версия: " .. updateIni.info.vers_text, -1)
                update_state = true
            end
            os.remove(update_path)
        end
    end)
   while true do wait(0)
      if update_state then
            downloadUrlToFile(script_url, script_path, function(id, status)
                if status == dlstatus.STATUS_ENDDOWNLOADDATA then
                    sampAddChatMessage("Скрипт успешно обновлен!", -1)
                    thisScript():reload()
                end
            end)
            break
        end
   end
end

function cmd_update()
   sampShowDialog(2335, "UPDATE SCRIPT V2.0", "Новое обновление!\nЧто было добавлено: ничего!", "Закрыть", "", 0)
end
 
Добрый день,

предлагаем с данной проблемой обратиться к разработчику скрипта, у которого Вы его получили.
 
Так я и есть разработчик этого скрипта... Ходя код не совсем мой, но все же.
 
Цитата
Fasmin написал:
Так я и есть разработчик этого скрипта
:lol:

Цитата
Fasmin написал:
[17:34:47.955073] (error) update.luac: D:\SAMP\CLEAR SBORKA SAMP\moonloader\update.luac:0: attempt to index global 'updateIni' (a nil value)
Скорее всего, ошибка возникает при выполнении:
Код
updateIni = inicfg.load(nil, update_path)


Цитата
Fasmin написал:
(exception) update.luac: error reading ini file: D:\SAMP\CLEAR SBORKA SAMP\moonloader\script_update.ini: cannot open file
Смотрите, по какой причине не может открыть script_update.ini
 
Вот именно, что ошибка не в этом 0_0... Весь код вроде как правильный.
 
Видимо, все же стоит обратиться на форум для того продукта, где этот скрипт используется. Поиск дает ответ, что это какая-то игра GTA.
Это форум посвящен совсем другому продукту.
 
Ну ваш луа и самп луа не сильно отличается... Просто луа по сампу это скриптовой язык)))
 
Возможно, но чтобы понять проблему необходимо видеть код  функции inicfg.load.

Хотя, как правило, если нет уверенности, что данные корректны, то стоит проверять значения прежде чем их использовать. Как минимум убедиться что type(updateIni) == 'table'. Но это не решит проблемы загрузки(записи по указанному пути) файла через сеть.
 
Цитата
Fasmin написал:
Script died due to an error
Цитата
Fasmin написал:
(exception) update.luac: error reading ini file: D:\SAMP\CLEAR SBORKA SAMP\moonloader\script_update.ini: cannot open file[17:34:47.955073] (error) update.luac: D:\SAMP\CLEAR SBORKA SAMP\moonloader\update.luac:0: attempt to index global 'updateIni' (a nil value)stack traceback: D:\SAMP\CLEAR SBORKA SAMP\moonloader\update.luac: in function  [17:34:47.955073] (error) update.luac: Script died due to an error. (0F3649BC)
Вам система говорит, что
ошибка при чтении ini-файла: D:\SAMP\CLEAR СБОРКА SAMP\moonloader\script_update.ini: не удается открыть файл
[17:34:47.955073] (ошибка) обновление.luac: D:\SAMP\CLEAR СБОРКА SAMP\moonloader\update.luac:0: попытка индексировать глобальный "файл обновления" (нулевое значение)
 
Судя по коду сначала файл script_update.ini должен скачаться с удаленного сервера, а потом открыться.
Но как видно из ошибки открыть файл не получается.

Логично предположить два варианта
1) Файл D:\SAMP\CLEAR SBORKA SAMP\moonloader\script_update.ini имеется, но какой-то косяк с правами доступа
=> Проверить права на файл
2) Файл отсутствует по указанному пути.
2.1) Файл не может быть записан в указанную директорию
=> Проверить права доступа на директорию D:\SAMP\CLEAR SBORKA SAMP\moonloader\
2.2) Файл не скачивается
=> Выяснить почему
А не скачаваться он может, если я нашел верное описание функции downloadUrlToFile
Цитата
Описание
Загружает файл из интернета по URL по протоколу HTTP.
Код
https://raw.githubusercontent.com/FasminCode/FasminCode/main/script_update.ini
Ничего не смущает?
Страницы: 1
Читают тему
Наверх