Автор Тема: DfHack Workflow + Job (автоматизация производства)  (Прочитано 25938 раз)

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

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Переделал гайд под новые реалии (дфхак добавил менюшки в дф)

Основное применение плагина workflow
Автоматическое производство той или иной вещи - плагин подсчитывает кол-во  вещей в крепости, и при необходимости включает работу по их производству.
Позволяет указать качество вещи (да-да, можно заказать 10 мастерворк брони и не следить вручную за кузнецом)
Пример - поддерживать кол-во выпивки на уровне 150-200 единиц
Внимание! Плагин после включения не даст вам удалять повторные работы, для удаления таких работ надо снять повтор и потом удалить.


Основное применение плагина job
Изменение ресурсов, которые будут использованы в той или иной работе.
Примеры - можно назначить тип растения для производства выпивки, ингредиенты для приготовления еды, материал для пошива одежды итп

Терминология
Во избежание непоняток, термины, которые использую в описании:
Меню мастерской – по кнопке q выбрана мастерская и справа светится список работ.
Работа – одно из заданий, которое светится в мастерской.
Повторная работа – поставленная на повтор (с буквой R)
Отключенная работа – неактивная, с буквой S
Производство – одна из задач производства некоей вещи внутри плагина Workflow
Материал и тип работы – имеются в виду материал и тип основного реагента (например, в работе по производству блоков, где плагином job настроили входящий материал гранит, автоматом на выходе будут получаться только гранитные блоки)

Вгимание!
Рекомендуется включить в дфхак хоткеи для этих плагинов, без этого не сможете войти во те меню, которые дфхак добавил внутри дф.
Надо найти в папке дф файл dfhack.init-example, скопировать его в dfhack.init, и удалить те строки, которые вам не нравятся или не нужны (в нем есть хоткеи и фиксы, в общем полезные).
Необходимо оставить строчки - # workshop job details
keybinding add Alt-A@dwarfmode/QueryBuilding/Some/Workshop/Job gui/workshop-job

# workflow front-end
keybinding add Alt-W@dwarfmode/QueryBuilding/Some/Workshop/Job gui/workflow
keybinding add Alt-W@overallstatus "gui/workflow status"


Плагин Job подробно
Спойлер
Редактирует ресурсы, которые ожидаются на входе той или иной работы.
Можно задать тип предмета (например, в кухне ингредиент – яйца, мясо, итп) и материал (на входе материал – rope reed нитки, в итоге будут шиться носки только из этой ткани)
Некоторые вещи глючат (например, я не смог в приготовлении еды заставить использовать вино)

Использование
0. По кнопке q навестись на мастерскую, выбрать нужную вам работу и дальше два варианта (через меню или через комстроку) -
1. через меню - нажать Alt+A, по кнопке i задается тип ресурса на входе, по кнопке m – материал этого ресурса. При выборе типа и материала можно искать фильтром.
2. через комстроку есть команды:
2.а. job – без параметров показывает свойства работы. Показывает все ингредиенты с их ограничениями, где написано None там нет ограничения – подходит всё. Флаги поменять нельзя, они зашиты в реакцию (например в приготовлении еды у первого ингредиента светится SOLID – не может быть жидкостью)
2.б. job item-material <номер> <материал> - задает для такого-то по счету ингредиента требуемый материал. Иногда наобходимо задать под-материал (в примере 3 ниже)
2.в. job item-type <номер> <тип> - аналогично, но задает тип вещи (и опционально - подтип через :, например SHOES:ITEM_SHOES_SOCKS)

Примеры команд
Производство определенного бухла -
job item-material 1 MUSHROOM_HELMET_PLUMP – данная работа Brew Drink будет производить только вино из плампов
job item-type 1 MEAT поменяет работу в кухне, чтобы первым ингредиентом обязательно было мясо. Кончится мясо – работа встанет.
job item-material 1 PLANT:REED_ROPE:THREAD – будет шить вещь только из Rope Reed. Тут задается ещё подтип материала – нитки из rope reed, если задать без этого то не сработает.
[свернуть]

