Форум Dwarf Fortress

Общий раздел => Режим крепости => Вопросы дварфоводов => Тема начата: Tanatos от 07 Ноября 2013, 15:54:21

Название: DFHack и Easy Embark в DFusion
Отправлено: Tanatos от 07 Ноября 2013, 15:54:21
Не нашел ни на форуме ни на просторах интернета как изменить количество дварфов при выстадке. Знаю, что плагин 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

Прошу помощи у уважаемых Гуру.
Заранее благодарю откликнувшихся!
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: Tanatos от 07 Ноября 2013, 21:25:49
Пока докопался, что выводимое меню формируется в файле "...\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 к остальным плагинам и включить его пока не удалось - краш.

Может всетаки есть рецепт запуска плагина попроще, чем копаться в коде?
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: Tanatos от 07 Ноября 2013, 22:01:16
Решено!

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 скриптами :)
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: Andys от 08 Ноября 2013, 06:48:57
Походу порезали его в dfhack r3, либо начали переписывать плагин, и не довели до конца.
В архиве dfhack r2 есть отдельная папка dfusion, прямо в корне, а в r3 её нет.
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: Kaide от 10 Января 2014, 01:05:44
Доброго времени суток. Прошу помощи:
1. нашел в symbols.xml два значения для "start_dwarf_count": 0x8a07057 и 0xa0e490
2. запустил ДФ, остановился в главном меню, запустил ArtMoney, выбрал процесс "Dwarf Fortress.exe"
3. вызвал окно редактора памяти, выбрал "перемещение на адрес", вбил значение (одно, опосля и второе попробовал)
4. в левом верхнем углу или 00, или XX
Попробовал сменить на 7, 07, случайное число - эффекта не заметил.
В чем беда?
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: garman от 10 Января 2014, 13:06:44
Перед высадкой на карте (embark) , с помощью DFhack, набери команду startdwarf 10 (число любое какое хочешь) и будет тебе счастья!)
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: maksyutar от 10 Января 2014, 15:11:03
Не нашел ни на форуме ни на просторах интернета как изменить количество дварфов при выстадке. Знаю, что плагин 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

Прошу помощи у уважаемых Гуру.
Заранее благодарю откликнувшихся!
Ты откуда скачал?
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: Kaide от 10 Января 2014, 16:45:40
Понимаю что вопрос был адресован не мне, но я наблюдал в своем DFHack тоже самое. Брал у Мефа - http://dffd.wimbli.com/file.php?id=5315
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: Kaide от 10 Января 2014, 20:31:38
Нашелся работающий способ:
dfhak - fusion
Спасибо за совет, но команда не работает...

startdwarf N на карте

startdwarf 15 в дфхаке (в игре экран выбора места высадки) дало мне 15 дварфов для распределения скилов
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: garman от 13 Января 2014, 20:01:14
Нашелся работающий способ:
dfhak - fusion
Спасибо за совет, но команда не работает...

startdwarf N на карте

startdwarf 15 в дфхаке (в игре экран выбора места высадки) дало мне 15 дварфов для распределения скилов
И в чем проблема?
Ты получил 15 Dwarf'ов для потех и легендарных подвигов! Дерзай!
... Можно хоть 100 "голов"! Но учти, жрут и пьют эти "головы" ооччченньь много, так что не забудь про запас соответственно. 
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: AnotherBoris от 14 Января 2014, 14:55:01
И в чем проблема?
Ты получил 15 Dwarf'ов для потех и легендарных подвигов! Дерзай!
... Можно хоть 100 "голов"! Но учти, жрут и пьют эти "головы" ооччченньь много, так что не забудь про запас соответственно.

Эт фигня. Высади сотню и у тебя сразу в ноблях барон, а то и граф. И, соответственно, требования новые каждый месяц. А у тебя даже спальня не выкопана :)
Название: Re: DFHack и Easy Embark в DFusion
Отправлено: Kaide от 22 Января 2014, 11:51:58
И в чем проблема?
Ты получил 15 Dwarf'ов для потех и легендарных подвигов! Дерзай!
... Можно хоть 100 "голов"! Но учти, жрут и пьют эти "головы" ооччченньь много, так что не забудь про запас соответственно.

Проблемы нет. Ранее я написал что нашел работающий способ. Я делюсь радостью=)




Эт фигня. Высади сотню и у тебя сразу в ноблях барон, а то и граф. И, соответственно, требования новые каждый месяц. А у тебя даже спальня не выкопана :)
Сделано мной было так: высадил 50 дварфов без еды, без материалов, без всего окромя кирок, топоров, арбалетов, болтов. Высадка производилась на проклятой местности на леднике при температуре -400.  Дескать сбежавшие из последнего, уничтоженного чем-то немыслимым города, пытающиеся скрыться от преследующего их ужаса.