<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://stalkerin.gameru.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%9A%D0%BE%D1%81%D1%82%D1%8F.%D0%BD.%D1%8B.%D1%87</id>
		<title>S.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%9A%D0%BE%D1%81%D1%82%D1%8F.%D0%BD.%D1%8B.%D1%87"/>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%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/%D0%9A%D0%BE%D1%81%D1%82%D1%8F.%D0%BD.%D1%8B.%D1%87"/>
		<updated>2026-04-29T10:43:19Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5</id>
		<title>Изменяем цвет почвы на уровне</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5"/>
				<updated>2009-09-17T14:21:05Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Изменяем цвет почвы на уровне===&lt;br /&gt;
Будем править цвет почвы левела.&lt;br /&gt;
Заходим в папку &amp;quot;levels&amp;quot;,в папку с нужной нам локацией,например кордон&lt;br /&gt;
-'''''&amp;quot;l01_escape&amp;quot;'''''.&lt;br /&gt;
Перед нами вся &amp;quot;начинка&amp;quot; уровня...Нас интерисует папка '''''&amp;quot;terrain&amp;quot;''''' с включенным в нее файлом '''''&amp;quot;terrain_escape.dds&amp;quot;'''''.&lt;br /&gt;
Открываем указанный файл и видим &amp;quot;уровень сверху&amp;quot;.Ну чтож,начинаем работать...Просто раскрашиваем определенные места на карте в свой цвет,и теперь в игре он будет того цвета,что и в вашей &lt;br /&gt;
текстуре.Например я &amp;quot;ляпнул&amp;quot; зеленым карандашиком от балды в деревне новичков...&lt;br /&gt;
&lt;br /&gt;
[[Изображение:1 102.jpg]]&lt;br /&gt;
&lt;br /&gt;
Значит работает...Теперь по-работаем более ответственно и проффесионально..:)&lt;br /&gt;
Сравните скин &lt;br /&gt;
&lt;br /&gt;
[[Изображение:Скрин 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
И  мой скрин &lt;br /&gt;
&lt;br /&gt;
[[Изображение:Скрин 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Конечно не айс,но я не когда не был профессиональным фотошопером=-).ССори за плохое качество скриншотов,поскольку не обладаю сильной машиной...&lt;br /&gt;
&lt;br /&gt;
P.S-А в какую категорию статью?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:50, 17 сентября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5</id>
		<title>Изменяем цвет почвы на уровне</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5"/>
				<updated>2009-09-17T14:19:40Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Изменяем цвет почвы на уровне===&lt;br /&gt;
Будем править цвет почвы левела.&lt;br /&gt;
Заходим в папку &amp;quot;levels&amp;quot;,в папку с нужной нам локацией,например кордон&lt;br /&gt;
-'''''&amp;quot;l01_escape&amp;quot;'''''.&lt;br /&gt;
Перед нами вся &amp;quot;начинка&amp;quot; уровня...Нас интерисует папка '''''&amp;quot;terrain&amp;quot;''''' с включенным в нее файлом '''''&amp;quot;terrain_escape.dds&amp;quot;'''''.&lt;br /&gt;
Открываем указанный файл и видим &amp;quot;уровень сверху&amp;quot;.Ну чтож,начинаем работать...Просто раскрашиваем определенные места на карте в свой цвет,и теперь в игре он будет того цвета,что и в вашей &lt;br /&gt;
текстуре.Например я &amp;quot;ляпнул&amp;quot; зеленым карандашиком от балды в деревне новичков...&lt;br /&gt;
&lt;br /&gt;
[[Изображение:1 102.jpg]]&lt;br /&gt;
&lt;br /&gt;
Значит работает...Теперь по-работаем более ответственно и проффесионально..:)&lt;br /&gt;
Сравните скин &lt;br /&gt;
&lt;br /&gt;
[[Изображение:Скрин 2.jpg]]&lt;br /&gt;
&lt;br /&gt;
 и  мой скрин &lt;br /&gt;
&lt;br /&gt;
[[Изображение:Скрин 3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Конечно не айс,но я не когда не был профессиональным фотошопером=-)&lt;br /&gt;
&lt;br /&gt;
P.S-А в какую категорию статью?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:50, 17 сентября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5</id>
		<title>Изменяем цвет почвы на уровне</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5"/>
				<updated>2009-09-17T14:17:06Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Изменяем цвет почвы на уровне===&lt;br /&gt;
Будем править цвет почвы левела.&lt;br /&gt;
Заходим в папку &amp;quot;levels&amp;quot;,в папку с нужной нам локацией,например кордон&lt;br /&gt;
-'''''&amp;quot;l01_escape&amp;quot;'''''.&lt;br /&gt;
Перед нами вся &amp;quot;начинка&amp;quot; уровня...Нас интерисует папка '''''&amp;quot;terrain&amp;quot;''''' с включенным в нее файлом '''''&amp;quot;terrain_escape.dds&amp;quot;'''''.&lt;br /&gt;
Открываем указанный файл и видим &amp;quot;уровень сверху&amp;quot;.Ну чтож,начинаем работать...Просто раскрашиваем определенные места на карте в свой цвет,и теперь в игре он будет того цвета,что и в вашей &lt;br /&gt;
текстуре.Например я &amp;quot;ляпнул&amp;quot; зеленым карандашиком от балды в деревне новичков...&lt;br /&gt;
[[Изображение:1 102.jpg]]&lt;br /&gt;
Значит работает...Теперь по-работаем более ответственно и проффесионально..:)&lt;br /&gt;
Сравните скин &lt;br /&gt;
[[Изображение:Скрин 2.jpg]]&lt;br /&gt;
 и  мой скрин &lt;br /&gt;
[[Изображение:Скрин 3.jpg]]&lt;br /&gt;
.Конечно не айс,но я не когда не был профессиональным фотошопером=-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:50, 17 сентября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%BA%D1%80%D0%B8%D0%BD_3.jpg</id>
		<title>Файл:Скрин 3.jpg</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%BA%D1%80%D0%B8%D0%BD_3.jpg"/>
				<updated>2009-09-17T14:16:44Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5</id>
		<title>Изменяем цвет почвы на уровне</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5"/>
				<updated>2009-09-17T14:15:53Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Изменяем цвет почвы на уровне===&lt;br /&gt;
Будем править цвет почвы левела.&lt;br /&gt;
Заходим в папку &amp;quot;levels&amp;quot;,в папку с нужной нам локацией,например кордон&lt;br /&gt;
-'''''&amp;quot;l01_escape&amp;quot;'''''.&lt;br /&gt;
Перед нами вся &amp;quot;начинка&amp;quot; уровня...Нас интерисует папка '''''&amp;quot;terrain&amp;quot;''''' с включенным в нее файлом '''''&amp;quot;terrain_escape.dds&amp;quot;'''''.&lt;br /&gt;
Открываем указанный файл и видим &amp;quot;уровень сверху&amp;quot;.Ну чтож,начинаем работать...Просто раскрашиваем определенные места на карте в свой цвет,и теперь в игре он будет того цвета,что и в вашей &lt;br /&gt;
текстуре.Например я &amp;quot;ляпнул&amp;quot; зеленым карандашиком от балды в деревне новичков...&lt;br /&gt;
[[Изображение:1 102.jpg]]&lt;br /&gt;
Значит работает...Теперь по-работаем более ответственно и проффесионально..:)&lt;br /&gt;
Сравните скин &lt;br /&gt;
&lt;br /&gt;
 и  мой скрин &lt;br /&gt;
&lt;br /&gt;
.Конечно не айс,но я не когда не был профессиональным фотошопером=-)&lt;br /&gt;
&lt;br /&gt;
P.S.-в незаконченные статьи,не могу понять,как загрузить изображение&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:50, 17 сентября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%BA%D1%80%D0%B8%D0%BD_2.jpg</id>
		<title>Файл:Скрин 2.jpg</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%A1%D0%BA%D1%80%D0%B8%D0%BD_2.jpg"/>
				<updated>2009-09-17T14:13:37Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1_102.jpg</id>
		<title>Файл:1 102.jpg</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:1_102.jpg"/>
				<updated>2009-09-17T14:09:14Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5</id>
		<title>Изменяем цвет почвы на уровне</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5"/>
				<updated>2009-09-17T13:53:10Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Изменяем цвет почвы на уровне===&lt;br /&gt;
