Утилита:DFHack: различия между версиями

Материал из Dwarf Fortress Wiki
Перейти к навигацииПерейти к поиску
Строка 25: Строка 25:
Параметр '''<сочетание_клавиш>''' имеет следующий, чувствительный к регистру символов, синтаксис:<br /><br />
Параметр '''<сочетание_клавиш>''' имеет следующий, чувствительный к регистру символов, синтаксис:<br /><br />
'''[Ctrl-][Alt-][Shift-]KEY[@context]'''<br /><br />
'''[Ctrl-][Alt-][Shift-]KEY[@context]'''<br /><br />
где KEY - клавиша {{k|F1}} - {{k|F9}} или {{k|A}} - {{k|Z}}, а в скобках [] заключены необязательные параметры (используются без скобок).<br /><br />
где KEY - клавиша {{k|F1}} - {{k|F9}} или {{k|A}} - {{k|Z}}, а в скобках [] заключены необязательные параметры (используются без скобок).<br />
 
Когда несколько команд назначены для одного сочетания клавиш DFHack выбирает первую команду, которую можно выполнить в данной ситуации. Команды, добавленные позднее, имеют приоритет над теми, что добавлены ранее. Если несколько команд перечислено в команде keybinding add приоритет будет отдан порядку команд. <br />
Команды, которые не предназначены напрямую для использования в сочетаниях клавиш будут всегда считаться выполнимыми.<br />
 
The context part in the key specifier above can be used to explicitly restrict the UI state where the binding would be applicable. If called without parameters, the keybinding command among other things prints the current context string. Only bindings with a context tag that either matches the current context fully, or is a prefix ending at a '/' boundary would be considered for execution, i.e. for context foo/bar/baz, possible matches are any of @foo/bar/baz, @foo/bar, @foo or none.<br /><br />
Пример: <br />
Пример: <br />
'''keybinding add Ctrl-V digv''' - добавление сочетания клавиш {{k|Ctrl}} - {{k|V}} для команды digv.
'''keybinding add Ctrl-V digv''' - добавление сочетания клавиш {{k|Ctrl}} - {{k|V}} для команды digv.

Версия от 19:45, 27 августа 2013

Данная статья помечена как не оконченная.
Вы можете прочитать эту статью на английском или помочь проекту её переводом.

DFhack — библиотека доступа к памяти и набор основных утилит, использующих данную библиотеку. Библиотека и утилиты находятся в активной разработке, выпускаются новые релизы и создаются новые утилиты. Существует большое количество сторонних программ использующих данную библиотеку для совершенно разных задач: визуализация, манипуляции с существами, сбор статистики и т.п.

Использование

DFHack расширяет функционал Dwarf Fortress как выпадающая консоль расширяет его в играх на движке Quake.
Простейший способ использования DFHack - ввод команд в консоль.
Команда help выведет на экран небольшую справку. ls - список всех доступных команд.
У многих команд есть собственная справка или детальное описание, которое можно посмотреть, введя <Имя_команды> help или <Имя_команды> ?
Командная строка имеет несколько удобных фич, например, историю введенных команд (используйте стрелки вверх и вниз).

Еще один способ - назначение команд в качестве внутриигровых горячих клавиш. Это можно сделать двумя способами:
Старым способом это делается через меню Hot Keys. Там, с помощью пункта Change name нужно ввести команду в качестве имени соответствующей горячей клавиши.
Новый, более гибкий способ - назначение горячей клавиши через консоль DFHack. К сожалению, созданные таким образом горячие клавиши не запоминаются автоматически между запусками игры, поэтому необходимо использовать файл dfhack.init, чтобы быть уверенным, что эти сочетания будут воссоздаваться при каждом запуске игры.
Интерактивные команды, такие как liquids нельзя назначать в качестве сочетания клавиш.

DFHack.init

Если в вашей директории с DF лежит файл dfhack.init, то его содержимое будет использоваться при каждом запуске игры. Файл содержит список горячих клавиш, которые нужно пересоздавать при каждом запуске. В качестве примера вы можете использовать файл dfhack.init-example, исправив его под свои нужды и переименовав в dfhack.init.

Назначение горячих клавиш

Для назначения горячих клавиш используйте команду keybinding. Ее можно использовать как в консоли, так и в файле DFHack.init. На текущий момент поддерживаются любые сочетания клавиш Ctrl / Alt / Shift клавишами F1 - F9 или A - Z.
Способы вызова команды:

  • keybinding list <сочетание_клавиш>:

