<?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=Rez%40niy</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=Rez%40niy"/>
		<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/Rez@niy"/>
		<updated>2026-06-09T23:16:29Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<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%BB%D0%B5%D1%81%D1%82%D0%BD%D0%B8%D1%86</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%BB%D0%B5%D1%81%D1%82%D0%BD%D0%B8%D1%86"/>
				<updated>2010-04-08T13:47:03Z</updated>
		
		<summary type="html">&lt;p&gt;Rez@niy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаём плоскость, или берем уже готовый обьект.&lt;br /&gt;
[URL=http://www.radikal.ru][IMG]http://i060.radikal.ru/1004/42/c4310a3786b0.jpg[/IMG][/URL]&lt;br /&gt;
&lt;br /&gt;
Назначаем текстуру лестницы с альфа-каналом, или если мы ацкий моделлер делаем вручную, и назначем шейдеры. Всё!&lt;br /&gt;
P.S. Если будем трахать атвору мозги, кроме матов ничё не услышите&lt;/div&gt;</summary>
		<author><name>Rez@niy</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%BB%D0%B5%D1%81%D1%82%D0%BD%D0%B8%D1%86</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%BB%D0%B5%D1%81%D1%82%D0%BD%D0%B8%D1%86"/>
				<updated>2010-04-08T13:45:34Z</updated>
		
		<summary type="html">&lt;p&gt;Rez@niy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаём плоскость, или берем уже готовый обьект.&lt;br /&gt;
[URL=http://www.radikal.ru][IMG]http://i060.radikal.ru/1004/42/c4310a3786b0.jpg[/IMG][/URL]&lt;br /&gt;
&lt;br /&gt;
Назначаем текстуру лестницы с альфа-каналом, или если мы ацкий моделлер делаем вручную, и назначем шейдеры. Всё!&lt;/div&gt;</summary>
		<author><name>Rez@niy</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_WayPoint</id>
		<title>Создание WayPoint</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_WayPoint"/>
				<updated>2010-03-28T12:22:12Z</updated>
		
		<summary type="html">&lt;p&gt;Rez@niy: /* Пропишем путь нашему сталкеру */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создадим вейппоинт.&lt;br /&gt;
Не буду говорить все точно, скажу для новичков :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Что такое вейпоинт ==&lt;br /&gt;
WayPoint(он же вейпоинт, ВП,WP) - путь передвижения для отдельного сталкера, состоит из точек путей.&lt;br /&gt;
Чтобы создать ВП, нужно расстыковать all.spawn(не буду описывать, как это делать).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Создаем вейпоинт, с одной точкой ==&lt;br /&gt;
Открываете way_название локации и прописываете текст, подобный этому: &lt;br /&gt;
&lt;br /&gt;
 [name_weypoint]&lt;br /&gt;
 points = p0&lt;br /&gt;
 p0:name = wp00&lt;br /&gt;
 p0:position = 185.667572021484,-0.436268001794815,-260.062866210938&lt;br /&gt;
 p0:game_vertex_id = 696&lt;br /&gt;
 p0:level_vertex_id = 415469&lt;br /&gt;
&lt;br /&gt;
А теперь, подробнее&lt;br /&gt;
 [name_weypoint] - название путя&lt;br /&gt;
 points = p0 - список точек путя, через запятую ( например oints = p0,p1,p2 и т.д.&lt;br /&gt;
 po:name = wp00 название первой точки путя.&lt;br /&gt;
 p0:position - позиции точки путя.&lt;br /&gt;
 p0:game_vertix_id - вертиксы локации&lt;br /&gt;
 p0:level_vertex_id&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Вейпоинт с несколькими точками ==&lt;br /&gt;
 &lt;br /&gt;
[name_wp]&lt;br /&gt;
 points = p0,p1,p2,p3&lt;br /&gt;
 p0:name = wp00&lt;br /&gt;
 p0:flags = 0x1&lt;br /&gt;
 p0:position = 163.527374267578,-0.432826995849609,-266.167022705078&lt;br /&gt;
 p0:game_vertex_id = 854&lt;br /&gt;
 p0:level_vertex_id = 392698&lt;br /&gt;
 p0:links = p1(1),p3(1)&lt;br /&gt;
&lt;br /&gt;
 p1:name = wp01&lt;br /&gt;
 p1:flags = 0x2&lt;br /&gt;
 p1:position = 176.939651489258,-0.50609302520752,-264.630889892578&lt;br /&gt;
 p1:game_vertex_id = 696&lt;br /&gt;
 p1:level_vertex_id = 406938&lt;br /&gt;
 p1:links = p2(1)&lt;br /&gt;
&lt;br /&gt;
 p2:name = wp02&lt;br /&gt;
 p2:flags = 0x2&lt;br /&gt;
 p2:position = 179.156524658203,-0.430828988552094,-266.572570800781&lt;br /&gt;
 p2:game_vertex_id = 696&lt;br /&gt;
 p2:level_vertex_id = 409212&lt;br /&gt;
&lt;br /&gt;
 p3:name = wp03&lt;br /&gt;
 p3:flags = 0x1&lt;br /&gt;
 p3:position = 161.710388183594,-0.50619900226593,-269.339660644531&lt;br /&gt;
 p3:game_vertex_id = 855&lt;br /&gt;
 p3:level_vertex_id = 390503&lt;br /&gt;
&lt;br /&gt;
Здесь видно, что в первой точке прописаны все 3 точки. &lt;br /&gt;
 points = p0,p1,p2,p3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пропишем путь нашему сталкеру ==&lt;br /&gt;
&lt;br /&gt;
Теперь, чтобы по нашему пути ходил дядька нужно прописать ему этот путь. К кастом дате укажите файл до логики (не буду описавать, как это делаеться)&lt;br /&gt;
 [logic]&lt;br /&gt;
 active = walker&lt;br /&gt;
 [walker]&lt;br /&gt;
 path_walk = name_wp&lt;br /&gt;
 path_look = name_wp&lt;br /&gt;
&lt;br /&gt;
Думаю, что я понятно объяснил :)&lt;br /&gt;
'''Автор статьи - Andrey K aka forest'''&lt;br /&gt;
&lt;br /&gt;
Чтож, дополню и я&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_gen_lager_walker_1]&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = name00&lt;br /&gt;
p0:flags = 0x400&lt;br /&gt;
p0:position = -62.564220428467,-9.9675645828247,-56.229484558105&lt;br /&gt;
p0:game_vertex_id = 77&lt;br /&gt;
p0:level_vertex_id = 213868&lt;br /&gt;
p0:links = p1(1)&lt;br /&gt;
&lt;br /&gt;
p1:name = name01&lt;br /&gt;
p1:flags = 0x800&lt;br /&gt;
p1:position = -58.430591583252,-9.94411277771,-47.951900482178&lt;br /&gt;
p1:game_vertex_id = 77&lt;br /&gt;
p1:level_vertex_id = 219640&lt;br /&gt;
p1:links = p0(1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Скажем, такой путь можно использовать для look и walk&lt;br /&gt;
&amp;lt;B&amp;gt;p0:flags = 0x400&amp;lt;/B&amp;gt; ОБРАТИМ ВНИМАНИЯ!&lt;br /&gt;
&amp;lt;B&amp;gt;p0:flags = 0x800&amp;lt;/B&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Два этих параметра служат как связь. Если в первом поинте walk стоит флаг 0x400, а в поинте look тоже стоит 0x400, когда НПС\МУТАНТ находится на этой точке, его взгляд направлен согласно флагу&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;big&amp;gt;Дополнительные параметры&amp;lt;/big&amp;gt;&amp;lt;/center&amp;gt; &lt;br /&gt;
Возможно задача дополнительных ключей-параметров&lt;br /&gt;
&lt;br /&gt;
Для нпс к примеру&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_gen_lager_walker_1]&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&amp;lt;u&amp;gt;|a=binocular&amp;lt;/u&amp;gt;&lt;br /&gt;
p0:flags = 0x400&lt;br /&gt;
p0:position = -62.564220428467,-9.9675645828247,-56.229484558105&lt;br /&gt;
p0:game_vertex_id = 77&lt;br /&gt;
p0:level_vertex_id = 213868&lt;br /&gt;
p0:links = p1(1)&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x800|&amp;lt;u&amp;gt;a=assault&amp;lt;/u&amp;gt; &lt;br /&gt;
p1:position = -58.430591583252,-9.94411277771,-47.951900482178&lt;br /&gt;
p1:game_vertex_id = 77&lt;br /&gt;
p1:level_vertex_id = 219640&lt;br /&gt;
p1:links = p0(1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отыгрывается анимация сначала смотрит в бинокль, потом атака. Если правильно привязать к точкам обзорного пути - получится красиво&lt;br /&gt;
&lt;br /&gt;
Имена анимаций брать отсюда &amp;lt;big&amp;gt;state_mgr_animation_list.script&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;Касательно вертолётов&amp;lt;/big&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расскажу фишку. Если в логике вертолётов использую путь move и look, плюс с поомшью флагов прциепить move к каждой точке look. Можно ставить на wp дополнительный параметр, стрелять. Параметр называется |e&lt;br /&gt;
Можно сделать сценку, как будто вертолёт зачищает местность. Подробнее о ключах для вертолёта&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== См. также ==http://stalkerin.gameru.net/wiki/index.php/%D0%A7%D0%B0%D1%81%D1%82%D1%8C_4#3.12.1._.D0.A1.D1.85.D0.B5.D0.BC.D0.B0_heli_move:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Всем спасибо все свободны&lt;br /&gt;
&lt;br /&gt;
Автор [[Участник:Rez@niy]] aka Oxygenium&lt;/div&gt;</summary>
		<author><name>Rez@niy</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_WayPoint</id>
		<title>Создание WayPoint</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_WayPoint"/>
				<updated>2010-03-28T12:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;Rez@niy: /* Пропишем путь нашему сталкеру */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создадим вейппоинт.&lt;br /&gt;
Не буду говорить все точно, скажу для новичков :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Что такое вейпоинт ==&lt;br /&gt;
WayPoint(он же вейпоинт, ВП,WP) - путь передвижения для отдельного сталкера, состоит из точек путей.&lt;br /&gt;
Чтобы создать ВП, нужно расстыковать all.spawn(не буду описывать, как это делать).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Создаем вейпоинт, с одной точкой ==&lt;br /&gt;
Открываете way_название локации и прописываете текст, подобный этому: &lt;br /&gt;
&lt;br /&gt;
 [name_weypoint]&lt;br /&gt;
 points = p0&lt;br /&gt;
 p0:name = wp00&lt;br /&gt;
 p0:position = 185.667572021484,-0.436268001794815,-260.062866210938&lt;br /&gt;
 p0:game_vertex_id = 696&lt;br /&gt;
 p0:level_vertex_id = 415469&lt;br /&gt;
&lt;br /&gt;
А теперь, подробнее&lt;br /&gt;
 [name_weypoint] - название путя&lt;br /&gt;
 points = p0 - список точек путя, через запятую ( например oints = p0,p1,p2 и т.д.&lt;br /&gt;
 po:name = wp00 название первой точки путя.&lt;br /&gt;
 p0:position - позиции точки путя.&lt;br /&gt;
 p0:game_vertix_id - вертиксы локации&lt;br /&gt;
 p0:level_vertex_id&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Вейпоинт с несколькими точками ==&lt;br /&gt;
 &lt;br /&gt;
[name_wp]&lt;br /&gt;
 points = p0,p1,p2,p3&lt;br /&gt;
 p0:name = wp00&lt;br /&gt;
 p0:flags = 0x1&lt;br /&gt;
 p0:position = 163.527374267578,-0.432826995849609,-266.167022705078&lt;br /&gt;
 p0:game_vertex_id = 854&lt;br /&gt;
 p0:level_vertex_id = 392698&lt;br /&gt;
 p0:links = p1(1),p3(1)&lt;br /&gt;
&lt;br /&gt;
 p1:name = wp01&lt;br /&gt;
 p1:flags = 0x2&lt;br /&gt;
 p1:position = 176.939651489258,-0.50609302520752,-264.630889892578&lt;br /&gt;
 p1:game_vertex_id = 696&lt;br /&gt;
 p1:level_vertex_id = 406938&lt;br /&gt;
 p1:links = p2(1)&lt;br /&gt;
&lt;br /&gt;
 p2:name = wp02&lt;br /&gt;
 p2:flags = 0x2&lt;br /&gt;
 p2:position = 179.156524658203,-0.430828988552094,-266.572570800781&lt;br /&gt;
 p2:game_vertex_id = 696&lt;br /&gt;
 p2:level_vertex_id = 409212&lt;br /&gt;
&lt;br /&gt;
 p3:name = wp03&lt;br /&gt;
 p3:flags = 0x1&lt;br /&gt;
 p3:position = 161.710388183594,-0.50619900226593,-269.339660644531&lt;br /&gt;
 p3:game_vertex_id = 855&lt;br /&gt;
 p3:level_vertex_id = 390503&lt;br /&gt;
&lt;br /&gt;
Здесь видно, что в первой точке прописаны все 3 точки. &lt;br /&gt;
 points = p0,p1,p2,p3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пропишем путь нашему сталкеру ==&lt;br /&gt;
&lt;br /&gt;
Теперь, чтобы по нашему пути ходил дядька нужно прописать ему этот путь. К кастом дате укажите файл до логики (не буду описавать, как это делаеться)&lt;br /&gt;
 [logic]&lt;br /&gt;
 active = walker&lt;br /&gt;
 [walker]&lt;br /&gt;
 path_walk = name_wp&lt;br /&gt;
 path_look = name_wp&lt;br /&gt;
&lt;br /&gt;
Думаю, что я понятно объяснил :)&lt;br /&gt;
'''Автор статьи - Andrey K aka forest'''&lt;br /&gt;
&lt;br /&gt;
Чтож, дополню и я&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_gen_lager_walker_1]&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = name00&lt;br /&gt;
p0:flags = 0x400&lt;br /&gt;
p0:position = -62.564220428467,-9.9675645828247,-56.229484558105&lt;br /&gt;
p0:game_vertex_id = 77&lt;br /&gt;
p0:level_vertex_id = 213868&lt;br /&gt;
p0:links = p1(1)&lt;br /&gt;
&lt;br /&gt;
p1:name = name01&lt;br /&gt;
p1:flags = 0x800&lt;br /&gt;
p1:position = -58.430591583252,-9.94411277771,-47.951900482178&lt;br /&gt;
p1:game_vertex_id = 77&lt;br /&gt;
p1:level_vertex_id = 219640&lt;br /&gt;
p1:links = p0(1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Скажем, такой путь можно использовать для look и walk&lt;br /&gt;
&amp;lt;B&amp;gt;p0:flags = 0x400&amp;lt;/B&amp;gt; ОБРАТИМ ВНИМАНИЯ!&lt;br /&gt;
&amp;lt;B&amp;gt;p0:flags = 0x800&amp;lt;/B&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Два этих параметра служат как связь. Если в первом поинте walk стоит флаг 0x400, а в поинте look тоже стоит 0x400, когда НПС\МУТАНТ находится на этой точке, его взгляд направлен согласно флагу&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;big&amp;gt;Дополнительные параметры&amp;lt;/big&amp;gt;&amp;lt;/center&amp;gt; &lt;br /&gt;
Возможно задача дополнительных ключей-параметров&lt;br /&gt;
&lt;br /&gt;
Для нпс к примеру&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_gen_lager_walker_1]&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&amp;lt;u&amp;gt;|a=binocular&amp;lt;/u&amp;gt;&lt;br /&gt;
p0:flags = 0x400&lt;br /&gt;
p0:position = -62.564220428467,-9.9675645828247,-56.229484558105&lt;br /&gt;
p0:game_vertex_id = 77&lt;br /&gt;
p0:level_vertex_id = 213868&lt;br /&gt;
p0:links = p1(1)&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x800|&amp;lt;u&amp;gt;a=assault&amp;lt;/u&amp;gt; &lt;br /&gt;
p1:position = -58.430591583252,-9.94411277771,-47.951900482178&lt;br /&gt;
p1:game_vertex_id = 77&lt;br /&gt;
p1:level_vertex_id = 219640&lt;br /&gt;
p1:links = p0(1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отыгрывается анимация сначала смотрит в бинокль, потом атака. Если правильно привязать к точкам обзорного пути - получится красиво&lt;br /&gt;
&lt;br /&gt;
Имена анимаций брать отсюда &amp;lt;big&amp;gt;state_mgr_animation_list.script&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;Касательно вертолётов&amp;lt;/big&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расскажу фишку. Если в логике вертолётов использую путь move и look, плюс с поомшью флагов прциепить move к каждой точке look. Можно ставить на wp дополнительный параметр, стрелять. Параметр называется |e&lt;br /&gt;
Можно сделать сценку, как будто вертолёт зачищает местность. Подробнее о ключах для вертолёта&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== См. также ==http://stalkerin.gameru.net/wiki/index.php/%D0%A7%D0%B0%D1%81%D1%82%D1%8C_4#3.12.1._.D0.A1.D1.85.D0.B5.D0.BC.D0.B0_heli_move:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Всем спасибо все свободны&lt;/div&gt;</summary>
		<author><name>Rez@niy</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=53565_%D0%B8%D0%BB%D0%B8_%D0%9D%D0%B5%D0%BE%D1%81%D0%BE%D1%86._%D1%82%D1%80%D0%B5%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA%D0%B8._%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B3%D0%B5%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%B8</id>
		<title>53565 или Неосоц. треугольники. Ошибка геометрии</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=53565_%D0%B8%D0%BB%D0%B8_%D0%9D%D0%B5%D0%BE%D1%81%D0%BE%D1%86._%D1%82%D1%80%D0%B5%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA%D0%B8._%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%D0%B3%D0%B5%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%B8"/>
				<updated>2009-03-24T16:57:03Z</updated>
		
		<summary type="html">&lt;p&gt;Rez@niy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Вы наверняка встречались с проблемой при перекомпиляции уровней GSC, Неосоц. треугольники? Да полюбам встречались:(. Короч эта такая задница в нулевых треугольниках на геометрии. Короче исправляем так. Выбирамем Сектора\ удалить базовый сектор. Удаляем и радуемся всё работает!!!!!!!!!!!!!!!!!!!!!&lt;/div&gt;</summary>
		<author><name>Rez@niy</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BC%D0%B0%D1%80%D1%82%D0%B5%D1%80%D1%80%D0%B5%D0%B9%D0%BD%D1%8B_%D0%B8_%D0%B3%D1%83%D0%BB%D0%B0%D0%B3%D0%B8</id>
		<title>SoC. Смартеррейны и гулаги</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BC%D0%B0%D1%80%D1%82%D0%B5%D1%80%D1%80%D0%B5%D0%B9%D0%BD%D1%8B_%D0%B8_%D0%B3%D1%83%D0%BB%D0%B0%D0%B3%D0%B8"/>
				<updated>2009-01-19T15:49:13Z</updated>
		
		<summary type="html">&lt;p&gt;Rez@niy: /* Автор */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В последнее время люди постоянно меня спрашивали как создать скрипт гулага для смартеррейнов. Чтобы постоянно не отвечать на каждое отдельное письмо, я решил написать небольшой тутор. Прежде чем начать, хотелось бы предупредить, что не являюсь экспертом в подобного рода вещах и некоторые моменты мне всё еще не ясны до конца, так что вероятно я не смогу объяснить всё правильно. Также я буду использовать ST как абревиатуру смартеррейна. Этот тутор посвящен НПС в ST, но он также сгодится и для мутантов. Предполагаю что вы знакомы с:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- луа программированием&amp;lt;br&amp;gt;&lt;br /&gt;
- редактированием all.spawn&amp;lt;br&amp;gt;&lt;br /&gt;
- работа с вейпоинтами(патрульными путями)&amp;lt;br&amp;gt;&lt;br /&gt;
- утилитами аи&lt;br /&gt;
&lt;br /&gt;
В первую очередить подумайте о своём ST, где бы его заспавнить, сколько нпс/мутантов будут в нем выполнять определенную &amp;quot;работу&amp;quot;, когда ST должен активироваться/отключаться, сколько и какие состояния будет у вашего ST и тд. Думаю, наиболее эффективный способ объяснить вам как это работает на примере. Давайте предположим.. мы хотим поставить ST(smart terrain) на Кордоне для 3х бандитов.&lt;br /&gt;
&lt;br /&gt;
1. Спавн ST:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
[2515]&lt;br /&gt;
; cse_abstract properties (основные параметры)&lt;br /&gt;
section_name = smart_terrain&lt;br /&gt;
name         = esc_bandits_smart_terrain&lt;br /&gt;
position     = 131.02030944824,0.065616846084595,-248.9094543457&lt;br /&gt;
direction    = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties (параметры объекта)&lt;br /&gt;
game_vertex_id  = 635&lt;br /&gt;
distance        = 9.09999942779541&lt;br /&gt;
level_vertex_id = 363757&lt;br /&gt;
object_flags    = 0x==3e&lt;br /&gt;
custom_data     = &amp;lt;&amp;lt;END&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
type     = esc_bandits_smart_terrain&lt;br /&gt;
cond     = {-infoportion}&lt;br /&gt;
capacity = 3&lt;br /&gt;
squad    = 1&lt;br /&gt;
groups   = 5&lt;br /&gt;
respawn  = esc_respawn_inventory_box_0002&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties (параметры шейпа объекта)&lt;br /&gt;
shapes        = shape0&lt;br /&gt;
shape0:type   = sphere&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
shape0:radius = 20.55957102775574&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties (параметры рестриктора)&lt;br /&gt;
restrictor_type = 3&lt;br /&gt;
&lt;br /&gt;
; se_smart_terrain properties (параметры смарттеррейна)&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта наиболее важная часть:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
type     = esc_bandits_smart_terrain&lt;br /&gt;
cond     = {-infoportion}&lt;br /&gt;
capacity = 3&lt;br /&gt;
squad    = 1&lt;br /&gt;
groups   = 5&lt;br /&gt;
respawn  = esc_respawn_inventory_box_0002&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''type''' название вашего нового ST(обязательно)&amp;lt;br&amp;gt;&lt;br /&gt;
'''cond''' описывает условия, которые необходимы для включения гулага(по желанию)&amp;lt;br&amp;gt;&lt;br /&gt;
'''capacity''' количество мутантов/нпс, которое может вместить смарттеррейн(обязательно)&amp;lt;br&amp;gt;&lt;br /&gt;
'''squad, groups''' - номер сквада и количество групп(по желанию)&amp;lt;br&amp;gt;&lt;br /&gt;
'''respawn''' название тайника(синяя коробка) куда будут спавниться предметы, когда мы вызовем респавн в ST.(по желанию)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Спавн нпс/мутантов и назначение(биндинг) их к нашему ST: для этого мы должны добавить каждому мутанту/нпс определенную логику:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
esc_bandits_smart_terrain = true&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если таковых нпс не обнаружится то гулаг выберет себе население из числа заспавнившихся в Зоне нпс с подходящими параметрами.&lt;br /&gt;
Даже если они на другой локации. &lt;br /&gt;
&lt;br /&gt;
3. Добавляем &amp;quot;работу&amp;quot; (логика) для каждого нпс/мутанта из нашего ST(для каждого состояния). Предположии у ST их два: состояние 0 (описывает какие нпс/мутанты &amp;quot;работают&amp;quot; днем) и состояние 1 (ночью). У нас 3 бандита, определяемся:&lt;br /&gt;
&lt;br /&gt;
- bandit1: walker (состояние 0) и kamp (состояние 1)&amp;lt;br&amp;gt;&lt;br /&gt;
- bandit2: guard (состояние 0) и sleeper (состояние 1)&amp;lt;br&amp;gt;&lt;br /&gt;
- bandit3: walker (состояние 0 и 1 &amp;lt;= он делает тоже и днём, и ночью)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У нас есть 3 способа добавить логику (работу) для каждого нпс/мутанта, мы будем использовать наиболее общепринятый способ, добавим логику в фаил config\misc\gulag_escape.ltx. Она должна выглядеть примерно так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
;-- bandit1 (walker(прогуливающийся) -&amp;gt; состояние 0, днем)&lt;br /&gt;
[logic@esc_bandits_smart_terrain_bandit1_walker]&lt;br /&gt;
active = walker@esc_bandits_smart_terrain_bandit1&lt;br /&gt;
&lt;br /&gt;
[walker@esc_bandits_smart_terrain_bandit1]&lt;br /&gt;
path_walk         = bandit1_walk&lt;br /&gt;
danger            = danger_condition@esc_bandits_smart_terrain&lt;br /&gt;
def_state_moving1 = patrol&lt;br /&gt;
def_state_moving2 = patrol&lt;br /&gt;
def_state_moving3 = patrol&lt;br /&gt;
meet              = no_meet&lt;br /&gt;
&lt;br /&gt;
;-- bandit1 (kamp(лагерь) -&amp;gt; состояние 1, ночью)&lt;br /&gt;
[logic@esc_bandits_smart_terrain_bandit1_kamp]&lt;br /&gt;
active = kamp@esc_bandits_smart_terrain_bandit1&lt;br /&gt;
&lt;br /&gt;
[kamp@esc_bandits_smart_terrain_bandit1]&lt;br /&gt;
center_point = bandit_kamp&lt;br /&gt;
path_walk    = bandit_kamp_task&lt;br /&gt;
&lt;br /&gt;
;-- bandit2 (guard(охранник) -&amp;gt; состояние 0, днем)&lt;br /&gt;
[logic@esc_bandits_smart_terrain_bandit2_walker]&lt;br /&gt;
active = walker@esc_bandits_smart_terrain_bandit2&lt;br /&gt;
&lt;br /&gt;
[walker@esc_bandits_smart_terrain_bandit2]&lt;br /&gt;
path_walk = bandit2_walk&lt;br /&gt;
path_look = bandit2_look&lt;br /&gt;
danger    = danger_condition@esc_bandits_smart_terrain&lt;br /&gt;
&lt;br /&gt;
;-- bandit2 (sleeper(спящий) -&amp;gt; состояние 1, ночью)&lt;br /&gt;
[logic@esc_bandits_smart_terrain_bandit2_sleeper]&lt;br /&gt;
active = sleeper@esc_bandits_smart_terrain_bandit2&lt;br /&gt;
&lt;br /&gt;
[sleeper@esc_bandits_smart_terrain_bandit2]&lt;br /&gt;
path_main = bandit2_sleep&lt;br /&gt;
wakeable  = false&lt;br /&gt;
&lt;br /&gt;
;-- bandit3 (guard -&amp;gt; состояние 0 и 1, днем/ночью)&lt;br /&gt;
[logic@esc_bandits_smart_terrain_bandit3_walker]&lt;br /&gt;
active = walker@esc_bandits_smart_terrain_bandit3&lt;br /&gt;
&lt;br /&gt;
[walker@esc_bandits_smart_terrain_bandit3]&lt;br /&gt;
path_walk = bandit3_walk&lt;br /&gt;
path_look = bandit3_look&lt;br /&gt;
&lt;br /&gt;
[danger_condition@esc_bandits_smart_terrain]&lt;br /&gt;
ignore_distance_corpse = 0&lt;br /&gt;
ignore_distance        = 0&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Теперь нам нужно заскриптовать наш ST. Так что добавим наш код в фаил скрипта \gulag_escape.script. Есть еще несколько моментов, которые мы должны здесь доделать (каждый из этих шагов обязателен):&lt;br /&gt;
&lt;br /&gt;
- грузим логику (работу) для каждого нпс/мутанта и для каждого состояния -&amp;gt; function load_job(...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
if type == &amp;quot;esc_bandits_smart_terrain&amp;quot; then&lt;br /&gt;
	t = {}&lt;br /&gt;
	;-- &amp;quot;соеденительная секция&amp;quot; для логики, определяем ltx фаилом&lt;br /&gt;
	t.section = &amp;quot;logic@esc_bandits_smart_terrain_bandit1_walker&amp;quot;&lt;br /&gt;
	;-- no idea, probably describes after what time&lt;br /&gt;
	;-- npc will use this job again (?)&lt;br /&gt;
	t.idle = 0&lt;br /&gt;
	;-- no idea but i guess it's optional&lt;br /&gt;
	t.timeout = 0&lt;br /&gt;
	;-- пріоритет&lt;br /&gt;
	t.prior = 100&lt;br /&gt;
	;-- нпс будет использовать эту логику, &lt;br /&gt;
        ;-- если ST переключится в это состояние&lt;br /&gt;
	;-- в этом случае - состояние 0 (день)&lt;br /&gt;
	t.state = {0}&lt;br /&gt;
	;-- Какой squad и group назначится персонажу принявшему эту работу.&lt;br /&gt;
	t.squad = squad&lt;br /&gt;
	t.group = groups[1]&lt;br /&gt;
	;-- no idea what means position_threshold&lt;br /&gt;
	t.position_threshold = 100&lt;br /&gt;
	;-- описывает нпс в этом состоянии: онлайн или офлайн&lt;br /&gt;
	;-- онлайн = истина по дефолту&lt;br /&gt;
	t.online = true&lt;br /&gt;
	;-- описывает рестрикторы (куда нпс могут/не могут пойти)&lt;br /&gt;
	t.in_rest = &amp;quot;&amp;quot;&lt;br /&gt;
	t.out_rest = &amp;quot;&amp;quot;&lt;br /&gt;
        ;-- ввиду особого способа присвоения работ в  &lt;br /&gt;
        ;-- smart_terrain.script вы никогда не знаете, какая работа&lt;br /&gt;
	;-- будет использоваться каждым нпсом; если вы хотите быть уверенным&lt;br /&gt;
	;-- что конкретный нпс взял конкретную работу, тогда&lt;br /&gt;
	;-- вам нужно заюзать предикатную функцию; в этом слуае&lt;br /&gt;
	;-- мы хотим чтобы эта работа присвоилась мастеру бандиту&lt;br /&gt;
	t.predicate = function(obj_info) return obj_info.rank &amp;gt;= 900 end&lt;br /&gt;
	table.insert(sj, t)&lt;br /&gt;
&lt;br /&gt;
	t = {section = &amp;quot;logic@esc_bandits_smart_terrain_bandit1_kamp&amp;quot;,&lt;br /&gt;
	idle = 0, timeout = 0, prior = 100, state = {1},squad = squad,&lt;br /&gt;
	group = groups[1], position_threshold = 100, online = true, in_rest = &amp;quot;&amp;quot;,&lt;br /&gt;
	out_rest = &amp;quot;&amp;quot;, predicate = function(obj_info) return obj_info.rank &amp;gt;= 900 end}&lt;br /&gt;
	table.insert(sj, t)&lt;br /&gt;
&lt;br /&gt;
	;-- bandit2 -&amp;gt; состояние 0 (день)&lt;br /&gt;
	t = {section = &amp;quot;logic@esc_bandits_smart_terrain_bandit2_walker&amp;quot;,&lt;br /&gt;
	idle = 0, prior = 5, state = {0}, squad = squad, group = groups[1],&lt;br /&gt;
	in_rest = &amp;quot;&amp;quot;, out_rest = &amp;quot;&amp;quot;}&lt;br /&gt;
	table.insert(sj, t)&lt;br /&gt;
&lt;br /&gt;
	;-- bandit2 -&amp;gt; состояние 1 (ночь)&lt;br /&gt;
	t = {section = &amp;quot;logic@esc_bandits_smart_terrain_bandit2_sleeper&amp;quot;,&lt;br /&gt;
	idle = 0, prior = 5, state = {1}, squad = squad, group = groups[1],&lt;br /&gt;
	in_rest = &amp;quot;&amp;quot;, out_rest = &amp;quot;&amp;quot;}&lt;br /&gt;
	table.insert(sj, t)&lt;br /&gt;
&lt;br /&gt;
	;-- bandit3 -&amp;gt; состояние 0 (день) и состояние 1 (ночь)&lt;br /&gt;
	t = {section = &amp;quot;logic@esc_bandits_smart_terrain_bandit3_walker&amp;quot;,&lt;br /&gt;
	idle = 0, prior = 5, state = {0, 1}, squad = squad, group = groups[1],&lt;br /&gt;
	in_rest = &amp;quot;&amp;quot;, out_rest = &amp;quot;&amp;quot;}&lt;br /&gt;
	table.insert(sj, t)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Еще один момент о состояниях ST, всё зависит от того сколько у вас их в ST. Еще одна важной вещью является добавление логики для каждого состояния. Например в вашем ST такие состояния:&lt;br /&gt;
&lt;br /&gt;
0 - нпс оффлайн&amp;lt;br&amp;gt;&lt;br /&gt;
1 - нпс онлайн (день)&amp;lt;br&amp;gt;&lt;br /&gt;
2 - нпс онлайн (ночь)&amp;lt;br&amp;gt;&lt;br /&gt;
3 - нпс онлайн, они решили напасть на другой ST&amp;lt;br&amp;gt;&lt;br /&gt;
4 - нпс онлайн, актор напал на них&lt;br /&gt;
&lt;br /&gt;
К сведению, меня не прет заполнять такое большое количество таблиц, так что обычно я использую эту функцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function fill_tbl(section, idle, prior, states, squad, group, in_rest, out_rest, online, gulag_name)&lt;br /&gt;
	local tbl = {}&lt;br /&gt;
&lt;br /&gt;
	tbl.section = &amp;quot;logic@&amp;quot; .. gulag_name .. &amp;quot;_&amp;quot; .. section&lt;br /&gt;
	tbl.idle = idle&lt;br /&gt;
	tbl.prior = prior	&lt;br /&gt;
	tbl.state = {}&lt;br /&gt;
&lt;br /&gt;
	for index = 1, #states do&lt;br /&gt;
		table.insert(tbl.state, states[index])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	tbl.squad = squad&lt;br /&gt;
	tbl.group = group&lt;br /&gt;
	tbl.in_rest = in_rest&lt;br /&gt;
	tbl.out_rest = out_rest&lt;br /&gt;
	tbl.online = online&lt;br /&gt;
	return tbl&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Используя функцию выше, мы можем загружать логику наподобие этой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
if type == &amp;quot;esc_bandits_smart_terrain&amp;quot; then&lt;br /&gt;
	local t = table.insert(sj, fill_tbl(&amp;quot;bandit1_walker&amp;quot;, 0, 100, {0}, squad, groups[1], &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true, type))&lt;br /&gt;
	t.timeout = 0&lt;br /&gt;
	t.position_threshold = 100&lt;br /&gt;
	t.predicate = function(obj_info) return obj_info.rank &amp;gt;= 900 end&lt;br /&gt;
	table.insert(sj, t)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	t = table.insert(sj, fill_tbl(&amp;quot;bandit1_kamp&amp;quot;, 0, 100, {1}, squad, groups[1], &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true, type))&lt;br /&gt;
	t.timeout = 0&lt;br /&gt;
	t.position_threshold = 100&lt;br /&gt;
	t.predicate = function(obj_info) return obj_info.rank &amp;gt;= 900 end&lt;br /&gt;
	table.insert(sj, t)&lt;br /&gt;
&lt;br /&gt;
	table.insert(sj, fill_tbl(&amp;quot;bandit2_walker&amp;quot;, 0, 5, {0}, squad, groups[1], &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true, type))&lt;br /&gt;
	table.insert(sj, fill_tbl(&amp;quot;bandit2_sleeper&amp;quot;, 0, 5, {1}, squad, groups[1], &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true, type))&lt;br /&gt;
	table.insert(sj, fill_tbl(&amp;quot;bandit3_walker&amp;quot;, 0, 5, {0, 1}, squad, groups[1], &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true, type))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- автоматически изменяем работу для каждого нпс/мутанта -&amp;gt; function load_states(...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
if type == &amp;quot;esc_bandits_smart_terrain&amp;quot; then&lt;br /&gt;
	return function(gulag)&lt;br /&gt;
		if not db.actor then&lt;br /&gt;
			return gulag.state&lt;br /&gt;
		end&lt;br /&gt;
		if level.get_time_hours() &amp;gt;= 5 and level.get_time_hours() &amp;lt;= 22 then&lt;br /&gt;
		        return 0  -- переключает всех мутантов/нпс на дневную работу&lt;br /&gt;
		else&lt;br /&gt;
			return 1  -- ереключает всех мутантов/нпс на ночную работу&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- убедитесь что наш ST будет использоваться только для бандитов -&amp;gt; function checkStalker(...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
if gulag_type == &amp;quot;esc_bandits_smart_terrain&amp;quot; then&lt;br /&gt;
	return npc_community == &amp;quot;bandit&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Так же существуют универсальные гулаги General_lager для сталкеров. Они считаются упрощенными гулагами.&lt;br /&gt;
&lt;br /&gt;
Пример, создаем смарт:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
[9999]&lt;br /&gt;
; cse_abstract properties (основные параметры)&lt;br /&gt;
section_name = smart_terrain&lt;br /&gt;
name         = esc_gen_lager&lt;br /&gt;
position     = 131.02030944824,0.065616846084595,-248.9094543457&lt;br /&gt;
direction    = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties (параметры объекта)&lt;br /&gt;
game_vertex_id  = 635&lt;br /&gt;
distance        = 9.09999942779541&lt;br /&gt;
level_vertex_id = 363757&lt;br /&gt;
object_flags    = 0x==3e&lt;br /&gt;
custom_data     = &amp;lt;&amp;lt;END&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
type     = general_lager&lt;br /&gt;
capacity = 3 ;вместимость&lt;br /&gt;
communities = bandit ; комьюнити населения&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties (параметры шейпа объекта)&lt;br /&gt;
shapes        = shape0&lt;br /&gt;
shape0:type   = sphere&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
shape0:radius = 20.55957102775574&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties (параметры рестриктора)&lt;br /&gt;
restrictor_type = 3&lt;br /&gt;
&lt;br /&gt;
; se_smart_terrain properties (параметры смарттеррейна)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
General_lager автоматически соберет все точки путей на уровне начинающиеся на имя смарта(в нашем случае esc_gen_lager)&lt;br /&gt;
и разделит их названия таким образом:&lt;br /&gt;
(имя_смарта)_(аи схема)_(номер если требуется,напрмер если 2 walkerа то 1 и 2 соответственно)_(поднастройка схемы)_(состояние гулага 1 или 0,день или ночь)&lt;br /&gt;
пример:&lt;br /&gt;
esc_gen_lager _walker _1 _walk _1 (walk то же что и path_walk,look это path_look соответственно)&lt;br /&gt;
&lt;br /&gt;
Пришедший на general_lager сталкер рандомно примет любую свободную работу&lt;br /&gt;
работой считается комбинация схем с одним номером.&lt;br /&gt;
например esc_gen_lager_walker_1_walk_1 и esc_gen_lager_walker_1_look_1 это схема дневной работы одного персонажа из гулага.&lt;br /&gt;
&lt;br /&gt;
Так что для каждого general_lager нужны заранее расставленые точки путей для него.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Автор ==&lt;br /&gt;
&lt;br /&gt;
[[Dez0wave]]&lt;br /&gt;
И [[Rez@niy]] &lt;br /&gt;
РЕДАКТИРОВАНИЕ&lt;br /&gt;
&lt;br /&gt;
== Перевод ==&lt;br /&gt;
[[Loxotron]]&lt;br /&gt;
&lt;br /&gt;
== Дополнял ==&lt;br /&gt;
[[IamFarsight]]&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
[http://www.gsc-game.com/main.php?t=community&amp;amp;s=forums&amp;amp;s_game_type=xr&amp;amp;thm_page=77&amp;amp;thm_id=14712&amp;amp;sec_id=16&amp;amp;page=1#199726 Обсуждение тут]&lt;br /&gt;
&lt;br /&gt;
Используйте нашу утилиту для дебаггинга смартеррейнов и экспорта вейпоинтов:&lt;br /&gt;
&lt;br /&gt;
[http://sdk.stalker-game.com/ru/images/d/d7/Smartterrain_and_Waypoint_Tools_by_dez0wave.zip Скачать Smartterrain and Waypoint Tools]&lt;br /&gt;
&lt;br /&gt;
[http://ifolder.ru/7179080 Зеркало на всякий случай]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>Rez@niy</name></author>	</entry>

	</feed>