Будем править цвет почвы левела.&lt;br /&gt;
Заходим в папку &amp;quot;levels&amp;quot;,в папку с нужной нам локацией,например кордон&lt;br /&gt;
-'''''&amp;quot;l01_escape&amp;quot;'''''.&lt;br /&gt;
Перед нами вся &amp;quot;начинка&amp;quot; уровня...Нас интерисует папка '''''&amp;quot;terrain&amp;quot;''''' с включенным в нее файлом '''''&amp;quot;terrain_escape.dds&amp;quot;'''''.&lt;br /&gt;
Открываем указанный файл и видим &amp;quot;уровень сверху&amp;quot;.Ну чтож,начинаем работать...Просто раскрашиваем определенные места на карте в свой цвет,и теперь в игре он будет того цвета,что и в вашей &lt;br /&gt;
текстуре.Например я &amp;quot;ляпнул&amp;quot; зеленым карандашиком от балды в деревне новичков...&lt;br /&gt;
{|&lt;br /&gt;
|[[Изображение:http://diz1.ru/forum/files/1_102.jpg|thumb|400px|Тестовый ящик]]&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;
P.S.-в незаконченные статьи,не могу понять,как загрузить изображение&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:50, 17 сентября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5</id>
		<title>Изменяем цвет почвы на уровне</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC_%D1%86%D0%B2%D0%B5%D1%82_%D0%BF%D0%BE%D1%87%D0%B2%D1%8B_%D0%BD%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5"/>
				<updated>2009-09-17T13:50:28Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Изменяем цвет почвы на уровне===&lt;br /&gt;
Будем править цвет почвы левела.&lt;br /&gt;
Заходим в папку &amp;quot;levels&amp;quot;,в папку с нужной нам локацией,например кордон&lt;br /&gt;
-'''''&amp;quot;l01_escape&amp;quot;'''''.&lt;br /&gt;
Перед нами вся &amp;quot;начинка&amp;quot; уровня...Нас интерисует папка '''''&amp;quot;terrain&amp;quot;''''' с включенным в нее файлом '''''&amp;quot;terrain_escape.dds&amp;quot;'''''.&lt;br /&gt;
Открываем указанный файл и видим &amp;quot;уровень сверху&amp;quot;.Ну чтож,начинаем работать...Просто раскрашиваем определенные места на карте в свой цвет,и теперь в игре он будет того цвета,что и в вашей &lt;br /&gt;
текстуре.Например я &amp;quot;ляпнул&amp;quot; зеленым карандашиком от балды в деревне новичков...&lt;br /&gt;
{|&lt;br /&gt;
|[[Изображение:http://diz1.ru/forum/files/1_102.jpg|thumb|400px|Тестовый ящик]]&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;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:50, 17 сентября 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:35:31Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* DEATH_ITEMS_BY_LEVEL.LTX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_dependence]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[keep_items]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ammo_sections]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_COMMUNITIES.LTX===&lt;br /&gt;
В ней указывается вероятность заспаунить или нет какой либо предмет в процентах,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 0.015&lt;br /&gt;
af_cristall_flower		= 0.01&lt;br /&gt;
af_night_star			= 0.005&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Означает,что артефакт медуза заспавнится с вероятностью 1.5%,кристальная колючка с 1%,а ночная звезда с вероятностью 0.5%.Если стоит 1,то предмет заспавнится со 100% вероятностью.&lt;br /&gt;
Во всех остальных секциях пишется соответствие на именно эту секцию,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[bandit]:stalker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит,что у всех членов группировки &amp;quot;Бандиты&amp;quot; генерация предметов точно такая же,как и у сталкеров.Если необходимо задать другой шанс спавна,то просто пишется строка с новым значением,&lt;br /&gt;
например у наемников отключен спавн хлеба,колбасы,водки,однако увеличен шанс сгенеретить энергетический напиток:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[killer]:stalker&lt;br /&gt;
;Еда&lt;br /&gt;
bread					= 0&lt;br /&gt;
kolbasa					= 0&lt;br /&gt;
vodka					= 0&lt;br /&gt;
energy_drink			= 0.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_LEVEL.LTX===&lt;br /&gt;
Генерирование предметов для разных уровней(локаций).&lt;br /&gt;
Опять таки главной секцией является:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[default]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А во всех других пишется соответствие на нее.&lt;br /&gt;
В этом файле задается значение,спавнить или нет предмет на уровне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 1&lt;br /&gt;
af_cristall_flower		= 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть если стоит цифра 1,то спавним,если 0-не спавним.&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_COUNT.LTX===&lt;br /&gt;
Количественное отношение заспавненных предметов для разных уровней сложности прохождения игры.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_count_0]		-новичек&lt;br /&gt;
[item_count_1]		-опытный&lt;br /&gt;
[item_count_2]		-ветеран&lt;br /&gt;
[item_count_3]		-мастер&amp;lt;/pre&amp;gt;&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;bandage					= 2&lt;br /&gt;
medkit					= 1, 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит будет генеретится всегда 2 бинта, и 1 или 2 атпечки.&lt;br /&gt;
&lt;br /&gt;
===ДОБАВЛЕНИЕ В ГЕНЕРАЦИЮ НОВОГО ПРЕДМЕТА===&lt;br /&gt;
Для примера разберу добавление энергитического напитка &amp;quot;S.T.A.L.K.E.R.&amp;quot;(патч 5,напиток отсутствует).Создание собственного предмета я разбирать не буду,так как такая статья уже имеется,я просто &lt;br /&gt;
напишу его конфиг:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[energy_drink_stalker]:vodka&lt;br /&gt;
$spawn 				= &amp;quot;food and drugs\energy_drink_stalker&amp;quot;&lt;br /&gt;
inv_name			= energy_drink_stalker_name&lt;br /&gt;
inv_name_short		= energy_drink_stalker_short_name&lt;br /&gt;
visual				= equipments\drink_stalker.ogf&lt;br /&gt;
description			= enc_equipment_energydrink_stalker&lt;br /&gt;
cost				= 75&lt;br /&gt;
&lt;br /&gt;
inv_grid_width		= 1&lt;br /&gt;
inv_grid_height		= 1&lt;br /&gt;
inv_grid_x			= 11&lt;br /&gt;
inv_grid_y			= 0&lt;br /&gt;
inv_weight			= 0.3&lt;br /&gt;
inv_name			= drink_stalker&lt;br /&gt;
eat_health			= 0&lt;br /&gt;
eat_satiety			= 0&lt;br /&gt;
eat_power			= 1.0&lt;br /&gt;
eat_alcohol			= 0&lt;br /&gt;
eat_radiation		= 0&lt;br /&gt;
wounds_heal_perc	= 0&lt;br /&gt;
eat_portions_num	= 1&lt;br /&gt;
eat_max_power		= 0.2&lt;br /&gt;
&lt;br /&gt;
attach_angle_offset		= 0.000000, 0.000000, 0.000000&lt;br /&gt;
attach_position_offset	= 0.087266, -0.078540, 0.052360&lt;br /&gt;
attach_bone_name		= bip01_r_hand&lt;br /&gt;
auto_attach				= false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Само собой добавте описание...&lt;br /&gt;
Сделаем упрошенной генерирование,то есть для всех:группировок,уровней сложности,локаций оно будет одинаковым...&lt;br /&gt;
Для этого добавим наш энергетик во все главные секции:&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[stalker]&lt;br /&gt;
energy_drink_stalker		=0.2&lt;br /&gt;
af_medusa				= 0.015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[default]&lt;br /&gt;
energy_drink_stalker		= 1&lt;br /&gt;
af_medusa				= 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_count_0]&lt;br /&gt;
energy_drink_stalker		= 1&lt;br /&gt;
af_medusa				= 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вписывать спавн нашего предмета можно в любое место в этих секциях между другими предметами,не обращая внимание на записи разрабов(;Еда,;Медикаменты и т.п.),так как сделаны они&lt;br /&gt;
просто для удобства,игра это не учитывает.&lt;br /&gt;
Все,новый предмет добавлен в игру,появлятся он будет с 20%-ой вероятностью в количестве 1 шт.&lt;br /&gt;
&lt;br /&gt;
P.S-учел пожелания HikeR'a,надеюсь статья оформленна правильно:)&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:24, 17 сентября 2009 (UTC)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:34:00Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_dependence]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[keep_items]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ammo_sections]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_COMMUNITIES.LTX===&lt;br /&gt;
В ней указывается вероятность заспаунить или нет какой либо предмет в процентах,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 0.015&lt;br /&gt;
af_cristall_flower		= 0.01&lt;br /&gt;
af_night_star			= 0.005&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Означает,что артефакт медуза заспавнится с вероятностью 1.5%,кристальная колючка с 1%,а ночная звезда с вероятностью 0.5%.Если стоит 1,то предмет заспавнится со 100% вероятностью.&lt;br /&gt;
Во всех остальных секциях пишется соответствие на именно эту секцию,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[bandit]:stalker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит,что у всех членов группировки &amp;quot;Бандиты&amp;quot; генерация предметов точно такая же,как и у сталкеров.Если необходимо задать другой шанс спавна,то просто пишется строка с новым значением,&lt;br /&gt;
например у наемников отключен спавн хлеба,колбасы,водки,однако увеличен шанс сгенеретить энергетический напиток:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[killer]:stalker&lt;br /&gt;
;Еда&lt;br /&gt;
bread					= 0&lt;br /&gt;
kolbasa					= 0&lt;br /&gt;
vodka					= 0&lt;br /&gt;
energy_drink			= 0.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_LEVEL.LTX===&lt;br /&gt;
Генерирование предметов для разных уровней(локаций).&lt;br /&gt;
Опять таки главной секцией является:&lt;br /&gt;
&lt;br /&gt;
[default]&lt;br /&gt;
&lt;br /&gt;
А во всех других пишется соответствие на нее.&lt;br /&gt;
В этом файле задается значение,спавнить или нет предмет на уровне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 1&lt;br /&gt;
af_cristall_flower		= 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть если стоит цифра 1,то спавним,если 0-не спавним.&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_COUNT.LTX===&lt;br /&gt;
Количественное отношение заспавненных предметов для разных уровней сложности прохождения игры.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_count_0]		-новичек&lt;br /&gt;
[item_count_1]		-опытный&lt;br /&gt;
[item_count_2]		-ветеран&lt;br /&gt;
[item_count_3]		-мастер&amp;lt;/pre&amp;gt;&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;bandage					= 2&lt;br /&gt;
medkit					= 1, 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит будет генеретится всегда 2 бинта, и 1 или 2 атпечки.&lt;br /&gt;
&lt;br /&gt;
===ДОБАВЛЕНИЕ В ГЕНЕРАЦИЮ НОВОГО ПРЕДМЕТА===&lt;br /&gt;
Для примера разберу добавление энергитического напитка &amp;quot;S.T.A.L.K.E.R.&amp;quot;(патч 5,напиток отсутствует).Создание собственного предмета я разбирать не буду,так как такая статья уже имеется,я просто &lt;br /&gt;
напишу его конфиг:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[energy_drink_stalker]:vodka&lt;br /&gt;
$spawn 				= &amp;quot;food and drugs\energy_drink_stalker&amp;quot;&lt;br /&gt;
inv_name			= energy_drink_stalker_name&lt;br /&gt;
inv_name_short		= energy_drink_stalker_short_name&lt;br /&gt;
visual				= equipments\drink_stalker.ogf&lt;br /&gt;
description			= enc_equipment_energydrink_stalker&lt;br /&gt;
cost				= 75&lt;br /&gt;
&lt;br /&gt;
inv_grid_width		= 1&lt;br /&gt;
inv_grid_height		= 1&lt;br /&gt;
inv_grid_x			= 11&lt;br /&gt;
inv_grid_y			= 0&lt;br /&gt;
inv_weight			= 0.3&lt;br /&gt;
inv_name			= drink_stalker&lt;br /&gt;
eat_health			= 0&lt;br /&gt;
eat_satiety			= 0&lt;br /&gt;
eat_power			= 1.0&lt;br /&gt;
eat_alcohol			= 0&lt;br /&gt;
eat_radiation		= 0&lt;br /&gt;
wounds_heal_perc	= 0&lt;br /&gt;
eat_portions_num	= 1&lt;br /&gt;
eat_max_power		= 0.2&lt;br /&gt;
&lt;br /&gt;
attach_angle_offset		= 0.000000, 0.000000, 0.000000&lt;br /&gt;
attach_position_offset	= 0.087266, -0.078540, 0.052360&lt;br /&gt;
attach_bone_name		= bip01_r_hand&lt;br /&gt;
auto_attach				= false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Само собой добавте описание...&lt;br /&gt;
Сделаем упрошенной генерирование,то есть для всех:группировок,уровней сложности,локаций оно будет одинаковым...&lt;br /&gt;
Для этого добавим наш энергетик во все главные секции:&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[stalker]&lt;br /&gt;
energy_drink_stalker		=0.2&lt;br /&gt;
af_medusa				= 0.015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[default]&lt;br /&gt;
energy_drink_stalker		= 1&lt;br /&gt;
af_medusa				= 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_count_0]&lt;br /&gt;
energy_drink_stalker		= 1&lt;br /&gt;
af_medusa				= 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вписывать спавн нашего предмета можно в любое место в этих секциях между другими предметами,не обращая внимание на записи разрабов(;Еда,;Медикаменты и т.п.),так как сделаны они&lt;br /&gt;
просто для удобства,игра это не учитывает.&lt;br /&gt;
Все,новый предмет добавлен в игру,появлятся он будет с 20%-ой вероятностью в количестве 1 шт.&lt;br /&gt;
&lt;br /&gt;
P.S-учел пожелания HikeR'a,надеюсь статья оформленна правильно:)&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:24, 17 сентября 2009 (UTC)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:24:35Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_dependence]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[keep_items]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ammo_sections]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_COMMUNITIES.LTX===&lt;br /&gt;
В ней указывается вероятность заспаунить или нет какой либо предмет в процентах,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 0.015&lt;br /&gt;
af_cristall_flower		= 0.01&lt;br /&gt;
af_night_star			= 0.005&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Означает,что артефакт медуза заспавнится с вероятностью 1.5%,кристальная колючка с 1%,а ночная звезда с вероятностью 0.5%.Если стоит 1,то предмет заспавнится со 100% вероятностью.&lt;br /&gt;
Во всех остальных секциях пишется соответствие на именно эту секцию,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[bandit]:stalker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит,что у всех членов группировки &amp;quot;Бандиты&amp;quot; генерация предметов точно такая же,как и у сталкеров.Если необходимо задать другой шанс спавна,то просто пишется строка с новым значением,&lt;br /&gt;
например у наемников отключен спавн хлеба,колбасы,водки,однако увеличен шанс сгенеретить энергетический напиток:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[killer]:stalker&lt;br /&gt;
;Еда&lt;br /&gt;
bread					= 0&lt;br /&gt;
kolbasa					= 0&lt;br /&gt;
vodka					= 0&lt;br /&gt;
energy_drink			= 0.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_LEVEL.LTX===&lt;br /&gt;
Генерирование предметов для разных уровней(локаций).&lt;br /&gt;
Опять таки главной секцией является:&lt;br /&gt;
&lt;br /&gt;
[default]&lt;br /&gt;
&lt;br /&gt;
А во всех других пишется соответствие на нее.&lt;br /&gt;
В этом файле задается значение,спавнить или нет предмет на уровне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 1&lt;br /&gt;
af_cristall_flower		= 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть если стоит цифра 1,то спавним,если 0-не спавним.&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_COUNT.LTX===&lt;br /&gt;
Количественное отношение заспавненных предметов для разных уровней сложности прохождения игры.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_count_0]		-новичек&lt;br /&gt;
[item_count_1]		-опытный&lt;br /&gt;
[item_count_2]		-ветеран&lt;br /&gt;
[item_count_3]		-мастер&amp;lt;/pre&amp;gt;&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;bandage					= 2&lt;br /&gt;
medkit					= 1, 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит будет генеретится всегда 2 бинта, и 1 или 2 атпечки.&lt;br /&gt;
&lt;br /&gt;
===ДОБАВЛЕНИЕ В ГЕНЕРАЦИЮ НОВОГО ПРЕДМЕТА===&lt;br /&gt;
Для примера разберу добавление энергитического напитка &amp;quot;S.T.A.L.K.E.R.&amp;quot;(патч 5,напиток отсутствует).Создание собственного предмета я разбирать не буду,так как такая статья уже имеется,я просто &lt;br /&gt;
напишу его конфиг:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[energy_drink_stalker]:vodka&lt;br /&gt;
$spawn 				= &amp;quot;food and drugs\energy_drink_stalker&amp;quot;&lt;br /&gt;
inv_name			= energy_drink_stalker_name&lt;br /&gt;
inv_name_short		= energy_drink_stalker_short_name&lt;br /&gt;
visual				= equipments\drink_stalker.ogf&lt;br /&gt;
description			= enc_equipment_energydrink_stalker&lt;br /&gt;
cost				= 75&lt;br /&gt;
&lt;br /&gt;
inv_grid_width		= 1&lt;br /&gt;
inv_grid_height		= 1&lt;br /&gt;
inv_grid_x			= 11&lt;br /&gt;
inv_grid_y			= 0&lt;br /&gt;
inv_weight			= 0.3&lt;br /&gt;
inv_name			= drink_stalker&lt;br /&gt;
eat_health			= 0&lt;br /&gt;
eat_satiety			= 0&lt;br /&gt;
eat_power			= 1.0&lt;br /&gt;
eat_alcohol			= 0&lt;br /&gt;
eat_radiation		= 0&lt;br /&gt;
wounds_heal_perc	= 0&lt;br /&gt;
eat_portions_num	= 1&lt;br /&gt;
eat_max_power		= 0.2&lt;br /&gt;
&lt;br /&gt;
attach_angle_offset		= 0.000000, 0.000000, 0.000000&lt;br /&gt;
attach_position_offset	= 0.087266, -0.078540, 0.052360&lt;br /&gt;
attach_bone_name		= bip01_r_hand&lt;br /&gt;
auto_attach				= false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Само собой добавте описание...&lt;br /&gt;
Сделаем упрошенной генерирование,то есть для всех:группировок,уровней сложности,локаций оно будет одинаковым...&lt;br /&gt;
Для этого добавим наш энергетик во все главные секции:&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[stalker]&lt;br /&gt;
energy_drink_stalker		=0.2&lt;br /&gt;
af_medusa				= 0.015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[default]&lt;br /&gt;
energy_drink_stalker		= 1&lt;br /&gt;
af_medusa				= 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_count_0]&lt;br /&gt;
energy_drink_stalker		= 1&lt;br /&gt;
af_medusa				= 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вписывать спавн нашего предмета можно в любое место в этих секциях между другими предметами,не обращая внимание на записи разрабов(;Еда,;Медикаменты и т.п.),так как сделаны они&lt;br /&gt;
просто для удобства,игра это не учитывает.&lt;br /&gt;
Все,новый предмет добавлен в игру,появлятся он будет с 20%-ой вероятностью в количестве 1 шт.&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:24, 17 сентября 2009 (UTC)]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:22:03Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_dependence]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[keep_items]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ammo_sections]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_COMMUNITIES.LTX===&lt;br /&gt;
В ней указывается вероятность заспаунить или нет какой либо предмет в процентах,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 0.015&lt;br /&gt;
af_cristall_flower		= 0.01&lt;br /&gt;
af_night_star			= 0.005&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Означает,что артефакт медуза заспавнится с вероятностью 1.5%,кристальная колючка с 1%,а ночная звезда с вероятностью 0.5%.Если стоит 1,то предмет заспавнится со 100% вероятностью.&lt;br /&gt;
Во всех остальных секциях пишется соответствие на именно эту секцию,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[bandit]:stalker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит,что у всех членов группировки &amp;quot;Бандиты&amp;quot; генерация предметов точно такая же,как и у сталкеров.Если необходимо задать другой шанс спавна,то просто пишется строка с новым значением,&lt;br /&gt;
например у наемников отключен спавн хлеба,колбасы,водки,однако увеличен шанс сгенеретить энергетический напиток:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[killer]:stalker&lt;br /&gt;
;Еда&lt;br /&gt;
bread					= 0&lt;br /&gt;
kolbasa					= 0&lt;br /&gt;
vodka					= 0&lt;br /&gt;
energy_drink			= 0.3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_LEVEL.LTX===&lt;br /&gt;
Генерирование предметов для разных уровней(локаций).&lt;br /&gt;
Опять таки главной секцией является:&lt;br /&gt;
&lt;br /&gt;
[default]&lt;br /&gt;
&lt;br /&gt;
А во всех других пишется соответствие на нее.&lt;br /&gt;
В этом файле задается значение,спавнить или нет предмет на уровне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 1&lt;br /&gt;
af_cristall_flower		= 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То есть если стоит цифра 1,то спавним,если 0-не спавним.&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_COUNT.LTX===&lt;br /&gt;
Количественное отношение заспавненных предметов для разных уровней сложности прохождения игры.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_count_0]		-новичек&lt;br /&gt;
[item_count_1]		-опытный&lt;br /&gt;
[item_count_2]		-ветеран&lt;br /&gt;
[item_count_3]		-мастер&amp;lt;/pre&amp;gt;&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;bandage					= 2&lt;br /&gt;
medkit					= 1, 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит будет генеретится всегда 2 бинта, и 1 или 2 атпечки.&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:20:08Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_dependence]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[keep_items]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ammo_sections]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DEATH_ITEMS_BY_COMMUNITIES.LTX===&lt;br /&gt;
В ней указывается вероятность заспаунить или нет какой либо предмет в процентах,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;af_medusa				= 0.015&lt;br /&gt;
af_cristall_flower		= 0.01&lt;br /&gt;
af_night_star			= 0.005&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Означает,что артефакт медуза заспавнится с вероятностью 1.5%,кристальная колючка с 1%,а ночная звезда с вероятностью 0.5%.Если стоит 1,то предмет заспавнится со 100% вероятностью.&lt;br /&gt;
Во всех остальных секциях пишется соответствие на именно эту секцию,например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[bandit]:stalker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит,что у всех членов группировки &amp;quot;Бандиты&amp;quot; генерация предметов точно такая же,как и у сталкеров.Если необходимо задать другой шанс спавна,то просто пишется строка с новым значением,&lt;br /&gt;
например у наемников отключен спавн хлеба,колбасы,водки,однако увеличен шанс сгенеретить энергетический напиток:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[killer]:stalker&lt;br /&gt;
;Еда&lt;br /&gt;
bread					= 0&lt;br /&gt;
kolbasa					= 0&lt;br /&gt;
vodka					= 0&lt;br /&gt;
energy_drink			= 0.3&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:18:34Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[item_dependence]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[keep_items]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ammo_sections]&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:17:38Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция&lt;br /&gt;
&lt;br /&gt;
[item_dependence]&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
[keep_items]&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
[ammo_sections]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция:&lt;br /&gt;
&lt;br /&gt;
„[item_dependence]“&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
[keep_items]&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
[ammo_sections]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:16:52Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;br /&gt;
&lt;br /&gt;
===DEATH_GENERIC.LTX===&lt;br /&gt;
Является главным файлом с инклюдами остальных.В нем описываются зависимости спавна патронов при наличии орпеделенного оружия(то есть если у НПС'а Тоз34,то сгенеретившиеся патроны должны &lt;br /&gt;
быть для него,а не для СВД,например),секция:&lt;br /&gt;
&lt;br /&gt;
=[item_dependence]=&lt;br /&gt;
&lt;br /&gt;
Предметы-исключения(уникальные,квестовые предметы,которые нельзя спавнить),секция:&lt;br /&gt;
&lt;br /&gt;
=[keep_items]=&lt;br /&gt;
&lt;br /&gt;
И просто секция патронов,предназначение которой мне не известно,секция:&lt;br /&gt;
&lt;br /&gt;
=[ammo_sections]=&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:16:08Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
-'''''death_generic.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_communities.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_by_levels.ltx'''''&lt;br /&gt;
&lt;br /&gt;
-'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:15:56Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
'''''death_generic.ltx'''''&lt;br /&gt;
'''''death_items_by_communities.ltx'''''&lt;br /&gt;
'''''death_items_by_levels.ltx'''''&lt;br /&gt;
'''''death_items_count.ltx'''''&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:15:34Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
'''''death_generic.ltx'''''&lt;br /&gt;
death_items_by_communities.ltx&lt;br /&gt;
death_items_by_levels.ltx&lt;br /&gt;
death_items_count.ltx&lt;br /&gt;
&lt;br /&gt;
Разберем их структуру.&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:14:58Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
death_generic.ltx&lt;br /&gt;
«death_items_by_communities.ltx»&lt;br /&gt;
death_items_by_levels.ltx&lt;br /&gt;
death_items_count.ltx&lt;br /&gt;
Разберем их структуру.&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85</id>
		<title>SoC. Генерирование предметов в трупах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2_%D0%B2_%D1%82%D1%80%D1%83%D0%BF%D0%B0%D1%85"/>
				<updated>2009-09-17T13:14:11Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Введение===&lt;br /&gt;
