<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://dfwk.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moshka</id>
	<title>Dwarf Fortress Wiki - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://dfwk.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moshka"/>
	<link rel="alternate" type="text/html" href="https://dfwk.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Moshka"/>
	<updated>2026-08-26T18:01:01Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://dfwk.ru/index.php?title=Windmill&amp;diff=53907</id>
		<title>Windmill</title>
		<link rel="alternate" type="text/html" href="https://dfwk.ru/index.php?title=Windmill&amp;diff=53907"/>
		<updated>2016-01-03T21:19:28Z</updated>

		<summary type="html">&lt;p&gt;Moshka: Поправил ссылку на обзорную статью по механизации&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Machine_component|name=Windmill|key=m&lt;br /&gt;
|construction=&lt;br /&gt;
* 4 [[Wood|Бревна]]&lt;br /&gt;
|construction_job=&lt;br /&gt;
# [[Architecture|Архитектор]]&lt;br /&gt;
# [[Carpentry|Столяр]]&lt;br /&gt;
|power=Генерирует 40, 20 или 0 мощности, зависит от силы ветра&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ветряк&#039;&#039;&#039; (&#039;&#039;&#039;windmill&#039;&#039;&#039;) — это [[Machine_component|механизм]], который производит энергию ([[power]]) из ветра, дующего [[outside|на поверхности карты]]. Количество энергии от каждого ветряка зависит от места расположения вашей крепости. Для передачи энергии до места можно использовать валы ([[axle]]) и шестерни ([[gear assembly]]).&lt;br /&gt;
&lt;br /&gt;
Из-за бага можно передать энергию сквозь породу, для этого ветряк надо построить до потребителя.&lt;br /&gt;
&lt;br /&gt;
Как и другие механизмы, ветряк замерзает, если стоит на льду.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Смотри так же обзор по [[Machine component|механизации]] в игре.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Когда это работает ==&lt;br /&gt;
&lt;br /&gt;
Ветряк производит энергию при соблюдении следующих условий:&lt;br /&gt;
# Центральный тайл ветряка находится [[tile attribute|снаружи]].&lt;br /&gt;
# На карте есть ветер.&lt;br /&gt;
#* На некоторых картах ветер сильный (40 единиц на ветряк), на некоторых слабый (20 единиц), а на некоторых ветра нет вообще.&lt;br /&gt;
# Он не присоединен к замерзшим механизмам, таким как насос или водное колесо во льду.&lt;br /&gt;
&lt;br /&gt;
Когда все условия выполнены, ветряк производит энергию, которая из центрального тайла передается вниз.&lt;br /&gt;
&lt;br /&gt;
== Конструкция ==&lt;br /&gt;
&lt;br /&gt;
Чтобы построить ветряк, он должен поддерживаться снизу либо механизмом, который он будет питать, либо стабильным фундаментом. В обоих случаях, стройплощадка должна быть доступна либо непосредственно, либо с близлежащих тайлов.&lt;br /&gt;
&lt;br /&gt;
=== Варианты ===&lt;br /&gt;
&lt;br /&gt;
==== Стандартный ветряк ====&lt;br /&gt;
# Постройте ветряк.&lt;br /&gt;
# Прокопайте коридор под его центральным тайлом на 1 уровень ([[z-level]]) ниже.&lt;br /&gt;
# Разместите там вертикальный вал ([[axle]]), редуктор ([[gear assembly]]) или механизм, который необходимо обеспечить энергией. Пол/потолок между ветряком и механизмами это нормально, если механизм или машина построены после того, как завершен ветряк.&lt;br /&gt;
&lt;br /&gt;
==== Ветряная башня ====&lt;br /&gt;
&lt;br /&gt;
Вариант &amp;quot;ветряная башня&amp;quot; полезен, если нет возможности прокопать коридор под ветряк (например, там уже есть комната или протекает подземная река).&lt;br /&gt;
&lt;br /&gt;
# Постройте платформу 3&amp;amp;times;3 тайла (или восьмитайловое кольцо) из участков пола на один уровень выше поверхности.&lt;br /&gt;
# По желанию, можете оставить в центре дыру (&#039;&#039;open space&#039;&#039;), так как энергия в такой ситуации проходит сквозь пол.&lt;br /&gt;
# Прямо под центральным тайлом будущего ветряка, т.е. на уровне поверхности, постройте редуктор.&lt;br /&gt;
# Постройте на платформе ветряк.&lt;br /&gt;
# Присоедините редуктор к горизонтальным валам и обеспечьте тем самым ваши механизмы энергией.&lt;br /&gt;
# При желании, уберите лишние платформы и/или лестницы.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Движок игры не позволит вам строить ветряк над дырой (&#039;&#039;open space&#039;&#039;) до тех пор, пока под ней не будет размещен редуктор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Единственное на чем держится ветряк в этом варианте — центральный тайл, несмотря на восьмитайловое кольцо фундамента под ним. Если убрать редуктор из-под него, при отсутствии пола в центральном тайле, ветряк немедленно рухнет. Если редуктор просто отсоединить, ветряк рухнет через некоторое время.&lt;br /&gt;
&lt;br /&gt;
==== Зарытый ветряк ====&lt;br /&gt;
&lt;br /&gt;
Вы можете построить ветряк под землей, если его центральный тайл будет &amp;quot;снаружи&amp;quot; (для этого прокопайте канал в крыше над ним).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ветряная ферма ====&lt;br /&gt;
Несколько ветряков могут быть соединены друг с другом с помощью валов и редукторов. Под первым ветряком разместите редуктор. Затем, для каждого ветряка понадобится один редуктор и два горизонтальных вала для соединения со следующим ветряком. Все ветряки производят нормальное количество энергии за вычетом расходов на редукторы и валы, что означает, что при такой схеме теряется некоторое количество энергии.&lt;br /&gt;
&lt;br /&gt;
==== Висячий ветряк ====&lt;br /&gt;
# Постройте здание, которое вы хотите обеспечить энергией и лестницы вверх на расстоянии тайла друг от друга.&lt;br /&gt;
# Постройте лестницы вниз над лестницами вверх.&lt;br /&gt;
# Постройте ветряк прямо над зданием, которому необходима энергия.&lt;br /&gt;
# По желанию, разберите лестницы.&lt;br /&gt;
У этого варианта одна главная слабость: его нельзя использовать для обеспечения энергией редукторов, подключенных к рычагам и/или нажимным пластинам, поскольку, как только рычаг отключит редуктор, ветряк потеряет опору и рухнет.&lt;br /&gt;
&lt;br /&gt;
== Использование энергии ==&lt;br /&gt;
&lt;br /&gt;
Получение энергии от подвешенного ветряка — самый верный способ. Пока он присоединен к механизмам, будь то вертикальный вал, редуктор или насос, эти механизмы будут обеспечены энергией.&lt;br /&gt;
&lt;br /&gt;
Ветряки на постоянном фундаменте гораздо капризнее. Вертикальный вал или редуктор, находящиеся прямо под ветряком, будут обеспечены энергией, но вот остальная цепь может начать шалить; в таких случаях помогает переустановка механизма, расположенного под ветряком.&lt;br /&gt;
&lt;br /&gt;
== Примеры конструкций ==&lt;br /&gt;
&lt;br /&gt;
Смотри [[Machinery#Примеры]].&lt;br /&gt;
&lt;br /&gt;
{{Category|Механизмы}}&lt;br /&gt;
{{Category|Постройки}}&lt;br /&gt;
[[en:Windmill]]&lt;/div&gt;</summary>
		<author><name>Moshka</name></author>
	</entry>
	<entry>
		<id>https://dfwk.ru/index.php?title=Macros_and_Keymaps&amp;diff=53898</id>
		<title>Macros and Keymaps</title>
		<link rel="alternate" type="text/html" href="https://dfwk.ru/index.php?title=Macros_and_Keymaps&amp;diff=53898"/>
		<updated>2015-12-28T15:23:54Z</updated>

		<summary type="html">&lt;p&gt;Moshka: /* Размещение разных предметов по одинаковой сетке */ Добавлен пример макроса.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{elven}}&lt;br /&gt;
&lt;br /&gt;
Dwarf Fortress требует активного использования клавиатуры. Но в распоряжении дварфовода также имеется встроенная система макросов. Благодаря ей или какой-либо внешней программе, Вы можете сэкономить много времени, когда требуется сделать множество указаний, перестроек, выбрасываний и т.д.&lt;br /&gt;
&lt;br /&gt;
== Встроенная система макросов DF ==&lt;br /&gt;
=== Создание макросов ===&lt;br /&gt;
В самом DF управление макросами следующее:&lt;br /&gt;
&lt;br /&gt;
*{{k|Ctrl}}+{{k|r}} = начать/прекратить запись макроса&lt;br /&gt;
*{{k|Ctrl}}+{{k|p}} = воспроизвести макрос&lt;br /&gt;
*{{k|Ctrl}}+{{k|s}} = сохранить макрос&lt;br /&gt;
*{{k|Ctrl}}+{{k|l}} = загрузить макрос&lt;br /&gt;
*{{k|Ctrl}}+{{k|u}} + число = повторить макрос [число] раз&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Чтобы создать макрос нажмите {{k|Ctrl}}+{{k|r}}, для начала записи Ваших действий. Бывает удобно начинать запись, находясь в меню [[Designations|указаний]], когда Вы можете видеть позицию игрового курсора. Когда Вы произвели все необходимые действия и хотите остановить запись, снова нажмите {{k|Ctrl}}+{{k|r}}. Сохраните макрос, нажав {{k|Ctrl}}+{{k|s}} и введя название. Тогда макрос будет добавлен в ваш список макросов. Чтобы загрузить макрос из списка нажмите {{k|Ctrl}}+{{k|l}} и выберите макрос. Воспроизвести выбранный макрос можно нажатием {{k|Ctrl}}+{{k|p}} где бы вы не находились. Так же Вы можете повторить макрос требуемое число раз нажав {{k|Ctrl}}+{{k|u}}, введя двухзначное число (количество повторов) и затем нажав {{k|Ctrl}}+{{k|p}} для запуска макроса. Движение вашей мыши в окне или любое другое действие, в результате которого окно DwarfFortress потеряет фокус,  является &amp;lt;s&amp;gt;раздражающим&amp;lt;/s&amp;gt; хорошим способом для прерывания работы макроса (так же, это единственно известный способ).&lt;br /&gt;
&lt;br /&gt;
Сохранённые макросы находятся в &#039;&#039;&#039;data/init/macros&#039;&#039;&#039; в .mak-файлах. Даже простейший макрос — например, создание пандуса([[Ramp]]) шириной в 3-тайла — может содержать до 50 команд, так как все возможные [[Key_bindings|назначения клавиш]] включаются в макрос и помещаются в его блок ({{k|r}} для создания [[Ramp|пандуса]] используется многими по умолчанию).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pressing_enter_recorded&lt;br /&gt;
		SELECT&lt;br /&gt;
		CLOSE_MEGA_ANNOUNCEMENT&lt;br /&gt;
		WORLD_PARAM_ENTER_VALUE&lt;br /&gt;
		SETUPGAME_SAVE_PROFILE_GO&lt;br /&gt;
		D_BURROWS_DEFINE&lt;br /&gt;
		D_MILITARY_ALERTS_SET&lt;br /&gt;
	End of group&lt;br /&gt;
		CUSTOM_CTRL_R&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для данного примера после записи макроса был нажат {{k|Enter}} после чего запись макроса была остановлена. При использовании этого макроса каждая команда, находящаяся в файле будет вызвана, если это возможно. Если вы находитесь в меню [[Designation|назначений]] данный макрос выполнит лишь команду Выбор (Select), все остальные команды будут проигнорированы. Если же вы находитесь в меню [[Burrow|нор]] он сработает так, как будто бы вы нажали {{k|Enter}} здесь. Макрос всегда заканчивается блоком, содержащим конец (End of macro) его записи. Если Вы изменили назначение клавиш, вы получите другой результат, потому что записываются команды, а не нажатые клавиши.&amp;lt;br /&amp;gt; При создании (или редактировании) макросов рекомендуется использовать только те команды, которые действительно нужны.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ramping_created&lt;br /&gt;
		DESIGNATE_RAMP&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_DOWN_Z&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_LEFT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_LEFT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_UP&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Этот макросы был написан вручную и предназначен для создания [[Ramp|пандуса]] шириной в 3 тайла на один уровень ниже и размещающем курсор для повторного запуска макроса и быстрого создания пандуса ниже. Первая строчка - название файла. Каждое нажатие клавиши &amp;quot;закрывается&amp;quot; группирующим тэгом (End of group). Это необходимо для работы макроса.&amp;lt;br /&amp;gt;&lt;br /&gt;
Неизвестно, можно ли использовать циклы/итерации, а так же другие возможности программирования или комментирования.&amp;lt;br /&amp;gt;&lt;br /&gt;
Редактирование, удаление или добавление макросов при запущенной игре является нелогичным. После редактирования файла макроса вы должны удалить и заново загрузить макрос. Для этого выберите Select Options&amp;gt;KeyBindings&amp;gt;Macros. Удалите макрос и загрузите его используя {{k|Ctrl}}+{{k|l}}.&lt;br /&gt;
&lt;br /&gt;
=== Тонкая настройка макросов ===&lt;br /&gt;
Чем меньше команд содержит макрос, тем быстрее он работает. Это означает, что нужно избегать лишних шагов, оптимизируя &amp;quot;путь&amp;quot; Ваших указаний.&lt;br /&gt;
&lt;br /&gt;
Второй и самый эффективный способ увеличить скорость состоит в том, чтобы удалить все ненужные команды DF из макроса, при помощи текстового редактора. Несмотря на то, что дополнительные команды игнорируются игрой, они отнимают время на обработку. Например для движения курсора вверх/вниз будет записано 3 команды, а для движения налево/направо - 4, большинство остальных клавиш запишут в макрос гораздо больше. Нажатие {{k|d}}, для примера, запишет более 30 команд. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;После редактирования макроса требуется загрузить его заново в игре, смотрите выше&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Для примера ниже представлен код простого макроса, который переходит в меню Назначений, выбирает команду [[Mining|копать]] {{k|d}},{{k|d}}, затем двигается на один квадрат вправо и назначает этот тайл для раскопок.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
example&lt;br /&gt;
		OPTION4&lt;br /&gt;
		CUSTOM_D&lt;br /&gt;
		WORLD_PARAM_DELETE&lt;br /&gt;
		LEGENDS_EXPORT_DETAILED_MAP&lt;br /&gt;
		A_COMBAT_DODGE&lt;br /&gt;
		A_STATUS_DESC&lt;br /&gt;
		A_SLEEP_DAWN&lt;br /&gt;
		A_INV_DROP&lt;br /&gt;
		SETUP_NOTES_DELETE_NOTE&lt;br /&gt;
		BUILDJOB_TARGET_RIGHT&lt;br /&gt;
		BUILDJOB_BED_DORMITORY&lt;br /&gt;
		BUILDJOB_FARM_WINTER&lt;br /&gt;
		BUILDJOB_RACKSTAND_KILL2&lt;br /&gt;
		HOTKEY_BUILDING_DOOR&lt;br /&gt;
		HOTKEY_BUILDING_CONSTRUCTION_STAIR_DOWN&lt;br /&gt;
		HOTKEY_BUILDING_WORKSHOP_DYER&lt;br /&gt;
		BUILDING_ORIENT_RIGHT&lt;br /&gt;
		BUILDING_ADVANCE_STAGE&lt;br /&gt;
		BUILDING_TRIGGER_MAX_SIZE_DOWN&lt;br /&gt;
		BUILDING_TRACK_STOP_DUMP&lt;br /&gt;
		HOTKEY_GLASS_DOOR&lt;br /&gt;
		HOTKEY_CARPENTER_DOOR&lt;br /&gt;
		HOTKEY_MASON_DOOR&lt;br /&gt;
		HOTKEY_TRAP_DOOR&lt;br /&gt;
		BUILDJOB_STOCKPILE_DELETE_CHILD&lt;br /&gt;
		STOCKPILE_ARMOR&lt;br /&gt;
		STOCKPILE_SETTINGS_DISABLE&lt;br /&gt;
		STORES_DUMP&lt;br /&gt;
		ORDERS_DYED_CLOTH&lt;br /&gt;
		ORDERS_ZONE_DRINKING&lt;br /&gt;
		D_DESIGNATE&lt;br /&gt;
		D_HAULING_STOP_LC_DIR&lt;br /&gt;
		D_BURROWS_DELETE&lt;br /&gt;
		D_NOTE_DELETE&lt;br /&gt;
		D_NOTE_ROUTE_DELETE&lt;br /&gt;
		D_BITEM_DUMP&lt;br /&gt;
		D_LOOK_DUMP&lt;br /&gt;
		ARENA_CREATURE_SIDE_UP&lt;br /&gt;
		ASSIGNTRADE_SORT&lt;br /&gt;
		DESIGNATE_DUMP&lt;br /&gt;
		DESIGNATE_DIG&lt;br /&gt;
		ITEM_DUMP&lt;br /&gt;
		D_MILITARY_DISBAND_SQUAD&lt;br /&gt;
		D_MILITARY_ALERTS_DELETE&lt;br /&gt;
		D_MILITARY_AMMUNITION_REMOVE_ITEM&lt;br /&gt;
		D_MILITARY_DELETE_UNIFORM&lt;br /&gt;
		STRING_A100&lt;br /&gt;
	End of group&lt;br /&gt;
		STANDARDSCROLL_RIGHT&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
		WORLD_PARAM_INCREASE&lt;br /&gt;
		A_MOVE_E&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
		CLOSE_MEGA_ANNOUNCEMENT&lt;br /&gt;
		WORLD_PARAM_ENTER_VALUE&lt;br /&gt;
		SETUPGAME_SAVE_PROFILE_GO&lt;br /&gt;
		D_BURROWS_DEFINE&lt;br /&gt;
		D_MILITARY_ALERTS_SET&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
		CLOSE_MEGA_ANNOUNCEMENT&lt;br /&gt;
		WORLD_PARAM_ENTER_VALUE&lt;br /&gt;
		SETUPGAME_SAVE_PROFILE_GO&lt;br /&gt;
		D_BURROWS_DEFINE&lt;br /&gt;
		D_MILITARY_ALERTS_SET&lt;br /&gt;
	End of group&lt;br /&gt;
		CUSTOM_CTRL_R&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ниже представлен макрос, выполняющий те же самые действия, только оптимизированный путем удаления ненужных (избыточных) команд. Так же каждый макрос содержит дополнительную команду CUSTOM_CTRL_R в конце, которая может быть удалена без проблем.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
example&lt;br /&gt;
		DESIGNATE_DIG&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Третий способ увеличения скорости работы макроса заключается в редактировании файлов настроек. В основном файле настроек (data/init/init.txt) вы можете увидеть следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If you set KEY_REPEAT_ACCEL_LIMIT above one, then after KEY_REPEAT_ACCEL_START repetitions &lt;br /&gt;
the repetition delay will smoothly decrease until repetition is this number of times faster &lt;br /&gt;
than at the start.&lt;br /&gt;
&lt;br /&gt;
[KEY_REPEAT_ACCEL_LIMIT:8]&lt;br /&gt;
[KEY_REPEAT_ACCEL_START:10]&lt;br /&gt;
&lt;br /&gt;
This controls the number of milliseconds between macro instructions.&lt;br /&gt;
&lt;br /&gt;
[MACRO_MS:15]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;MACRO_MS&amp;lt;/code&amp;gt; регулирует время (в миллисекундах) между командами макроса. (Значение по умолчанию, 15, дает 1000/15 команд в секунду, т.е. около 66). Уменьшение этого значения &#039;&#039;&#039;увеличивает&#039;&#039;&#039; скорость выполнению макроса. При значительном снижении этого параметра игра может не отвечать при выполнении макроса. &lt;br /&gt;
* &amp;lt;code&amp;gt;KEY_REPEAT_ACCEL_START&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;KEY_REPEAT_ACCEL_LIMIT&amp;lt;/code&amp;gt; не связаны с выполнением макросов (за исключением записи).&lt;br /&gt;
&lt;br /&gt;
== Внешние утилиты ==&lt;br /&gt;
&lt;br /&gt;
=== [http://joelpt.net/quickfort/ QuickFort] ===&lt;br /&gt;
Дополнительная утилита для Dwarf Fortress основанная на таблицах. Переводит CSV файлы, содержащие &amp;quot;графическое&amp;quot; (или как минимум двумерное) представление Ваших желаний в обычные макросы DF. Включает в себя некоторое количество скриптов для быстрого старта, некоторые из них довольно сложны. Входит в состав Lazy Newb Pack. &lt;br /&gt;
&lt;br /&gt;
=== AutoHotKey ===&lt;br /&gt;
#  Скачайте AutoHotKey в [[Utilities#AutoHotKey]]. Установка проста и утилита использует мало системных ресурсов.&lt;br /&gt;
#  Запишите макрос (сохраняется в формате .ahk), содержащий любое количество команд. Скрипт запускается двойным кликом по файлу .ahk и выключается кликом правой кнопки мыши по иконке AutoHotKey в трее. Это можно сделать в любое время - даже посреди игры. AutoHotKey также способен сам запускать скрипты.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Полезные идеи для макросов ==&lt;br /&gt;
&lt;br /&gt;
Далее идут идеи для макросов, которые сделают управление Вашим фортом значительно легче. При запуске большинства макросов рекомендуется &#039;&#039;&#039;поставить игру на паузу&#039;&#039;&#039; ({{k|Space}}) до запуска макроса, чтобы при неожиданном поведение гномов (например при рождении ребенка) или по другой причине не сработала авто-фокусировка и макрос не выполнился бы в другом месте. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Комплекс спален ===&lt;br /&gt;
&lt;br /&gt;
Спальни, особенно большие или другие блоки идентичных построек требуют большое количество назначений и операций по постройке. Эти макросы предназначены для ускорения процесса. Для всех макросов, включающих в себя размещение большого количества мебели или других объектов рекомендуется временно [[Forbidden|заблокировать]] артефакты и предметы высокого качества чтобы они не доставлись для обычных дворфов.&lt;br /&gt;
&lt;br /&gt;
==== Размещение кроватей ====&lt;br /&gt;
&lt;br /&gt;
Итак, вы записали макрос для раскопки комплекса спален, теперь необходимо разместить в них мебель. Перейдите в меню строительства ({{k|b}}uild menu), выберите кровати ({{k|b}}ed) и перейдите на первую клетку, где Вы хотите разместить кровать.&lt;br /&gt;
&lt;br /&gt;
Начните запись макроса ({{k|Ctrl}}+{{k|r}}) и разместите первую кровать (выберите первую кровать из списка), затем перейдите к следующей спальне последовательно. Повторяйте требуемое количество раз,например, если Вы выкопали несколько горизонтальных рядов спален, то, разместите кровати до конца первого рядя и переместите курсор в начало второго, для ускорения. Выключите запись макроса ({{k|Ctrl}}+{{k|r}}), но не выходите из меню Строительства. Вы можете сохранить макрос ({{k|Ctrl}}+{{k|s}}), хотя это и не обязательно. Воспроизведите макрос ({{k|Ctrl}}+{{k|p}}) и в результате у вас будут кровати во втором ряду. Повторяйте требуемое количество раз.&lt;br /&gt;
&lt;br /&gt;
==== Размещение разных предметов по одинаковой сетке ====&lt;br /&gt;
&lt;br /&gt;
Можно записать дополнительные макросы для размещения шкафов, столов, стульев или дверей или обобщить предыдущий. &lt;br /&gt;
&lt;br /&gt;
Обобщение предыдущего выглядит следующим образом: перейдите в режим строительства, переместите с помощью клавиш {{k|+}}{{k|-}} указатель на устанавливаемый предмет (выбор по клавише предмета не переносит указатель), нажмите {{k|Enter}}. Установите курсор на нужной позиции, после чего начните запись макроса ({{k|Ctrl}}+{{k|r}}). Разместите выбранный предмет, выберите его ещё раз (всего будет три нажатия {{k|Enter}}: два для установки и одно для выбора) и перейдите на следующую позицию установки в сетке, после чего завершите запись макроса ({{k|Ctrl}}+{{k|r}}). &lt;br /&gt;
&lt;br /&gt;
Для использования макроса выберите требуемый предмет в меню строительства и запустите макрос на выполнение ({{k|Ctrl}}+{{k|p}}). Здесь удобно пользоваться множественным запуском макроса, используя ({{k|Ctrl}}+{{k|u}}). Можно записать макрос для одной комнаты, можно и для целого ряда, но в таком случае будет сложнее использовать множественный запуск и уменьшится гибкость решения.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;standard collapsible collapsed&amp;quot;&lt;br /&gt;
!style=&amp;quot;text-align: left; background:#efefef;&amp;quot;| Пример макроса для комнат, шириной в три блока&lt;br /&gt;
|-&lt;br /&gt;
|Сохраните текст в файл &#039;&#039;&#039;furniture.mak&#039;&#039;&#039; в папку &#039;&#039;/data/init/macros&#039;&#039; каталога установки игры. Принципиально, чтобы первая строка файла совпадала с именем самого файла.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;furniture&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Изменение размеров комнат ====&lt;br /&gt;
&lt;br /&gt;
После того, как спальни были закончены (все кровати были установлены), можно создать макрос для назначения каждой комнаты как спальни. Зайдите в меню настройки строений ({{k|q}}uery) и выберите первую кровать. Начните запись нового макроса и нажмите {{k|r}} для назначения комнаты как спальни, затем нажмите {{k|+}} несколько раз для заполнения доступного пространства. Если Вас устраивает размер спальни, нажмите {{k|Enter}}, перейдите к следующей кровати и повторяйте эти действия для всех кроватей ряда. Если Вы хотите, чтобы спальни заполняли всю комнату, но не все ваши комнаты одного размера, вы можете нажать {{k|+}} большее или меньшее число раз для этих случаев. Повторите эти действия для всех комнат в ряду. Не забудьте остановить запись макроса и сохранить его (если требуется).&lt;br /&gt;
&lt;br /&gt;
=== Множественный выбор ===&lt;br /&gt;
&lt;br /&gt;
Используя этот макрос Вы сможете выбирать большое количество вещей за один раз. Чрезвычайно полезен при торговле с караваном. Записывайте {{k|enter}}, затем {{k|down}} 10-25 раз подряд (для некоторых видов меню возможно потребуется запись сочетания {{k|enter}}, {{k|+}}). Когда караван придет, Ваши дворфы отнесут все отмеченные позиции на Рынок как обычно. В меню торговли воспользуйтесь этими макросами требуемое количество раз. Макрос выберет все позиции в списке &amp;quot;На продажу&amp;quot; сохранив корзины (bins) для дальнейшего использования. Не забудьте убрать из получившегося списка товары, которые вы не хотите продавать, например, дерево, если в данный момент вы торгуете с Эльфами.&lt;br /&gt;
&lt;br /&gt;
=== Массовое создание ловушек ===&lt;br /&gt;
&lt;br /&gt;
Аналогично размещению предметов в спальнях. Полезно для заполнение коридоров ловушками с оружием или камнепадными ловушками&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Экипировка дворфов ===&lt;br /&gt;
&lt;br /&gt;
Настройки экипировки (uniform) дворфов не сохраняются при переходе в другую крепость и Вам необходимо создавать её после каждой высадки. Вместо этого вы можете записать несколько макросов для создания Ваших настроек экипировки (например выдавать бойцам (wrestler) только кожаную броню и т.д.). Рекомендуется начинать запись макроса из главного окна, до перехода в меню армии {{k|m}}ilitary и не вводить название экипировки во время записи макроса. Кроме этого после входа в меню экипировки не переходите обратно к списку экипировки (uniform list), в противном случае при воспроизведении макроса возникнут проблемы. И, как обычно, ставьте паузу в игре перед началом записи или воспроизведения макроса. &lt;br /&gt;
&lt;br /&gt;
=== Раскопка нестандартным способами ===&lt;br /&gt;
&lt;br /&gt;
Для дополнительной информации смотрите [[Exploratory_mining|геологическая разведка]]&lt;br /&gt;
&lt;br /&gt;
Геологическая разведка, в отличие от простого копания в шести основных направлениях (Север, Восток, Юг, Запад, Вверх и Вниз), например диагональные шахты довольно сложны для разметки. Для упрощения можно создать макросы, которые будут размечать небольшие коридоры в нестандартных направлениях (СВ, СЗ, ЮВ и ЮЗ). Таким образом для создания требуемого коридора необходимо будет лишь выполнить макрос несколько раз. &lt;br /&gt;
&lt;br /&gt;
=== Лестничные марши ===&lt;br /&gt;
&lt;br /&gt;
Создание простых лестниц довольно простая задача, но если вы заходите включить свободное пространство вокруг лестницы, например как здесь&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
       (комнаты)&lt;br /&gt;
&lt;br /&gt;
        %%..%%&lt;br /&gt;
        %....%&lt;br /&gt;
 (ком-  ..XX.. (еще ком&lt;br /&gt;
  наты) ..XX..  наты)&lt;br /&gt;
        %....%  &lt;br /&gt;
        %%..%%&lt;br /&gt;
&lt;br /&gt;
       (и т.д.)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... получится довольно громоздко, если вы создадите макрос для каждого z-слоя отдельно. Вместо этого вы можете создать макрос относительно какой-то точки (например, верхняя левая клетка лестничного марша 2х2 или что-то подобное), начать запись, сделать область, которую вы хотите раскопать и в конце вернуть курсор в начальную точку и перейти на z-уровень ниже и остановить запись. Теперь вы можете поставить этот макрос на повтор требуемое количество раз. &lt;br /&gt;
&lt;br /&gt;
Для дополнительной настройки, вырежьте требуемые команды в текстовом редакторе, как было сказано выше. Затем выделите макрос и скопируйте команды несколько раз подряд. Сохраните макрос в другом файле (не забудьте исправить название макроса в верхней строчке). Используя этот макрос вы сможете легко создавать Ваши собственные лестничные марши. Так же можно создать макросы на 1, 5 или сразу 20 z-уровней (переход на другой уровень уже встроен в тело макроса, поэтому необходимо лишь скопировать команды нужное количество раз).&lt;br /&gt;
&lt;br /&gt;
== Проблемы при использовании ==&lt;br /&gt;
Вы можете столкнуться с некоторыми проблемами при использовании внешних скриптов, особенно когда используются циклы скриптов, например частота смены кадров может уменьшиться.&lt;br /&gt;
&lt;br /&gt;
* Если частота смены кадров упала, попробуйте добавить задержки (например команда &amp;quot;Sleep 100&amp;quot; сделает паузу в 100 миллисекунд) в макрос, чтобы позволить интерфейсу &amp;quot;не оставать&amp;quot;. Если используются вложенные циклы, то время от времени необходимо добавлять паузы в конце внутренних циклов для очистки буфера клавиатуры.&lt;br /&gt;
* Еще один способ для внесения задержки до и после каждого &amp;quot;нажатия&amp;quot; клавиши - вставить &amp;lt;B&amp;gt;SetKeyDelay, 40, 40&amp;lt;/B&amp;gt; в начале макроса.&lt;br /&gt;
* Удостоверьтесь, что Dwarf Fortress - главное окно. Открытые окна социальных сетей и интернет пейджеров - враги! Кому нужны друзья во всяком случае. У Вас есть Dwarf Fortress. &lt;br /&gt;
* Большинство макросов рассчитаны на стандартно назначенные клавиши. Если вы используете нестандартный набор - отредактируйте макрос. &lt;br /&gt;
&lt;br /&gt;
{{Category|Интерфейс}}&lt;br /&gt;
[[en:Macros and Keymaps]]&lt;/div&gt;</summary>
		<author><name>Moshka</name></author>
	</entry>
	<entry>
		<id>https://dfwk.ru/index.php?title=Macros_and_Keymaps&amp;diff=53897</id>
		<title>Macros and Keymaps</title>
		<link rel="alternate" type="text/html" href="https://dfwk.ru/index.php?title=Macros_and_Keymaps&amp;diff=53897"/>
		<updated>2015-12-28T06:18:06Z</updated>

		<summary type="html">&lt;p&gt;Moshka: /* Размещение других предметов */ Расширил описание обобщения предыдущего макроса, добавил комментариев по использованию.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{elven}}&lt;br /&gt;
&lt;br /&gt;
Dwarf Fortress требует активного использования клавиатуры. Но в распоряжении дварфовода также имеется встроенная система макросов. Благодаря ей или какой-либо внешней программе, Вы можете сэкономить много времени, когда требуется сделать множество указаний, перестроек, выбрасываний и т.д.&lt;br /&gt;
&lt;br /&gt;
== Встроенная система макросов DF ==&lt;br /&gt;
=== Создание макросов ===&lt;br /&gt;
В самом DF управление макросами следующее:&lt;br /&gt;
&lt;br /&gt;
*{{k|Ctrl}}+{{k|r}} = начать/прекратить запись макроса&lt;br /&gt;
*{{k|Ctrl}}+{{k|p}} = воспроизвести макрос&lt;br /&gt;
*{{k|Ctrl}}+{{k|s}} = сохранить макрос&lt;br /&gt;
*{{k|Ctrl}}+{{k|l}} = загрузить макрос&lt;br /&gt;
*{{k|Ctrl}}+{{k|u}} + число = повторить макрос [число] раз&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Чтобы создать макрос нажмите {{k|Ctrl}}+{{k|r}}, для начала записи Ваших действий. Бывает удобно начинать запись, находясь в меню [[Designations|указаний]], когда Вы можете видеть позицию игрового курсора. Когда Вы произвели все необходимые действия и хотите остановить запись, снова нажмите {{k|Ctrl}}+{{k|r}}. Сохраните макрос, нажав {{k|Ctrl}}+{{k|s}} и введя название. Тогда макрос будет добавлен в ваш список макросов. Чтобы загрузить макрос из списка нажмите {{k|Ctrl}}+{{k|l}} и выберите макрос. Воспроизвести выбранный макрос можно нажатием {{k|Ctrl}}+{{k|p}} где бы вы не находились. Так же Вы можете повторить макрос требуемое число раз нажав {{k|Ctrl}}+{{k|u}}, введя двухзначное число (количество повторов) и затем нажав {{k|Ctrl}}+{{k|p}} для запуска макроса. Движение вашей мыши в окне или любое другое действие, в результате которого окно DwarfFortress потеряет фокус,  является &amp;lt;s&amp;gt;раздражающим&amp;lt;/s&amp;gt; хорошим способом для прерывания работы макроса (так же, это единственно известный способ).&lt;br /&gt;
&lt;br /&gt;
Сохранённые макросы находятся в &#039;&#039;&#039;data/init/macros&#039;&#039;&#039; в .mak-файлах. Даже простейший макрос — например, создание пандуса([[Ramp]]) шириной в 3-тайла — может содержать до 50 команд, так как все возможные [[Key_bindings|назначения клавиш]] включаются в макрос и помещаются в его блок ({{k|r}} для создания [[Ramp|пандуса]] используется многими по умолчанию).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pressing_enter_recorded&lt;br /&gt;
		SELECT&lt;br /&gt;
		CLOSE_MEGA_ANNOUNCEMENT&lt;br /&gt;
		WORLD_PARAM_ENTER_VALUE&lt;br /&gt;
		SETUPGAME_SAVE_PROFILE_GO&lt;br /&gt;
		D_BURROWS_DEFINE&lt;br /&gt;
		D_MILITARY_ALERTS_SET&lt;br /&gt;
	End of group&lt;br /&gt;
		CUSTOM_CTRL_R&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для данного примера после записи макроса был нажат {{k|Enter}} после чего запись макроса была остановлена. При использовании этого макроса каждая команда, находящаяся в файле будет вызвана, если это возможно. Если вы находитесь в меню [[Designation|назначений]] данный макрос выполнит лишь команду Выбор (Select), все остальные команды будут проигнорированы. Если же вы находитесь в меню [[Burrow|нор]] он сработает так, как будто бы вы нажали {{k|Enter}} здесь. Макрос всегда заканчивается блоком, содержащим конец (End of macro) его записи. Если Вы изменили назначение клавиш, вы получите другой результат, потому что записываются команды, а не нажатые клавиши.&amp;lt;br /&amp;gt; При создании (или редактировании) макросов рекомендуется использовать только те команды, которые действительно нужны.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ramping_created&lt;br /&gt;
		DESIGNATE_RAMP&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_DOWN_Z&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_LEFT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_LEFT&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_UP&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Этот макросы был написан вручную и предназначен для создания [[Ramp|пандуса]] шириной в 3 тайла на один уровень ниже и размещающем курсор для повторного запуска макроса и быстрого создания пандуса ниже. Первая строчка - название файла. Каждое нажатие клавиши &amp;quot;закрывается&amp;quot; группирующим тэгом (End of group). Это необходимо для работы макроса.&amp;lt;br /&amp;gt;&lt;br /&gt;
Неизвестно, можно ли использовать циклы/итерации, а так же другие возможности программирования или комментирования.&amp;lt;br /&amp;gt;&lt;br /&gt;
Редактирование, удаление или добавление макросов при запущенной игре является нелогичным. После редактирования файла макроса вы должны удалить и заново загрузить макрос. Для этого выберите Select Options&amp;gt;KeyBindings&amp;gt;Macros. Удалите макрос и загрузите его используя {{k|Ctrl}}+{{k|l}}.&lt;br /&gt;
&lt;br /&gt;
=== Тонкая настройка макросов ===&lt;br /&gt;
Чем меньше команд содержит макрос, тем быстрее он работает. Это означает, что нужно избегать лишних шагов, оптимизируя &amp;quot;путь&amp;quot; Ваших указаний.&lt;br /&gt;
&lt;br /&gt;
Второй и самый эффективный способ увеличить скорость состоит в том, чтобы удалить все ненужные команды DF из макроса, при помощи текстового редактора. Несмотря на то, что дополнительные команды игнорируются игрой, они отнимают время на обработку. Например для движения курсора вверх/вниз будет записано 3 команды, а для движения налево/направо - 4, большинство остальных клавиш запишут в макрос гораздо больше. Нажатие {{k|d}}, для примера, запишет более 30 команд. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;После редактирования макроса требуется загрузить его заново в игре, смотрите выше&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Для примера ниже представлен код простого макроса, который переходит в меню Назначений, выбирает команду [[Mining|копать]] {{k|d}},{{k|d}}, затем двигается на один квадрат вправо и назначает этот тайл для раскопок.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
example&lt;br /&gt;
		OPTION4&lt;br /&gt;
		CUSTOM_D&lt;br /&gt;
		WORLD_PARAM_DELETE&lt;br /&gt;
		LEGENDS_EXPORT_DETAILED_MAP&lt;br /&gt;
		A_COMBAT_DODGE&lt;br /&gt;
		A_STATUS_DESC&lt;br /&gt;
		A_SLEEP_DAWN&lt;br /&gt;
		A_INV_DROP&lt;br /&gt;
		SETUP_NOTES_DELETE_NOTE&lt;br /&gt;
		BUILDJOB_TARGET_RIGHT&lt;br /&gt;
		BUILDJOB_BED_DORMITORY&lt;br /&gt;
		BUILDJOB_FARM_WINTER&lt;br /&gt;
		BUILDJOB_RACKSTAND_KILL2&lt;br /&gt;
		HOTKEY_BUILDING_DOOR&lt;br /&gt;
		HOTKEY_BUILDING_CONSTRUCTION_STAIR_DOWN&lt;br /&gt;
		HOTKEY_BUILDING_WORKSHOP_DYER&lt;br /&gt;
		BUILDING_ORIENT_RIGHT&lt;br /&gt;
		BUILDING_ADVANCE_STAGE&lt;br /&gt;
		BUILDING_TRIGGER_MAX_SIZE_DOWN&lt;br /&gt;
		BUILDING_TRACK_STOP_DUMP&lt;br /&gt;
		HOTKEY_GLASS_DOOR&lt;br /&gt;
		HOTKEY_CARPENTER_DOOR&lt;br /&gt;
		HOTKEY_MASON_DOOR&lt;br /&gt;
		HOTKEY_TRAP_DOOR&lt;br /&gt;
		BUILDJOB_STOCKPILE_DELETE_CHILD&lt;br /&gt;
		STOCKPILE_ARMOR&lt;br /&gt;
		STOCKPILE_SETTINGS_DISABLE&lt;br /&gt;
		STORES_DUMP&lt;br /&gt;
		ORDERS_DYED_CLOTH&lt;br /&gt;
		ORDERS_ZONE_DRINKING&lt;br /&gt;
		D_DESIGNATE&lt;br /&gt;
		D_HAULING_STOP_LC_DIR&lt;br /&gt;
		D_BURROWS_DELETE&lt;br /&gt;
		D_NOTE_DELETE&lt;br /&gt;
		D_NOTE_ROUTE_DELETE&lt;br /&gt;
		D_BITEM_DUMP&lt;br /&gt;
		D_LOOK_DUMP&lt;br /&gt;
		ARENA_CREATURE_SIDE_UP&lt;br /&gt;
		ASSIGNTRADE_SORT&lt;br /&gt;
		DESIGNATE_DUMP&lt;br /&gt;
		DESIGNATE_DIG&lt;br /&gt;
		ITEM_DUMP&lt;br /&gt;
		D_MILITARY_DISBAND_SQUAD&lt;br /&gt;
		D_MILITARY_ALERTS_DELETE&lt;br /&gt;
		D_MILITARY_AMMUNITION_REMOVE_ITEM&lt;br /&gt;
		D_MILITARY_DELETE_UNIFORM&lt;br /&gt;
		STRING_A100&lt;br /&gt;
	End of group&lt;br /&gt;
		STANDARDSCROLL_RIGHT&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
		WORLD_PARAM_INCREASE&lt;br /&gt;
		A_MOVE_E&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
		CLOSE_MEGA_ANNOUNCEMENT&lt;br /&gt;
		WORLD_PARAM_ENTER_VALUE&lt;br /&gt;
		SETUPGAME_SAVE_PROFILE_GO&lt;br /&gt;
		D_BURROWS_DEFINE&lt;br /&gt;
		D_MILITARY_ALERTS_SET&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
		CLOSE_MEGA_ANNOUNCEMENT&lt;br /&gt;
		WORLD_PARAM_ENTER_VALUE&lt;br /&gt;
		SETUPGAME_SAVE_PROFILE_GO&lt;br /&gt;
		D_BURROWS_DEFINE&lt;br /&gt;
		D_MILITARY_ALERTS_SET&lt;br /&gt;
	End of group&lt;br /&gt;
		CUSTOM_CTRL_R&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ниже представлен макрос, выполняющий те же самые действия, только оптимизированный путем удаления ненужных (избыточных) команд. Так же каждый макрос содержит дополнительную команду CUSTOM_CTRL_R в конце, которая может быть удалена без проблем.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
example&lt;br /&gt;
		DESIGNATE_DIG&lt;br /&gt;
	End of group&lt;br /&gt;
		CURSOR_RIGHT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
		SELECT&lt;br /&gt;
	End of group&lt;br /&gt;
End of macro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Третий способ увеличения скорости работы макроса заключается в редактировании файлов настроек. В основном файле настроек (data/init/init.txt) вы можете увидеть следующие строки:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If you set KEY_REPEAT_ACCEL_LIMIT above one, then after KEY_REPEAT_ACCEL_START repetitions &lt;br /&gt;
the repetition delay will smoothly decrease until repetition is this number of times faster &lt;br /&gt;
than at the start.&lt;br /&gt;
&lt;br /&gt;
[KEY_REPEAT_ACCEL_LIMIT:8]&lt;br /&gt;
[KEY_REPEAT_ACCEL_START:10]&lt;br /&gt;
&lt;br /&gt;
This controls the number of milliseconds between macro instructions.&lt;br /&gt;
&lt;br /&gt;
[MACRO_MS:15]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;MACRO_MS&amp;lt;/code&amp;gt; регулирует время (в миллисекундах) между командами макроса. (Значение по умолчанию, 15, дает 1000/15 команд в секунду, т.е. около 66). Уменьшение этого значения &#039;&#039;&#039;увеличивает&#039;&#039;&#039; скорость выполнению макроса. При значительном снижении этого параметра игра может не отвечать при выполнении макроса. &lt;br /&gt;
* &amp;lt;code&amp;gt;KEY_REPEAT_ACCEL_START&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;KEY_REPEAT_ACCEL_LIMIT&amp;lt;/code&amp;gt; не связаны с выполнением макросов (за исключением записи).&lt;br /&gt;
&lt;br /&gt;
== Внешние утилиты ==&lt;br /&gt;
&lt;br /&gt;
=== [http://joelpt.net/quickfort/ QuickFort] ===&lt;br /&gt;
Дополнительная утилита для Dwarf Fortress основанная на таблицах. Переводит CSV файлы, содержащие &amp;quot;графическое&amp;quot; (или как минимум двумерное) представление Ваших желаний в обычные макросы DF. Включает в себя некоторое количество скриптов для быстрого старта, некоторые из них довольно сложны. Входит в состав Lazy Newb Pack. &lt;br /&gt;
&lt;br /&gt;
=== AutoHotKey ===&lt;br /&gt;
#  Скачайте AutoHotKey в [[Utilities#AutoHotKey]]. Установка проста и утилита использует мало системных ресурсов.&lt;br /&gt;
#  Запишите макрос (сохраняется в формате .ahk), содержащий любое количество команд. Скрипт запускается двойным кликом по файлу .ahk и выключается кликом правой кнопки мыши по иконке AutoHotKey в трее. Это можно сделать в любое время - даже посреди игры. AutoHotKey также способен сам запускать скрипты.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Полезные идеи для макросов ==&lt;br /&gt;
&lt;br /&gt;
Далее идут идеи для макросов, которые сделают управление Вашим фортом значительно легче. При запуске большинства макросов рекомендуется &#039;&#039;&#039;поставить игру на паузу&#039;&#039;&#039; ({{k|Space}}) до запуска макроса, чтобы при неожиданном поведение гномов (например при рождении ребенка) или по другой причине не сработала авто-фокусировка и макрос не выполнился бы в другом месте. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Комплекс спален ===&lt;br /&gt;
&lt;br /&gt;
Спальни, особенно большие или другие блоки идентичных построек требуют большое количество назначений и операций по постройке. Эти макросы предназначены для ускорения процесса. Для всех макросов, включающих в себя размещение большого количества мебели или других объектов рекомендуется временно [[Forbidden|заблокировать]] артефакты и предметы высокого качества чтобы они не доставлись для обычных дворфов.&lt;br /&gt;
&lt;br /&gt;
==== Размещение кроватей ====&lt;br /&gt;
&lt;br /&gt;
Итак, вы записали макрос для раскопки комплекса спален, теперь необходимо разместить в них мебель. Перейдите в меню строительства ({{k|b}}uild menu), выберите кровати ({{k|b}}ed) и перейдите на первую клетку, где Вы хотите разместить кровать.&lt;br /&gt;
&lt;br /&gt;
Начните запись макроса ({{k|Ctrl}}+{{k|r}}) и разместите первую кровать (выберите первую кровать из списка), затем перейдите к следующей спальне последовательно. Повторяйте требуемое количество раз,например, если Вы выкопали несколько горизонтальных рядов спален, то, разместите кровати до конца первого рядя и переместите курсор в начало второго, для ускорения. Выключите запись макроса ({{k|Ctrl}}+{{k|r}}), но не выходите из меню Строительства. Вы можете сохранить макрос ({{k|Ctrl}}+{{k|s}}), хотя это и не обязательно. Воспроизведите макрос ({{k|Ctrl}}+{{k|p}}) и в результате у вас будут кровати во втором ряду. Повторяйте требуемое количество раз.&lt;br /&gt;
&lt;br /&gt;
==== Размещение разных предметов по одинаковой сетке ====&lt;br /&gt;
&lt;br /&gt;
Можно записать дополнительные макросы для размещения шкафов, столов, стульев или дверей или обобщить предыдущий. &lt;br /&gt;
&lt;br /&gt;
Обобщение предыдущего выглядит следующим образом: перейдите в режим строительства, переместите с помощью клавиш {{k|+}}{{k|-}} указатель на устанавливаемый предмет (выбор по клавише предмета не переносит указатель), нажмите {{k|Enter}}. Установите курсор на нужной позиции, после чего начните запись макроса ({{k|Ctrl}}+{{k|r}}). Разместите выбранный предмет, выберите его ещё раз (всего будет три нажатия {{k|Enter}}: два для установки и одно для выбора) и перейдите на следующую позицию установки в сетке, после чего завершите запись макроса ({{k|Ctrl}}+{{k|r}}). &lt;br /&gt;
&lt;br /&gt;
Для использования макроса выберите требуемый предмет в меню строительства и запустите макрос на выполнение ({{k|Ctrl}}+{{k|p}}). Здесь удобно пользоваться множественным запуском макроса, используя ({{k|Ctrl}}+{{k|u}}). Можно записать макрос для одной комнаты, можно и для целого ряда, но в таком случае будет сложнее использовать множественный запуск и уменьшится гибкость решения.&lt;br /&gt;
&lt;br /&gt;
==== Изменение размеров комнат ====&lt;br /&gt;
&lt;br /&gt;
После того, как спальни были закончены (все кровати были установлены), можно создать макрос для назначения каждой комнаты как спальни. Зайдите в меню настройки строений ({{k|q}}uery) и выберите первую кровать. Начните запись нового макроса и нажмите {{k|r}} для назначения комнаты как спальни, затем нажмите {{k|+}} несколько раз для заполнения доступного пространства. Если Вас устраивает размер спальни, нажмите {{k|Enter}}, перейдите к следующей кровати и повторяйте эти действия для всех кроватей ряда. Если Вы хотите, чтобы спальни заполняли всю комнату, но не все ваши комнаты одного размера, вы можете нажать {{k|+}} большее или меньшее число раз для этих случаев. Повторите эти действия для всех комнат в ряду. Не забудьте остановить запись макроса и сохранить его (если требуется).&lt;br /&gt;
&lt;br /&gt;
=== Множественный выбор ===&lt;br /&gt;
&lt;br /&gt;
Используя этот макрос Вы сможете выбирать большое количество вещей за один раз. Чрезвычайно полезен при торговле с караваном. Записывайте {{k|enter}}, затем {{k|down}} 10-25 раз подряд (для некоторых видов меню возможно потребуется запись сочетания {{k|enter}}, {{k|+}}). Когда караван придет, Ваши дворфы отнесут все отмеченные позиции на Рынок как обычно. В меню торговли воспользуйтесь этими макросами требуемое количество раз. Макрос выберет все позиции в списке &amp;quot;На продажу&amp;quot; сохранив корзины (bins) для дальнейшего использования. Не забудьте убрать из получившегося списка товары, которые вы не хотите продавать, например, дерево, если в данный момент вы торгуете с Эльфами.&lt;br /&gt;
&lt;br /&gt;
=== Массовое создание ловушек ===&lt;br /&gt;
&lt;br /&gt;
Аналогично размещению предметов в спальнях. Полезно для заполнение коридоров ловушками с оружием или камнепадными ловушками&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Экипировка дворфов ===&lt;br /&gt;
&lt;br /&gt;
Настройки экипировки (uniform) дворфов не сохраняются при переходе в другую крепость и Вам необходимо создавать её после каждой высадки. Вместо этого вы можете записать несколько макросов для создания Ваших настроек экипировки (например выдавать бойцам (wrestler) только кожаную броню и т.д.). Рекомендуется начинать запись макроса из главного окна, до перехода в меню армии {{k|m}}ilitary и не вводить название экипировки во время записи макроса. Кроме этого после входа в меню экипировки не переходите обратно к списку экипировки (uniform list), в противном случае при воспроизведении макроса возникнут проблемы. И, как обычно, ставьте паузу в игре перед началом записи или воспроизведения макроса. &lt;br /&gt;
&lt;br /&gt;
=== Раскопка нестандартным способами ===&lt;br /&gt;
&lt;br /&gt;
Для дополнительной информации смотрите [[Exploratory_mining|геологическая разведка]]&lt;br /&gt;
&lt;br /&gt;
Геологическая разведка, в отличие от простого копания в шести основных направлениях (Север, Восток, Юг, Запад, Вверх и Вниз), например диагональные шахты довольно сложны для разметки. Для упрощения можно создать макросы, которые будут размечать небольшие коридоры в нестандартных направлениях (СВ, СЗ, ЮВ и ЮЗ). Таким образом для создания требуемого коридора необходимо будет лишь выполнить макрос несколько раз. &lt;br /&gt;
&lt;br /&gt;
=== Лестничные марши ===&lt;br /&gt;
&lt;br /&gt;
Создание простых лестниц довольно простая задача, но если вы заходите включить свободное пространство вокруг лестницы, например как здесь&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
       (комнаты)&lt;br /&gt;
&lt;br /&gt;
        %%..%%&lt;br /&gt;
        %....%&lt;br /&gt;
 (ком-  ..XX.. (еще ком&lt;br /&gt;
  наты) ..XX..  наты)&lt;br /&gt;
        %....%  &lt;br /&gt;
        %%..%%&lt;br /&gt;
&lt;br /&gt;
       (и т.д.)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... получится довольно громоздко, если вы создадите макрос для каждого z-слоя отдельно. Вместо этого вы можете создать макрос относительно какой-то точки (например, верхняя левая клетка лестничного марша 2х2 или что-то подобное), начать запись, сделать область, которую вы хотите раскопать и в конце вернуть курсор в начальную точку и перейти на z-уровень ниже и остановить запись. Теперь вы можете поставить этот макрос на повтор требуемое количество раз. &lt;br /&gt;
&lt;br /&gt;
Для дополнительной настройки, вырежьте требуемые команды в текстовом редакторе, как было сказано выше. Затем выделите макрос и скопируйте команды несколько раз подряд. Сохраните макрос в другом файле (не забудьте исправить название макроса в верхней строчке). Используя этот макрос вы сможете легко создавать Ваши собственные лестничные марши. Так же можно создать макросы на 1, 5 или сразу 20 z-уровней (переход на другой уровень уже встроен в тело макроса, поэтому необходимо лишь скопировать команды нужное количество раз).&lt;br /&gt;
&lt;br /&gt;
== Проблемы при использовании ==&lt;br /&gt;
Вы можете столкнуться с некоторыми проблемами при использовании внешних скриптов, особенно когда используются циклы скриптов, например частота смены кадров может уменьшиться.&lt;br /&gt;
&lt;br /&gt;
* Если частота смены кадров упала, попробуйте добавить задержки (например команда &amp;quot;Sleep 100&amp;quot; сделает паузу в 100 миллисекунд) в макрос, чтобы позволить интерфейсу &amp;quot;не оставать&amp;quot;. Если используются вложенные циклы, то время от времени необходимо добавлять паузы в конце внутренних циклов для очистки буфера клавиатуры.&lt;br /&gt;
* Еще один способ для внесения задержки до и после каждого &amp;quot;нажатия&amp;quot; клавиши - вставить &amp;lt;B&amp;gt;SetKeyDelay, 40, 40&amp;lt;/B&amp;gt; в начале макроса.&lt;br /&gt;
* Удостоверьтесь, что Dwarf Fortress - главное окно. Открытые окна социальных сетей и интернет пейджеров - враги! Кому нужны друзья во всяком случае. У Вас есть Dwarf Fortress. &lt;br /&gt;
* Большинство макросов рассчитаны на стандартно назначенные клавиши. Если вы используете нестандартный набор - отредактируйте макрос. &lt;br /&gt;
&lt;br /&gt;
{{Category|Интерфейс}}&lt;br /&gt;
[[en:Macros and Keymaps]]&lt;/div&gt;</summary>
		<author><name>Moshka</name></author>
	</entry>
</feed>