Плагин Workflow подробно
Спойлер
Общая логика
1. В плагин вносятся задачи по производству того или иного предмета, опционально можно задать подтип и материал.
2. Плагин сканирует список работ в крепости, выбирает те, которые производят данный предмет.
3. Дальще по необходимости плагин сам включает/отключает эти работы, поддерживая заданное кол-во продукции в крепости.

Работы в мастерских вы создаете сами вручную, их плагин не делает. Обязательные требования к работам, чтобы плагин их подхватил:
1. Работа должна быть повторной
2. Тип и материал производства в плагине должен точно совпадать с работой или включать их в себя (как множество).
Например: работа производит каменные блоки, в ней прописан материал гранит (плагином job), в Workflow у нас есть производство просто блоков, без материала. Это работает, поскольку множество "гранитные блоки" входит в множество "просто все блоки".
И наоборот – работа без указания материала, просто блоки, а в производстве задан материал – гранитные. Тут плагин будет ругаться “не найдена подходящая работа”, нужно либо в работе прописать материал гранит, либо в производстве убрать материал


Использование
При первом использовании хоткея Alt+W плагин включается (выдаст окошко в дф), иначе в комстроке надо набрать команду workflow enable. После этого в игре он включен, если доживете до сохранения то не нужно при загрузке включать его.

Просмотр списка производств – два варианта как это сделать, через меню и комстроку:
1. кнопками Alt+W в основном виде крепости (вне всех меню). Относительно наглядные табличка и цифры.
2. командой workflow без параметров в комстроке дфхака. Выводит чуть более подробный список, показывает также список привязанных к производствам работ и их статус (включена работа или нет).