Разберу,как случайным образом в трупах генеретятся предметы.За спавн предметов отвечают 4 файла в папке &amp;quot;config\misc&amp;quot;:&lt;br /&gt;
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)death_generic.ltx[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)&lt;br /&gt;
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)death_items_by_communities.ltx[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)&lt;br /&gt;
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)death_items_by_levels.ltx[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)&lt;br /&gt;
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)death_items_count.ltx[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] 13:14, 17 сентября 2009 (UTC)&lt;br /&gt;
Разберем их структуру.&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Spawn_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5</id>
		<title>Spawn через скрипт-дополнение</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Spawn_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5"/>
				<updated>2009-09-03T13:01:14Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пишу статью специально для тех,кто только начинает увлекатся модмейкерством и не использует специальные проги для спавна(могу посоветовать ACDC-весчь улетная,спасиба разрабам:-)&lt;br /&gt;
Если вы хотите заспавнить в игру любой обьект-будь то непись,машина или аномалия без активации через диалог,тогда читайте и запоминайте:)&lt;br /&gt;
Изучая скрипты,я обнаружил,что можно запустить выдачу инфопоршны через обновление у актера...Не поняли?Объясняю-пишем в &amp;quot;scripts\bind_stalker.script&amp;quot; в секции обновления проверку на наличие&lt;br /&gt;
&amp;quot;info_portion&amp;quot;:&lt;br /&gt;
...&lt;br /&gt;
function actor_binder:update(delta)&lt;br /&gt;
	object_binder.update(self, delta)&lt;br /&gt;
