ModLoader в MoonLoader

Статус
В этой теме нельзя размещать новые ответы.

Оператор Роман

Известный
Автор темы
8
1
Версия MoonLoader
.026-beta
Привет всем скриптерам! Сегодня возник такой вопрос, как мне сделать переключение модов в Lua скрипте.
Операясь на мой прошлый вопрос - тык, мне подсказали как это сделать.

Code:
local files = {}
function getFilesInModLoader()
    local dir = getWorkingDirectory()
    local dirOhneMoonloader = dir:sub(1, dir:len() - 10)

    local file = io.open(dirOhneMoonloader.. '\\modloader.ini', 'r')
    local text = file:read('*a')
    file:close()

    print(text) --
end
(создание ини файла)

Но! По прежнему неизвестно, как заставить МунЛоадер "работать на себя".
Увидел у скрипта "GameFixer" похожую систему, он использует отдельную папку, и из по нее подгружает генрл.
Есть у кого-то идеи, как можно реализовать переключение модов?
 
Решение
Привет всем скриптерам! Сегодня возник такой вопрос, как мне сделать переключение модов в Lua скрипте.
Операясь на мой прошлый вопрос - тык, мне подсказали как это сделать.

Code:
local files = {}
function getFilesInModLoader()
    local dir = getWorkingDirectory()
    local dirOhneMoonloader = dir:sub(1, dir:len() - 10)

    local file = io.open(dirOhneMoonloader.. '\\modloader.ini', 'r')
    local text = file:read('*a')
    file:close()

    print(text) --
end
(создание ини файла)

Но! По прежнему неизвестно, как заставить МунЛоадер "работать на себя".
Увидел у скрипта "GameFixer" похожую систему, он использует отдельную папку, и из по нее подгружает генрл.
Есть у кого-то идеи, как можно реализовать переключение модов?
...

DZONE

Известный
186
197
Привет всем скриптерам! Сегодня возник такой вопрос, как мне сделать переключение модов в Lua скрипте.
Операясь на мой прошлый вопрос - тык, мне подсказали как это сделать.

Code:
local files = {}
function getFilesInModLoader()
    local dir = getWorkingDirectory()
    local dirOhneMoonloader = dir:sub(1, dir:len() - 10)

    local file = io.open(dirOhneMoonloader.. '\\modloader.ini', 'r')
    local text = file:read('*a')
    file:close()

    print(text) --
end
(создание ини файла)

Но! По прежнему неизвестно, как заставить МунЛоадер "работать на себя".
Увидел у скрипта "GameFixer" похожую систему, он использует отдельную папку, и из по нее подгружает генрл.
Есть у кого-то идеи, как можно реализовать переключение модов?
Lua:
function readFileContent(path)
    local handle = assert(io.open(path, "r"))
    local content = handle:read("*all")
    handle:close()
    return content
end

function setModificationStatus(dirName, status)
    local modloaderPath = getGameDirectory().."\\modloader"
    local post, next
    if doesDirectoryExist(modloaderPath.."\\"..dirName) then
        local handle = io.open(modloaderPath.."\\modloader.ini", "w")
        local configContent = readFileContent(modloaderPath.."\\modloader.ini")
        if status then
            post, next = string.match(configContent, "(.*%[Profiles.Default.IgnoreMods%])(.*)")
            handle:write(string.format("%s\n%s%s", post, dirName, next))
        else
            post, next = string.match(configContent, "(.*%[Profiles.Default.IgnoreMods%].*)"..dirName.."(.*)")
            handle:write(post..next)
        end
        handle:close()
    end
end

-- Usage:
setModificationStatus("effects", true) -- должен включить
setModificationStatus("effects", false) -- должен выключить
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.