Добавление нового производства – три варианта:
1. самый удобный и быстрый вариант - войти в меню мастерской, выбрать нужную работу, и нажать Alt+W. Плагин покажет (если уже есть) производство, к которому привязана эта работа, кол-во вещей, и справа снизу будет список хоткеев - создание, удаление, изменение количеств итп.
2. войти в глобальный список производств (через Alt+W в основном виде вне всех меню), там создать новое (хоткеи написаны снизу экрана) и задать ему все параметры (не рекомендуется, поскольку муторно, но зато можно вручную задать все параметры)
3. в комстроке командой workflow <amount/count> <вещь> <кол-во> <разница>
Спойлер
параметры такие:
amount или count – что считать, кол-во стэков или единиц вещей
вещь – нужно точно указать тип (по желанию и подтип через ":"), той вещи, которую хотите производить.
Кодировка вещи:
Спойлер
Общее обозначение вещи состоит из 4-х компонент, записывается в комстроке как <тип вещи>/<тип материала>/<точный материал>/<качество>
Параметры можно пропускать, в этом случае просто ничего не пишете между //
Тип вещи может быть с указанием подтипа (см. примеры с кувшинами или одеждой)
Тип материала - это "общий", вроде CLOTH, LEATHER, WOOD
Точный материал - это с указанием конкретного растения/камня/итп, вроде REED_ROPE, если требуются после него через : пишется подтип материала - к примеру REED_ROPE:THREAD (не сырое растение, а нитки сделанные из rope reed)
Качество - думаю что означает "такое или выше" качество предметов (сам с ним не работал ещё)
Если несколько непонятно как описать ту или иную вещь, можно сделать так: навестись в дф на нужный предмет, и в дфхаке запустить команду changeitem info, она покажет все параметры вещи.
Если в конце обозначение идут пустые /, то их можно не писать (см. в примерах ниже, иногда вообще пишется тип вещи - просто "еда" или "блоки"
[свернуть]
кол-во и разница – задают сколько производить. Кол-во – базовое значение, в + и – от которого отсчитывается разница (например 100 20 дают диапазон 80-120)
[свернуть]
Удаление производства
- в списке производств плагина хоткеем (насколько помню X, написан на экране)
- либо в комстроке - workflow unlimit <вещь>, можно сделать глобально workflow unlimit-all для удаления всех.
Редактирование производства - редактировать можно только количества, для изменения типа вещи и материала можно только удалить и создать заново
- в списке плагина (alt+W) справа сверху хоткеи для изменения выбранного производства
- в меню мастерской на нужной работе нажатием alt+W
- либо в комстроке запустить заново создание точно такой же вещи, с новыми количествами (запустить workflow для списка, скопировать определение вещи, запустить workflow <amount/count> <скопированная вещь> <новые количества>)

Примеры команд
Спойлер
workflow amount DRINK 200 50
workflow amount FOOD 200 50 - производит еду и бухло, поддерживая кол-во 150-250 (поскольку amount, то количество единиц выпивки/еды, а не кол-во их стэков)
workflow count BOX/CLOTH 20 5 - Мешки из ткани, 15-25 штук
workflow count TOOL:ITEM_TOOL_LARGE_POT 20 10 - Кувшины, 10-30 штук
workflow amount AMMO:ITEM_AMMO_BOLTS/BONE 1000 200 - Костяные болты, 800-1200 штук
workflow count SHOES:ITEM_SHOES_SOCKS//REED_ROPE:THREAD 30 10 - будет производить носки из определенного материала (rope reed), поддерживая их кол-во на складе  в пределах 20-40 штук. Для работы пошива носокв мастерской при этом надо обязательно выполнить job item-material 1 PLANT:REED_ROPE:THREAD, чтобы вещь в производстве точно совпадала с результатом работы, иначе плагин не увидит эту работу.
workflow count SHOES:ITEM_SHOES_SOCKS///Masterful 30 10 - а тут мы удалили материал, но зато добавили условие что нас интересуют только мастеровские вещи (по факту производить-то будут какие угодно, но плагин все не-мастеровое будет игнорировать)
[свернуть]
[свернуть]

Заметки
Некоторые прошитые в коде реакции невозможно автоматизировать никакими методами. К примеру – покраску одежки. Саму работу по покраске контролировать плагином нельзя, можно только включить повтор и сделать автопроизводство мешков и краски в мешках, и надеяться что их будет с избытком для того, чтобы работа покраски не встала от недостачи материалов.

Личные наработки
Одежда – мастерская портного должна быть настроена склаывать все на один склад, на этом складе включена опция Take from links only.
Аналогично примеру 5 набиваем мастерскую работами по всем частям одежды, она складывается только на этот склад, кому надо – приходят и берут.
Производство стеклянного оружия для ловушек – строятся 3-4 стеклодувни (не магма), им назначается задание сбора песка и на повтор.
Основная стеклоплавильня на магме, настроены два производства – песок, 50-100 мешков, и зазубренные диски 50-100 штук. Когда все ловушки построены, излишек можно продать


Старый пост под катом, удалять насовсем на всякий случай не буду
Спойлер
Относительно недавно открыл для себя, и с этой опцией стало намного меньше микроменеджмента и ошибок.
Общее назначение - производство и поддержание заданного количества того или иного продукта/вещей.
Поскольку почти полдня потратил чтобы вникнуть в принцип действия, то поделюсь, возможно сэкономит вам немного времени.


Включение плагина -
в dfhack ввести workflow enable
После этого в мастерских все работы с повтором (R) становятся перманентными, их нельзя удалить. Для удаления нужно вначале отключить повтор этой работы (чтобы буквы R не было), и только потом удалить окончательно

Основное применение плагина workflow
Автоматическое производство той или иной вещи - плагин подсчитывает кол-во неиспользуемых вещей, и при необходимости включает работу по их производству
Пример - поддерживать кол-во выпивки на уровне 150-200 единиц

Основное применение плагина job
а. Изменение ресурсов, которые будут использованы в той или иной работе.
Примеры - можно назначить тип растения для производства выпивки, ингредиенты для приготовления еды, материал для пошива одежды итп

Синтаксис workflow
У каждой задачи задаются есть следующие параметры -
1. Тип вещи (+ опционально материал) - к примеру , "носки, из материала - шерсти лламы"
2. Требуемое кол-во (amount или count. amount считает общее кол-во вещей, count - только количество стэков)
3. Разрыв (gap) - некий "буфер" количества, чтобы работа не включалась/отключалась каждый раз когда кто-то сделал глоток выпивки. Требуемое кол-во увеличивается в + и - на эту цифру, и по достижению этих пределов начинается и останавливается производство. К примеру, 500 gap 100 - значит что начинать производить когда станет 400, перестать производить когда будет 600 единиц этой вещи.
4. Работы, которые производят данную вещь - вы их не назначаете, их нужно создать в мастерских (можно не в одной), и поставить на повтор.
Определение вещи в работе должно абсолютно точно совпадать с определением вещи, которое вы пишете в workflow (в пункте 1 выше).
То есть, если у вас работа производит просто носки, без указанного (командой job) материала, а в команде workflow вы укажете материал "шерсть", то эта работа не подойдет под данное производство (в итоге, у вас будут бесконечно шить носки их чего попало, а workflow будет ругаться "не могу произвести шерстяные носки").

a. вывести состояние-список вещей и работ
workflow просто, без параметров, либо workflow list
В списке идет перечень всех заданных производств (CONSTRAINT: вещь, ограничение), строкой ниже - текущее кол-во, и после - список работ, которые производят эту вещь.
Пример произвдства еды (требуется 500, "буфер" - 100, в наличии 471 поэтому еда не производится (в кухне была создана одна работа, её плагин приостановил - suspended)
Constraint FOOD amount 500 (gap 100)
  items: amount 471; 24 stacks available, 6 in use.
  job 3703: PrepareMeal (suspended)
workflow jobs -
выдает список всех найденных в крепости работ (помните - только повторяющихся, с другими плагин не работает)

б. добавить новую вещь в список производства
Во-первых, мы должны точно указать тип вещи, если он не совпадет с тем, что производится то будет пшик.
Надежнее всего сделать следующим образом (ниже, спасибо Arano-kai)
Далее, вводим в dfhack команду workflow [amount/count] [вещь] [кол-во] [буфер]
Если нужно в будущем поменять - то необходимо будет абсолютно точно вводить обозначение вещи, в этом удобнее пользоваться workflow list-commands и копированием/вставкой
Самый простой пример -
workflow amount DRINK 200 50   - поддерживать количества бухла на 150-250 единиц (200+50 = 250 - макс, 200-50 = 150 - минимум).
Когда бухла станет < 150 - автоматом включатся (Enable) все работы в пивоварнях, которые производят бухло. Если таких работ нет - то плагин будет ругаться "не могу произвести DRINK"
Когда бухла станет > 250 - работа будет приостановлена (S)

в. удаление производства
workflow unlimit [вещь] - удалить одну вещь. Должно в точности совпасть определение вещи с тем что было указано ранее при создании
workflow unlimit-all - очистить весь список

г. создание скриптов workflow
Во-первых, напоминание - очень громадные скрипты "на все случаи жизни" изначально вредны. Для того чтобы другому человеку стал полезен ваш скрипт, необходимо чтобы у него был примерно тот же уровень населения, примерно те же ресурсы, те же запросы и нужды. Если я люблю производить много муки - то другому она может быть совершенно не нужна и только занимать мешки.
Имо, наиболее вероятное применение - выгрузка своих удачных наработок и загрузка отдельных строчек в другой игре (через копирование/вставку).
workflow list-commands - выдает на экран список команд, которые задают текущий список производств. Можно выделить как текст и сохранить.
script [имя файла] - загрузить в дфхак и выполнить все команды из этого файла.

д. использование job
1. Подсвечиваем курсором какую-то работу в мастерской
2. Переключаемся в дфхак, набираем job. Получаем список "ингредиентов", которые используются на входе этой работы.
Input Item 1: тип вещи
material: материал, обычно в начальных работах он none - то есть используется все подходящее
flags: тут могут быть ограничения на вещь, например для алкоголя требуется distillable, для еды требуется solid итп. Этот параметр мы не меняем
3. меняем материал, из которого будет производиться вещь -
job item-material [номер игредиента] [материал]
Обозначение материала мы берем аналогично как выше брали обозначение вещи - к примеру, наводим на кусок ткани из rope reed, выполняем changeitem info, получаем material: PLANT:REED_ROPE:THREAD, это и вводим как обозначение - мы получим что эта работу будет производить вещи только из rope reed.
4. в некоторых случаях (выпивка) потребуется вдобавок к материалу однозначно задать тип вещи, об этом предупредит плагин при вводе item-material
делается аналогично материалу, командой job item-type [тип вещи]

Примеры
Сложный пример использования материала -
workflow count SHOES:ITEM_SHOES_SOCKS//REED_ROPE:THREAD 30 10
Производить столько носков, чтобы минимум 20 из них лежали на складе. Материал - ткань Rope Reed
Для того чтобы данное производство работало необходимо пользоваться командой job item-material 1 PLANT:REED_ROPE:THREAD - назначить работе по пошиву носок определенный материал. Без этого первая команда не найдет работу, производящую именно такие носки.
Старые выброшенные носки нужно продавать или уничтожать, когда общее количество носков упадет ниже 20, они начнут производиться
[свернуть]
« Последнее редактирование: 13 Февраля 2014, 14:01:21 от Andys »

Оффлайн Пещерный человек

  • Ветеран
  • *****
  • Сообщений: 1435
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #1 : 28 Октября 2012, 10:34:01 »
А если я хочу отменить одну из автоматизированных работ, которые мне более не нужны, что нужно прописать?

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #2 : 28 Октября 2012, 12:36:56 »
А если я хочу отменить одну из автоматизированных работ, которые мне более не нужны, что нужно прописать?
Workflow unlimit насколько помню
И саму работу удалить - вначале отключить повтор потом удалить

FearOfTheLight

  • Гость
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #3 : 28 Октября 2012, 20:22:06 »
r-c? (repeat - cancel)

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #4 : 29 Октября 2012, 12:10:10 »
r-c? (repeat - cancel)
Ага. Пока включен R, workflow не даст удалить работу, он её тут же восстанавливает в SR статусе.
Так что вначале снять повтор, потом убить.
После этого можно unlimit в самом workflow не отключать, сам он удаленную работу не создаст, но будет ругаться в логах типа "невозможно произвести хххххх". Если такие сообщения не мешают, то можно оставить.

Также, командой workflow list-commands можно создать дамп команд, которые формируют текущую настройку. Можно его сохранить в текстовик и позже подгружать.
Или сделать несколько текстовиков, чтобы не запоминать длинные команды и параметры.
Тут только надо помнить - что если в начале текстовика поставить workflow clear-all, то он очистит всё предыдущее. Это обычно используется только в больших глобальных списках

Оффлайн Пещерный человек

  • Ветеран
  • *****
  • Сообщений: 1435
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #5 : 29 Октября 2012, 17:06:31 »
Есть предложение к шарящим в этом деле лучше, написать свои "текстовики" и поделиться с народом. Что скажете?

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #6 : 29 Октября 2012, 20:25:41 »
Есть предложение к шарящим в этом деле лучше, написать свои "текстовики" и поделиться с народом. Что скажете?
На самом деле,  по моему так просто не выйдет. Потому что у каждого свои материалы и цели, например я очень люблю заказывать производство разного бухла, по 500 каждого, а другому достаточно 5000 в сумме. И половину настроек надо делать вручную через job.
Можно как мини-вики сделать с небольшими примерами, кусочками текстов и советами. или на дфвики в обсуждении дфхака.

Оффлайн Hibou

  • Пользователь
  • **
  • Сообщений: 90
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #7 : 29 Ноября 2012, 16:50:56 »
 а как сохранять набор команд в текстовый файл и как потом запускать эти пакетники?

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #8 : 29 Ноября 2012, 20:28:51 »
а как сохранять набор команд в текстовый файл и как потом запускать эти пакетники?
workflow list-commands - он тебе выдаст в окне список. Там можно выделить и скопировать (по моему, в разных версиях винды по своему, но всегда в меню окна)
Дальше сохраняешь в текстовый файл в папке ДФ и в окне дфхак набираешь script <имяфайла>
Надо ещё помнить, что текстовые команды ничем не отличаются от набранных на клавиатуре, и если в файле нет первой строчкой workflow unlimit-all, то все команды добавятся (или перезапишут если совпадают вещи)

Обычно в моей практике удобней оказывались не текстовые файлы, а вордовский док со списком команд на все случаи жизни, как справочник - какие команды я делал для какого результата.
Главное знать что набирать, а большой список команд не всегда полезен, его не сделаешь на все случаи жизни. В одной игре начальная крепость, там не нужно следить за производством одежды, в прошлой игре нужно, требуемое количество еды отличается итд итп..


Для других, чтобы не искать в инете, кодировки вещей с которыми у меня были затыки:
Производство кувшинов - workflow count TOOL:ITEM_TOOL_LARGE_POT 20 10
Производство сумок из ткани - workflow count BOX/CLOTH 20 5
Производство болтов из кости - workflow amount AMMO:ITEM_AMMO_BOLTS/BONE 1000 200
Производство конкретной одежды - workflow count PANTS:ITEM_PANTS_PANTS//REED_ROPE:THREAD 10 5    (требуется ещё до этого на работе сделать принудительную смену материала на ROPE_REED:THREAD)

Не получалось сделать -
- переработка определенного количества REED_ROPE в нитки. Не удалось найти нужную комбинацию вещи/материала
- в команде job - приготовление пищи из бухла. Возможно, в последней версии вообще нельзя использовать бухло на кухне?
« Последнее редактирование: 29 Ноября 2012, 20:39:39 от Andys »

Оффлайн Hibou

  • Пользователь
  • **
  • Сообщений: 90
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #9 : 30 Ноября 2012, 07:44:09 »
давно с командной строкой не работал :) забыл как там копировать:
http://colorpilot.ru/command_line.html

еще пара вопросов:
почему в основном ты используешь count? я так понял, что count считает стеками, а amount поштучно.
где ищешь кодировки вещей?

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #10 : 30 Ноября 2012, 11:35:21 »
где ищешь кодировки вещей?
Изначально я искал путем тыка -
1. сделал в мастерской работу по производству, скажем штанов
2. через команду job назначил материал - REED_ROPE:THREAD
3. и потом пробовал в workflow набить такую идентификацию предмета, чтобы она "увидела" эту созданную работу как производящую этот предмет.

И уже научный метод - для вещей по моим прикидкам такая схема:
1. Ищем нужную вещь в равках (скажем, кувшины находятся в item_tool.txt). Строчка с их обозначением - [ITEM_TOOL:ITEM_TOOL_LARGE_POT]
2. Пишем тип без префикса ITEM_    =>  TOOL
3. Пишем подтип - как есть => ITEM_TOOL_LARGE_POT
Получаем TOOL:ITEM_TOOL_LARGE_POT
После него можно через / или // добавить материал, по моему тут достаточно скопировать тот материал что был введен в job item-material
/ от // отличается по моему тем, что после / ты задаешь "глобальный" тип материала - CLOTH, SAND, BONE, а после // задается конкретный тип - название камня, растения как в моих примерах со штанами итп

И главное - если сработало, то сохрани себе с комментарием куда-нибудь в текстовик, для последующих игр!

Те вещи, которых нет в равках, я не знаю как находить, кроме как на форумах. К примеру, хрен с нуля догадаешься, что сумки это BOX/CLOTH а механизмы - TRAPPARTS...
Мука и прочее - кодировка POWDER_MISC/

По моим экспериментам и чтению форумов, в workflow нельзя задать спецфлаги вещей, к примеру "производить энное кол-во покрашенной ткани".
Соответственно работу по покраске придется контролировать всегда вручную.
« Последнее редактирование: 30 Ноября 2012, 11:40:38 от Andys »

Оффлайн Arano-kai

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #11 : 03 Декабря 2012, 00:45:29 »
Квантовый метод:
  • Произвести требуемый предмет
  • Навестись на него указателем ([k], или если в здании [t])
  • В консоли DFHack набрать: changeitem info
  • Читаем параметры1
  • Используем type и material в своих дварфийских целях2
  • ...
  • PROFIT!!!
Пример
1 Результат команды changeitem info:
Item info:
    type:      THREAD
    subtype:   NONE
    quality:   Basic
    material:  PLANT:GRASS_TAIL_PIG:THREAD
2 Нагло пользуемся ;)
(в Farmer's Workshop ставим на повтор ProcessPlants, подсвечиваем задание и в консоли пишем)
job item-material 1 PLANT:GRASS_TAIL_PIG
(назначаем автовозобновление)
workflow count THREAD//PLANT:GRASS_TAIL_PIG:THREAD 8
                ^             ^                 ^
               type        material          сколько производить
[свернуть]
Andys, FearOfTheLight, Hibou, Arkady, IGenI

Оффлайн Andys

  • Ветеран
  • *****
  • Сообщений: 1220
  • Maidophile
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #12 : 28 Декабря 2012, 09:38:44 »
Нечаянно набрел на вот такой плагин к дфхаку (заменяет собой workflow dll, типа адвансед версия).
Скрины в теме, работает только в точно такой версии дфхак (34.11 р2)
http://www.bay12forums.com/smf/index.php?topic=118872.0

Возможности которые мне понравились -
1. Внутри дф есть таблица-список всех заданий, очень наглядно (из меню мастерской - m)
2. Прямо из мастерской добавить какое-то производство в список.
3. Посмотреть график по времени
4. Не уверен, что за функция tracking. По ощущениям, можно самому выбрать работы, за которыми следит workflow
tracking - это так назвали само добавление производства в workflow, если отключить то удалится производство
5. В форме меню выбрать тип и материал вещи, не нужно писать много текста в дфхаке

Пока не уверен, есть ли какие-то глюки, только сегодня поставил его.

// из глюков - я заметил что иногда плагин не сразу подхватывает материал работы - к примеру:
- сделал я работу в пивоварне
- назначил ей job item-material MUSHROOM_HELMET_PLUMP
- на всякий случай вышел из её меню, снова вошел
- навел на эту работу, нажал t
     плагин добавил её, показал лимиты производства.
- вошел по кнопке m в список
     там стоит пустой материал, просто DRINK и все.
- вышел из списка, отключил и снова включил слежение (t)
- снова вошел по кнопке  m в список
     уже стоит dwarven wine, материал применился.
« Последнее редактирование: 28 Декабря 2012, 14:43:08 от Andys »

Оффлайн Пещерный человек

  • Ветеран
  • *****
  • Сообщений: 1435
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #13 : 28 Декабря 2012, 14:10:26 »
Вот это я понимаю! Похоже дельная вещь.

Оффлайн Arkady

  • Постоялец
  • ***
  • Сообщений: 102
    • Просмотр профиля
Re: DfHack Workflow + Job (автоматизация производства)
« Ответ #14 : 07 Января 2013, 12:37:51 »
Как узнать, что за имя для предмета/материала надо вбивать в команду job, чтобы она заработала?
Поясню. Вот есть у меня задача - пилить блоки. И я хочу, чтобы блоки пилились из gneiss.

Выясняю, что это:
[DFHack]# changeitem info
Item info:
  type:    BOULDER
  subtype: NONE
  quality: Basic
  material: INORGANIC:GNEISS

И начинаю пробовать:
job item-type BOULDER/INORGANIC:GNEISS 1
job item-type BOULDER_INORGANIC_GNEISS 1
job item-type BOULDER_INORGANIC:GNEISS 1
job item-type BOULDER_GNEISS 1
и т.п. (перебирал практически всевозможные варианты).

Что же такое волшебное надо туда вставить, и как надо было угадать?

Не работает даже так:
job item-type BOULDER 1
job item-type STONE 1

:))