&lt;br /&gt;
	-- DEBUG slowdown&lt;br /&gt;
--	slowdown.update()&lt;br /&gt;
&lt;br /&gt;
	local time = time_global()&lt;br /&gt;
	&lt;br /&gt;
	game_stats.update (delta, self.object)&lt;br /&gt;
&lt;br /&gt;
	-- апдейт погоды&lt;br /&gt;
	self.weather_manager:update()&lt;br /&gt;
	&lt;br /&gt;
	-- апдейт схемы детектора&lt;br /&gt;
	self.actor_detector:update()&lt;br /&gt;
&lt;br /&gt;
	-- апдейт звуковой схемы актера&lt;br /&gt;
	xr_sound.update_actor()&lt;br /&gt;
&lt;br /&gt;
	if not has_alife_info(&amp;quot;spawn&amp;quot;) then				-вот&lt;br /&gt;
&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;spawn&amp;quot;)		-	наше&lt;br /&gt;
&lt;br /&gt;
		end						-		обновление&lt;br /&gt;
....&lt;br /&gt;
такой функцией мы проверяем наличие инфопоршны &amp;quot;spawn&amp;quot;,и если её нет,выдаем игроку...&lt;br /&gt;
Осталось только добавить эти инфопоршну-для этого в &amp;quot;config\gamelay\&amp;quot; cоздаем файл с ней,например &amp;quot;spawn.xml&amp;quot; с текстом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
    &amp;lt;info_portion id=&amp;quot;spawn&amp;quot;&amp;gt;						-вот название нашей инфопоршны&lt;br /&gt;
 &amp;lt;! -- action&amp;gt;название_скрипта.название_функции_в_нем&amp;lt;/action -- &amp;gt;&lt;br /&gt;
 &amp;lt;action&amp;gt;escape_dialog.give_weapon_to_actor&amp;lt;/action&amp;gt;			-для примера выдадим стартовую снарягу(ПМм и патроны,что выдает волк)&lt;br /&gt;
    &amp;lt;/info_portion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Между &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;info_portion id=&amp;quot;spawn&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/info_portion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
