<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://modfaq.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2_%D0%B8_%D0%B4%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2</id>
	<title>Создание сложных квестов и диалогов - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://modfaq.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2_%D0%B8_%D0%B4%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2"/>
	<link rel="alternate" type="text/html" href="https://modfaq.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2_%D0%B8_%D0%B4%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;action=history"/>
	<updated>2026-07-05T01:04:58Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://modfaq.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2_%D0%B8_%D0%B4%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;diff=1709&amp;oldid=prev</id>
		<title>Aka sektor: Перезагрузил картинки</title>
		<link rel="alternate" type="text/html" href="https://modfaq.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2_%D0%B8_%D0%B4%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;diff=1709&amp;oldid=prev"/>
		<updated>2022-06-29T20:55:19Z</updated>

		<summary type="html">&lt;p&gt;Перезагрузил картинки&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 23:55, 29 июня 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Строка 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ну а раз основы изучены, фундамент заложен, можно и нужно двигаться дальше и приступать к освоению неизведанного. Что мы, собственно, сегодня и сделаем. Итак, в настоящей статье речь пойдет о сборке сложных нелинейных квестов для игры и написании многоступенчатых диалогов. Готовы? Защитный костюм и противогаз на месте? Тогда вперед — осваивать бескрайние «модные» просторы...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ну а раз основы изучены, фундамент заложен, можно и нужно двигаться дальше и приступать к освоению неизведанного. Что мы, собственно, сегодня и сделаем. Итак, в настоящей статье речь пойдет о сборке сложных нелинейных квестов для игры и написании многоступенчатых диалогов. Готовы? Защитный костюм и противогаз на месте? Тогда вперед — осваивать бескрайние «модные» просторы...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;== Дар речи &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Дар речи ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Итак, решили вы написать оригинальную миссию для игры&amp;lt;ref&amp;gt;[http://old.igromania.ru/articles/55081/DVD-MANIYa_10_121.htm «DVD-МАНИЯ» №10(121)]&amp;lt;/ref&amp;gt;. С чего начать? Бросаться писать скрипты? Приниматься за конструирование разветвленных диалогов? Или вообще все это отложить в сторону и сделать кое-какие наброски на бумаге. Первым делом, разумеется, нужно сделать кое-какие выкладки — подобрать действующих лиц, придумать крайне интересный и дух захватывающий сюжет, наконец, продумать, как будут выглядеть диалоги между &amp;#039;&amp;#039;&amp;#039;NPC&amp;#039;&amp;#039;&amp;#039; и будут ли они вообще фигурировать в игре. После этого уже можно приступать к чисто технической части — реализации задуманного.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Итак, решили вы написать оригинальную миссию для игры&amp;lt;ref&amp;gt;[http://old.igromania.ru/articles/55081/DVD-MANIYa_10_121.htm «DVD-МАНИЯ» №10(121)]&amp;lt;/ref&amp;gt;. С чего начать? Бросаться писать скрипты? Приниматься за конструирование разветвленных диалогов? Или вообще все это отложить в сторону и сделать кое-какие наброски на бумаге. Первым делом, разумеется, нужно сделать кое-какие выкладки — подобрать действующих лиц, придумать крайне интересный и дух захватывающий сюжет, наконец, продумать, как будут выглядеть диалоги между &amp;#039;&amp;#039;&amp;#039;NPC&amp;#039;&amp;#039;&amp;#039; и будут ли они вообще фигурировать в игре. После этого уже можно приступать к чисто технической части — реализации задуманного.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l27&quot;&gt;Строка 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right:0.8em; clear:left; width: 250px;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right:0.8em; clear:left; width: 250px;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&quot;text-align:center&quot; | &amp;lt;span class=&quot;plainlinks&quot;&amp;gt;[https://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;images&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gameru.net/image&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;be1042655fe872a.jpg.html &lt;/del&gt;https://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;images&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gameru&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;net&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;thumb&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;be1042655fe872a&lt;/del&gt;.jpg]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&quot;text-align:center&quot; | &amp;lt;span class=&quot;plainlinks&quot;&amp;gt;[https://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;postimg&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cc&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;V081nNhm &lt;/ins&gt;https://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;i&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;postimg&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cc&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;V081nNhm&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1&lt;/ins&gt;.jpg]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Нелегкое это дело — писать квесты в «Блокноте». С другой стороны, выбирать не приходится: официальный редактор на данный момент не позволяет редактировать и создавать новые квесты.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Нелегкое это дело — писать квесты в «Блокноте». С другой стороны, выбирать не приходится: официальный редактор на данный момент не позволяет редактировать и создавать новые квесты.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l71&quot;&gt;Строка 71:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 71:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right:0.8em; clear:left; width: 250px;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right:0.8em; clear:left; width: 250px;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&quot;text-align:center&quot; | &amp;lt;span class=&quot;plainlinks&quot;&amp;gt;[https://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;images&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gameru.net/image&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;f90ebb1c6bda984.jpg.html &lt;/del&gt;https://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;images&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gameru&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;net&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;thumb&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;f90ebb1c6bda984&lt;/del&gt;.jpg]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&quot;text-align:center&quot; | &amp;lt;span class=&quot;plainlinks&quot;&amp;gt;[https://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;postimg&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cc&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;HVTdLV5t &lt;/ins&gt;https://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;i&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;postimg&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cc&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;HVTdLV5t&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/ins&gt;.jpg]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Файлы диалогов игры можно редактировать и при помощи Microsoft Excel — по сути-то, мы имеем дело с банальными XML-документами. Правда, в таком случае могут возникнуть серьезные трудности при переводе «электронной книги» в XML-формат «Сталкера».&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Файлы диалогов игры можно редактировать и при помощи Microsoft Excel — по сути-то, мы имеем дело с банальными XML-документами. Правда, в таком случае могут возникнуть серьезные трудности при переводе «электронной книги» в XML-формат «Сталкера».&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l95&quot;&gt;Строка 95:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 95:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Нетрудно заметить, что данный блок почти полностью копирует ранее написанный нами диалог в общем виде, с той лишь разницей, что между тегами &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; заключены уже не краткие названия строк на английском, а полноценные текстовые реплики на родном русском языке.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Нетрудно заметить, что данный блок почти полностью копирует ранее написанный нами диалог в общем виде, с той лишь разницей, что между тегами &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; заключены уже не краткие названия строк на английском, а полноценные текстовые реплики на родном русском языке.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Квестострой ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;== Квестострой &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Диалог написан, а следовательно — первый этап работы по созданию новой миссии выполнен. Движемся дальше и приступаем к написанию самого задания. Вновь откройте текстовым редактором &amp;#039;&amp;#039;&amp;#039;XML&amp;#039;&amp;#039;&amp;#039;-документ &amp;#039;&amp;#039;&amp;#039;dialogs_escape.xml&amp;#039;&amp;#039;&amp;#039; из каталога &amp;#039;&amp;#039;gamedata\config\gameplay\&amp;#039;&amp;#039; с установленной игрой. Отыщите свой диалог (&amp;#039;&amp;#039;&amp;#039;прим.&amp;#039;&amp;#039;&amp;#039; — если вы действовали согласно нашей инструкции, то проживать он должен в конце документа). И после строки &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;escape_trader_igromania2&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; поместите следующий код:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Диалог написан, а следовательно — первый этап работы по созданию новой миссии выполнен. Движемся дальше и приступаем к написанию самого задания. Вновь откройте текстовым редактором &amp;#039;&amp;#039;&amp;#039;XML&amp;#039;&amp;#039;&amp;#039;-документ &amp;#039;&amp;#039;&amp;#039;dialogs_escape.xml&amp;#039;&amp;#039;&amp;#039; из каталога &amp;#039;&amp;#039;gamedata\config\gameplay\&amp;#039;&amp;#039; с установленной игрой. Отыщите свой диалог (&amp;#039;&amp;#039;&amp;#039;прим.&amp;#039;&amp;#039;&amp;#039; — если вы действовали согласно нашей инструкции, то проживать он должен в конце документа). И после строки &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;escape_trader_igromania2&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; поместите следующий код:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l192&quot;&gt;Строка 192:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 191:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{цитата|автор=Эдуард Клишин|Ура — квест готов! Отправляемся на поиски канонического Ктулху, снежного человека и полезных в хозяйстве вещиц...}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{цитата|автор=Эдуард Клишин|Ура — квест готов! Отправляемся на поиски канонического Ктулху, снежного человека и полезных в хозяйстве вещиц...}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;== *** &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== *** ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Сегодня мы научились писать сложные квесты для «Сталкера» с чистого листа, а также прошли хорошую школу написания диалогов, экранных подсказок и вникли в тонкости редактирования XML-документов игры. На этом тема редактирования S.T.A.L.K.E.R. не закрыта — мы вернемся к ней в одном из ближайших номеров «Игромании». Ну а пока традиционно прощаемся с вами и желаем удачных модостроительских будней. До скорого!&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Сегодня мы научились писать сложные квесты для «Сталкера» с чистого листа, а также прошли хорошую школу написания диалогов, экранных подсказок и вникли в тонкости редактирования XML-документов игры. На этом тема редактирования S.T.A.L.K.E.R. не закрыта — мы вернемся к ней в одном из ближайших номеров «Игромании». Ну а пока традиционно прощаемся с вами и желаем удачных модостроительских будней. До скорого!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Источники ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Источники ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;References&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reflist|3&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Архив]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:Архив]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Aka sektor</name></author>
	</entry>
	<entry>
		<id>https://modfaq.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2_%D0%B8_%D0%B4%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;diff=321&amp;oldid=prev</id>
		<title>Aka sektor: Новая страница: «{| class=&quot;wikitable&quot; style=&quot;float:right; margin-left:0.8em; clear:right; text-align: center; font-size:12px; width: 300px;&quot; |- | colspan=2 style=&quot;font-size:20px;&quot;…»</title>
		<link rel="alternate" type="text/html" href="https://modfaq.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%BE%D0%B2_%D0%B8_%D0%B4%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2&amp;diff=321&amp;oldid=prev"/>
		<updated>2019-02-24T17:11:02Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left:0.8em; clear:right; text-align: center; font-size:12px; width: 300px;&amp;quot; |- | colspan=2 style=&amp;quot;font-size:20px;&amp;quot;…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left:0.8em; clear:right; text-align: center; font-size:12px; width: 300px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2 style=&amp;quot;font-size:20px;&amp;quot;|&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Создание сложных квестов и диалогов&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Дата публикации&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
{{Дата рождения|2|10|2007|лет}}&amp;lt;ref&amp;gt;[https://www.igromania.ru/magazine/120/ Страница &amp;quot;Игромания №10/2007&amp;quot; на сайте igromania.ru]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Автор&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Эдуард Клишин&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2| &amp;#039;&amp;#039;&amp;#039;Связанная статья&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2| [[Создание типовых квестов]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
В статье «&amp;#039;&amp;#039;&amp;#039;S.T.A.L.K.E.R.&amp;#039;&amp;#039;&amp;#039; — создание типовых квестов», которая притаилась на страницах «Мастерской» нынешнего выпуска журнала, мы поговорили о разработке несложных, точнее говоря, простейших типовых заданий для игры.&lt;br /&gt;
&lt;br /&gt;
Ну а раз основы изучены, фундамент заложен, можно и нужно двигаться дальше и приступать к освоению неизведанного. Что мы, собственно, сегодня и сделаем. Итак, в настоящей статье речь пойдет о сборке сложных нелинейных квестов для игры и написании многоступенчатых диалогов. Готовы? Защитный костюм и противогаз на месте? Тогда вперед — осваивать бескрайние «модные» просторы...&lt;br /&gt;
&lt;br /&gt;
=== Дар речи ===&lt;br /&gt;
Итак, решили вы написать оригинальную миссию для игры&amp;lt;ref&amp;gt;[http://old.igromania.ru/articles/55081/DVD-MANIYa_10_121.htm «DVD-МАНИЯ» №10(121)]&amp;lt;/ref&amp;gt;. С чего начать? Бросаться писать скрипты? Приниматься за конструирование разветвленных диалогов? Или вообще все это отложить в сторону и сделать кое-какие наброски на бумаге. Первым делом, разумеется, нужно сделать кое-какие выкладки — подобрать действующих лиц, придумать крайне интересный и дух захватывающий сюжет, наконец, продумать, как будут выглядеть диалоги между &amp;#039;&amp;#039;&amp;#039;NPC&amp;#039;&amp;#039;&amp;#039; и будут ли они вообще фигурировать в игре. После этого уже можно приступать к чисто технической части — реализации задуманного.&lt;br /&gt;
&lt;br /&gt;
Если кто-то подумал, что работать мы будем в редакторе уровней и по неосторожности его запустил, пусть покинет программу — она нам сегодня не пригодится. Писать миссии и диалоги для S.T.A.L.K.E.R. мы будем исключительно в «&amp;#039;&amp;#039;&amp;#039;Блокноте&amp;#039;&amp;#039;&amp;#039;». Нет, вовсе не оттого, что недолюбливаем официальный инструментарий, а лишь потому, что официальный модмейкерский набор пока не позволяет править ни одиночные карты, ни квесты.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right:0.8em; clear:left; width: 250px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://images.gameru.net/image/be1042655fe872a.jpg.html https://images.gameru.net/thumb/be1042655fe872a.jpg]&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Нелегкое это дело — писать квесты в «Блокноте». С другой стороны, выбирать не приходится: официальный редактор на данный момент не позволяет редактировать и создавать новые квесты.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Краткий брифинг проведен. Время действовать. Начнем, пожалуй, с написания разветвленных диалогов. Запустите «Блокнот» и подгрузите в него файл &amp;#039;&amp;#039;&amp;#039;character_desc_escape.xml&amp;#039;&amp;#039;&amp;#039;, который проживает в директории &amp;#039;&amp;#039;gamedata\config\gameplay\&amp;#039;&amp;#039; установленной игры (&amp;#039;&amp;#039;&amp;#039;прим.&amp;#039;&amp;#039;&amp;#039; — все архивы «Сталкера» должны быть «распечатаны»). Данный документ, по сути, содержит множество ссылок на определенные ветви диалогов, т.е. фактически служит лишь для объявления или инициализации разговорных блоков, но не более того. Давайте вживим в тело данного файла ссылку на новый диалог с торговцем — Сидоровичем (впрочем, никто не мешает вам создать новых персонажей, например канонического Ктулху, и закрепить за ними определенные диалоги). Для этого выполните следующие действия. Отыщите строку &amp;lt;code&amp;gt;&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&amp;lt;/code&amp;gt; (&amp;#039;&amp;#039;&amp;#039;прим.&amp;#039;&amp;#039;&amp;#039; — меню поиска в «Блокноте» активируется при помощи горячих клавиш &amp;#039;&amp;#039;&amp;#039;Ctrl + F&amp;#039;&amp;#039;&amp;#039;, если кто не знает) и сразу же после нее (с новой строки) поместите следующую конструкцию:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_igromania&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Где &amp;lt;code&amp;gt;escape_trader_igromania&amp;lt;/code&amp;gt; — название будущего диалога.&lt;br /&gt;
&lt;br /&gt;
Инициализация произведена. Двигаемся дальше — приступаем к внедрению кода диалога в файл &amp;#039;&amp;#039;&amp;#039;dialogs_escape.xml&amp;#039;&amp;#039;&amp;#039; из каталога &amp;#039;&amp;#039;gamedata\config\gameplay\&amp;#039;&amp;#039; игры, в котором прописаны практически все игровые тексты в общем виде. Итак. Откройте «Блокнотом» файл &amp;#039;&amp;#039;&amp;#039;dialogs_escape.xml&amp;#039;&amp;#039;&amp;#039; и добавьте в конец документа — перед ключевым словом &amp;lt;code&amp;gt;&amp;lt;/game_dialogs&amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; следующий блок:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dialog id=&amp;quot;escape_trader_igromania&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;precondition&amp;gt;escape_dialog.trader_alredy_give_job&amp;lt;/precondition&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;tutorial_end&amp;lt;/has_info&amp;gt;&lt;br /&gt;
&amp;lt;phrase_list&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_trader_igromania0&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_trader_igromania1&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_trader_igromania2&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;3&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_trader_igromania3&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
&amp;lt;/dialog&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Давайте рассмотрим структуру данного диалога. В первой строке блока указывается название диалога, соответствующее определенной записи в файле &amp;#039;&amp;#039;&amp;#039;character_desc_escape.xml&amp;#039;&amp;#039;&amp;#039;. В нашем случае — это &amp;lt;code&amp;gt;escape_trader_igromania&amp;lt;/code&amp;gt;. Последующие две строки отвечают за так называемое предварительное условие (precondition) и специальную информационную справку. Тег &amp;lt;code&amp;gt;&amp;lt;phrase_list&amp;gt;&amp;lt;/code&amp;gt; открывает огромный список фраз диалога, а &amp;lt;code&amp;gt;&amp;lt;/phrase_list&amp;gt;&amp;lt;/code&amp;gt;, соответственно, его замыкает. Между ними, как мы уже сказали, размещаются различные реплики в общем виде. Каждая новая запись состоит из трех ключевых строк, содержащих так называемые теги &amp;lt;code&amp;gt;phrase id&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt;. В первой из них указывается специальный идентификационный номер, указывающий на номер реплики. Нумерация начинается с нуля. Т.е., скажем, для первой записи значение параметра &amp;#039;&amp;#039;&amp;#039;phrase id =&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, для второй — &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; и так далее. Во второй строке между тегами &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; содержится ключевое слово или «ключворд», которое представляет собой название строки — сам же текст вбивается в документ &amp;#039;&amp;#039;gamedata\config\text\rus\stable_dialogs_escape.xml&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Ну и, наконец, между тегами &amp;lt;code&amp;gt;&amp;lt;next&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/next&amp;gt;&amp;lt;/code&amp;gt; помещается номер следующего узла или реплики. Таким образом, зная структуру диалогов, вы можете конструировать блоки, состоящие из 10, 100, 1000 записей. Лимит не установлен.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right:0.8em; clear:left; width: 250px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://images.gameru.net/image/f90ebb1c6bda984.jpg.html https://images.gameru.net/thumb/f90ebb1c6bda984.jpg]&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Файлы диалогов игры можно редактировать и при помощи Microsoft Excel — по сути-то, мы имеем дело с банальными XML-документами. Правда, в таком случае могут возникнуть серьезные трудности при переводе «электронной книги» в XML-формат «Сталкера».&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Полдела сделано. Осталось лишь насадить на сформированный каркас полноценные текстовые реплики NPC — не ключевые слова, не ссылки, а саму «начинку» в духе: «Эээй, Меченый...! Водки, водки давай... И побыстрее там, сколько уже можно ждать». Первым делом откройте «Блокнотом» файл &amp;#039;&amp;#039;&amp;#039;stable_dialogs_escape.xml&amp;#039;&amp;#039;&amp;#039; из директории &amp;#039;&amp;#039;gamedata\config\text\rus\&amp;#039;&amp;#039; с установленной игрой и внедрите в конец документа перед тегом &amp;lt;code&amp;gt;&amp;lt;/string_table&amp;gt;&amp;lt;/code&amp;gt; следующую конструкцию:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;escape_trader_igromania_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Слушай, Сидорович, есть у тебя какая-нибудь интересная работенка для меня? Что-нибудь экзотическое. Понимаешь, о чем я? Надоели убийства, надоели ограбления... Скукотища...&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;escape_trader_igromania_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt; Ну, Меченый, повеселил ты меня. Давно я такого бреда не слышал. Ну, иди, иди и найди снежного человека, поговори с Ктулху...&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;escape_trader_igromania_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Ктулху, говоришь?! А может быть, он есть, на самом деле есть. Ты об этом не думал. Сейчас пойду его поищу, ведь должен же он существовать: в зоне про него тоже немало слышал!&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;escape_trader_igromania_3&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Ну, иди, иди, только вот будь добр — прихвати для меня по пути несколько дельных вещиц — что найдешь: консервы, части местных животин, ценные артефакты. В долгу не останусь.&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нетрудно заметить, что данный блок почти полностью копирует ранее написанный нами диалог в общем виде, с той лишь разницей, что между тегами &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; заключены уже не краткие названия строк на английском, а полноценные текстовые реплики на родном русском языке.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Квестострой ===&lt;br /&gt;
Диалог написан, а следовательно — первый этап работы по созданию новой миссии выполнен. Движемся дальше и приступаем к написанию самого задания. Вновь откройте текстовым редактором &amp;#039;&amp;#039;&amp;#039;XML&amp;#039;&amp;#039;&amp;#039;-документ &amp;#039;&amp;#039;&amp;#039;dialogs_escape.xml&amp;#039;&amp;#039;&amp;#039; из каталога &amp;#039;&amp;#039;gamedata\config\gameplay\&amp;#039;&amp;#039; с установленной игрой. Отыщите свой диалог (&amp;#039;&amp;#039;&amp;#039;прим.&amp;#039;&amp;#039;&amp;#039; — если вы действовали согласно нашей инструкции, то проживать он должен в конце документа). И после строки &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;escape_trader_igromania2&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; поместите следующий код:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;give_info&amp;gt;igromania_quest&amp;lt;/give_info&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данная команда приведет к старту квеста с незатейливым названием &amp;#039;&amp;#039;&amp;#039;igromania_quest&amp;#039;&amp;#039;&amp;#039; после появления на экране третьей записи диалога (&amp;#039;&amp;#039;&amp;#039;прим.&amp;#039;&amp;#039;&amp;#039; — помните, что отсчет-то ведется с нуля, а не с 1?). Итак, что же мы имеем на данный момент? Диалог есть, ссылка на квест есть, самого квеста... нету. Надо срочно эту проблему решить. Что ж, приступим. Подгрузите в «Блокнот» файл tasks_escape.xml из каталога &amp;#039;&amp;#039;gamedata\config\gameplay\&amp;#039;&amp;#039; со «Сталкером» и вставьте в самое начало документа следующую конструкцию:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;game_task id=&amp;quot;igromania_quest&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Типично русский квест&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Поговорить с Ктулху&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_iconsTotal_storyline_eliminate_gunslinger&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;infoportion_complete&amp;gt;igromania_quest_done&amp;lt;/infoportion_complete&amp;gt;&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Раздобыть ценные артефакты и просто полезные в хозяйстве вещицы&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;map_location_type hint=&amp;quot;esc_fox&amp;quot;&amp;gt;green_location&amp;lt;/map_location_type&amp;gt;&lt;br /&gt;
&amp;lt;object_story_id&amp;gt;Escape_Tutorial_Artefact&amp;lt;/object_story_id&amp;gt;&lt;br /&gt;
&amp;lt;infoportion_complete&amp;gt;igromania_quest_done&amp;lt;/infoportion_complete&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Встретиться со снежным человеком =)&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;map_location_type hint=&amp;quot;escape_trader&amp;quot;&amp;gt;blue_location&amp;lt;/map_location_type&amp;gt;&lt;br /&gt;
&amp;lt;object_story_id&amp;gt;Escape_stalker_from_raid&amp;lt;/object_story_id&amp;gt;&lt;br /&gt;
&amp;lt;infoportion_complete&amp;gt;igromania_quest_done&amp;lt;/infoportion_complete&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;/game_task&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так, давайте посмотрим, что здесь к чему. Параметр, точнее говоря, тег с ключевым словом &amp;lt;code&amp;gt;game_task id&amp;lt;/code&amp;gt; отвечает за идентификационный номер (правда, текстовый, а не цифровой) или название миссии. Между тегами &amp;lt;code&amp;gt;&amp;lt;title&amp;gt; &amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt; проживает заголовок задания на русском, в нашем случае — &amp;#039;&amp;#039;&amp;#039;Типично русский квест&amp;#039;&amp;#039;&amp;#039;. Далее в пределах от элемента &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/code&amp;gt; до &amp;lt;code&amp;gt;&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; содержится краткий текст квеста на чистейшем русском языке. Между тегами &amp;lt;code&amp;gt;&amp;lt;icon&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/icon&amp;gt;&amp;lt;/code&amp;gt; задается определенный тип маркера или иконки, который будет отображаться на карте местности, в нашем примере — &amp;#039;&amp;#039;&amp;#039;ui_iconsTotal_storyline_eliminate_gunslinger&amp;#039;&amp;#039;&amp;#039;. В теле тега &amp;lt;code&amp;gt;&amp;lt;infoportion_complete&amp;gt;&amp;lt;/code&amp;gt; проживает ссылка на определенную запись в файле &amp;#039;&amp;#039;gamedata\config\gameplay\info_l01escape.xml&amp;#039;&amp;#039; с текстом условия. Тег типа &amp;lt;code&amp;gt;&amp;lt;map_location_type hint&amp;gt;&amp;lt;/code&amp;gt; включает в себя информацию о графической подсказке на радаре, а &amp;lt;code&amp;gt;&amp;lt;object_story_id&amp;gt;&amp;lt;/code&amp;gt; — о квестовом объекте. Вот, в принципе, и все. Что? Зачем мы вживили в тело миссии несколько &amp;lt;code&amp;gt;&amp;lt;objective&amp;gt;&amp;lt;/code&amp;gt;-блоков? Все просто. Три части задания, три независимых группы — Поговорить с Ктулху, сгонять за артефактами и встретиться со снежным человеком.&lt;br /&gt;
&lt;br /&gt;
С созданием квестовой основы покончено. Следующий шаг — обозначение целей и прописывание экранных подсказок. Передохнули, сил набрались? Тогда снова в бой! В очередной раз вооружитесь «Блокнотом». Откройте файл &amp;#039;&amp;#039;&amp;#039;info_l01escape.xml&amp;#039;&amp;#039;&amp;#039; из папки &amp;#039;&amp;#039;gamedata\config\gameplay\&amp;#039;&amp;#039; со S.T.A.L.K.E.R., отыщите в нем тег &amp;lt;code&amp;gt;&amp;lt;game_information_portions&amp;gt;&amp;lt;/code&amp;gt; и после него поместите следующую незатейливую конструкцию:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;igromania_quest_done&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;ktulxu_start_igro&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;task&amp;gt;igromania_quest&amp;lt;/task&amp;gt;&lt;br /&gt;
&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;no_ktulxu_no&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если внимательно приглядеться, то несложно обнаружить, что в теле каждого тега типа &amp;lt;code&amp;gt;info_portion id&amp;lt;/code&amp;gt; прописывается определенное условие, название которого было ранее задано в файле &amp;#039;&amp;#039;&amp;#039;tasks_escape.xml&amp;#039;&amp;#039;&amp;#039;. Между тегами &amp;lt;code&amp;gt;&amp;lt;task&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/task&amp;gt;&amp;lt;/code&amp;gt; указывается название квеста, для которого обозначаются условия, в нашем случае — &amp;#039;&amp;#039;&amp;#039;igromania_quest&amp;#039;&amp;#039;&amp;#039;. Так, с прописыванием условий разобрались.&lt;br /&gt;
&lt;br /&gt;
Что у нас там дальше по плану? Точно — экранные подсказки. Дабы организовать вывод текстовых подсказок, отображающихся на экране во время выполнения квеста, проделайте следующие действия.&lt;br /&gt;
&lt;br /&gt;
Откройте файл &amp;#039;&amp;#039;&amp;#039;string_table_tasks_escape.xml&amp;#039;&amp;#039;&amp;#039; из директории &amp;#039;&amp;#039;gamedata\config\text\rus\&amp;#039;&amp;#039; с игрой и скопируйте в начало или конец файла следующий текстовый блок:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;igromania_quest&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Поговори с Ктулху&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;igromania_quest_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Найди полезные предметы и артефакты&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;igromania_quest_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Встреться со снежным человеком&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Приведенная выше структура состоит из трех блоков, каждый из которых, в свою очередь, содержит ровно по три строки. В первой строке, которая начинается с «кейворда» &amp;#039;&amp;#039;&amp;#039;string_id&amp;#039;&amp;#039;&amp;#039;, указывается определенное идентификационное имя строки на английском (без пробелов), во второй — между тегами &amp;lt;code&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;/text&amp;gt;&amp;lt;/code&amp;gt; — начинка, текст подсказки, ну и, наконец, в третьей — тег &amp;lt;code&amp;gt;&amp;lt;/string&amp;gt;&amp;lt;/code&amp;gt;, который закрывает блок подсказки.&lt;br /&gt;
&lt;br /&gt;
Диалог написан, квест сконструирован, условия прописаны, подсказки обозначены. Казалось бы, самое время — протестировать свежеиспеченную миссию в игре. Но не тут-то было. Мы же с вами не реализовали саму возможность выполнить квест, т.е. фактически не прописали стартер задания в тело диалога. Давайте вернемся к правке диалога и устраним данное недоразумение. Итак. Во-первых, сделайте диалог нелинейным. Для этого первым делом создайте как можно большее число реплик, а затем прикрутите к нужным блокам несколько команд для перехода к новым записям, например:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_trader_igromania_12&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;4&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;6&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;8&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Из этого примера отчетливо видно, что игрок может сам сделать выбор — к какому звену диалога перейти: 2,4, 6 или 8.&lt;br /&gt;
{{цитата|автор=Эдуард Клишин|При написании новых диалогов для «Сталкера» старайтесь предоставить игроку как можно большую свободу выбора, скажем, подписаться на выполнение задания, отвергнуть предложение и все в таком духе.}}&lt;br /&gt;
&lt;br /&gt;
После этого встройте в тело конечных «разговорных» блоков ссылки для активации нужных игровых скриптов, скажем:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;18&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_igromania_17&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;give_info&amp;gt;igromania_quest_done&amp;lt;/give_info&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;artifacts_and_obj&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;give_gold&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;23&amp;lt;/next&amp;gt;&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Последние штрихи. Осталось лишь написать скрипты, ответственные за «выписку гонорара» игроку, а также передачу ценного предмета определенному NPC. Откройте файл &amp;#039;&amp;#039;gamedata\scripts\escape_dialog.script&amp;#039;&amp;#039; при помощи «Блокнота» и вживите перед ключевым словом &amp;#039;&amp;#039;&amp;#039;Trader&amp;#039;&amp;#039;&amp;#039; следующий функциональный блок, точнее говоря — два блока:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function give_gold (first_speaker, second_speaker)&lt;br /&gt;
dialogs.relocate_money(second_speaker, 84000, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function artifacts_and_obj (npc, actor)&lt;br /&gt;
dialogs.relocate_item_section (npc, &amp;quot;object&amp;quot;, &amp;quot;out&amp;quot;) -- здесь слово object необходимо заменить названием того элемента, который игрок должен передать шефу, например, vodka или conserva.&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Первая функция в приведенном примере отвечает за выдачу золотых игроку в сумме 84000, вторая — за изымание ценных артефактов и вещиц у Меченого.&lt;br /&gt;
{{цитата|автор=Эдуард Клишин|Ура — квест готов! Отправляемся на поиски канонического Ктулху, снежного человека и полезных в хозяйстве вещиц...}}&lt;br /&gt;
&lt;br /&gt;
=== *** ===&lt;br /&gt;
Сегодня мы научились писать сложные квесты для «Сталкера» с чистого листа, а также прошли хорошую школу написания диалогов, экранных подсказок и вникли в тонкости редактирования XML-документов игры. На этом тема редактирования S.T.A.L.K.E.R. не закрыта — мы вернемся к ней в одном из ближайших номеров «Игромании». Ну а пока традиционно прощаемся с вами и желаем удачных модостроительских будней. До скорого!&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
{{References}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Архив]]&lt;/div&gt;</summary>
		<author><name>Aka sektor</name></author>
	</entry>
</feed>