Автор Тема: DFHack и Easy Embark в DFusion  (Прочитано 5636 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tanatos

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
DFHack и Easy Embark в DFusion
« : 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

Прошу помощи у уважаемых Гуру.
Заранее благодарю откликнувшихся!

Оффлайн Tanatos

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #1 : 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 к остальным плагинам и включить его пока не удалось - краш.

Может всетаки есть рецепт запуска плагина попроще, чем копаться в коде?

Оффлайн Tanatos

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #2 : 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 скриптами :)

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #3 : 08 Ноября 2013, 06:48:57 »
Походу порезали его в dfhack r3, либо начали переписывать плагин, и не довели до конца.
В архиве dfhack r2 есть отдельная папка dfusion, прямо в корне, а в r3 её нет.

Оффлайн Kaide

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #4 : 10 Января 2014, 01:05:44 »
Доброго времени суток. Прошу помощи:
1. нашел в symbols.xml два значения для "start_dwarf_count": 0x8a07057 и 0xa0e490
2. запустил ДФ, остановился в главном меню, запустил ArtMoney, выбрал процесс "Dwarf Fortress.exe"
3. вызвал окно редактора памяти, выбрал "перемещение на адрес", вбил значение (одно, опосля и второе попробовал)
4. в левом верхнем углу или 00, или XX
Попробовал сменить на 7, 07, случайное число - эффекта не заметил.
В чем беда?

Оффлайн garman

  • Пользователь
  • **
  • Сообщений: 50
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #5 : 10 Января 2014, 13:06:44 »
Перед высадкой на карте (embark) , с помощью DFhack, набери команду startdwarf 10 (число любое какое хочешь) и будет тебе счастья!)
Far over the Misty Mountains cold
To dungeons deep and caverns old
We must away,’ere break of day.
To find our long forgotten gold.
The pines were roaring on the height,
The winds were moaning in the night.
The fire was red, it flaming spread;
The trees like torches blazed with light

Оффлайн maksyutar

  • Ветеран
  • *****
  • Сообщений: 599
  • Анша Абдуль, братья
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #6 : 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

Прошу помощи у уважаемых Гуру.
Заранее благодарю откликнувшихся!
Ты откуда скачал?

Оффлайн Kaide

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #7 : 10 Января 2014, 16:45:40 »
Понимаю что вопрос был адресован не мне, но я наблюдал в своем DFHack тоже самое. Брал у Мефа - http://dffd.wimbli.com/file.php?id=5315

Оффлайн Kaide

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #8 : 10 Января 2014, 20:31:38 »
Нашелся работающий способ:
dfhak - fusion
Спасибо за совет, но команда не работает...

startdwarf N на карте

startdwarf 15 в дфхаке (в игре экран выбора места высадки) дало мне 15 дварфов для распределения скилов

Оффлайн garman

  • Пользователь
  • **
  • Сообщений: 50
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #9 : 13 Января 2014, 20:01:14 »
Нашелся работающий способ:
dfhak - fusion
Спасибо за совет, но команда не работает...

startdwarf N на карте

startdwarf 15 в дфхаке (в игре экран выбора места высадки) дало мне 15 дварфов для распределения скилов
И в чем проблема?
Ты получил 15 Dwarf'ов для потех и легендарных подвигов! Дерзай!
... Можно хоть 100 "голов"! Но учти, жрут и пьют эти "головы" ооччченньь много, так что не забудь про запас соответственно. 
Far over the Misty Mountains cold
To dungeons deep and caverns old
We must away,’ere break of day.
To find our long forgotten gold.
The pines were roaring on the height,
The winds were moaning in the night.
The fire was red, it flaming spread;
The trees like torches blazed with light

Оффлайн AnotherBoris

  • Ветеран
  • *****
  • Сообщений: 1218
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #10 : 14 Января 2014, 14:55:01 »
И в чем проблема?
Ты получил 15 Dwarf'ов для потех и легендарных подвигов! Дерзай!
... Можно хоть 100 "голов"! Но учти, жрут и пьют эти "головы" ооччченньь много, так что не забудь про запас соответственно.

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

Оффлайн Kaide

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: DFHack и Easy Embark в DFusion
« Ответ #11 : 22 Января 2014, 11:51:58 »
И в чем проблема?
Ты получил 15 Dwarf'ов для потех и легендарных подвигов! Дерзай!
... Можно хоть 100 "голов"! Но учти, жрут и пьют эти "головы" ооччченньь много, так что не забудь про запас соответственно.

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




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