Показывает команды, назначенные для этого сочетания клавиш.

  • keybinding clear <сочетание_клавиш> <сочетание_клавиш>... - удаляет команды, привязанные к этим клавишам.
  • keybinding add <сочетание_клавиш> "команда" "команда"... - назначает сочетание клавиш для этого сочетания клавиш
  • keybinding set <сочетание_клавиш> "команда" "команда"... - удаляет команды, привязанные к сочетанию клавиш, а затем назначает новые.

Параметр <сочетание_клавиш> имеет следующий, чувствительный к регистру символов, синтаксис:

[Ctrl-][Alt-][Shift-]KEY[@context]

где KEY - клавиша F1 - F9 или A - Z, а в скобках [] заключены необязательные параметры (используются без скобок).

Когда несколько команд назначены для одного сочетания клавиш DFHack выбирает первую команду, которую можно выполнить в данной ситуации. Команды, добавленные позднее, имеют приоритет над теми, что добавлены ранее. Если несколько команд перечислено в команде keybinding add приоритет будет отдан порядку команд.
Команды, которые не предназначены напрямую для использования в сочетаниях клавиш будут всегда считаться выполнимыми.

The context part in the key specifier above can be used to explicitly restrict the UI state where the binding would be applicable. If called without parameters, the keybinding command among other things prints the current context string. Only bindings with a context tag that either matches the current context fully, or is a prefix ending at a '/' boundary would be considered for execution, i.e. for context foo/bar/baz, possible matches are any of @foo/bar/baz, @foo/bar, @foo or none.

Пример:
keybinding add Ctrl-V digv - добавление сочетания клавиш Ctrl - V для команды digv.

fastdwarf

Данная команда включает в себя два режима: speedydwarf и teledwarf. Speedydwarf заставляет дварфов двигаться и делать работу невероятно быстро. Teledwarf позволяет дварфам двигаться мгновенно, не оказывая влияния на скорость работы.

  • fastdwarf 0 0 — выключает оба режима
  • fastdwarf 0 1 — выключает speedydwarf и включает teledwarf
  • fastdwarf 1 0 — включает speedydwarf и выключает teledwarf
  • fastdwarf 1 1 — включает оба
  • fastdwarf 0 — выключает оба режима
  • fastdwarf 1 — включает speedydwarf и выключает teledwarf
  • fastdwarf 2 — ставит нативный дебаг-флаг в памяти игры, что добавляет агрессивности режиму speedydwarf

Autobutcher

Autobutcher (автомясник) назначает на убой скот, когда его количество превышает определенное число (по умолчанию — 1 мужской, 5 женских детей; 1 мужской, 5 женских взрослых). Только tame (прирученные) животные будут назначаться. Именованные, боевые, охотничьи животные не будут назначаться.

  • autobutcher start — запустить скрипт
  • autobutcher stop — остановить скрипт
  • autobutcher sleep X — количество фреймов между запусками скрипта
  • autobutcher watch R — наблюдать за расой, R — id расы из равов (ALPACA, BIRD_TURKEY, RAT_GIANT, etc) или all
  • autobutcher unwatch R — прекратить наблюдать за расой R
  • autobutcher forget R — прекратить наблюдать и обнулить настройки для расы
  • autobutcher autowatch — включить автоматическое добавление новых рас
  • autobutcher noautowatch — выключить автоматическое добавление новых рас
  • autobutcher list — статус и список наблюдаемых рас
  • autobutcher list_export — сохранить в файл, который можно использовать, чтоб копировать настройки autobutcher в другой сейв.

Последовательность операций для копирования сейва: 1 — запустить сейв с нужными настройками; 2 — Зайти в папку с ДФ проводником или другим файловым менеджером; 3 — набрать в командной строке "dfhack-run autobutcher list_export > autobutcher.bat"; 4 — Закрыть текущий сейв, открыть новый, куда настройки копировать планируется; 5 — запустить autobutcher.bat.

  • autobutcher target fk mk fa ma R — установить допустимое количество особей для расы, где fk — дети женского пола, mk — дети мужского пола, fa — взрослые женского пола, ma — взрослые мужского пола, R — id расы (можно использовать также значения all — настройки для всех, и new — для будущих добавлений.