можете писать сколько угодно активаций скриптов(в пределах разумного,если не хотите загрузить процессор двумя сотнями операций:)&lt;br /&gt;
Подключим наш файл в секцию инфопоршен в &amp;quot;system.ltx&amp;quot;:&lt;br /&gt;
...&lt;br /&gt;
[info_portions]&lt;br /&gt;
;список xml файлов, содержащих info_portions&lt;br /&gt;
files = spawn, info_portions, info_portions_light, info_portions_test, info_lchanger_ico...&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;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D1%86%D0%B8%D0%B8_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F</id>
		<title>Опции управления</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D1%86%D0%B8%D0%B8_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F"/>
				<updated>2009-09-03T13:00:25Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;При написании мода зачастую привязываешь какую либо команду через консоль или при редактировании &amp;quot;user.ltx&amp;quot;.Чтобы ваша команда появилась в опциях управления и можно было быстро и удобно&lt;br /&gt;
назначить\сменить клавишу вызова нам необходимо два файла:&lt;br /&gt;
-gamedata\config\ui\ui_keybinding.xml&lt;br /&gt;
-gamedata\config\text\rus\ui_st_keybinding.xml&lt;br /&gt;
Открываем первый файл,структура свойств кнопок такова:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;keybingidg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;group name=&amp;quot;kb_grp_direction&amp;quot;&amp;gt;	&lt;br /&gt;
							-название групп(в данном случае &amp;quot;направление&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_left&amp;quot;						exe=&amp;quot;left&amp;quot;/&amp;gt;&lt;br /&gt;
	-команда кнопки типа описание\действие&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_right&amp;quot;						exe=&amp;quot;right&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_up&amp;quot;							exe=&amp;quot;up&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_down&amp;quot;						exe=&amp;quot;down&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;group name=&amp;quot;kb_grp_movement&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_forward&amp;quot;					exe=&amp;quot;forward&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_backward&amp;quot;					exe=&amp;quot;back&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_left_strafe&amp;quot;				exe=&amp;quot;lstrafe&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_right_strafe&amp;quot;				exe=&amp;quot;rstrafe&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_jump&amp;quot;						exe=&amp;quot;jump&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_crouch&amp;quot;						exe=&amp;quot;crouch&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_crouch_toggle&amp;quot;				exe=&amp;quot;crouch_toggle&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
Добавим для примера возможность назначения клавиш для различных видов камер(вид от первого лица,вид от третьего...).Для этого добавим в любую группу(разумней будет в направление,а почему,&lt;br /&gt;
думаю понятно) строки:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;group name=&amp;quot;kb_grp_direction&amp;quot;&amp;gt;	&lt;br /&gt;
							&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_left&amp;quot;						exe=&amp;quot;left&amp;quot;/&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_right&amp;quot;						exe=&amp;quot;right&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_up&amp;quot;							exe=&amp;quot;up&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_down&amp;quot;						exe=&amp;quot;down&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_1&amp;quot;						exe=&amp;quot;cam_1&amp;quot;&amp;gt;&lt;br /&gt;
	-вот &lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_2&amp;quot;						exe=&amp;quot;cam_2&amp;quot;&amp;gt;&lt;br /&gt;
	-      наши&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_3&amp;quot;						exe=&amp;quot;cam_3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	-                строки&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_4&amp;quot;						exe=&amp;quot;cam_4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	-                            с видами&lt;br /&gt;
&lt;br /&gt;
Разберу что обозначает каждая секция.Секция &amp;quot;command id=&amp;quot;kb_cam_4&amp;quot;&amp;quot;-это ссылка на описание,вернее на название функции в &amp;quot;gamedata\config\text\rus\ui_st_keybinding.xml&amp;quot;,а секция &amp;quot;exe=&amp;quot;cam_4&amp;quot;&amp;quot;&lt;br /&gt;
это сам вызов функции(подразумевается,что  запись &amp;quot;bind&amp;quot; упускается,то есть получается краткая запись:))....Итак,заходим в игру,в опции управления и видим наши функции,но одно НО,они отображаются&lt;br /&gt;
тем же текстом,что и ссылка.Чтоб это исправить необходимо добавить их описание в &amp;quot;gamedata\config\text\rus\ui_st_keybinding.xml&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;windows-1251&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;string_table&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;kb_active_jobs&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;kb_always_run&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;kb_artefact&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;kb_cam_1&amp;quot;&amp;gt;					-вот название ссылки&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 1&amp;lt;/text&amp;gt;				-сам русско-язычный текст&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;kb_cam_2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 2&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;kb_cam_3&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 3&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;kb_cam_4&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 4&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&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;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F</id>
		<title>SoC. Энциклопедия</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F"/>
				<updated>2009-09-03T12:58:57Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Как получить всю инфу в энциклопедию в начале новой игры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Как получить всю инфу в энциклопедию в начале новой игры====&lt;br /&gt;
Разбирать добавление статьи в энциклопедию я не буду,а просто раскажу как выдать всю инфу в начале игры:)Открываем файл &amp;quot;gamedata\scripts\bind_stalker.script&amp;quot; и  ищем строки:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;storyline_actor_start&amp;quot;)&lt;br /&gt;
			_G.g_start_avi = true&lt;br /&gt;
			printf(&amp;quot;*AVI* RUN START AVI&amp;quot;)			&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
--		if not has_alife_info(&amp;quot;encyclopedy&amp;quot;) then		-раскомпилитим &lt;br /&gt;
&lt;br /&gt;
--			self.object:give_info_portion(&amp;quot;encyclopedy&amp;quot;)	-		эти&lt;br /&gt;
&lt;br /&gt;
--		end						-			строки&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;global_dialogs&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;global_dialogs&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;level_changer_icons&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;level_changer_icons&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		level_tasks.add_lchanger_location()&lt;br /&gt;
&lt;br /&gt;
		self.bCheckStart = false&lt;br /&gt;
		&lt;br /&gt;
	end		&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Теперь,когда вы начнете игру,у вас добавятся все стандартные статьи из игры...Просто,да?:)Мы не ограничемся только ими,добавим статьи про оружие,машины и т.п.,а так же ваши,добавленные=-)&lt;br /&gt;
