Подкачка библиотек.

Lance_Sterling

Известный
Автор темы
798
278
Версия MoonLoader
.026-beta
Попытался сделать автоустановку библиотек по этому гайду.
По началу все работало, пока я не дошел до fAwesome5.lua
Там уже все скрипты начало дубасить, в которых не было этой либки. Но вместо того, что бы скачать библиотеку скрипт выделывается и скрепя пыхтя спустя пару перезапусков скрипта он все таки устанавливает эту библиотеку.
Теперь я добавил все библиотеки, которые мне надо, но увы, так игра вообще не запускается.
Код:
function loadLib(lib_data)
    local dlstatus = require('moonloader').download_status
    local loadPath = ''
    if lib_data.folder ~= '' then
        if not doesDirectoryExist(getWorkingDirectory()..'\\lib\\'..lib_data.folder) then
            createDirectory(getWorkingDirectory()..'\\lib\\'..lib_data.folder)
            print('Папка '..getWorkingDirectory()..'\\lib\\'..lib_data.folder..' успешно создана!')
        end
        loadPath = getWorkingDirectory()..'\\lib\\'..lib_data.folder..'\\'
    else
        loadPath = getWorkingDirectory()..'\\lib\\'
    end
    local files = table.getn(lib_data.files)
    local exists = 0
    for i = 1, table.getn(lib_data.files) do
        if doesFileExist(loadPath..lib_data.files[i].name) then
            exists = exists + 1
        end
    end
    if exists ~= files then
        for i = 1, table.getn(lib_data.files) do
            if doesFileExist(loadPath..lib_data.files[i].name) then
                print('Файл "'..loadPath..lib_data.files[i].name..'" уже существует!')
            else
                downloadUrlToFile(lib_data.files[i].link, loadPath..lib_data.files[i].name, function (id, status, p1, p2)
                    if status == dlstatus.STATUSEX_ENDDOWNLOAD then
                        print('Файл библиотеки успешно загружен!')
                    end
                end)
            end
        end
    end
end
local libs = {
    sampev = {
        name = 'SAMP.lua', folder = 'samp',
        files = {
            {name = 'events.lua', link = "https://raw.githubusercontent.com/THE-FYP/SAMP.Lua/master/samp/events.lua"},
            {name = 'raknet.lua', link = "https://raw.githubusercontent.com/THE-FYP/SAMP.Lua/master/samp/raknet.lua"},
            {name = 'utils.lua', link = "https://raw.githubusercontent.com/THE-FYP/SAMP.Lua/master/samp/events/utils.lua"},
            {name = 'handlers.lua', link = "https://raw.githubusercontent.com/THE-FYP/SAMP.Lua/master/samp/events/handlers.lua"},
            {name = 'extra_types.lua', link = "https://raw.githubusercontent.com/THE-FYP/SAMP.Lua/master/samp/events/extra_types.lua"},
            {name = 'bitstream_io.lua', link = "https://raw.githubusercontent.com/THE-FYP/SAMP.Lua/master/samp/events/bitstream_io.lua"},
            {name = 'core.lua', link = "https://raw.githubusercontent.com/THE-FYP/SAMP.Lua/master/samp/events/core.lua"},
        },
    },
    fawesome = {
        name = 'fAwesome5.lua', folder = '',
        files = {
            {name = 'fAwesome5.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/fAwesome5.lua"}
        },
    },
    imgui_notf = {
        name = 'imgui_notf.lua', folder = '',
        files = {
            {name = 'imgui_notf.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/imgui_notf.lua"}
        },
    },
    effil = {
        name = 'effil.lua', folder = '',
        files = {
            {name = 'effil.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/effil.lua"}
        },
    },
    encoding = {
        name = 'encoding.lua', folder = '',
        files = {
            {name = 'encoding.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/encoding.lua"}
        },
    },
    imgui = {
        name = 'imgui.lua', folder = '',
        files = {
            {name = 'imgui.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/imgui.lua"}
        },
    },
    inicfg = {
        name = 'inicfg.lua', folder = '',
        files = {
            {name = 'inicfg.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/inicfg.lua"}
        },
    },
    imgui_addons = {
        name = 'imgui_addons.lua', folder = '',
        files = {
            {name = 'imgui_addons.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/imgui_addons.lua"}
        },
    },
    memory = {
        name = 'memory.lua', folder = '',
        files = {
            {name = 'memory.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/memory.lua"}
        },
    },
    matrix3x3 = {
        name = 'matrix3x3.lua', folder = '',
        files = {
            {name = 'matrix3x3.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/matrix3x3.lua"}
        },
    },
    rkeys = {
        name = 'rkeys.lua', folder = '',
        files = {
            {name = 'rkeys.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/rkeys.lua"}
        },
    },
    vector3d = {
        name = 'vector3d.lua', folder = '',
        files = {
            {name = 'vector3d.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/vector3d.lua"}
        },
    },
    vkeys = {
        name = 'vkeys.lua', folder = '',
        files = {
            {name = 'vkeys.lua', link = "https://raw.githubusercontent.com/тут мое имя/AdminTools/main/vkeys.lua"}
        },
    }
}
loadLib(libs.fawesome)
loadLib(libs.imgui_notf)
loadLib(libs.sampev)
loadLib(libs.effil)
loadLib(libs.encoding)
loadLib(libs.imgui)
loadLib(libs.inicfg)
loadLib(libs.imgui_addons)
loadLib(libs.memory)
loadLib(libs.matrix3x3)
loadLib(libs.rkeys)
loadLib(libs.vector3d)
loadLib(libs.vkeys)

Крашило по причине невозможно открыть файл imgui_notf, или fAwesome5. Не знаю как фиксить, хелпуйте.

@chapo
 
Решение
а там разве не нужна дополнительная подкачка в moonloader/resource/fonts?
вроде такая вещь есть в одном из скриптов чапо,кажется в коннект сандбоксе,возможно ошибаюсь


только туда нужно ещё файл шрифта
но проще сделать подкачка на фа6 тк он такого не требует
Я тестировал без удаления этого.
Тем более не работает еще с несколькими библиотеками. Например Matrix3X3.

UPD: Решил с помощью Чапо, дай бог ему здоровья.
Надо юзать pcall, но теперь скрипт крашит на fAwesome5, надо всего перезагрузить скрипт.

ChromiusJ

Известный
Друг
4,898
3,184
а там разве не нужна дополнительная подкачка в moonloader/resource/fonts?
вроде такая вещь есть в одном из скриптов чапо,кажется в коннект сандбоксе,возможно ошибаюсь

а там разве не нужна дополнительная подкачка в moonloader/resource/fonts?
вроде такая вещь есть в одном из скриптов чапо,кажется в коннект сандбоксе,возможно ошибаюсь
только туда нужно ещё файл шрифта
но проще сделать подкачка на фа6 тк он такого не требует
 

Lance_Sterling

Известный
Автор темы
798
278
а там разве не нужна дополнительная подкачка в moonloader/resource/fonts?
вроде такая вещь есть в одном из скриптов чапо,кажется в коннект сандбоксе,возможно ошибаюсь


только туда нужно ещё файл шрифта
но проще сделать подкачка на фа6 тк он такого не требует
Я тестировал без удаления этого.
Тем более не работает еще с несколькими библиотеками. Например Matrix3X3.

UPD: Решил с помощью Чапо, дай бог ему здоровья.
Надо юзать pcall, но теперь скрипт крашит на fAwesome5, надо всего перезагрузить скрипт.
 
Последнее редактирование: