<?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%91%D0%90%D0%A2%D0%AF-STALKER</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%91%D0%90%D0%A2%D0%AF-STALKER"/>
		<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%91%D0%90%D0%A2%D0%AF-STALKER"/>
		<updated>2026-06-09T09:58:44Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-04-07T10:48:35Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-04-06T11:05:51Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-04-06T10:58:31Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D</id>
		<title>Обустройка локаций в ЧН</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D"/>
				<updated>2010-04-04T01:23:44Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сразу скажу, что тутор рассчитан на ЧН, так что никаких вопросов насчет ЗП не задавайте.&lt;br /&gt;
&lt;br /&gt;
== Необходимые программы. ==&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=getit&amp;amp;lid=182 S.T.A.L.K.E.R Icons Viever]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Изменения названия локации. ==&lt;br /&gt;
Для изменения названия локации открываем файл configs\game_levels.ltx и ищем там свою локацию.&lt;br /&gt;
Видите строку caption = &amp;quot;my_level&amp;quot;?Это ссылка на секцию в файле configs\text\rus\ui_st_pda.xml.&lt;br /&gt;
Создаем в файле такую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;string id=&amp;quot;my_level&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;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
После этого в игре будет писаться название уровня не &amp;quot;my_level&amp;quot;, а &amp;quot;Мой уровень&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Добавление загрузочного экрана на локацию. ==&lt;br /&gt;
Для добавления загрузочного экрана локации идем в папку &amp;quot;textures\intro&amp;quot; от мода или чистой игры и ищем там загрузочный экран своей локации - &amp;quot;intro_наша_локация&amp;quot;.Затем просто копируем текстуру в нашу геймдату, в соответствующею папку.&lt;br /&gt;
&lt;br /&gt;
== Добавление фоновой музыки на локацию. ==&lt;br /&gt;
Открываем файлы configs\game_maps_single.ltx и configs\game_levels_music.ltx.В файле configs\game_maps_single.ltx прописываем в секции нашей локации ссылку на музыкальную секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
music_tracks                     = name_musics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И в файле configs\game_levels_music.ltx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[name_musics]&lt;br /&gt;
music\amb08				= 4, 22,  0.45,   20, 40 &lt;br /&gt;
music\amb04		    	= 22, 4,  0.55,   10, 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
(Везде буду рассматривать первую строчку)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;music\amb08&amp;quot; - музыкальный трек который будет играть на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;= 4, 22,&amp;quot; - промежуток, в котором будет играть этот трек(Время в игровых часах, то есть тут амбиент будет играть с 4 утра до 10 вечера).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;0.45,&amp;quot; - громкость музыки на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;20, 40&amp;quot; - что эти цифры означают я не знаю, но, я думаю, что того, что мы изучили и так хватит для настройки звучания.&lt;br /&gt;
&lt;br /&gt;
== Размещение локации на глобальной карте. ==&lt;br /&gt;
&lt;br /&gt;
'''Автор: Xmk (отредактировал БАТЯ-STALKER)'''&lt;br /&gt;
&lt;br /&gt;
== Определение bound_rect. ==&lt;br /&gt;
&lt;br /&gt;
Идем в папку levels\my_level\ и открываем там файл level.ltx.&lt;br /&gt;
Если в нем нет секции &amp;quot;[level_map]&amp;quot;, то нужно ее добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level_map]&lt;br /&gt;
bound_rect = -279.07, -603.500, 344.518, -23.000&lt;br /&gt;
texture = map\map_my_level&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bound_rect – это игровые координаты текстуры, нечто вроде сетки координат на глобальной карте. Четыре числа означают крайние точки координат – верхний левый угол глобальной карты имеет координаты 0,0 а нижний правый угол глобальной карты имеет координаты 1024,2634. ОБРАТИТЕ ВНИМАНИЕ, это не пиксели! Сама текстура имеет размер 1024*2048, а может быть и любого другого – но для игры высота карты берётся равной 2634 пункта, при том что ширина сохраняется 1024. Это очень важное замечание – его важность поясним дальше. &lt;br /&gt;
&lt;br /&gt;
Texture – это текстура карты локации. Именно она показывается на мини-карте в игре, именно она же НАКЛАДЫВАЕТСЯ (да-да, сама накладывается) на глобальную карту в том месте, где мы захотим. &lt;br /&gt;
&lt;br /&gt;
bound_rect – это описание крайних координат локации ВНУТРИ самой локации. Тут наверно нужно пояснить. Любой кто имел дело с координатами на уровнях, замечал что икс и игрек (высоту сейчас не будем принимать в расчет) бывают не только положительными, но и отрицательными. Точка на уровне имеющая координаты (0,0) это не угол карты, как можно было бы предположить, а где-то около её середины. Например, на Кордоне точка с координатами 0,0 расположена недалеко от поста Кузнецова под мостом. А вот возле бункера Сидоровича координата икс у игрока (или чего угодно другого, любого объекта в игре) будет отрицательная. А возле блокпоста военных (тот, что на юге, вниз по дороге от деревни новичков) координата игрек будет отрицательной. Так вот, в строке bound_rect последовательно указаны самые минимальные координаты локации и самые максимальные. То есть самый меньший икс, потом самый меньший игрек, потом самый большой икс, и четвёртое число – самый большой игрек. Обратите внимание, эти координаты – вовсе не там, где можно побегать. Нет. Речь идёт об УГЛАХ локации, там где заканчивается земля и начинается пустота. На кордоне юго-западный угол имеет координаты -317.164, -633.718, а северо-восточный 404.880, 811.627. Точность указана до сотых.&lt;br /&gt;
&lt;br /&gt;
== Определение global_rect. ==&lt;br /&gt;
Параметр &amp;quot;global_rect&amp;quot; можно найти в файле configs\game_maps_single.ltx, в секции своей локации.&lt;br /&gt;
&lt;br /&gt;
Global_rect – координаты прямоугольника на глобальной карте, тот кусочек куда будет вписана (наложена) карта локации, и где будут с учётом масштаба отображаться все метки локации. Метод указания координат аналогичен, берутся два угла, первый северо-ЗАПАДНЫЙ, второй юго-ВОСТОЧНЫЙ. Обратите внимание, при определении координат на локации отсчёт игрека идёт снизу вверх, а тут наоборот, сверху вниз. То есть точка с координатами 50, 100 будет ВЫШЕ чем точка 50, 200. А точка с координатами 50, 0 – вообще на самом верху. В то время как точка с координатами 50, 2634 – на самом низу глобальной карты. Вообще правило отсчёта координат от верхнего левого угла текстуры характерно для СТАЛКЕРа, не знаю как для других игр использующих dds формат, может так же. Посмотрим на глобальные координаты карты Кордона на большой, глобальной карте. &lt;br /&gt;
global_rect=355.0,2011.0,576.0,2453.000000&lt;br /&gt;
Получается, прямоугольник куда будет вписана карта Кордона определён двумя точками. Первая с координатами (на глобальной карте!) 355.0,2011.0, а вторая с координатами 576.0,2453.000000. Зачем столько нулей – не спрашивайте. Не знаю. Но по этим координатам видно, что карта Кордона будет вписана в прямоугольник, который начинается от 355 по икс и 2011 по игрек и заканчивается на 576 по икс и 2453 по игрек. Итого на глобальной карте размер карты Кордона составит 221*442 пункта. Повторюсь – это не пиксели, а пункты, количество которых определено во второй секции конфигурационного файла, который мы сейчас разбираем. &lt;br /&gt;
&lt;br /&gt;
Интересно, что подземелья Агропрома, например, на глобальной карте тоже есть – но для них отведено всего лишь 2*3 пункта, и находятся они почти посередине карты Агропрома! Именно поэтому когда игрок находится в подземке, его метка всегда светится в районе завода, где прятался Крот при первом заходе на локацию, и практически неподвижна. Похожим образом сделано и с лабораторией Х18 – она на глобальной карте расположена справа от Радара, но размер её прямоугольника всего 2*2 пункта. &lt;br /&gt;
&lt;br /&gt;
Итак, у нас иметься локация, у которой имеется карты – textures\map\map_lost_villiage.dds например, bound_rect уже известен.&lt;br /&gt;
Нам нужно расположить ее на глобальной карте, к примеру вот [http://img.gameru.net/img/5b400.jpg здесь].&lt;br /&gt;
&lt;br /&gt;
Открываем файл ui_global_map.dds через Stalker Icon Viewer и снимаем координаты верхнего левого угла будущего места расположения локации:&lt;br /&gt;
&lt;br /&gt;
[http://img.gameru.net/img/abed5.jpg как-то так]&lt;br /&gt;
 &lt;br /&gt;
К сожалению на скриншоте не видно курсора.&lt;br /&gt;
Итак у нас получились координаты: x=180, y=370&lt;br /&gt;
&lt;br /&gt;
В конфиге глобальная карта имеет координаты 1024,2634, в то время когда текстура всего 1024x2048.&lt;br /&gt;
Что мы делаем? Запускаем калькулятор и делим 2634 на 2048, у нас получается 1.2861328125&lt;br /&gt;
&lt;br /&gt;
Далее умножаем координату y(370) на получившееся значение(1.2861328125), у нас получаться 475.86…. (округлим)&lt;br /&gt;
&lt;br /&gt;
Далее все просто, скажем наша карта локации 100 на 100, задаем в global_rect нашей локации  180.0, 475.86, 280.0, 575.86&lt;br /&gt;
&lt;br /&gt;
180.0  - координата x левого края текстуры локации&lt;br /&gt;
475.86 – число, которое мы получили, координата верхнего края текстуры локации&lt;br /&gt;
280.0 – координата x правого края текстуры локации. Прибавляем к координате левого края локации ширину карты&lt;br /&gt;
575.86 - координата y нижнего края текстуры локации. Прибавляем к координате верхнего края локации высоту карты&lt;br /&gt;
&lt;br /&gt;
Вот собственно, что у нас [http://img.gameru.net/img/32719.jpg получилось].&lt;br /&gt;
&lt;br /&gt;
Всё.Наша локация полностью размещена на глобальной карте.&lt;br /&gt;
&lt;br /&gt;
== Напоследок. ==&lt;br /&gt;
Статья еще не закончена и будет дополняться.&lt;br /&gt;
&lt;br /&gt;
'''Автор: БАТЯ-STALKER'''&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-04-03T06:04:32Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2</id>
		<title>CoP. Создание проводников</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2"/>
				<updated>2010-04-02T11:45:32Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: /* Авторы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Урок по созданию «проводников» и визуализации перехода на заранее подключенную локацию для STALKER Зов Припяти.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/19332547000/%D1%83%D1%80%D0%BE%D0%BA.rar.html Сам тутор и все измененные файлы к нему.]&lt;br /&gt;
&lt;br /&gt;
Цели урока:&lt;br /&gt;
1.	Создание перехода на заранее подключенную локацию&lt;br /&gt;
2.	Визуализация созданного перехода&lt;br /&gt;
3.	Использование вольных сталкеров с целью перемещения по локации&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;
Строго следуя рекомендациям БАТИ-STALKER`a создаем переход на нашу локацию(http://stalkerin.gameru.net/wiki/index.php/Подключение_локаций_к_ЧН_и_ЗП_с_помощью_программы_от_AMK_Team). Дальше идут цитаты (немного подправленные) из многим известного туториала вышеуказанного модмейкера ;-)&lt;br /&gt;
&lt;br /&gt;
Цитата:&lt;br /&gt;
Соединение с остальными уровнями. &lt;br /&gt;
&lt;br /&gt;
Предлагаю вам не терять зря времени, просто бегая по подключенной локации, а замерить координаты для создания перехода. Координаты будем снимать на 2-х локациях: на той с которой будем переходить и на той на которую вы хотите сделать переход соответственно. На каждой локации нам нужно снять по одной координате(координата местоположения самого перехода на первой локации и координата места в которое будет бросать при переходе на подключенную локацию). Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду. (в комплект с данным уроком я поместил архив koord.rar со скриптом для снятия координат, это для тех кому лень искать).&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты. &lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn. Теперь в нужных нам локациях, в alife_ файлах (для данного примера файл alife_zaton.ltx) добавляем следующую секцию спавна: &lt;br /&gt;
(примечание от Freezer: в приведенном ниже коде имена и стартовые координаты указаны для уровня  Затон, сам переход расположен левой верхней области карты уровня справа от дорожки, а конечные координаты для подключенного уровня Янтарь, ГГ появляется в бункере у Сахарова)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = yan_actor_arrive_walk- уникальное имя&lt;br /&gt;
position = -278.19274902344,12.461790084839,621.68505859375 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 33  – геймвертексы перехода&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 389502  – левелвертексы перехода&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 934 – геймвертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 73102 - левелвертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 28.876106262207,-11.706871032715,-277.9711303710 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l07_yantar - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем. &lt;br /&gt;
Конец цитаты:&lt;br /&gt;
Итак сам переход мы создали можно собрать all.spawn и проверить работоспособность перехода.&lt;br /&gt;
Перейдем к следующему этапу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Акт второй, Гламурный ;-) ==&lt;br /&gt;
&lt;br /&gt;
Переход то мы собрали, вот только он невидимый, поэтому добавим гламура и поставим на место перехода всем известную аномалию «Пространственный Пузырь» aka шарик-телепортатор.&lt;br /&gt;
Снова открываем alife_zaton.ltx (ибо переход мы разместили на нем), и добавляем следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[2]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = space_restrictor&lt;br /&gt;
name = zat_teleport_sphere_to_yan – уникальное имя секции&lt;br /&gt;
position = -278.19274902344,12.461790084839,621.68505859375 – координаты шарика (они точно соответствуют координатам созданного нами ранее перехода)&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 33 –геймвертекс шарика (соответствует геймвертексу перехода)&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 389502 –левелвертекс шарика (соответствует левелвертексу перехода)&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\zaton\zat_teleport_sphere.ltx – уникальное имя используемого скрипта&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 = 1.40499997138977&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл (если юзали контрол+цэ контрол+вэ незабываем удалить комменты).&lt;br /&gt;
&lt;br /&gt;
Открываем way_zaton.ltx в него добавляем следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_teleport_sphere_to_yan]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -278.19274902344,12.461790084839,621.68505859375&lt;br /&gt;
p0:game_vertex_id = 33&lt;br /&gt;
p0:level_vertex_id = 389502&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Думаю, что комменты по координатам не нужны. Обратите внимание на имя секции, оно соответствует уникальному имени в alife файле.&lt;br /&gt;
Все, пока с alife и way мы закончили, можно собрать all.spawn&lt;br /&gt;
&lt;br /&gt;
Далее необходимо создать скрипт для шарика, имя скрипта мы указали в alife файле. Итак, в папке с игрой в gamedata\configs\scripts\zaton создаем файл zat_teleport_sphere.ltx.&lt;br /&gt;
В файле пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_particle@ zat_teleport_sphere_to_yan – имя активного партикла&lt;br /&gt;
&lt;br /&gt;
[sr_particle@ zat_teleport_sphere_to_yan] – собственно начало самого партикла&lt;br /&gt;
name = anomaly2\anomaly_spatial_bubble_idle&lt;br /&gt;
path = zat_teleport_sphere_to_yan – имя секции в way файле в которой описан шарик&lt;br /&gt;
mode = 2&lt;br /&gt;
looped = true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл по указанному пути, вспоминаем что юзали cntrl+c, cntr+v, снова открываем файл и удаляем мои комменты ;-)&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;
Для начала снова замерим координаты на местности куда нас приведут npc (я снял координаты на пару метров левее самой аномалии).&lt;br /&gt;
Далее в файле alife_zaton.ltx добавим следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[3]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = smart_terrain&lt;br /&gt;
name = zat_b1000 – уникальное имя смарт террана на который нас приведут неписи&lt;br /&gt;
position = -317.98794555664,19.28000831604,608.48858642578 –координаты конечной точки на которую нас приведут неписи&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 212&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 314120&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
cfg = scripts\zaton\smart\zat_b1000.ltx – уникальное имя используемого скрипта&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 = 2&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;
&lt;br /&gt;
Сохраняем файл&lt;br /&gt;
&lt;br /&gt;
Открываем way_zaton.ltx&lt;br /&gt;
Добавляем следующие секции:&lt;br /&gt;
&lt;br /&gt;
В данной секции пишем координаты куда нас должны привести&lt;br /&gt;
[zat_b1000_traveller_actor]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -317.98794555664,19.28000831604,608.48858642578&lt;br /&gt;
p0:game_vertex_id = 212&lt;br /&gt;
p0:level_vertex_id = 314120&lt;br /&gt;
&amp;lt;/code&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;
Координаты в них я не менял, а секции банально скопировал из другого места, поэтому я иду к аномалии «Пространственный Пузырь», а сопровождающие неписи &amp;quot;идут лесом&amp;quot;, то есть к аномалии коготь (для желающих лицезреть проводников рядом с собой в конечной точке прибытия, небольшое домашнее задание по доработке координат в нижеприведенных секциях)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_b1000_traveller_squad]&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -24.9449501037598,1.29261004924774,-196.022598266602&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 895313&lt;br /&gt;
p0:links = p1(1)&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:position = -26.4207763671875,1.04062795639038,-194.030059814453&lt;br /&gt;
p1:game_vertex_id = 56&lt;br /&gt;
p1:level_vertex_id = 892596&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_1_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00|a=sit_ass&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.1018524169922,0.350845992565155,-193.619186401367&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 876236&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_1_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -33.450439453125,0.419611006975174,-192.414947509766&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 879043&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_2_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00|a=sit&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.8835983276367,0.317862987518311,-193.98469543457&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 874818&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_2_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.9317092895508,0.310889005661011,-191.664642333984&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 874821&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_3_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.1221542358398,0.349720001220703,-193.500946044922&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 876237&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_3_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -33.0930519104004,0.432388007640839,-191.15592956543&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 880435&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл. Можно собирать all.spawn.&lt;br /&gt;
&lt;br /&gt;
Теперь вспомним о том что мы упоминали некий уникальный скрипт, итак создадим его.&lt;br /&gt;
В папке с игрой gamedata\configs\scripts\zaton\smart создадим файл zat_b1000.ltx&lt;br /&gt;
В нем пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
squad_id = 32&lt;br /&gt;
max_population = 1&lt;br /&gt;
&lt;br /&gt;
[exclusive]&lt;br /&gt;
;please leave this for sim - stalkers only&lt;br /&gt;
zat_b29_stalker_rival_leader = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
zat_b29_stalker_rival_2 = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
zat_b29_stalker_rival_3 = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С содержимым файла разбираться времени не было, работает и ладно, оно тупо скопировано из другого подобного файла, так что вот вам еще одно домашнее задание: разберитесь для чего нужны последние 3 строки в этом файле. (да я лентяй ну и что ;-) прим. автора)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее в папке с распакованной геймдатой gamedata\configs\text\rus находим файл st_land_names.xml и кладем его в папку с игрой путь gamedata\configs\text\rus.&lt;br /&gt;
Открываем скопированный файл и добавляем в него следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;st_zat_b1000_name&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Пространственный Пузырь&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл.&lt;br /&gt;
&lt;br /&gt;
Далее чешем  в папку с распакованной геймдатой, там в gamedata\configs\misc\  находим travel_manager.ltx и по аналогии с предыдущим файлом копируем его в папку с игрой. &lt;br /&gt;
Открываем travel_manager.ltx &lt;br /&gt;
Находим секции:  «идентификатор st_&amp;lt;комьюнити&amp;gt;_zaton_smart_name_1»&lt;br /&gt;
Пишем туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zat_b1000 = st_stalker_zat_b1000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее ниже находим:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[traveler]		; Перечень точек, куда проводники могут отвести за бабосы.&lt;br /&gt;
zat_stalker_base_smart	; name смарта&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и пишем туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zat_b1000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ну и в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_b1000]&lt;br /&gt;
level = zaton&lt;br /&gt;
name = st_zat_b1000_name&lt;br /&gt;
condlist = true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Все, сохраняем и запускаем игру!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ну вот, мы снова начали новую игру, давайте снова подойдем к известным нам ранее неписям и узнаем куда же они смогут нас отвести.&lt;br /&gt;
О ЧУДО!!!! НЕПИСИ ЗНАЮТ О АНОМАЛИИ «Пространственный Пузырь»!!!!&lt;br /&gt;
&lt;br /&gt;
Прогуляемся? ;-)&lt;br /&gt;
&lt;br /&gt;
Конец третьего акта. Занавес. Бурные аплодисменты. Благодарности и цветы для: '''Freezer и БАТЯ-STALKER''' …&lt;br /&gt;
&lt;br /&gt;
Успехов вам в написании собственных «сказок»!!!!&lt;br /&gt;
&lt;br /&gt;
'''Авторы и ©: Александр Левашов aka Freezer при огромной поддержке БАТЯ-STALKER.'''&lt;br /&gt;
&lt;br /&gt;
Зы: для лентяев (таких как я) прилагаю все описанные выше файлы скриптов.&lt;br /&gt;
Зы Зы: все вопросы и предложения на Freezer_s@mail.ru с темой «модострой».&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2</id>
		<title>CoP. Создание проводников</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2"/>
				<updated>2010-04-02T11:43:04Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Урок по созданию «проводников» и визуализации перехода на заранее подключенную локацию для STALKER Зов Припяти.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/19332547000/%D1%83%D1%80%D0%BE%D0%BA.rar.html Сам тутор и все измененные файлы к нему.]&lt;br /&gt;
&lt;br /&gt;
Цели урока:&lt;br /&gt;
1.	Создание перехода на заранее подключенную локацию&lt;br /&gt;
2.	Визуализация созданного перехода&lt;br /&gt;
3.	Использование вольных сталкеров с целью перемещения по локации&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;
Строго следуя рекомендациям БАТИ-STALKER`a создаем переход на нашу локацию(http://stalkerin.gameru.net/wiki/index.php/Подключение_локаций_к_ЧН_и_ЗП_с_помощью_программы_от_AMK_Team). Дальше идут цитаты (немного подправленные) из многим известного туториала вышеуказанного модмейкера ;-)&lt;br /&gt;
&lt;br /&gt;
Цитата:&lt;br /&gt;
Соединение с остальными уровнями. &lt;br /&gt;
&lt;br /&gt;
Предлагаю вам не терять зря времени, просто бегая по подключенной локации, а замерить координаты для создания перехода. Координаты будем снимать на 2-х локациях: на той с которой будем переходить и на той на которую вы хотите сделать переход соответственно. На каждой локации нам нужно снять по одной координате(координата местоположения самого перехода на первой локации и координата места в которое будет бросать при переходе на подключенную локацию). Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду. (в комплект с данным уроком я поместил архив koord.rar со скриптом для снятия координат, это для тех кому лень искать).&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты. &lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn. Теперь в нужных нам локациях, в alife_ файлах (для данного примера файл alife_zaton.ltx) добавляем следующую секцию спавна: &lt;br /&gt;
(примечание от Freezer: в приведенном ниже коде имена и стартовые координаты указаны для уровня  Затон, сам переход расположен левой верхней области карты уровня справа от дорожки, а конечные координаты для подключенного уровня Янтарь, ГГ появляется в бункере у Сахарова)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = yan_actor_arrive_walk- уникальное имя&lt;br /&gt;
position = -278.19274902344,12.461790084839,621.68505859375 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 33  – геймвертексы перехода&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 389502  – левелвертексы перехода&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 934 – геймвертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 73102 - левелвертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 28.876106262207,-11.706871032715,-277.9711303710 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l07_yantar - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем. &lt;br /&gt;
Конец цитаты:&lt;br /&gt;
Итак сам переход мы создали можно собрать all.spawn и проверить работоспособность перехода.&lt;br /&gt;
Перейдем к следующему этапу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Акт второй, Гламурный ;-) ==&lt;br /&gt;
&lt;br /&gt;
Переход то мы собрали, вот только он невидимый, поэтому добавим гламура и поставим на место перехода всем известную аномалию «Пространственный Пузырь» aka шарик-телепортатор.&lt;br /&gt;
Снова открываем alife_zaton.ltx (ибо переход мы разместили на нем), и добавляем следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[2]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = space_restrictor&lt;br /&gt;
name = zat_teleport_sphere_to_yan – уникальное имя секции&lt;br /&gt;
position = -278.19274902344,12.461790084839,621.68505859375 – координаты шарика (они точно соответствуют координатам созданного нами ранее перехода)&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 33 –геймвертекс шарика (соответствует геймвертексу перехода)&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 389502 –левелвертекс шарика (соответствует левелвертексу перехода)&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\zaton\zat_teleport_sphere.ltx – уникальное имя используемого скрипта&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 = 1.40499997138977&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл (если юзали контрол+цэ контрол+вэ незабываем удалить комменты).&lt;br /&gt;
&lt;br /&gt;
Открываем way_zaton.ltx в него добавляем следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_teleport_sphere_to_yan]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -278.19274902344,12.461790084839,621.68505859375&lt;br /&gt;
p0:game_vertex_id = 33&lt;br /&gt;
p0:level_vertex_id = 389502&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Думаю, что комменты по координатам не нужны. Обратите внимание на имя секции, оно соответствует уникальному имени в alife файле.&lt;br /&gt;
Все, пока с alife и way мы закончили, можно собрать all.spawn&lt;br /&gt;
&lt;br /&gt;
Далее необходимо создать скрипт для шарика, имя скрипта мы указали в alife файле. Итак, в папке с игрой в gamedata\configs\scripts\zaton создаем файл zat_teleport_sphere.ltx.&lt;br /&gt;
В файле пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_particle@ zat_teleport_sphere_to_yan – имя активного партикла&lt;br /&gt;
&lt;br /&gt;
[sr_particle@ zat_teleport_sphere_to_yan] – собственно начало самого партикла&lt;br /&gt;
name = anomaly2\anomaly_spatial_bubble_idle&lt;br /&gt;
path = zat_teleport_sphere_to_yan – имя секции в way файле в которой описан шарик&lt;br /&gt;
mode = 2&lt;br /&gt;
looped = true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл по указанному пути, вспоминаем что юзали cntrl+c, cntr+v, снова открываем файл и удаляем мои комменты ;-)&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;
Для начала снова замерим координаты на местности куда нас приведут npc (я снял координаты на пару метров левее самой аномалии).&lt;br /&gt;
Далее в файле alife_zaton.ltx добавим следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[3]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = smart_terrain&lt;br /&gt;
name = zat_b1000 – уникальное имя смарт террана на который нас приведут неписи&lt;br /&gt;
position = -317.98794555664,19.28000831604,608.48858642578 –координаты конечной точки на которую нас приведут неписи&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 212&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 314120&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
cfg = scripts\zaton\smart\zat_b1000.ltx – уникальное имя используемого скрипта&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 = 2&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;
&lt;br /&gt;
Сохраняем файл&lt;br /&gt;
&lt;br /&gt;
Открываем way_zaton.ltx&lt;br /&gt;
Добавляем следующие секции:&lt;br /&gt;
&lt;br /&gt;
В данной секции пишем координаты куда нас должны привести&lt;br /&gt;
[zat_b1000_traveller_actor]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -317.98794555664,19.28000831604,608.48858642578&lt;br /&gt;
p0:game_vertex_id = 212&lt;br /&gt;
p0:level_vertex_id = 314120&lt;br /&gt;
&amp;lt;/code&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;
Координаты в них я не менял, а секции банально скопировал из другого места, поэтому я иду к аномалии «Пространственный Пузырь», а сопровождающие неписи &amp;quot;идут лесом&amp;quot;, то есть к аномалии коготь (для желающих лицезреть проводников рядом с собой в конечной точке прибытия, небольшое домашнее задание по доработке координат в нижеприведенных секциях)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_b1000_traveller_squad]&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -24.9449501037598,1.29261004924774,-196.022598266602&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 895313&lt;br /&gt;
p0:links = p1(1)&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:position = -26.4207763671875,1.04062795639038,-194.030059814453&lt;br /&gt;
p1:game_vertex_id = 56&lt;br /&gt;
p1:level_vertex_id = 892596&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_1_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00|a=sit_ass&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.1018524169922,0.350845992565155,-193.619186401367&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 876236&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_1_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -33.450439453125,0.419611006975174,-192.414947509766&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 879043&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_2_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00|a=sit&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.8835983276367,0.317862987518311,-193.98469543457&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 874818&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_2_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.9317092895508,0.310889005661011,-191.664642333984&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 874821&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_3_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.1221542358398,0.349720001220703,-193.500946044922&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 876237&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_3_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -33.0930519104004,0.432388007640839,-191.15592956543&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 880435&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл. Можно собирать all.spawn.&lt;br /&gt;
&lt;br /&gt;
Теперь вспомним о том что мы упоминали некий уникальный скрипт, итак создадим его.&lt;br /&gt;
В папке с игрой gamedata\configs\scripts\zaton\smart создадим файл zat_b1000.ltx&lt;br /&gt;
В нем пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
squad_id = 32&lt;br /&gt;
max_population = 1&lt;br /&gt;
&lt;br /&gt;
[exclusive]&lt;br /&gt;
;please leave this for sim - stalkers only&lt;br /&gt;
zat_b29_stalker_rival_leader = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
zat_b29_stalker_rival_2 = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
zat_b29_stalker_rival_3 = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С содержимым файла разбираться времени не было, работает и ладно, оно тупо скопировано из другого подобного файла, так что вот вам еще одно домашнее задание: разберитесь для чего нужны последние 3 строки в этом файле. (да я лентяй ну и что ;-) прим. автора)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее в папке с распакованной геймдатой gamedata\configs\text\rus находим файл st_land_names.xml и кладем его в папку с игрой путь gamedata\configs\text\rus.&lt;br /&gt;
Открываем скопированный файл и добавляем в него следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;st_zat_b1000_name&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Пространственный Пузырь&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл.&lt;br /&gt;
&lt;br /&gt;
Далее чешем  в папку с распакованной геймдатой, там в gamedata\configs\misc\  находим travel_manager.ltx и по аналогии с предыдущим файлом копируем его в папку с игрой. &lt;br /&gt;
Открываем travel_manager.ltx &lt;br /&gt;
Находим секции:  «идентификатор st_&amp;lt;комьюнити&amp;gt;_zaton_smart_name_1»&lt;br /&gt;
Пишем туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zat_b1000 = st_stalker_zat_b1000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее ниже находим:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[traveler]		; Перечень точек, куда проводники могут отвести за бабосы.&lt;br /&gt;
zat_stalker_base_smart	; name смарта&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и пишем туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zat_b1000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ну и в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_b1000]&lt;br /&gt;
level = zaton&lt;br /&gt;
name = st_zat_b1000_name&lt;br /&gt;
condlist = true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Все, сохраняем и запускаем игру!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ну вот, мы снова начали новую игру, давайте снова подойдем к известным нам ранее неписям и узнаем куда же они смогут нас отвести.&lt;br /&gt;
О ЧУДО!!!! НЕПИСИ ЗНАЮТ О АНОМАЛИИ «Пространственный Пузырь»!!!!&lt;br /&gt;
&lt;br /&gt;
Прогуляемся? ;-)&lt;br /&gt;
&lt;br /&gt;
Конец третьего акта. Занавес. Бурные аплодисменты. Благодарности и цветы для: Freezer и БАТЯ-STALKER …&lt;br /&gt;
&lt;br /&gt;
Успехов вам в написании собственных «сказок»!!!!&lt;br /&gt;
&lt;br /&gt;
Авторы и ©: Александр Левашов aka Freezer при огромной поддержке БАТЯ-STALKER.&lt;br /&gt;
&lt;br /&gt;
Зы: для лентяев (таких как я) прилагаю все описанные выше файлы скриптов.&lt;br /&gt;
Зы Зы: все вопросы и предложения на Freezer_s@mail.ru с темой «модострой».&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2</id>
		<title>CoP. Создание проводников</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2"/>
				<updated>2010-04-02T11:26:08Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Урок по созданию «проводников» и визуализации перехода на заранее подключенную локацию для STALKER Зов Припяти.&lt;br /&gt;
&lt;br /&gt;
Цели урока:&lt;br /&gt;
1.	Создание перехода на заранее подключенную локацию&lt;br /&gt;
2.	Визуализация созданного перехода&lt;br /&gt;
3.	Использование вольных сталкеров с целью перемещения по локации&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;
Строго следуя рекомендациям БАТИ-STALKER`a создаем переход на нашу локацию(http://stalkerin.gameru.net/wiki/index.php/Подключение_локаций_к_ЧН_и_ЗП_с_помощью_программы_от_AMK_Team). Дальше идут цитаты (немного подправленные) из многим известного туториала вышеуказанного модмейкера ;-)&lt;br /&gt;
&lt;br /&gt;
Цитата:&lt;br /&gt;
Соединение с остальными уровнями. &lt;br /&gt;
&lt;br /&gt;
Предлагаю вам не терять зря времени, просто бегая по подключенной локации, а замерить координаты для создания перехода. Координаты будем снимать на 2-х локациях: на той с которой будем переходить и на той на которую вы хотите сделать переход соответственно. На каждой локации нам нужно снять по одной координате(координата местоположения самого перехода на первой локации и координата места в которое будет бросать при переходе на подключенную локацию). Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду. (в комплект с данным уроком я поместил архив koord.rar со скриптом для снятия координат, это для тех кому лень искать).&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты. &lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn. Теперь в нужных нам локациях, в alife_ файлах (для данного примера файл alife_zaton.ltx) добавляем следующую секцию спавна: &lt;br /&gt;
(примечание от Freezer: в приведенном ниже коде имена и стартовые координаты указаны для уровня  Затон, сам переход расположен левой верхней области карты уровня справа от дорожки, а конечные координаты для подключенного уровня Янтарь, ГГ появляется в бункере у Сахарова)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = yan_actor_arrive_walk- уникальное имя&lt;br /&gt;
position = -278.19274902344,12.461790084839,621.68505859375 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 33  – геймвертексы перехода&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 389502  – левелвертексы перехода&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 934 – геймвертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 73102 - левелвертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 28.876106262207,-11.706871032715,-277.9711303710 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l07_yantar - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем. &lt;br /&gt;
Конец цитаты:&lt;br /&gt;
Итак сам переход мы создали можно собрать all.spawn и проверить работоспособность перехода.&lt;br /&gt;
Перейдем к следующему этапу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Акт второй, Гламурный ;-) ==&lt;br /&gt;
&lt;br /&gt;
Переход то мы собрали, вот только он невидимый, поэтому добавим гламура и поставим на место перехода всем известную аномалию «Пространственный Пузырь» aka шарик-телепортатор.&lt;br /&gt;
Снова открываем alife_zaton.ltx (ибо переход мы разместили на нем), и добавляем следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[2]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = space_restrictor&lt;br /&gt;
name = zat_teleport_sphere_to_yan – уникальное имя секции&lt;br /&gt;
position = -278.19274902344,12.461790084839,621.68505859375 – координаты шарика (они точно соответствуют координатам созданного нами ранее перехода)&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 33 –геймвертекс шарика (соответствует геймвертексу перехода)&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 389502 –левелвертекс шарика (соответствует левелвертексу перехода)&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\zaton\zat_teleport_sphere.ltx – уникальное имя используемого скрипта&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 = 1.40499997138977&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл (если юзали контрол+цэ контрол+вэ незабываем удалить комменты).&lt;br /&gt;
&lt;br /&gt;
Открываем way_zaton.ltx в него добавляем следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_teleport_sphere_to_yan]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -278.19274902344,12.461790084839,621.68505859375&lt;br /&gt;
p0:game_vertex_id = 33&lt;br /&gt;
p0:level_vertex_id = 389502&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Думаю, что комменты по координатам не нужны. Обратите внимание на имя секции, оно соответствует уникальному имени в alife файле.&lt;br /&gt;
Все, пока с alife и way мы закончили, можно собрать all.spawn&lt;br /&gt;
&lt;br /&gt;
Далее необходимо создать скрипт для шарика, имя скрипта мы указали в alife файле. Итак, в папке с игрой в gamedata\configs\scripts\zaton создаем файл zat_teleport_sphere.ltx.&lt;br /&gt;
В файле пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_particle@ zat_teleport_sphere_to_yan – имя активного партикла&lt;br /&gt;
&lt;br /&gt;
[sr_particle@ zat_teleport_sphere_to_yan] – собственно начало самого партикла&lt;br /&gt;
name = anomaly2\anomaly_spatial_bubble_idle&lt;br /&gt;
path = zat_teleport_sphere_to_yan – имя секции в way файле в которой описан шарик&lt;br /&gt;
mode = 2&lt;br /&gt;
looped = true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл по указанному пути, вспоминаем что юзали cntrl+c, cntr+v, снова открываем файл и удаляем мои комменты ;-)&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;
Для начала снова замерим координаты на местности куда нас приведут npc (я снял координаты на пару метров левее самой аномалии).&lt;br /&gt;
Далее в файле alife_zaton.ltx добавим следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[3]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = smart_terrain&lt;br /&gt;
name = zat_b1000 – уникальное имя смарт террана на который нас приведут неписи&lt;br /&gt;
position = -317.98794555664,19.28000831604,608.48858642578 –координаты конечной точки на которую нас приведут неписи&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 212&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 314120&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
cfg = scripts\zaton\smart\zat_b1000.ltx – уникальное имя используемого скрипта&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 = 2&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;
&lt;br /&gt;
Сохраняем файл&lt;br /&gt;
&lt;br /&gt;
Открываем way_zaton.ltx&lt;br /&gt;
Добавляем следующие секции:&lt;br /&gt;
&lt;br /&gt;
В данной секции пишем координаты куда нас должны привести&lt;br /&gt;
[zat_b1000_traveller_actor]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -317.98794555664,19.28000831604,608.48858642578&lt;br /&gt;
p0:game_vertex_id = 212&lt;br /&gt;
p0:level_vertex_id = 314120&lt;br /&gt;
&amp;lt;/code&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;
Координаты в них я не менял, а секции банально скопировал из другого места, поэтому я иду к аномалии «Пространственный Пузырь», а сопровождающие неписи &amp;quot;идут лесом&amp;quot;, то есть к аномалии коготь (для желающих лицезреть проводников рядом с собой в конечной точке прибытия, небольшое домашнее задание по доработке координат в нижеприведенных секциях)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_b1000_traveller_squad]&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -24.9449501037598,1.29261004924774,-196.022598266602&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 895313&lt;br /&gt;
p0:links = p1(1)&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:position = -26.4207763671875,1.04062795639038,-194.030059814453&lt;br /&gt;
p1:game_vertex_id = 56&lt;br /&gt;
p1:level_vertex_id = 892596&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_1_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00|a=sit_ass&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.1018524169922,0.350845992565155,-193.619186401367&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 876236&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_1_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -33.450439453125,0.419611006975174,-192.414947509766&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 879043&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_2_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00|a=sit&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.8835983276367,0.317862987518311,-193.98469543457&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 874818&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_2_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.9317092895508,0.310889005661011,-191.664642333984&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 874821&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_3_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -35.1221542358398,0.349720001220703,-193.500946044922&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 876237&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[zat_b1000_walker_3_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -33.0930519104004,0.432388007640839,-191.15592956543&lt;br /&gt;
p0:game_vertex_id = 56&lt;br /&gt;
p0:level_vertex_id = 880435&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл. Можно собирать all.spawn.&lt;br /&gt;
&lt;br /&gt;
Теперь вспомним о том что мы упоминали некий уникальный скрипт, итак создадим его.&lt;br /&gt;
В папке с игрой gamedata\configs\scripts\zaton\smart создадим файл zat_b1000.ltx&lt;br /&gt;
В нем пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
squad_id = 32&lt;br /&gt;
max_population = 1&lt;br /&gt;
&lt;br /&gt;
[exclusive]&lt;br /&gt;
;please leave this for sim - stalkers only&lt;br /&gt;
zat_b29_stalker_rival_leader = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
zat_b29_stalker_rival_2 = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
zat_b29_stalker_rival_3 = zaton\zat_b29_stalkers_rivals.ltx&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С содержимым файла разбираться времени не было, работает и ладно, оно тупо скопировано из другого подобного файла, так что вот вам еще одно домашнее задание: разберитесь для чего нужны последние 3 строки в этом файле. (да я лентяй ну и что ;-) прим. автора)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Далее в папке с распакованной геймдатой gamedata\configs\text\rus находим файл st_land_names.xml и кладем его в папку с игрой путь gamedata\configs\text\rus.&lt;br /&gt;
Открываем скопированный файл и добавляем в него следующую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;string id=&amp;quot;st_zat_b1000_name&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Пространственный Пузырь&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл.&lt;br /&gt;
&lt;br /&gt;
Далее чешем  в папку с распакованной геймдатой, там в gamedata\configs\misc\  находим travel_manager.ltx и по аналогии с предыдущим файлом копируем его в папку с игрой. &lt;br /&gt;
Открываем travel_manager.ltx &lt;br /&gt;
Находим секции:  «идентификатор st_&amp;lt;комьюнити&amp;gt;_zaton_smart_name_1»&lt;br /&gt;
Пишем туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zat_b1000 = st_stalker_zat_b1000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее ниже находим:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[traveler]		; Перечень точек, куда проводники могут отвести за бабосы.&lt;br /&gt;
zat_stalker_base_smart	; name смарта&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и пишем туда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zat_b1000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ну и в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_b1000]&lt;br /&gt;
level = zaton&lt;br /&gt;
name = st_zat_b1000_name&lt;br /&gt;
condlist = true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Все, сохраняем и запускаем игру!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ну вот, мы снова начали новую игру, давайте снова подойдем к известным нам ранее неписям и узнаем куда же они смогут нас отвести.&lt;br /&gt;
О ЧУДО!!!! НЕПИСИ ЗНАЮТ О АНОМАЛИИ «Пространственный Пузырь»!!!!&lt;br /&gt;
&lt;br /&gt;
Прогуляемся? ;-)&lt;br /&gt;
&lt;br /&gt;
Конец третьего акта. Занавес. Бурные аплодисменты. Благодарности и цветы для: Freezer и БАТЯ-STALKER …&lt;br /&gt;
&lt;br /&gt;
Успехов вам в написании собственных «сказок»!!!!&lt;br /&gt;
&lt;br /&gt;
Авторы и ©: Александр Левашов aka Freezer при огромной поддержке БАТЯ-STALKER.&lt;br /&gt;
&lt;br /&gt;
Зы: для лентяев (таких как я) прилагаю все описанные выше файлы скриптов.&lt;br /&gt;
Зы Зы: все вопросы и предложения на Freezer_s@mail.ru с темой «модострой».&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-04-02T03:40:09Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D</id>
		<title>Обустройка локаций в ЧН</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D"/>
				<updated>2010-03-28T06:39:57Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сразу скажу, что тутор рассчитан на ЧН, так что никаких вопросов насчет ЗП не задавайте.&lt;br /&gt;
&lt;br /&gt;
== Необходимые программы. ==&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=getit&amp;amp;lid=182 S.T.A.L.K.E.R Icons Viever]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Изменения названия локации. ==&lt;br /&gt;
Для изменения названия локации открываем файл configs\game_levels.ltx и ищем там свою локацию.&lt;br /&gt;
Видите строку caption = &amp;quot;my_level&amp;quot;?Это ссылка на секцию в файле configs\text\rus\ui_st_pda.xml.&lt;br /&gt;
Создаем в файле такую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;string id=&amp;quot;my_level&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;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
После этого в игре будет писаться название уровня не &amp;quot;my_level&amp;quot;, а &amp;quot;Мой уровень&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Добавление загрузочного экрана на локацию. ==&lt;br /&gt;
Для добавления загрузочного экрана локации идем в папку &amp;quot;textures\intro&amp;quot; от мода или чистой игры и ищем там загрузочный экран своей локации - &amp;quot;intro_наша_локация&amp;quot;.Затем просто копируем текстуру в нашу геймдату, в соответствующею папку.&lt;br /&gt;
&lt;br /&gt;
== Добавление фоновой музыки на локацию. ==&lt;br /&gt;
Открываем файлы configs\game_maps_single.ltx и configs\game_levels_music.ltx.В файле configs\game_maps_single.ltx прописываем в секции нашей локации ссылку на музыкальную секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
music_tracks                     = name_musics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И в файле configs\game_levels_music.ltx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[name_musics]&lt;br /&gt;
music\amb08				= 4, 22,  0.45,   20, 40 &lt;br /&gt;
music\amb04		    	= 22, 4,  0.55,   10, 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
(Везде буду рассматривать первую строчку)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;music\amb08&amp;quot; - музыкальный трек который будет играть на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;= 4, 22,&amp;quot; - промежуток, в котором будет играть этот трек(Время в игровых часах, то есть тут амбиент будет играть с 4 утра до 10 вечера).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;0.45,&amp;quot; - громкость музыки на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;20, 40&amp;quot; - что эти цифры означают я не знаю, но, я думаю, что того, что мы изучили и так хватит для настройки звучания.&lt;br /&gt;
&lt;br /&gt;
== Размещение локации на глобальной карте. ==&lt;br /&gt;
&lt;br /&gt;
'''Автор: Xmk (отредактировал БАТЯ-STALKER)'''&lt;br /&gt;
&lt;br /&gt;
== Определение bound_rect. ==&lt;br /&gt;
&lt;br /&gt;
Идем в папку levels\my_level\ и открываем там файл level.ltx.&lt;br /&gt;
Если в нем нет секции &amp;quot;[level_map]&amp;quot;, то нужно ее добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level_map]&lt;br /&gt;
bound_rect = -279.07, -603.500, 344.518, -23.000&lt;br /&gt;
texture = map\map_my_level&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bound_rect – это игровые координаты текстуры, нечто вроде сетки координат на глобальной карте. Четыре числа означают крайние точки координат – верхний левый угол глобальной карты имеет координаты 0,0 а нижний правый угол глобальной карты имеет координаты 1024,2634. ОБРАТИТЕ ВНИМАНИЕ, это не пиксели! Сама текстура имеет размер 1024*2048, а может быть и любого другого – но для игры высота карты берётся равной 2634 пункта, при том что ширина сохраняется 1024. Это очень важное замечание – его важность поясним дальше. &lt;br /&gt;
&lt;br /&gt;
Texture – это текстура карты локации. Именно она показывается на мини-карте в игре, именно она же НАКЛАДЫВАЕТСЯ (да-да, сама накладывается) на глобальную карту в том месте, где мы захотим. &lt;br /&gt;
&lt;br /&gt;
bound_rect – это описание крайних координат локации ВНУТРИ самой локации. Тут наверно нужно пояснить. Любой кто имел дело с координатами на уровнях, замечал что икс и игрек (высоту сейчас не будем принимать в расчет) бывают не только положительными, но и отрицательными. Точка на уровне имеющая координаты (0,0) это не угол карты, как можно было бы предположить, а где-то около её середины. Например, на Кордоне точка с координатами 0,0 расположена недалеко от поста Кузнецова под мостом. А вот возле бункера Сидоровича координата икс у игрока (или чего угодно другого, любого объекта в игре) будет отрицательная. А возле блокпоста военных (тот, что на юге, вниз по дороге от деревни новичков) координата игрек будет отрицательной. Так вот, в строке bound_rect последовательно указаны самые минимальные координаты локации и самые максимальные. То есть самый меньший икс, потом самый меньший игрек, потом самый большой икс, и четвёртое число – самый большой игрек. Обратите внимание, эти координаты – вовсе не там, где можно побегать. Нет. Речь идёт об УГЛАХ локации, там где заканчивается земля и начинается пустота. На кордоне юго-западный угол имеет координаты -317.164, -633.718, а северо-восточный 404.880, 811.627. Точность указана до сотых.&lt;br /&gt;
&lt;br /&gt;
== Определение global_rect. ==&lt;br /&gt;
Параметр &amp;quot;global_rect&amp;quot; можно найти в файле configs\game_maps_single.ltx, в секции своей локации.&lt;br /&gt;
&lt;br /&gt;
Global_rect – координаты прямоугольника на глобальной карте, тот кусочек куда будет вписана (наложена) карта локации, и где будут с учётом масштаба отображаться все метки локации. Метод указания координат аналогичен, берутся два угла, первый северо-ЗАПАДНЫЙ, второй юго-ВОСТОЧНЫЙ. Обратите внимание, при определении координат на локации отсчёт игрека идёт снизу вверх, а тут наоборот, сверху вниз. То есть точка с координатами 50, 100 будет ВЫШЕ чем точка 50, 200. А точка с координатами 50, 0 – вообще на самом верху. В то время как точка с координатами 50, 2634 – на самом низу глобальной карты. Вообще правило отсчёта координат от верхнего левого угла текстуры характерно для СТАЛКЕРа, не знаю как для других игр использующих dds формат, может так же. Посмотрим на глобальные координаты карты Кордона на большой, глобальной карте. &lt;br /&gt;
global_rect=355.0,2011.0,576.0,2453.000000&lt;br /&gt;
Получается, прямоугольник куда будет вписана карта Кордона определён двумя точками. Первая с координатами (на глобальной карте!) 355.0,2011.0, а вторая с координатами 576.0,2453.000000. Зачем столько нулей – не спрашивайте. Не знаю. Но по этим координатам видно, что карта Кордона будет вписана в прямоугольник, который начинается от 355 по икс и 2011 по игрек и заканчивается на 576 по икс и 2453 по игрек. Итого на глобальной карте размер карты Кордона составит 221*442 пункта. Повторюсь – это не пиксели, а пункты, количество которых определено во второй секции конфигурационного файла, который мы сейчас разбираем. &lt;br /&gt;
&lt;br /&gt;
Интересно, что подземелья Агропрома, например, на глобальной карте тоже есть – но для них отведено всего лишь 2*3 пункта, и находятся они почти посередине карты Агропрома! Именно поэтому когда игрок находится в подземке, его метка всегда светится в районе завода, где прятался Крот при первом заходе на локацию, и практически неподвижна. Похожим образом сделано и с лабораторией Х18 – она на глобальной карте расположена справа от Радара, но размер её прямоугольника всего 2*2 пункта. &lt;br /&gt;
&lt;br /&gt;
Итак, у нас иметься локация, у которой имеется карты – textures\map\map_lost_villiage.dds например, bound_rect уже известен.&lt;br /&gt;
Нам нужно расположить ее на глобальной карте, к примеру вот [http://img.gameru.net/img/5b400.jpg здесь].&lt;br /&gt;
&lt;br /&gt;
Открываем файл ui_global_map.dds через Stalker Icon Viewer и снимаем координаты верхнего левого угла будущего места расположения локации:&lt;br /&gt;
&lt;br /&gt;
[http://img.gameru.net/img/abed5.jpg как-то так]&lt;br /&gt;
 &lt;br /&gt;
К сожалению на скриншоте не видно курсора.&lt;br /&gt;
Итак у нас получились координаты: x=180, y=370&lt;br /&gt;
&lt;br /&gt;
В конфиге глобальная карта имеет координаты 1024,2634, в то время когда текстура всего 1024x2048.&lt;br /&gt;
Что мы делаем? Запускаем калькулятор и делим 2634 на 2048, у нас получается 1.2861328125&lt;br /&gt;
&lt;br /&gt;
Далее умножаем координату y(370) на получившееся значение(1.2861328125), у нас получаться 475.86…. (округлим)&lt;br /&gt;
&lt;br /&gt;
Далее все просто, скажем наша карта локации 100 на 100, задаем в global_rect нашей локации  180.0, 475.86, 280.0, 575.86&lt;br /&gt;
&lt;br /&gt;
180.0  - координата x левого края текстуры локации&lt;br /&gt;
475.86 – число, которое мы получили, координата верхнего края текстуры локации&lt;br /&gt;
280.0 – координата x правого края текстуры локации. Прибавляем к координате левого края локации ширину карты&lt;br /&gt;
575.86 - координата y нижнего края текстуры локации. Прибавляем к координате верхнего края локации высоту карты&lt;br /&gt;
&lt;br /&gt;
Вот собственно, что у нас [http://img.gameru.net/img/32719.jpg получилось].&lt;br /&gt;
&lt;br /&gt;
Всё.Наша локация полностью размещена на глобальной карте.&lt;br /&gt;
&lt;br /&gt;
== Напоследок. ==&lt;br /&gt;
Статья еще не закончена и будет дополняться.&lt;br /&gt;
&lt;br /&gt;
'''Автор: БАТЯ-STALKER'''&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-03-20T05:56:30Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-03-17T11:46:54Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D</id>
		<title>Обустройка локаций в ЧН</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D"/>
				<updated>2010-03-13T09:22:51Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сразу скажу, что тутор рассчитан на ЧН, так что никаких вопросов насчет ЗП не задавайте.&lt;br /&gt;
&lt;br /&gt;
== Необходимые программы. ==&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=getit&amp;amp;lid=182 S.T.A.L.K.E.R Icons Viever]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Изменения названия локации. ==&lt;br /&gt;
Для изменения названия локации открываем файл configs\game_levels.ltx и ищем там свою локацию.&lt;br /&gt;
Видите строку caption = &amp;quot;my_level&amp;quot;?Это ссылка на секцию в файле configs\text\rus\ui_st_pda.xml.&lt;br /&gt;
Создаем в файле такую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;string id=&amp;quot;my_level&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;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
После этого в игре будет писаться название уровня не &amp;quot;my_level&amp;quot;, а &amp;quot;Мой уровень&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Добавление загрузочного экрана на локацию. ==&lt;br /&gt;
Для добавления загрузочного экрана локации идем в папку &amp;quot;textures\intro&amp;quot; от мода или чистой игры и ищем там загрузочный экран своей локации - &amp;quot;intro_наша_локация&amp;quot;.Затем просто копируем текстуру в нашу геймдату, в соответствующею папку.&lt;br /&gt;
&lt;br /&gt;
== Добавление фоновой музыки на локацию. ==&lt;br /&gt;
Открываем файлы configs\game_maps_single.ltx и configs\game_levels_music.ltx.В файле configs\game_maps_single.ltx прописываем в секции нашей локации ссылку на музыкальную секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
music_tracks                     = name_musics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И в файле configs\game_levels_music.ltx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[name_musics]&lt;br /&gt;
music\amb08				= 4, 22,  0.45,   20, 40 &lt;br /&gt;
music\amb04		    	= 22, 4,  0.55,   10, 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
(Везде буду рассматривать первую строчку)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;music\amb08&amp;quot; - музыкальный трек который будет играть на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;= 4, 22,&amp;quot; - промежуток, в котором будет играть этот трек(Время в игровых часах, то есть тут амбиент будет играть с 4 утра до 10 вечера).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;0.45,&amp;quot; - громкость музыки на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;20, 40&amp;quot; - что эти цифры означают я не знаю, но, я думаю, что того, что мы изучили и так хватит для настройки звучания.&lt;br /&gt;
&lt;br /&gt;
== Размещение локации на глобальной карте. ==&lt;br /&gt;
&lt;br /&gt;
'''Автор: Xmk (отредактировал БАТЯ-STALKER)'''&lt;br /&gt;
&lt;br /&gt;
== Определение bound_rect. ==&lt;br /&gt;
&lt;br /&gt;
Идем в папку levels\my_level\ и открываем там файл level.ltx.&lt;br /&gt;
Если в нем нет секции &amp;quot;[level_map]&amp;quot;, то нужно ее добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level_map]&lt;br /&gt;
bound_rect = -279.07, -603.500, 344.518, -23.000&lt;br /&gt;
texture = map\map_my_level&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bound_rect – это игровые координаты текстуры, нечто вроде сетки координат на глобальной карте. Четыре числа означают крайние точки координат – верхний левый угол глобальной карты имеет координаты 0,0 а нижний правый угол глобальной карты имеет координаты 1024,2634. ОБРАТИТЕ ВНИМАНИЕ, это не пиксели! Сама текстура имеет размер 1024*2048, а может быть и любого другого – но для игры высота карты берётся равной 2634 пункта, при том что ширина сохраняется 1024. Это очень важное замечание – его важность поясним дальше. &lt;br /&gt;
&lt;br /&gt;
Texture – это текстура карты локации. Именно она показывается на мини-карте в игре, именно она же НАКЛАДЫВАЕТСЯ (да-да, сама накладывается) на глобальную карту в том месте, где мы захотим. &lt;br /&gt;
&lt;br /&gt;
bound_rect – это описание крайних координат локации ВНУТРИ самой локации. Тут наверно нужно пояснить. Любой кто имел дело с координатами на уровнях, замечал что икс и игрек (высоту сейчас не будем принимать в расчет) бывают не только положительными, но и отрицательными. Точка на уровне имеющая координаты (0,0) это не угол карты, как можно было бы предположить, а где-то около её середины. Например, на Кордоне точка с координатами 0,0 расположена недалеко от поста Кузнецова под мостом. А вот возле бункера Сидоровича координата икс у игрока (или чего угодно другого, любого объекта в игре) будет отрицательная. А возле блокпоста военных (тот, что на юге, вниз по дороге от деревни новичков) координата игрек будет отрицательной. Так вот, в строке bound_rect последовательно указаны самые минимальные координаты локации и самые максимальные. То есть самый меньший икс, потом самый меньший игрек, потом самый большой икс, и четвёртое число – самый большой игрек. Обратите внимание, эти координаты – вовсе не там, где можно побегать. Нет. Речь идёт об УГЛАХ локации, там где заканчивается земля и начинается пустота. На кордоне юго-западный угол имеет координаты -317.164, -633.718, а северо-восточный 404.880, 811.627. Точность указана до сотых.&lt;br /&gt;
&lt;br /&gt;
== Определение global_rect. ==&lt;br /&gt;
Параметр &amp;quot;global_rect&amp;quot; можно найти в файле configs\game_maps_single.ltx, в секции своей локации.&lt;br /&gt;
&lt;br /&gt;
Global_rect – координаты прямоугольника на глобальной карте, тот кусочек куда будет вписана (наложена) карта локации, и где будут с учётом масштаба отображаться все метки локации. Метод указания координат аналогичен, берутся два угла, первый северо-ЗАПАДНЫЙ, второй юго-ВОСТОЧНЫЙ. Обратите внимание, при определении координат на локации отсчёт игрека идёт снизу вверх, а тут наоборот, сверху вниз. То есть точка с координатами 50, 100 будет ВЫШЕ чем точка 50, 200. А точка с координатами 50, 0 – вообще на самом верху. В то время как точка с координатами 50, 2634 – на самом низу глобальной карты. Вообще правило отсчёта координат от верхнего левого угла текстуры характерно для СТАЛКЕРа, не знаю как для других игр использующих dds формат, может так же. Посмотрим на глобальные координаты карты Кордона на большой, глобальной карте. &lt;br /&gt;
global_rect=355.0,2011.0,576.0,2453.000000&lt;br /&gt;
Получается, прямоугольник куда будет вписана карта Кордона определён двумя точками. Первая с координатами (на глобальной карте!) 355.0,2011.0, а вторая с координатами 576.0,2453.000000. Зачем столько нулей – не спрашивайте. Не знаю. Но по этим координатам видно, что карта Кордона будет вписана в прямоугольник, который начинается от 355 по икс и 2011 по игрек и заканчивается на 576 по икс и 2453 по игрек. Итого на глобальной карте размер карты Кордона составит 221*442 пункта. Повторюсь – это не пиксели, а пункты, количество которых определено во второй секции конфигурационного файла, который мы сейчас разбираем. &lt;br /&gt;
&lt;br /&gt;
Интересно, что подземелья Агропрома, например, на глобальной карте тоже есть – но для них отведено всего лишь 2*3 пункта, и находятся они почти посередине карты Агропрома! Именно поэтому когда игрок находится в подземке, его метка всегда светится в районе завода, где прятался Крот при первом заходе на локацию, и практически неподвижна. Похожим образом сделано и с лабораторией Х18 – она на глобальной карте расположена справа от Радара, но размер её прямоугольника всего 2*2 пункта. &lt;br /&gt;
&lt;br /&gt;
Итак, у нас иметься локация, у которой имеется карты – textures\map\map_lost_villiage.dds например, bound_rect уже известен.&lt;br /&gt;
Нам нужно расположить ее на глобальной карте, к примеру вот [http://img.gameru.net/img/5b400.jpg здесь].&lt;br /&gt;
&lt;br /&gt;
Открываем файл ui_global_map.dds через Stalker Icon Viewer и снимаем координаты верхнего левого угла будущего места расположения локации:&lt;br /&gt;
&lt;br /&gt;
[http://img.gameru.net/img/abed5.jpg как-то так]&lt;br /&gt;
 &lt;br /&gt;
К сожалению на скриншоте не видно курсора.&lt;br /&gt;
Итак у нас получились координаты: x=180, y=370&lt;br /&gt;
&lt;br /&gt;
В конфиге глобальная карта имеет координаты 1024,2634, в то время когда текстура всего 1024x2048.&lt;br /&gt;
Что мы делаем? Запускаем калькулятор и делим 2634 на 2048, у нас получается 1.2861328125&lt;br /&gt;
&lt;br /&gt;
Далее умножаем координату y(370) на получившееся значение(1.2861328125), у нас получаться 475.86…. (округлим)&lt;br /&gt;
&lt;br /&gt;
Далее все просто, скажем наша карта локации 100 на 100, задаем в global_rect нашей локации  180.0, 475.86, 280.0, 575.86&lt;br /&gt;
&lt;br /&gt;
180.0  - координата x левого края текстуры локации&lt;br /&gt;
475.86 – число, которое мы получили, координата верхнего края текстуры локации&lt;br /&gt;
280.0 – координата x правого края текстуры локации. Прибавляем к координате левого края локации ширину карты&lt;br /&gt;
575.86 - координата y нижнего края текстуры локации. Прибавляем к координате верхнего края локации высоту карты&lt;br /&gt;
&lt;br /&gt;
Вот собственно, что у нас [http://img.gameru.net/img/32719.jpg получилось].&lt;br /&gt;
&lt;br /&gt;
Всё.Наша локация полностью размещена на глобальной карте.&lt;br /&gt;
&lt;br /&gt;
== Напоследок. ==&lt;br /&gt;
Статья еще не закончена и будет дополняться.&lt;br /&gt;
&lt;br /&gt;
'''Автор: БАТЯ-STALKER'''&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D</id>
		<title>Обустройка локаций в ЧН</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D"/>
				<updated>2010-03-13T09:21:12Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сразу скажу, что тутор рассчитан на ЧН, так что никаких вопросов насчет ЗП не задавайте.&lt;br /&gt;
&lt;br /&gt;
== Необходимые программы. ==&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=getit&amp;amp;lid=182 S.T.A.L.K.E.R Icons Viever]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Изменения названия локации. ==&lt;br /&gt;
Для изменения названия локации открываем файл configs\game_levels.ltx и ищем там свою локацию.&lt;br /&gt;
Видите строку caption = &amp;quot;my_level&amp;quot;?Это ссылка на секцию в файле configs\text\rus\ui_st_pda.xml.&lt;br /&gt;
Создаем в файле такую секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;string id=&amp;quot;my_level&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;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
После этого в игре будет писаться название уровня не &amp;quot;my_level&amp;quot;, а &amp;quot;Мой уровень&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Добавление загрузочного экрана на локацию. ==&lt;br /&gt;
Для добавления загрузочного экрана локации идем в папку &amp;quot;textures\intro&amp;quot; от мода или чистой игры и ищем там загрузочный экран своей локации - &amp;quot;intro_наша_локация&amp;quot;.Затем просто копируем текстуру в нашу геймдату, в соответствующею папку.&lt;br /&gt;
&lt;br /&gt;
== Добавление фоновой музыки на локацию. ==&lt;br /&gt;
Открываем файлы configs\game_maps_single.ltx и configs\game_levels_music.ltx.В файле configs\game_maps_single.ltx прописываем в секции нашей локации ссылку на музыкальную секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
music_tracks                     = name_musics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И в файле configs\game_levels_music.ltx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[name_musics]&lt;br /&gt;
music\amb08				= 4, 22,  0.45,   20, 40 &lt;br /&gt;
music\amb04		    	= 22, 4,  0.55,   10, 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
(Везде буду рассматривать первую строчку)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;music\amb08&amp;quot; - музыкальный трек который будет играть на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;= 4, 22,&amp;quot; - промежуток, в котором будет играть этот трек(Время в игровых часах, то есть тут амбиент будет играть с 4 утра до 10 вечера).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;0.45,&amp;quot; - громкость музыки на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;20, 40&amp;quot; - что эти цифры означают я не знаю, но, я думаю, что того, что мы изучили и так хватит для настройки звучания.&lt;br /&gt;
&lt;br /&gt;
== Размещение локации на глобальной карте. ==&lt;br /&gt;
&lt;br /&gt;
'''Автор: Xmk (отредактировал БАТЯ-STALKER)'''&lt;br /&gt;
&lt;br /&gt;
== Определение bound_rect ==&lt;br /&gt;
&lt;br /&gt;
Идем в папку levels\my_level\ и открываем там файл level.ltx.&lt;br /&gt;
Если в нем нет секции &amp;quot;[level_map]&amp;quot;, то нужно ее добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level_map]&lt;br /&gt;
bound_rect = -279.07, -603.500, 344.518, -23.000&lt;br /&gt;
texture = map\map_my_level&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bound_rect – это игровые координаты текстуры, нечто вроде сетки координат на глобальной карте. Четыре числа означают крайние точки координат – верхний левый угол глобальной карты имеет координаты 0,0 а нижний правый угол глобальной карты имеет координаты 1024,2634. ОБРАТИТЕ ВНИМАНИЕ, это не пиксели! Сама текстура имеет размер 1024*2048, а может быть и любого другого – но для игры высота карты берётся равной 2634 пункта, при том что ширина сохраняется 1024. Это очень важное замечание – его важность поясним дальше. &lt;br /&gt;
&lt;br /&gt;
Texture – это текстура карты локации. Именно она показывается на мини-карте в игре, именно она же НАКЛАДЫВАЕТСЯ (да-да, сама накладывается) на глобальную карту в том месте, где мы захотим. &lt;br /&gt;
&lt;br /&gt;
bound_rect – это описание крайних координат локации ВНУТРИ самой локации. Тут наверно нужно пояснить. Любой кто имел дело с координатами на уровнях, замечал что икс и игрек (высоту сейчас не будем принимать в расчет) бывают не только положительными, но и отрицательными. Точка на уровне имеющая координаты (0,0) это не угол карты, как можно было бы предположить, а где-то около её середины. Например, на Кордоне точка с координатами 0,0 расположена недалеко от поста Кузнецова под мостом. А вот возле бункера Сидоровича координата икс у игрока (или чего угодно другого, любого объекта в игре) будет отрицательная. А возле блокпоста военных (тот, что на юге, вниз по дороге от деревни новичков) координата игрек будет отрицательной. Так вот, в строке bound_rect последовательно указаны самые минимальные координаты локации и самые максимальные. То есть самый меньший икс, потом самый меньший игрек, потом самый большой икс, и четвёртое число – самый большой игрек. Обратите внимание, эти координаты – вовсе не там, где можно побегать. Нет. Речь идёт об УГЛАХ локации, там где заканчивается земля и начинается пустота. На кордоне юго-западный угол имеет координаты -317.164, -633.718, а северо-восточный 404.880, 811.627. Точность указана до сотых.&lt;br /&gt;
&lt;br /&gt;
== Определение global_rect ==&lt;br /&gt;
Параметр &amp;quot;global_rect&amp;quot; можно найти в файле configs\game_maps_single.ltx, в секции своей локации.&lt;br /&gt;
&lt;br /&gt;
Global_rect – координаты прямоугольника на глобальной карте, тот кусочек куда будет вписана (наложена) карта локации, и где будут с учётом масштаба отображаться все метки локации. Метод указания координат аналогичен, берутся два угла, первый северо-ЗАПАДНЫЙ, второй юго-ВОСТОЧНЫЙ. Обратите внимание, при определении координат на локации отсчёт игрека идёт снизу вверх, а тут наоборот, сверху вниз. То есть точка с координатами 50, 100 будет ВЫШЕ чем точка 50, 200. А точка с координатами 50, 0 – вообще на самом верху. В то время как точка с координатами 50, 2634 – на самом низу глобальной карты. Вообще правило отсчёта координат от верхнего левого угла текстуры характерно для СТАЛКЕРа, не знаю как для других игр использующих dds формат, может так же. Посмотрим на глобальные координаты карты Кордона на большой, глобальной карте. &lt;br /&gt;
global_rect=355.0,2011.0,576.0,2453.000000&lt;br /&gt;
Получается, прямоугольник куда будет вписана карта Кордона определён двумя точками. Первая с координатами (на глобальной карте!) 355.0,2011.0, а вторая с координатами 576.0,2453.000000. Зачем столько нулей – не спрашивайте. Не знаю. Но по этим координатам видно, что карта Кордона будет вписана в прямоугольник, который начинается от 355 по икс и 2011 по игрек и заканчивается на 576 по икс и 2453 по игрек. Итого на глобальной карте размер карты Кордона составит 221*442 пункта. Повторюсь – это не пиксели, а пункты, количество которых определено во второй секции конфигурационного файла, который мы сейчас разбираем. &lt;br /&gt;
&lt;br /&gt;
Интересно, что подземелья Агропрома, например, на глобальной карте тоже есть – но для них отведено всего лишь 2*3 пункта, и находятся они почти посередине карты Агропрома! Именно поэтому когда игрок находится в подземке, его метка всегда светится в районе завода, где прятался Крот при первом заходе на локацию, и практически неподвижна. Похожим образом сделано и с лабораторией Х18 – она на глобальной карте расположена справа от Радара, но размер её прямоугольника всего 2*2 пункта. &lt;br /&gt;
&lt;br /&gt;
Итак, у нас иметься локация, у которой имеется карты – textures\map\map_lost_villiage.dds например, bound_rect уже известен.&lt;br /&gt;
Нам нужно расположить ее на глобальной карте, к примеру вот [http://img.gameru.net/img/5b400.jpg здесь].&lt;br /&gt;
&lt;br /&gt;
Открываем файл ui_global_map.dds через Stalker Icon Viewer и снимаем координаты верхнего левого угла будущего места расположения локации:&lt;br /&gt;
&lt;br /&gt;
[http://img.gameru.net/img/abed5.jpg как-то так]&lt;br /&gt;
 &lt;br /&gt;
К сожалению на скриншоте не видно курсора.&lt;br /&gt;
Итак у нас получились координаты: x=180, y=370&lt;br /&gt;
&lt;br /&gt;
В конфиге глобальная карта имеет координаты 1024,2634, в то время когда текстура всего 1024x2048.&lt;br /&gt;
Что мы делаем? Запускаем калькулятор и делим 2634 на 2048, у нас получается 1.2861328125&lt;br /&gt;
&lt;br /&gt;
Далее умножаем координату y(370) на получившееся значение(1.2861328125), у нас получаться 475.86…. (округлим)&lt;br /&gt;
&lt;br /&gt;
Далее все просто, скажем наша карта локации 100 на 100, задаем в global_rect нашей локации  180.0, 475.86, 280.0, 575.86&lt;br /&gt;
&lt;br /&gt;
180.0  - координата x левого края текстуры локации&lt;br /&gt;
475.86 – число, которое мы получили, координата верхнего края текстуры локации&lt;br /&gt;
280.0 – координата x правого края текстуры локации. Прибавляем к координате левого края локации ширину карты&lt;br /&gt;
575.86 - координата y нижнего края текстуры локации. Прибавляем к координате верхнего края локации высоту карты&lt;br /&gt;
&lt;br /&gt;
Вот собственно, что у нас [http://img.gameru.net/img/32719.jpg получилось].&lt;br /&gt;
&lt;br /&gt;
Всё.Наша локация полностью размещена на глобальной карте.&lt;br /&gt;
&lt;br /&gt;
== Напоследок. ==&lt;br /&gt;
Статья еще не закончена и будет дополняться.&lt;br /&gt;
&lt;br /&gt;
'''Автор: БАТЯ-STALKER'''&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D</id>
		<title>Обустройка локаций в ЧН</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%B2_%D0%A7%D0%9D"/>
				<updated>2010-03-13T09:13:11Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сразу скажу, что тутор рассчитан на ЧН, так что никаких вопросов насчет ЗП не задавайте.&lt;br /&gt;
&lt;br /&gt;
== Необходимые программы. ==&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=getit&amp;amp;lid=182 S.T.A.L.K.E.R Icons Viever]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Добавление загрузочного экрана на локацию. ==&lt;br /&gt;
Для добавления загрузочного экрана локации идем в папку &amp;quot;textures\intro&amp;quot; от мода или чистой игры и ищем там загрузочный экран своей локации - &amp;quot;intro_наша_локация&amp;quot;.Затем просто копируем текстуру в нашу геймдату, в соответствующею папку.&lt;br /&gt;
&lt;br /&gt;
== Добавление фоновой музыки на локацию. ==&lt;br /&gt;
Открываем файлы configs\game_maps_single.ltx и configs\game_levels_music.ltx.В файле configs\game_maps_single.ltx прописываем в секции нашей локации ссылку на музыкальную секцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
music_tracks                     = name_musics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И в файле configs\game_levels_music.ltx:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[name_musics]&lt;br /&gt;
music\amb08				= 4, 22,  0.45,   20, 40 &lt;br /&gt;
music\amb04		    	= 22, 4,  0.55,   10, 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
(Везде буду рассматривать первую строчку)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;music\amb08&amp;quot; - музыкальный трек который будет играть на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;= 4, 22,&amp;quot; - промежуток, в котором будет играть этот трек(Время в игровых часах, то есть тут амбиент будет играть с 4 утра до 10 вечера).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;0.45,&amp;quot; - громкость музыки на локации.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;20, 40&amp;quot; - что эти цифры означают я не знаю, но, я думаю, что того, что мы изучили и так хватит для настройки звучания.&lt;br /&gt;
&lt;br /&gt;
== Размещение локации на глобальной карте. ==&lt;br /&gt;
&lt;br /&gt;
'''Автор: Xmk (отредактировал БАТЯ-STALKER)'''&lt;br /&gt;
&lt;br /&gt;
== Определение bound_rect ==&lt;br /&gt;
&lt;br /&gt;
Идем в папку levels\my_level\ и открываем там файл level.ltx.&lt;br /&gt;
Если в нем нет секции &amp;quot;[level_map]&amp;quot;, то нужно ее добавить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level_map]&lt;br /&gt;
bound_rect = -279.07, -603.500, 344.518, -23.000&lt;br /&gt;
texture = map\map_my_level&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bound_rect – это игровые координаты текстуры, нечто вроде сетки координат на глобальной карте. Четыре числа означают крайние точки координат – верхний левый угол глобальной карты имеет координаты 0,0 а нижний правый угол глобальной карты имеет координаты 1024,2634. ОБРАТИТЕ ВНИМАНИЕ, это не пиксели! Сама текстура имеет размер 1024*2048, а может быть и любого другого – но для игры высота карты берётся равной 2634 пункта, при том что ширина сохраняется 1024. Это очень важное замечание – его важность поясним дальше. &lt;br /&gt;
&lt;br /&gt;
Texture – это текстура карты локации. Именно она показывается на мини-карте в игре, именно она же НАКЛАДЫВАЕТСЯ (да-да, сама накладывается) на глобальную карту в том месте, где мы захотим. &lt;br /&gt;
&lt;br /&gt;
bound_rect – это описание крайних координат локации ВНУТРИ самой локации. Тут наверно нужно пояснить. Любой кто имел дело с координатами на уровнях, замечал что икс и игрек (высоту сейчас не будем принимать в расчет) бывают не только положительными, но и отрицательными. Точка на уровне имеющая координаты (0,0) это не угол карты, как можно было бы предположить, а где-то около её середины. Например, на Кордоне точка с координатами 0,0 расположена недалеко от поста Кузнецова под мостом. А вот возле бункера Сидоровича координата икс у игрока (или чего угодно другого, любого объекта в игре) будет отрицательная. А возле блокпоста военных (тот, что на юге, вниз по дороге от деревни новичков) координата игрек будет отрицательной. Так вот, в строке bound_rect последовательно указаны самые минимальные координаты локации и самые максимальные. То есть самый меньший икс, потом самый меньший игрек, потом самый большой икс, и четвёртое число – самый большой игрек. Обратите внимание, эти координаты – вовсе не там, где можно побегать. Нет. Речь идёт об УГЛАХ локации, там где заканчивается земля и начинается пустота. На кордоне юго-западный угол имеет координаты -317.164, -633.718, а северо-восточный 404.880, 811.627. Точность указана до сотых.&lt;br /&gt;
&lt;br /&gt;
== Определение global_rect ==&lt;br /&gt;
Параметр &amp;quot;global_rect&amp;quot; можно найти в файле configs\game_maps_single.ltx, в секции своей локации.&lt;br /&gt;
&lt;br /&gt;
Global_rect – координаты прямоугольника на глобальной карте, тот кусочек куда будет вписана (наложена) карта локации, и где будут с учётом масштаба отображаться все метки локации. Метод указания координат аналогичен, берутся два угла, первый северо-ЗАПАДНЫЙ, второй юго-ВОСТОЧНЫЙ. Обратите внимание, при определении координат на локации отсчёт игрека идёт снизу вверх, а тут наоборот, сверху вниз. То есть точка с координатами 50, 100 будет ВЫШЕ чем точка 50, 200. А точка с координатами 50, 0 – вообще на самом верху. В то время как точка с координатами 50, 2634 – на самом низу глобальной карты. Вообще правило отсчёта координат от верхнего левого угла текстуры характерно для СТАЛКЕРа, не знаю как для других игр использующих dds формат, может так же. Посмотрим на глобальные координаты карты Кордона на большой, глобальной карте. &lt;br /&gt;
global_rect=355.0,2011.0,576.0,2453.000000&lt;br /&gt;
Получается, прямоугольник куда будет вписана карта Кордона определён двумя точками. Первая с координатами (на глобальной карте!) 355.0,2011.0, а вторая с координатами 576.0,2453.000000. Зачем столько нулей – не спрашивайте. Не знаю. Но по этим координатам видно, что карта Кордона будет вписана в прямоугольник, который начинается от 355 по икс и 2011 по игрек и заканчивается на 576 по икс и 2453 по игрек. Итого на глобальной карте размер карты Кордона составит 221*442 пункта. Повторюсь – это не пиксели, а пункты, количество которых определено во второй секции конфигурационного файла, который мы сейчас разбираем. &lt;br /&gt;
&lt;br /&gt;
Интересно, что подземелья Агропрома, например, на глобальной карте тоже есть – но для них отведено всего лишь 2*3 пункта, и находятся они почти посередине карты Агропрома! Именно поэтому когда игрок находится в подземке, его метка всегда светится в районе завода, где прятался Крот при первом заходе на локацию, и практически неподвижна. Похожим образом сделано и с лабораторией Х18 – она на глобальной карте расположена справа от Радара, но размер её прямоугольника всего 2*2 пункта. &lt;br /&gt;
&lt;br /&gt;
Итак, у нас иметься локация, у которой имеется карты – textures\map\map_lost_villiage.dds например, bound_rect уже известен.&lt;br /&gt;
Нам нужно расположить ее на глобальной карте, к примеру вот [http://img.gameru.net/img/5b400.jpg здесь].&lt;br /&gt;
&lt;br /&gt;
Открываем файл ui_global_map.dds через Stalker Icon Viewer и снимаем координаты верхнего левого угла будущего места расположения локации:&lt;br /&gt;
&lt;br /&gt;
[http://img.gameru.net/img/abed5.jpg как-то так]&lt;br /&gt;
 &lt;br /&gt;
К сожалению на скриншоте не видно курсора.&lt;br /&gt;
Итак у нас получились координаты: x=180, y=370&lt;br /&gt;
&lt;br /&gt;
В конфиге глобальная карта имеет координаты 1024,2634, в то время когда текстура всего 1024x2048.&lt;br /&gt;
Что мы делаем? Запускаем калькулятор и делим 2634 на 2048, у нас получается 1.2861328125&lt;br /&gt;
&lt;br /&gt;
Далее умножаем координату y(370) на получившееся значение(1.2861328125), у нас получаться 475.86…. (округлим)&lt;br /&gt;
&lt;br /&gt;
Далее все просто, скажем наша карта локации 100 на 100, задаем в global_rect нашей локации  180.0, 475.86, 280.0, 575.86&lt;br /&gt;
&lt;br /&gt;
180.0  - координата x левого края текстуры локации&lt;br /&gt;
475.86 – число, которое мы получили, координата верхнего края текстуры локации&lt;br /&gt;
280.0 – координата x правого края текстуры локации. Прибавляем к координате левого края локации ширину карты&lt;br /&gt;
575.86 - координата y нижнего края текстуры локации. Прибавляем к координате верхнего края локации высоту карты&lt;br /&gt;
&lt;br /&gt;
Вот собственно, что у нас [http://img.gameru.net/img/32719.jpg получилось].&lt;br /&gt;
&lt;br /&gt;
Всё.Наша локация полностью размещена на глобальной карте.&lt;br /&gt;
&lt;br /&gt;
== Напоследок. ==&lt;br /&gt;
Статья еще не закончена и будет дополняться.&lt;br /&gt;
&lt;br /&gt;
'''Автор: БАТЯ-STALKER'''&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-03-09T10:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-03-09T10:51:56Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же кладем туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Да и еще.Если будете переносить секции спавна, то для массовой замены гейм вертексов и левел вертексов можно использовать блокнот: открываем наш файл в блокноте=&amp;gt; правка=&amp;gt; заменить, и пишем что на что заменять.&lt;br /&gt;
----&lt;br /&gt;
'''Убедительная просьба к начинающим модмейкерам.Пожалуйста, если вы только начали заниматься модами, то я вам настоятельно не советую заниматься подключением локаций.Наберитесь опыта, подучитесь элементарному.Я вас учить этому не подписывался.'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: джЭдай (ака Panisher)'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-01-31T06:34:15Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: /* Основная работа. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же ложим all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же ложим туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке &amp;quot;upd:position = &amp;quot;) и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: Panisher'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-01-29T23:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: /* Соединение с остальными уровнями. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же ложим all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же ложим туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваеваем этой секции спавна позицию и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: Panisher'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или появились вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-01-29T22:59:06Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: /* Соединение с остальными уровнями. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же ложим all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же ложим туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваеваем этой секции спавна позицию и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: Panisher'''&lt;br /&gt;
&lt;br /&gt;
Если у вас что-то не получается или есть вопросы, есть [http://www.gameru.net/forum/index.php?showtopic=32654 тема] на форуме.&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team</id>
		<title>Подключение локаций к ЧН и ЗП с помощью программы от AMK Team</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B9_%D0%BA_%D0%A7%D0%9D_%D0%B8_%D0%97%D0%9F_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_%D0%BE%D1%82_AMK_Team"/>
				<updated>2010-01-29T10:51:04Z</updated>
		
		<summary type="html">&lt;p&gt;БАТЯ-STALKER: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;На днях пообщался с одним человеком, узнал как подключать локации к ЗП\ЧН через программу от AMK Team.В данном уроке мы полностью подключим локацию к игре.&lt;br /&gt;
&lt;br /&gt;
== Инструменты. ==&lt;br /&gt;
&lt;br /&gt;
'''Чем будем ковырять:'''&lt;br /&gt;
&lt;br /&gt;
Собственно, сама [http://www.st-khb27.ru/ggtool.rar программа] для редактирования файла game.graph.&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377026000/ACDC%20Cop.rar.html ACDC(Для ЗП)]&lt;br /&gt;
&lt;br /&gt;
[http://narod.ru/disk/17377059000/ACDC%20Cs.rar.html ACDC(Для ЧН)]&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/developer/mods/acdc11oct.rar ACDC(Для ТЧ)]&lt;br /&gt;
&lt;br /&gt;
Распакованные ТЧ или мод из которого взят уровень.(Если вы берете уровень из мода, то вам не подойдет простой ACDC от ТЧ.)&lt;br /&gt;
&lt;br /&gt;
Active perl(Необходим для работы ACDC, входит в два первых архива с ACDC).&lt;br /&gt;
&lt;br /&gt;
== Подготовка. ==&lt;br /&gt;
Устанавливаем active perl.&lt;br /&gt;
&lt;br /&gt;
Заходим в папку с программой ggEditor_01.Создаем там папки Cs или Cop(Смотря на какую игру делаете) и папку Soc.В папке Soc создаем папку gamedata и кидаем в нее файл game.graph(Важно чтобы game.graph лежал там, иначе программа не прочитает.) из мода, или от ТЧ.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку Soc и туда кидаем папку с ACDC для ТЧ, туда же ложим all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.&lt;br /&gt;
&lt;br /&gt;
Далее в папку ggEditor_01\Cs или Cop, кидаем папку с соответствующим ACDC, опять-же ложим туда all.spawn, распаковываем.&lt;br /&gt;
&lt;br /&gt;
В итоге у нас должно получиться 2 распакованных all.spawn`а, game.graph от ТЧ и папка с переносимым уровнем.&lt;br /&gt;
&lt;br /&gt;
С приготовлениями всё.&lt;br /&gt;
&lt;br /&gt;
== Основная работа. ==&lt;br /&gt;
Запускаем программу ggEditor.Видим там два окошка. В левом открываем game.graph от ТЧ, а в правом — от ЗП или ЧН(В ЗП и ЧН граф вшит в all.spawn, ищите его там.)(Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл section4.bin).&lt;br /&gt;
В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЧН\ЗП и удаляем старые файлы section4.bin или graph.bin.Затем переименовываем файлы graph.bin.new или section4.bin.new в graph.bin и соответственно section4.bin.&lt;br /&gt;
&lt;br /&gt;
Далее идем в папку с ACDC от ТЧ, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЧН\ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЧН это скорее всего будет 1620, а в ЗП 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool.Затем обращаем свой взор на строку «level_vertex_id».К исходному значению строки прибавляем число, которое мы записали в строку «game_vertex_id», полученное число записываем. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.&lt;br /&gt;
&lt;br /&gt;
После этого открываем файл alife_zaton(для ЗП) или alife_marsh(для ЧН)и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваеваем этой секции спавна позицию и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.&lt;br /&gt;
&lt;br /&gt;
Мы почти закончили с пробной сборкой новой локации(пока без перехода).&lt;br /&gt;
&lt;br /&gt;
Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)либо в файле ACDC Cs\stkutils\level.pm.&lt;br /&gt;
&lt;br /&gt;
В этих файлах ищем такие строки(для ЗП):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 934,         name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 883,		name =&amp;gt; 'jupiter_underground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 857,		name =&amp;gt; 'labx8' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 666,		name =&amp;gt; 'pripyat' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 317,		name =&amp;gt; 'jupiter' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'zaton' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А в файле level.pm от ACDC ЧН вы увидите такой текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,   },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use constant levels_info =&amp;gt; (&lt;br /&gt;
	{ gvid0 =&amp;gt; 1620,        name =&amp;gt; 'ваша_локация' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1573,	name =&amp;gt; 'l12_hospital' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1565,	name =&amp;gt; 'l11_stancia2' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1524,	name =&amp;gt; 'l10_limansk' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1511,	name =&amp;gt; 'l09_agroprom_undeground' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1313,	name =&amp;gt; 'l08_military' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1212,	name =&amp;gt; 'l07_yantar' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 1057,	name =&amp;gt; 'l06_agroprom' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 961,		name =&amp;gt; 'l05_red_forest' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 743,		name =&amp;gt; 'l04_darkvalley' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 472,		name =&amp;gt; 'l03_escape' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 245,		name =&amp;gt; 'l02_garbage' },&lt;br /&gt;
	{ gvid0 =&amp;gt; 0,		name =&amp;gt; 'l01_marsh' },&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё.Собираем all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Сборка геймдаты. ==&lt;br /&gt;
Осталось собрать gamedat`у для игры и смотреть что получилось.&lt;br /&gt;
Итак, приступим:&lt;br /&gt;
&lt;br /&gt;
В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.Затем заходим в папку с уровнем, удаляем файл level.ai и переименовываем файл level.ai10 в level.ai.&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.&lt;br /&gt;
&lt;br /&gt;
game_graphs.ltx для ЧН должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;эскейп&amp;quot;&lt;br /&gt;
  002          = &amp;quot;свалка&amp;quot;&lt;br /&gt;
  003          = &amp;quot;агропром&amp;quot;&lt;br /&gt;
  004          = &amp;quot;агропром-подземка&amp;quot;&lt;br /&gt;
  005          = &amp;quot;темная долина&amp;quot;&lt;br /&gt;
  006          = &amp;quot;лаборатория X-18&amp;quot;&lt;br /&gt;
  007          = &amp;quot;даркскейп&amp;quot;&lt;br /&gt;
  008          = &amp;quot;Бар&amp;quot;&lt;br /&gt;
  009          = &amp;quot;Росток&amp;quot;&lt;br /&gt;
  010		   = &amp;quot;Янтарь&amp;quot;&lt;br /&gt;
  011		   = &amp;quot;лаборатория X-16&amp;quot;&lt;br /&gt;
  012		   = &amp;quot;Милитари&amp;quot;&lt;br /&gt;
  013		   = &amp;quot;Мертвый город&amp;quot;&lt;br /&gt;
  014		   = &amp;quot;Радар&amp;quot;&lt;br /&gt;
  015		   = &amp;quot;Радар бункер&amp;quot;&lt;br /&gt;
  016		   = &amp;quot;Припять&amp;quot;&lt;br /&gt;
  017		   = &amp;quot;станция АЭС&amp;quot;&lt;br /&gt;
  018          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
game_graphs для ЗП должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[location_0]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
  002          = &amp;quot;sim_smart_2&amp;quot;&lt;br /&gt;
  003          = &amp;quot;sim_smart_3&amp;quot;&lt;br /&gt;
  004          = &amp;quot;sim_smart_4&amp;quot;&lt;br /&gt;
  005          = &amp;quot;sim_smart_5&amp;quot;&lt;br /&gt;
  006          = &amp;quot;sim_smart_6&amp;quot;&lt;br /&gt;
  007          = &amp;quot;sim_smart_7&amp;quot;&lt;br /&gt;
  008          = &amp;quot;sim_smart_8&amp;quot;&lt;br /&gt;
  009          = &amp;quot;sim_smart_base&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
[location_1]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001          = &amp;quot;ограниченный доступ&amp;quot;&lt;br /&gt;
  002		   = &amp;quot;запрещенный доступ&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
[location_2]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  001		   = &amp;quot;не для игрока&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[location_3]&lt;br /&gt;
  000          = &amp;quot;...&amp;quot;&lt;br /&gt;
  ...          . .......................&lt;br /&gt;
  112          = &amp;quot;pri_a22_smart_terrain&amp;quot;&lt;br /&gt;
  113          = &amp;quot;pri_a25_smart_terrain&amp;quot;&lt;br /&gt;
  114          = &amp;quot;pri_a28_arch&amp;quot;&lt;br /&gt;
  115          = &amp;quot;pri_a28_base&amp;quot;&lt;br /&gt;
  116          = &amp;quot;pri_b28_evac&amp;quot;&lt;br /&gt;
  117          = &amp;quot;pri_a28_heli&amp;quot;&lt;br /&gt;
  118          = &amp;quot;pri_a28_school&amp;quot;&lt;br /&gt;
  119          = &amp;quot;pri_a28_shop&amp;quot;&lt;br /&gt;
  120          = &amp;quot;pri_b301&amp;quot;&lt;br /&gt;
  121          = &amp;quot;pri_b302&amp;quot;&lt;br /&gt;
  122          = &amp;quot;pri_b303&amp;quot;&lt;br /&gt;
  123          = &amp;quot;pri_b304_monsters_smart_terrain&amp;quot;&lt;br /&gt;
  124          = &amp;quot;pri_b305_dogs&amp;quot;&lt;br /&gt;
  125          = &amp;quot;pri_b306&amp;quot;&lt;br /&gt;
  126          = &amp;quot;pri_b307&amp;quot;&lt;br /&gt;
  127          = &amp;quot;pri_b35_mercs&amp;quot;&lt;br /&gt;
  128          = &amp;quot;pri_b35_military&amp;quot;&lt;br /&gt;
  129          = &amp;quot;pri_b36_smart_terrain&amp;quot;&lt;br /&gt;
  130          = &amp;quot;pri_sim_1&amp;quot;&lt;br /&gt;
  131          = &amp;quot;pri_sim_2&amp;quot;&lt;br /&gt;
  132          = &amp;quot;pri_sim_3&amp;quot;&lt;br /&gt;
  133          = &amp;quot;pri_sim_4&amp;quot;&lt;br /&gt;
  134          = &amp;quot;pri_sim_5&amp;quot;&lt;br /&gt;
  135          = &amp;quot;pri_sim_6&amp;quot;&lt;br /&gt;
  136          = &amp;quot;pri_sim_7&amp;quot;&lt;br /&gt;
  137          = &amp;quot;pri_sim_8&amp;quot;&lt;br /&gt;
  138          = &amp;quot;pri_sim_9&amp;quot;&lt;br /&gt;
  139          = &amp;quot;pri_sim_10&amp;quot;&lt;br /&gt;
  140          = &amp;quot;pri_sim_11&amp;quot;&lt;br /&gt;
  141          = &amp;quot;pri_sim_12&amp;quot;&lt;br /&gt;
  142          = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    	   	&lt;br /&gt;
[graph_points_draw_color_palette]&lt;br /&gt;
default				= 0x6000ffff &lt;br /&gt;
000_000_000_000		= 0x60ff00ff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее лезем в game_levels.ltx.&lt;br /&gt;
Там в самом начале, где список уровней, вписываем &amp;quot;level183&amp;quot;(число не менее 183.)&lt;br /&gt;
Листаем файл до самого конца и в конце пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[level183]&lt;br /&gt;
name   = ваша_локация&lt;br /&gt;
caption = &amp;quot;ваша_локация&amp;quot;&lt;br /&gt;
offset  = 700.0,     1000.0,    -840.0&lt;br /&gt;
weathers = [default]&lt;br /&gt;
id  = 183&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции &amp;quot;[level_maps_single]&amp;quot;, а затем создаем примерно такую секцию для нашего уровня:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[ваша_локация]&lt;br /&gt;
        global_rect                      = 307.0, 90.0, 717.0, 500.000000&lt;br /&gt;
        weathers                         = dynamic_default&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&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;
Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.&lt;br /&gt;
&lt;br /&gt;
Мы отмерили все необходимые нам координаты.&lt;br /&gt;
&lt;br /&gt;
Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1] &lt;br /&gt;
; cse_abstract properties &lt;br /&gt;
section_name = level_changer &lt;br /&gt;
name = escgar_level_changer - уникальное имя&lt;br /&gt;
position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода&lt;br /&gt;
direction = 0,0,0 &lt;br /&gt;
cse_abstract__unk1_h16 = 0x1 &lt;br /&gt;
; cse_alife_object properties &lt;br /&gt;
game_vertex_id = 1142 - геймвертексы&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 308110 - геймвертексы&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
; cse_shape properties &lt;br /&gt;
shapes = shape0 &lt;br /&gt;
shape0:type = box &lt;br /&gt;
shape0:axis_x = 1.25219917297363,0,0 &lt;br /&gt;
shape0:axis_y = 0,3.09340000152588,0 &lt;br /&gt;
shape0:axis_z = 0,0,1.25219917297363 &lt;br /&gt;
shape0:offset = 0,0,0 &lt;br /&gt;
; cse_alife_space_restrictor properties &lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
; cse_alife_level_changer properties &lt;br /&gt;
dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход&lt;br /&gt;
dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает&lt;br /&gt;
dest_direction = 0,0,0 - поворот гг&lt;br /&gt;
dest_level_name = l02_garbage - на какую локу кидает&lt;br /&gt;
dest_graph_point = start_actor_01&lt;br /&gt;
silent_mode = 1 &lt;br /&gt;
; se_level_changer properties&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Изменяем только те места, которые я прокомментировал, комментарии соответственно, удаляем.&lt;br /&gt;
Всё готово.Собираем all.spawn и запихиваем в игру.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: БАТЯ-STALKER'''&lt;br /&gt;
&lt;br /&gt;
'''О способе подключения поведал: Panisher'''&lt;/div&gt;</summary>
		<author><name>БАТЯ-STALKER</name></author>	</entry>

	</feed>