Инфопоршну &amp;quot;энциклопедия&amp;quot; игра берет из файла &amp;quot;gamedata\config\gamplay\info_known_objects.xml&amp;quot;.Открываем и смотрим структуру:&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Ну и так далее...Чтоб добавить инфу,например о ПМм,просто пишем между любыми артиклами(например):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;weapons1_wpn-pm&amp;lt;/article&amp;gt;			-теперь нам будут выдавать инфу о ПМм&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Объясню где брал инфопоршну ПМм-в &amp;quot;config\gameplay\encyclopedia_weapons.xml&amp;quot;.В той же папке есть и файлы с инфопоршнами предметов(еды и т.п.),машин и т.п.&lt;br /&gt;
Добавляем их все...Долго,но что поделать,раз решились сделать:)Если все добавите-игра вылетит.Исправить это легко---просто в &amp;quot;config\system.ltx&amp;quot; добавим наши &amp;quot;недостающие&amp;quot; файлы(типа машин и т.п.).&lt;br /&gt;
Открываем и ищем секцию энциклопедии:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Через запятую добавляем наши недостающие файлы:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial,encyclopedia_vehicles,&lt;br /&gt;
encyclopedia_new&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Вроде все(могу ошибатся:))...Кстати,я советовал бы вам добавлять свои статьи таким же способом-создаем отдельный файл,подключаем его в системе,и работаем дальше с ним...И все равно к какой теме&lt;br /&gt;
относится ваша статья,игра считывает ее из любых файлов секции &amp;quot;encyclopedia&amp;quot;.Теперь у нас в ПДА отображаются все возможные статьи=-)&lt;br /&gt;
&lt;br /&gt;
P.S.-сам обсолютно все статьи все никак не собирусь добавить,так что не знаю,есть ли там какие-либо ошибки...:)Если вылетела или зависла==&amp;gt;открываем блокнот и жмем &amp;quot;Ctrl+V&amp;quot;(вставить) и смотрим лог &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;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F</id>
		<title>SoC. Энциклопедия</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F"/>
				<updated>2009-09-03T12:58:35Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Как получить всю инфу в энциклопедию в начале новой игры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Как получить всю инфу в энциклопедию в начале новой игры====&lt;br /&gt;
Разбирать добавление статьи в энциклопедию я не буду,а просто раскажу как выдать всю инфу в начале игры:)Открываем файл &amp;quot;gamedata\scripts\bind_stalker.script&amp;quot; и  ищем строки:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;storyline_actor_start&amp;quot;)&lt;br /&gt;
			_G.g_start_avi = true&lt;br /&gt;
			printf(&amp;quot;*AVI* RUN START AVI&amp;quot;)			&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
--		if not has_alife_info(&amp;quot;encyclopedy&amp;quot;) then		-раскомпилитим &lt;br /&gt;
&lt;br /&gt;
--			self.object:give_info_portion(&amp;quot;encyclopedy&amp;quot;)	-		эти&lt;br /&gt;
&lt;br /&gt;
--		end						-			строки&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;global_dialogs&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;global_dialogs&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;level_changer_icons&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;level_changer_icons&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		level_tasks.add_lchanger_location()&lt;br /&gt;
&lt;br /&gt;
		self.bCheckStart = false		&lt;br /&gt;
	end		&lt;br /&gt;
end&lt;br /&gt;
....&lt;br /&gt;
Теперь,когда вы начнете игру,у вас добавятся все стандартные статьи из игры...Просто,да?:)Мы не ограничемся только ими,добавим статьи про оружие,машины и т.п.,а так же ваши,добавленные=-)&lt;br /&gt;
Инфопоршну &amp;quot;энциклопедия&amp;quot; игра берет из файла &amp;quot;gamedata\config\gamplay\info_known_objects.xml&amp;quot;.Открываем и смотрим структуру:&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Ну и так далее...Чтоб добавить инфу,например о ПМм,просто пишем между любыми артиклами(например):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;weapons1_wpn-pm&amp;lt;/article&amp;gt;			-теперь нам будут выдавать инфу о ПМм&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Объясню где брал инфопоршну ПМм-в &amp;quot;config\gameplay\encyclopedia_weapons.xml&amp;quot;.В той же папке есть и файлы с инфопоршнами предметов(еды и т.п.),машин и т.п.&lt;br /&gt;
Добавляем их все...Долго,но что поделать,раз решились сделать:)Если все добавите-игра вылетит.Исправить это легко---просто в &amp;quot;config\system.ltx&amp;quot; добавим наши &amp;quot;недостающие&amp;quot; файлы(типа машин и т.п.).&lt;br /&gt;
Открываем и ищем секцию энциклопедии:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Через запятую добавляем наши недостающие файлы:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial,encyclopedia_vehicles,&lt;br /&gt;
encyclopedia_new&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Вроде все(могу ошибатся:))...Кстати,я советовал бы вам добавлять свои статьи таким же способом-создаем отдельный файл,подключаем его в системе,и работаем дальше с ним...И все равно к какой теме&lt;br /&gt;
относится ваша статья,игра считывает ее из любых файлов секции &amp;quot;encyclopedia&amp;quot;.Теперь у нас в ПДА отображаются все возможные статьи=-)&lt;br /&gt;
&lt;br /&gt;
P.S.-сам обсолютно все статьи все никак не собирусь добавить,так что не знаю,есть ли там какие-либо ошибки...:)Если вылетела или зависла==&amp;gt;открываем блокнот и жмем &amp;quot;Ctrl+V&amp;quot;(вставить) и смотрим лог &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;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F</id>
		<title>SoC. Энциклопедия</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F"/>
				<updated>2009-09-03T12:58:16Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Как получить всю инфу в энциклопедию в начале новой игры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Как получить всю инфу в энциклопедию в начале новой игры====&lt;br /&gt;
Разбирать добавление статьи в энциклопедию я не буду,а просто раскажу как выдать всю инфу в начале игры:)Открываем файл &amp;quot;gamedata\scripts\bind_stalker.script&amp;quot; и  ищем строки:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;storyline_actor_start&amp;quot;)&lt;br /&gt;
			_G.g_start_avi = true&lt;br /&gt;
			printf(&amp;quot;*AVI* RUN START AVI&amp;quot;)			&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
--		if not has_alife_info(&amp;quot;encyclopedy&amp;quot;) then		-раскомпилитим &lt;br /&gt;
--			self.object:give_info_portion(&amp;quot;encyclopedy&amp;quot;)	-		эти&lt;br /&gt;
--		end						-			строки&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;global_dialogs&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;global_dialogs&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;level_changer_icons&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;level_changer_icons&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		level_tasks.add_lchanger_location()&lt;br /&gt;
&lt;br /&gt;
		self.bCheckStart = false		&lt;br /&gt;
	end		&lt;br /&gt;
end&lt;br /&gt;
....&lt;br /&gt;
Теперь,когда вы начнете игру,у вас добавятся все стандартные статьи из игры...Просто,да?:)Мы не ограничемся только ими,добавим статьи про оружие,машины и т.п.,а так же ваши,добавленные=-)&lt;br /&gt;
Инфопоршну &amp;quot;энциклопедия&amp;quot; игра берет из файла &amp;quot;gamedata\config\gamplay\info_known_objects.xml&amp;quot;.Открываем и смотрим структуру:&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Ну и так далее...Чтоб добавить инфу,например о ПМм,просто пишем между любыми артиклами(например):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;weapons1_wpn-pm&amp;lt;/article&amp;gt;			-теперь нам будут выдавать инфу о ПМм&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Объясню где брал инфопоршну ПМм-в &amp;quot;config\gameplay\encyclopedia_weapons.xml&amp;quot;.В той же папке есть и файлы с инфопоршнами предметов(еды и т.п.),машин и т.п.&lt;br /&gt;
Добавляем их все...Долго,но что поделать,раз решились сделать:)Если все добавите-игра вылетит.Исправить это легко---просто в &amp;quot;config\system.ltx&amp;quot; добавим наши &amp;quot;недостающие&amp;quot; файлы(типа машин и т.п.).&lt;br /&gt;
Открываем и ищем секцию энциклопедии:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Через запятую добавляем наши недостающие файлы:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial,encyclopedia_vehicles,&lt;br /&gt;
encyclopedia_new&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Вроде все(могу ошибатся:))...Кстати,я советовал бы вам добавлять свои статьи таким же способом-создаем отдельный файл,подключаем его в системе,и работаем дальше с ним...И все равно к какой теме&lt;br /&gt;
относится ваша статья,игра считывает ее из любых файлов секции &amp;quot;encyclopedia&amp;quot;.Теперь у нас в ПДА отображаются все возможные статьи=-)&lt;br /&gt;
&lt;br /&gt;
P.S.-сам обсолютно все статьи все никак не собирусь добавить,так что не знаю,есть ли там какие-либо ошибки...:)Если вылетела или зависла==&amp;gt;открываем блокнот и жмем &amp;quot;Ctrl+V&amp;quot;(вставить) и смотрим лог &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;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F</id>
		<title>SoC. Энциклопедия</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F"/>
				<updated>2009-09-03T12:57:40Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Как получить всю инфу в энциклопедию в начале новой игры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Как получить всю инфу в энциклопедию в начале новой игры====&lt;br /&gt;
Разбирать добавление статьи в энциклопедию я не буду,а просто раскажу как выдать всю инфу в начале игры:)Открываем файл &amp;quot;gamedata\scripts\bind_stalker.script&amp;quot; и  ищем строки:&lt;br /&gt;
...&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;storyline_actor_start&amp;quot;)&lt;br /&gt;
			_G.g_start_avi = true&lt;br /&gt;
			printf(&amp;quot;*AVI* RUN START AVI&amp;quot;)			&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
