<?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=85.237.35.84&amp;*</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=85.237.35.84&amp;*"/>
		<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/85.237.35.84"/>
		<updated>2026-04-29T16:34:42Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BE%D0%B4%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D1%8F</id>
		<title>Теория модостроения</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BE%D0%B4%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D1%8F"/>
				<updated>2009-09-17T13:38:15Z</updated>
		
		<summary type="html">&lt;p&gt;85.237.35.84: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==О модифицировании игры==&lt;br /&gt;
&lt;br /&gt;
Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры.&lt;br /&gt;
&lt;br /&gt;
На фоне вырезанного контента и огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды. К счастью, разработчики оставили возможность простого модифицирования игры. Благодаря [[Распаковщик архивов|распаковщику игровых архивов]] мы получили полный доступ к ресурсам игры. Сверх того, разработчики оставили в финальном билде 2947 (и билдах после него) высший приоритет распакованной папки gamedata.&lt;br /&gt;
&lt;br /&gt;
Итак, что же мы имеем?&lt;br /&gt;
&lt;br /&gt;
==Звуки==&lt;br /&gt;
&lt;br /&gt;
Звуки в игре записаны в формате ogg. Хочу заметить, что OGG Vorbis является признанным игровым форматом звука.&lt;br /&gt;
&lt;br /&gt;
Проблем со звуком вообщем-то не возникает. Если Вы пользуетесь редактором звука, который не поддерживает OGG Vorbis, для Вас существует множество платных и бесплатных конвертеров.&lt;br /&gt;
&lt;br /&gt;
Видео в игре также в формат Vorbis, расширения видео файлов - OGM. Для просмотра видео рекомендую Media Player Classic и CCCP Codec Pack ([http://cccp-project.net/ сайт проекта]).&lt;br /&gt;
&lt;br /&gt;
==Текстуры==&lt;br /&gt;
&lt;br /&gt;
Текстуры в игре имеют формат DDS (Direct Draw Surface). Для их редактирования рекомендую Adobe Photoshop CS 8.0 и NVidia Developer's Photoshop DDS Plugins (скачать его можно [http://developer.nvidia.com/object/photoshop_dds_plugins.html здесь]).&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = left|&lt;br /&gt;
backgroundcolor	= #f9f9f9|&lt;br /&gt;
image	=Lamp.gif|&lt;br /&gt;
heading	= by HikeR|&lt;br /&gt;
message = для тех, у кого нет несколько сот долларов на покупку Adobe Photoshop, рекомендую свободный и бесплатный [http://gimp.org/ GIMP] и [http://nifelheim.dyndns.org/~cocidius/dds/ GIMP DDS Plugin]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt;&lt;br /&gt;
При этом учтите следующее:&lt;br /&gt;
&lt;br /&gt;
* Вы можете использовать сторонние конвертеры. К таким относится Lister Total Commander, который умеет сохранять и просматривать DDS текстуры в других форматах. Это расширенная сборка Total Commander'a (платный файловый менеджер Кристиана Гислера) версии 6.55. Приобрести его можно [http://www.ghisler.com/ здесь].&lt;br /&gt;
&lt;br /&gt;
* Также, Вы можете воспользоваться специальными DDS конвертером. Но при конвертации может исчезнуть альфа-канал текстуры, он очень важен для игры. Поэтому настоятельно рекомендую использовать Photoshop CS 8.0 с плагинами.&lt;br /&gt;
&lt;br /&gt;
Внимание! После работы в Photoshop над тестурами, при сохранении не забудьте отметить пункт &amp;quot;Alpha Channels&amp;quot; и в открывшемся окне (после нажатия на кнопку &amp;quot;Сохранить&amp;quot;), выберите режим &amp;quot;DXT5 ARGB 8 bpp | interpolated alpha&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Также, в папке с игрой есть дополнительные текстуры с приписанным в конце имени файла словом &amp;quot;bump&amp;quot;. Это бамп-карты текстур, используемые для придания модели некоторой объемности, которую ещё называют &amp;quot;псевдорельефностью&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Бамп-карты текстур используются только при игре на втором рендере (динамическое освещение, то есть DirectX9-рендер.&lt;br /&gt;
&lt;br /&gt;
==Модели==&lt;br /&gt;
&lt;br /&gt;
Следующий немаловажный компонент игры - OGF модели.&lt;br /&gt;
&lt;br /&gt;
Модели расположены в папке meshes. &lt;br /&gt;
&lt;br /&gt;
Они содержат в себе информацию о материале, анимации и саму модель предмета.&lt;br /&gt;
Изменить текстуру модели реально при помощи WinHEX - путь к текстуре находится в первых строчках файла.&lt;br /&gt;
 &lt;br /&gt;
Для просмотра моделей незаменимой утилитой является OGF Viewer ([http://www.g3ddev.com/ сайт]) от batya.&lt;br /&gt;
На данный момент возможен только просмотр и конвертирование моделей в формат obj.&lt;br /&gt;
&lt;br /&gt;
При использовании OGF Viewer необходимо задать путь к текстурам в конфигурационном файле, который лежит в папке с программой.&lt;br /&gt;
&lt;br /&gt;
==Уровни==&lt;br /&gt;
&lt;br /&gt;
Следующим компонентом игры являются игровые уровни. Уровни можно разделить на мультиплеерные и сингловые.&lt;br /&gt;
&lt;br /&gt;
MP-уровни отличаются от уровней одиночной игры отсутствием некоторых компонентов и несколько иной структурой/набором файлов. Например, на мультиплеерных уровнях отсутствует координатная сетка для A-Life.&lt;br /&gt;
&lt;br /&gt;
Перед релизом бета-версии SDK (Software Development Kit от GSC Game World) я несколько недель тестировал его и сделал несколько печальных выводов.&lt;br /&gt;
&lt;br /&gt;
Во-первых, при помощи MP-SDK невозможно не только редактировать, но и даже просматривать уже откомпилированные уровни.&lt;br /&gt;
Дело в том, что MP-SDK требует исходников уровней. К тому же, пора прекращать мечтать о SDK и выкрикивать: &amp;quot;Дайте мне СДК я вам новое оружие сделаю и движок поменяю!!!&amp;quot;. MP-SDK - всего лишь маппер для мультиплеера. Возможно, будет маппер и для сингловой версии игры, но исходников уровней от GSC Game World даже и ждать не стоит.&lt;br /&gt;
&lt;br /&gt;
Однако, не стоит забывать, что в сеть была выложена лишь бета-версия этого пакета. Возможно, к появлению релиза добавятся новые функции и инструменты.&lt;br /&gt;
&lt;br /&gt;
Уровни из сингловой версии игры можно портировать под мультиплеер. Алгоритм действий:&lt;br /&gt;
&lt;br /&gt;
* Скопировать содержание папки уровня в новую папку с именем типа mp_yantar.&lt;br /&gt;
* Удалить файлы level.game, level.ai, level.som. Скопировать level.game из любой мультиплеерной карты и вставить в переделываемую карту.&lt;br /&gt;
* Открыть конфигурационный файл config\mp\maplist.ltx и добавить карту в список.&lt;br /&gt;
&lt;br /&gt;
==Скрипты==&lt;br /&gt;
&lt;br /&gt;
В игре широко используются скрипты. Некоторые из них - тестовые и являют собой оставленный разработчиками мусор, но никогда нельзя точно знать, где используется скрипт.&lt;br /&gt;
&lt;br /&gt;
В скриптах используется язык Lua. Язык не очень сложный, с помощью него можно многое делать, в том числе и спаунить (от англ. &amp;quot;spawn&amp;quot; - размещать на карте) объекты.&lt;br /&gt;
&lt;br /&gt;
К тому же, скрипты можно вызывать в spawn-файле, о нём подробнее будет рассказано ниже.&lt;br /&gt;
&lt;br /&gt;
==Конфиги==&lt;br /&gt;
&lt;br /&gt;
Другая, немаловажная часть игры - конфигурационные файлы. Они открываются обычным &amp;quot;Блокнотом&amp;quot; и представляют собой набор параметров и их значений.&lt;br /&gt;
&lt;br /&gt;
В игре существуют конфигурационные файлы существ, мультиплеера, погоды, оружия, объектов, геймплея, моделей, конфигурационные скрипты и конфигурация интерфейса.&lt;br /&gt;
&lt;br /&gt;
Также существует множество других конфигурационных файлов.&lt;br /&gt;
&lt;br /&gt;
О некоторых из них подробнее.&lt;br /&gt;
Конфигурации существ - одним из самых важных конфигурационных файлов является actor.ltx. В нём заданы параметры актора - т.е. главного героя игры.&lt;br /&gt;
&lt;br /&gt;
На его примере рассмотрим структуру конфигурационного файла.&lt;br /&gt;
&lt;br /&gt;
[actor] - пример entity. Конфигурацию актора вызывают при помощи названия entity. В данном случае - actor.&lt;br /&gt;
В других конфигурационных файлах мы можем найти пример ссылки на entity. Например: [burer_arena]:m_burer_e.&lt;br /&gt;
&lt;br /&gt;
В данном случае существо &amp;quot;burer_arena&amp;quot; ссылается на существо &amp;quot;m_burer_e&amp;quot; и является его прототипом.&lt;br /&gt;
Также могут быть и ссылки на entity, обозначающей набор параметров. Например: damage = m_burer_damage.&lt;br /&gt;
&lt;br /&gt;
Комментарии в ltx файлах начинаются с символа &amp;quot;;&amp;quot;. Все, что расположено за этим знаком, игрой не учитывается.&lt;br /&gt;
&lt;br /&gt;
Также очень интересна система так называемых инклудов (включений).&lt;br /&gt;
&lt;br /&gt;
Инклуд обозначается строкой &amp;quot;#include &amp;quot;имя_файла.ltx&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Инклуды означают, что в файл, в котором написана вышеуказанная строка, вставляется содержание файла, указанного как аргумент к функции #include.&lt;br /&gt;
&lt;br /&gt;
Получается так, что конфигурационные файлы монстров (к примеру) объединяются в файле monsters.ltx, файлы сталкеров - в stalkers.ltx. А файлы monsters.ltx, stalkers.ltx и все остальные файлы объединяются в файле system.ltx, в котором прописано около 20 инклудов. Таким образом, всё содержание ltx-файлов объединено в system.ltx.&lt;br /&gt;
&lt;br /&gt;
Помните - когда создаёте новый конфигурационный файл - не забудьте вставить его методом инклуда в общий конфигурационный список в system.ltx.&lt;br /&gt;
&lt;br /&gt;
==Спавн-файл==&lt;br /&gt;
&lt;br /&gt;
Последнее, о чём пойдёт речь - папка spawns. &lt;br /&gt;
&lt;br /&gt;
В ней расположен файл all.spawn. В этом файле обозначены почти все динамические объекты, которые содержатся в игровой Зоне. Это как монстры и сталкеры, так и приёмник &amp;quot;Горизонт&amp;quot; на столе у торговца, и даже ящик рядом с блокпостом.&lt;br /&gt;
&lt;br /&gt;
Формат спаун-файла долго разбирался специалистами и благодаря товарищам: Zeed, Hiker, Neo, haron разобран. Zeed'ом была написана специальная программа [[xrSpawner]] для спауна динамических объектов.&lt;br /&gt;
&lt;br /&gt;
==Дополнительно==&lt;br /&gt;
&lt;br /&gt;
Кроме файлов спауна в директории gamedata также присутствует папка с шейдерами, папка с анимациями камеры, папка с некоторыми файлами A-life и несколько файлов в формате xr.&lt;br /&gt;
&lt;br /&gt;
В файле gamemtl.xr лежат настройки материалов, текстур и hit_fx эффектов.&lt;br /&gt;
В режиме HEX файл более или менее читаем.&lt;br /&gt;
&lt;br /&gt;
И последнее.&lt;br /&gt;
Не пробуйте искать где указаны классы типа AI_CROW. &lt;br /&gt;
Все классы существ находятся в xrGame.dll и попытки извлечь их или изменить бессмыслены.&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана: [[Участник:Empro|Empro]].&lt;/div&gt;</summary>
		<author><name>85.237.35.84</name></author>	</entry>

	</feed>