Общий раздел > Вопросы дварфоводов
DFHack и Easy Embark в DFusion
Tanatos:
Не нашел ни на форуме ни на просторах интернета как изменить количество дварфов при выстадке. Знаю, что плагин DFusion из DFHack должен это уметь. На форуме писали "запустите плагин, нажмите 1, затем 2 ... " но у меня при запуске этого плагина не выводится пункта "Easy embark" соответственно и нажимать нечего. Может есть хитрость в какой момент запускать плагин или какие-то параметры для него нужны. Пользуюсь "Lazy newb pack" версии 15 (0.34.11), DFHack 0.34.11-r3. Даже файлы ковырял, нашел "Dwarf Fortress 0.34.11\dfusion\simple_embark\" но как его запустить так и не понял. Пробовал запускать плагин когда игра в главном меню, когда выбирается место высадки, когда настраивается высадка и ничего, у меня всегда только 3 пункта меню:
1 - Run save script
2 - Adventurer tools
3 - Misc tools
Прошу помощи у уважаемых Гуру.
Заранее благодарю откликнувшихся!
Tanatos:
Пока докопался, что выводимое меню формируется в файле "...\Dwarf Fortress 0.34.11\hack\scripts\dfusion.lua" в явном виде, соответственно нет там никакого Embark или Simple Embark. Записи представлены в виде:
--- Код: ---mainmenu:add("Adventurer tools",require("plugins.dfusion.adv_tools").menu)
--- Конец кода ---
Попробовал в явном виде добавить включение плагина Embark путем добавления строки:
--- Код: ---mainmenu:add("Embark",require("plugins.dfusion.embark").menu)
--- Конец кода ---
В результате при загрузке плагина выдается ошибка:
--- Код: ---...ress\Dwarf Fortress 0.34.11\hack\lua\plugins\dfusion.lua:146: loadObjectFile: C++ exception: Error opening file!
stack traceback:
[C]: in function 'loadObjectFile'
...ress\Dwarf Fortress 0.34.11\hack\lua\plugins\dfusion.lua:146: in function 'load'
...ress\Dwarf Fortress 0.34.11\hack\lua\plugins\dfusion.lua:125: in function 'fun'
...Dwarf Fortress\Dwarf Fortress 0.34.11\hack\lua\class.lua:98: in function 'invoke_after_rec'
...Dwarf Fortress\Dwarf Fortress 0.34.11\hack\lua\class.lua:94: in function 'invoke_after_rec'
...Dwarf Fortress\Dwarf Fortress 0.34.11\hack\lua\class.lua:129: in function 'CustomEmbark'
...arf Fortress 0.34.11\hack\lua\plugins\dfusion\embark.lua:122: in main chunk
[C]: in function 'require'
...Fortress\Dwarf Fortress 0.34.11\hack\scripts/dfusion.lua:12: in main chunk
(...tail calls...)
--- Конец кода ---
Выяснил, что валится из-за отсутствия файла "embark.o", нашел его здесь "...\Dwarf Fortress 0.34.11\dfusion\embark\embark.o", скопировал в папку с подключаемыми плагинами: "...\Dwarf Fortress 0.34.11\hack\lua\plugins\dfusion\embark.o" и О ЧУДО! плагин загрузился и в меню появилась заветная строчка "Embark".
Увы радость была не долгой, вызов плагина выдал краш с сообщением:
--- Код: ---...ress\Dwarf Fortress 0.34.11\hack\lua\plugins\dfusion.lua:237: attempt to index field '?' (a nil value)
stack traceback:
...ress\Dwarf Fortress 0.34.11\hack\lua\plugins\dfusion.lua:237: in function 'display'
...Fortress\Dwarf Fortress 0.34.11\hack\scripts/dfusion.lua:15: in main chunk
(...tail calls...)
--- Конец кода ---
Пока разбираюсь дальше. Кстати здесь "...\Dwarf Fortress 0.34.11\dfusion\" лежит две папки "embark" и "simple_embark" ... просто перенести simple_embark к остальным плагинам и включить его пока не удалось - краш.
Может всетаки есть рецепт запуска плагина попроще, чем копаться в коде?
Tanatos:
Решено!
Dwarf Fortress в состоянии главного меню
1) Качаем и ставим ArtMoney
2) Открываем файл "...\Dwarf Fortress 0.34.11\hack\symbols.xml", ищем значение для "start_dwarf_count"
3) Запускаем ArtMoney, выбираем процесс "Dwarf Fortress.exe"
4) Через меню "Процесс/Редактор памяти" вызываем окно редактора памяти, внизу в выпадающем списке "Перемещение" выбираем значение "Перемещение на адрес" и вбиваем значение из файла.
5) В левом верхнем углу будет искомая ячейка памяти со значением 07, вбиваем туда нужное значение и переходим к подготовке высадки!
Это проще чем разбираться с плагинами и Lua скриптами :)
Andys:
Походу порезали его в dfhack r3, либо начали переписывать плагин, и не довели до конца.
В архиве dfhack r2 есть отдельная папка dfusion, прямо в корне, а в r3 её нет.
Kaide:
Доброго времени суток. Прошу помощи:
1. нашел в symbols.xml два значения для "start_dwarf_count": 0x8a07057 и 0xa0e490
2. запустил ДФ, остановился в главном меню, запустил ArtMoney, выбрал процесс "Dwarf Fortress.exe"
3. вызвал окно редактора памяти, выбрал "перемещение на адрес", вбил значение (одно, опосля и второе попробовал)
4. в левом верхнем углу или 00, или XX
Попробовал сменить на 7, 07, случайное число - эффекта не заметил.
В чем беда?
Навигация
Перейти к полной версии