--		if not has_alife_info(&amp;quot;encyclopedy&amp;quot;) then		-раскомпилитим &lt;br /&gt;
--			self.object:give_info_portion(&amp;quot;encyclopedy&amp;quot;)	-		эти&lt;br /&gt;
--		end						-			строки&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;global_dialogs&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;global_dialogs&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;level_changer_icons&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;level_changer_icons&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		level_tasks.add_lchanger_location()&lt;br /&gt;
&lt;br /&gt;
		self.bCheckStart = false		&lt;br /&gt;
	end		&lt;br /&gt;
end&lt;br /&gt;
....&lt;br /&gt;
Теперь,когда вы начнете игру,у вас добавятся все стандартные статьи из игры...Просто,да?:)Мы не ограничемся только ими,добавим статьи про оружие,машины и т.п.,а так же ваши,добавленные=-)&lt;br /&gt;
Инфопоршну &amp;quot;энциклопедия&amp;quot; игра берет из файла &amp;quot;gamedata\config\gamplay\info_known_objects.xml&amp;quot;.Открываем и смотрим структуру:&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Ну и так далее...Чтоб добавить инфу,например о ПМм,просто пишем между любыми артиклами(например):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;weapons1_wpn-pm&amp;lt;/article&amp;gt;			-теперь нам будут выдавать инфу о ПМм&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Объясню где брал инфопоршну ПМм-в &amp;quot;config\gameplay\encyclopedia_weapons.xml&amp;quot;.В той же папке есть и файлы с инфопоршнами предметов(еды и т.п.),машин и т.п.&lt;br /&gt;
Добавляем их все...Долго,но что поделать,раз решились сделать:)Если все добавите-игра вылетит.Исправить это легко---просто в &amp;quot;config\system.ltx&amp;quot; добавим наши &amp;quot;недостающие&amp;quot; файлы(типа машин и т.п.).&lt;br /&gt;
Открываем и ищем секцию энциклопедии:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Через запятую добавляем наши недостающие файлы:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial,encyclopedia_vehicles,&lt;br /&gt;
encyclopedia_new&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Вроде все(могу ошибатся:))...Кстати,я советовал бы вам добавлять свои статьи таким же способом-создаем отдельный файл,подключаем его в системе,и работаем дальше с ним...И все равно к какой теме&lt;br /&gt;
относится ваша статья,игра считывает ее из любых файлов секции &amp;quot;encyclopedia&amp;quot;.Теперь у нас в ПДА отображаются все возможные статьи=-)&lt;br /&gt;
&lt;br /&gt;
P.S.-сам обсолютно все статьи все никак не собирусь добавить,так что не знаю,есть ли там какие-либо ошибки...:)Если вылетела или зависла==&amp;gt;открываем блокнот и жмем &amp;quot;Ctrl+V&amp;quot;(вставить) и смотрим лог &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;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F</id>
		<title>SoC. Энциклопедия</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F"/>
				<updated>2009-09-03T12:56:09Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Как получить всю инфу в энциклопедию в начале новой игры====&lt;br /&gt;
Разбирать добавление статьи в энциклопедию я не буду,а просто раскажу как выдать всю инфу в начале игры:)Открываем файл &amp;quot;gamedata\scripts\bind_stalker.script&amp;quot; и  ищем строки:&lt;br /&gt;
...&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;storyline_actor_start&amp;quot;)&lt;br /&gt;
			_G.g_start_avi = true&lt;br /&gt;
			printf(&amp;quot;*AVI* RUN START AVI&amp;quot;)			&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
--		if not has_alife_info(&amp;quot;encyclopedy&amp;quot;) then		-раскомпилитим &lt;br /&gt;
--			self.object:give_info_portion(&amp;quot;encyclopedy&amp;quot;)	-		эти&lt;br /&gt;
--		end						-			строки&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;global_dialogs&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;global_dialogs&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;level_changer_icons&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;level_changer_icons&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		level_tasks.add_lchanger_location()&lt;br /&gt;
&lt;br /&gt;
		self.bCheckStart = false		&lt;br /&gt;
	end		&lt;br /&gt;
end&lt;br /&gt;
....&lt;br /&gt;
Теперь,когда вы начнете игру,у вас добавятся все стандартные статьи из игры...Просто,да?:)Мы не ограничемся только ими,добавим статьи про оружие,машины и т.п.,а так же ваши,добавленные=-)&lt;br /&gt;
Инфопоршну &amp;quot;энциклопедия&amp;quot; игра берет из файла &amp;quot;gamedata\config\gamplay\info_known_objects.xml&amp;quot;.Открываем и смотрим структуру:&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Ну и так далее...Чтоб добавить инфу,например о ПМм,просто пишем между любыми артиклами(например):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;weapons1_wpn-pm&amp;lt;/article&amp;gt;			-теперь нам будут выдавать инфу о ПМм&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Объясню где брал инфопоршну ПМм-в &amp;quot;config\gameplay\encyclopedia_weapons.xml&amp;quot;.В той же папке есть и файлы с инфопоршнами предметов(еды и т.п.),машин и т.п.&lt;br /&gt;
Добавляем их все...Долго,но что поделать,раз решились сделать:)Если все добавите-игра вылетит.Исправить это легко---просто в &amp;quot;config\system.ltx&amp;quot; добавим наши &amp;quot;недостающие&amp;quot; файлы(типа машин и т.п.).&lt;br /&gt;
Открываем и ищем секцию энциклопедии:&lt;br /&gt;
...&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial&lt;br /&gt;
....&lt;br /&gt;
Через запятую добавляем наши недостающие файлы:&lt;br /&gt;
...&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial,encyclopedia_vehicles,&lt;br /&gt;
encyclopedia_new&lt;br /&gt;
....&lt;br /&gt;
Вроде все(могу ошибатся:))...Кстати,я советовал бы вам добавлять свои статьи таким же способом-создаем отдельный файл,подключаем его в системе,и работаем дальше с ним...И все равно к какой теме&lt;br /&gt;
относится ваша статья,игра считывает ее из любых файлов секции &amp;quot;encyclopedia&amp;quot;.Теперь у нас в ПДА отображаются все возможные статьи=-)&lt;br /&gt;
&lt;br /&gt;
P.S.-сам обсолютно все статьи все никак не собирусь добавить,так что не знаю,есть ли там какие-либо ошибки...:)Если вылетела или зависла==&amp;gt;открываем блокнот и жмем &amp;quot;Ctrl+V&amp;quot;(вставить) и смотрим лог &lt;br /&gt;
ошибки...&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:53:16Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Авторы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
можно и описанным способом,но иногда требуется присвоить торговлю к уже имеющимся неписям.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Делаем это точно также как описано,но различие в том,что мы редактируем секцию Волка в &amp;quot;character_desc_escape.xml&amp;quot;&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&amp;lt;br&amp;gt;&lt;br /&gt;
Дополнение [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:52:53Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Авторы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
можно и описанным способом,но иногда требуется присвоить торговлю к уже имеющимся неписям.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Делаем это точно также как описано,но различие в том,что мы редактируем секцию Волка в &amp;quot;character_desc_escape.xml&amp;quot;&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&lt;br /&gt;
Дополнение [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:51:50Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Присваеваем торговлю уже имеющемуся неписю */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
можно и описанным способом,но иногда требуется присвоить торговлю к уже имеющимся неписям.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Делаем это точно также как описано,но различие в том,что мы редактируем секцию Волка в &amp;quot;character_desc_escape.xml&amp;quot;&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:49:24Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Присваеваем торговлю уже имеющемуся неписю */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
можно и описанным способом,но иногда требуется присвоить торговлю к уже имеющимся неписям.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Специально для начинающих пишу-заходим в &amp;quot;config\gameplay\character_desc_escape.xml'' и ищем секцию Волка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt;  &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь строка &amp;quot;&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&amp;quot; отвечает за минимальное\максимальное кол-во денег соответственно,а если поставить infinitive=&amp;quot;1&amp;quot; то денеги будут бесконечные:)&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:48:34Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Присваеваем торговлю уже имеющемуся неписю */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
можно и описанным способом,но иногда требуется присвоить торговлю к уже имеющимся неписям.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Специально для начинающих пишу-заходим в &amp;quot;config\gameplay\character_desc_escape.xml'' и ищем секцию Волка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt;  &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
	#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
Здесь строка &amp;quot;&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&amp;quot; отвечает за минимальное\максимальное кол-во денег соответственно,а если поставить infinitive=&amp;quot;1&amp;quot; то денеги будут бесконечные:)&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:48:09Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Присваеваем торговлю уже имеющемуся неписю */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
можно и описанным способом,но иногда требуется присвоить торговлю к уже имеющимся неписям.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Специально для начинающих пишу-заходим в &amp;quot;config\gameplay\character_desc_escape.xml'' и ищем секцию Волка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt;  &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
	#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
Здесь строка &amp;quot;&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&amp;quot; отвечает за минимальное\максимальное кол-во денег соответственно,а если поставить infinitive=&amp;quot;1&amp;quot; то денеги будут бесконечные:)&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:47:16Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Присваеваем торговлю уже имеющемуся неписю */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
можно и описанным способом,но иногда требуется присвоить торговлю к уже имеющимся неписям.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Специально для начинающих пишу-заходим в &amp;quot;config\gameplay\character_desc_escape.xml'' и ищем секцию Волка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt;  &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
	#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
Здесь строка &amp;quot;&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&amp;quot; отвечает за минимальное\максимальное кол-во денег соответственно,а если поставить infinitive=&amp;quot;1&amp;quot; то денеги будут бесконечные:)&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:46:13Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Создаём вейпоинты и лукпоинты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&lt;br /&gt;
&lt;br /&gt;
upd:next_game_vertex_id = 65535&lt;br /&gt;
upd:prev_game_vertex_id = 65535&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&lt;br /&gt;
&lt;br /&gt;
; cse_ph_skeleton properties&lt;br /&gt;
&lt;br /&gt;
upd:start_dialog = &lt;br /&gt;
&lt;br /&gt;
; se_stalker properties&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
Нашел способ создание нового торговца.&lt;br /&gt;
Желательно конечно заспавнить в игру своего уникального персонажа и &amp;quot;повесить&amp;quot; торговлю на него,но не обязательно.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Специально для начинающих пишу-заходим в &amp;quot;config\gameplay\character_desc_escape.xml'' и ищем секцию Волка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt;  &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
	#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
Здесь строка &amp;quot;&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&amp;quot; отвечает за минимальное\максимальное кол-во денег соответственно,а если поставить infinitive=&amp;quot;1&amp;quot; то денеги будут бесконечные:)&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Обсуждение:Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:44:09Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</id>
		<title>Обсуждение:Создание нового торговца</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-03T12:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Можно и описанным способом,но если хотим повесить торговлю на уже имеющегося непися,то читаем.Будем делать торговцем кого-нибудь из уже имеющихся...Кого,кого,кого...&lt;br /&gt;
Как обычно Волка(у меня две подопотных &amp;quot;крысы&amp;quot;-Сидорович и Волк,а так как Сид уже им является,выбор очевиден:)Ну чтож приступим.Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;.&lt;br /&gt;
Можно прописать его самому(как это делать я объяснять не буду,т.к. и до меня все это сделано не один раз:),можно скопировать любой другой...я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &lt;br /&gt;
&amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.Теперь нужно сослаться на его.Делается это в файле логики,тобиш в &amp;quot;gulag_escape.ltx&amp;quot;(почему в эскейп,думаю понятно,&lt;br /&gt;
наш Волк находится на нем-Кордоне:).Открываем файл и ищем строки:&lt;br /&gt;
....&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
.....&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
...&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;,а вот следующей строкой увеличиваем переносимый вес,поскольку он и у неписей ограничен:)&lt;br /&gt;
Осталось только дать нашему &amp;quot;новороженному&amp;quot; торговцу-Волку побольше денег...Специально для начинающих пишу-заходим в &amp;quot;config\gameplay\character_desc_escape.xml'' и ищем секцию Волка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt;  &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
	#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
Здесь строка &amp;quot;&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&amp;quot; отвечает за минимальное\максимальное кол-во денег соответственно,а если поставить infinitive=&amp;quot;1&amp;quot; то денеги будут бесконечные:)&lt;br /&gt;
Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу,но правда на всякий случай,поскольку не проверял,работает ли с ним=)&lt;br /&gt;
На этом все,заходим в игру и наслаждаемся собственным творением:)&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс,работает,но как-то неправильно:(...у торговца оказывается нет поддержки перемещения:(Поэтому ГСЦ всех торгошей и биндят не сталкером,а монстром:)&lt;br /&gt;
Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Заместо старого.Все будет работать на УРА,с одним огрехом-Волк не будет отмечатся как цель при задании поговорить с Волком перед АТП,но думаю это не столь важно:)Ну и еще без ствола будет ходить,&lt;br /&gt;
но если будет атакован,то пушка появится &amp;quot;из широких штанин=-)&amp;quot; Волка и он будет из нее пытаться вас нашпиговать свинцом:)&lt;br /&gt;
&lt;br /&gt;
Пост скриптум,дубль два:)...Теоритически,если строки с калбеками из обычной секции сталкера прописать в мою,то наш традер(в данном случае Волк) будет неким гибридом,сочетающим свойства как и &lt;br /&gt;
НПС,так и уникальных торговцев,попробуйте,должно работать=-)&lt;br /&gt;
&lt;br /&gt;
Автор:    Костя.н.ы.ч&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5</id>
		<title>Торговля в игре</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5"/>
				<updated>2009-09-03T12:41:57Z</updated>
		
		<summary type="html">&lt;p&gt;Костя.н.ы.ч: /* Секция [trader_after_***_sell] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Данная статья посвящена торговле в игре.&lt;br /&gt;
Т.е. как менять цены на товары, асортимент товаров у торговца и т.д.&amp;lt;br/&amp;gt;&lt;br /&gt;
Благодарность за предоставленную информацию: '''_And_'''.&lt;br /&gt;
__TOC__&lt;br /&gt;
== Файлы ==&lt;br /&gt;
Все настройки, связанные с ассортиментом торговцев в игре, находятся в файлах gamedata\config\misc\trade_***.ltx&lt;br /&gt;
*Сидорович - gamedata\config\misc\trade_trader.ltx&lt;br /&gt;
*Бармен - gamedata\config\misc\trade_barman.ltx&lt;br /&gt;
*Учёный на Янтаре - gamedata\config\misc\trade_ecolog.ltx&lt;br /&gt;
*Торговец в штабе Долга - gamedata\config\misc\trade_dolg.ltx&lt;br /&gt;
*Торговец в штабе Свободы - gamedata\config\misc\trade_freedom.ltx&lt;br /&gt;
*Все обычные сталкеры - gamedata\config\misc\trade_generic.ltx&lt;br /&gt;
&lt;br /&gt;
== Структура файла ==&lt;br /&gt;
&lt;br /&gt;
=== Секция [trader_generic_buy] ===&lt;br /&gt;
Эта секция описывает какие товары торговец будет покупать.&lt;br /&gt;
&amp;lt;pre&amp;gt;Название предмета = минимальная цена покупки, максимальная цена покупки&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''''Например:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;wpn_vintorez = 0.5, 0.7&amp;lt;/pre&amp;gt;	&lt;br /&gt;
Это значит что торговец купит оружие от 50% полной его стоимости до 70%, т.е. если Винторез стоит 1000, то торговец купит его в диапазоне от 500 до 700 рублей.&lt;br /&gt;
Диапазон зависит от отношения торговца к Меченому - чем лучше, тем дороже купит&lt;br /&gt;
&lt;br /&gt;
=== Секция  [supplies_start] ===&lt;br /&gt;
Эта секция описывает какие товары у торговца будут вначале.&lt;br /&gt;
&amp;lt;pre&amp;gt;Название предмета = количество, вероятность появления&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''''Например:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;bandage = 5, 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине.&lt;br /&gt;
&amp;lt;pre&amp;gt;bandage = 5, 0.6&amp;lt;/pre&amp;gt;&lt;br /&gt;
А тут уже вероятность появления 60%. Т.е. бинты не всегда будут.&lt;br /&gt;
&lt;br /&gt;
=== Секция [supplies_after_***]  ===&lt;br /&gt;
Тоже самое, что в секции [supplies_start], но после выполнения квестов торговца.  &lt;br /&gt;
&lt;br /&gt;
=== Секция [trader_start_sell] ===&lt;br /&gt;
Эта секция описывает за какую цену торговец будет продавать.&lt;br /&gt;
&amp;lt;pre&amp;gt;Название предмета = минимальная цена продажи, максимальная цена продажи&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''''Например:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;wpn_vintorez = 1, 2&amp;lt;/pre&amp;gt;	&lt;br /&gt;
Это значит что торговец продаст оружие от 100% полной его стоимости до 200%, т.е. если Винторез стоит 1000, то торговец продаст его в диапазоне от 1000 до 2000 рублей.&lt;br /&gt;
Диапазон зависит от отношения торговца к Меченому - чем лучше, тем дешевле продаст&lt;br /&gt;
&lt;br /&gt;
=== Секция [trader_after_***_sell] ===&lt;br /&gt;
Тоже самое, что в секции [trader_start_sell], но после выполнения квестов торговца.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--Neo][ 15:06, 14 мая 2007 (MSD)&lt;br /&gt;
[[Категория:Конфигурационные файлы]]&lt;/div&gt;</summary>
		<author><name>Костя.н.ы.ч</name></author>	</entry>

	</feed>