<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.wogames.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RamZesIV</id>
		<title>WOG Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.wogames.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RamZesIV"/>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/wiki/%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/RamZesIV"/>
		<updated>2026-05-09T14:14:13Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=318</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=318"/>
				<updated>2019-03-20T05:27:34Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* required addons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу и не были перезаписаны исходными, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать класснэйм изменяемого аддона из раздела CfgPatches. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
   class CfgPatches &lt;br /&gt;
   {&lt;br /&gt;
      	class '''A3_Sounds_F''' &lt;br /&gt;
   	{&lt;br /&gt;
   		author = &amp;quot;$STR_A3_Bohemia_Interactive&amp;quot;;&lt;br /&gt;
   		name = &amp;quot;Arma 3 - Sound Effects&amp;quot;;&lt;br /&gt;
    		url = &amp;quot;https://www.arma3.com&amp;quot;;&lt;br /&gt;
                ...&lt;br /&gt;
   	};&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
===Подклассы===&lt;br /&gt;
&lt;br /&gt;
Подклассы, в которых содержатся параметры объекта, заводятся внутрь фигурных скобок '''{}''', а строки заканчиваются точкой с запятой ''';''' . На старте игра проверяет синтаксис конфигов и при обнаружении ошибки запуск отменяет. При ошибке в теле класса, внутри фигурных скобок, он игнорируется и актуальными остаются заданные ранее значения параметров. Другие классы в этом же конфиге, не связанные с содержащим ошибку, принимаются к изменению мастер-конфига. Не допускается повторное задание класса в пределах одного конфига.&lt;br /&gt;
&lt;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;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Физика====&lt;br /&gt;
=====Двигатель и коробка передач=====&lt;br /&gt;
=====Ходовая часть=====&lt;br /&gt;
=====Бронирование=====&lt;br /&gt;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
=====Старая звуковая система=====&lt;br /&gt;
=====Шейдеры=====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=317</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=317"/>
				<updated>2019-03-20T05:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* required addons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу и не были перезаписаны исходными, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать класснэйм изменяемого аддона из раздела CfgPatches. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
   class CfgPatches &lt;br /&gt;
   {&lt;br /&gt;
      	class A3_Sounds_F &lt;br /&gt;
   	{&lt;br /&gt;
   		author = &amp;quot;$STR_A3_Bohemia_Interactive&amp;quot;;&lt;br /&gt;
   		name = &amp;quot;Arma 3 - Sound Effects&amp;quot;;&lt;br /&gt;
    		url = &amp;quot;https://www.arma3.com&amp;quot;;&lt;br /&gt;
                ...&lt;br /&gt;
   	};&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
===Подклассы===&lt;br /&gt;
&lt;br /&gt;
Подклассы, в которых содержатся параметры объекта, заводятся внутрь фигурных скобок '''{}''', а строки заканчиваются точкой с запятой ''';''' . На старте игра проверяет синтаксис конфигов и при обнаружении ошибки запуск отменяет. При ошибке в теле класса, внутри фигурных скобок, он игнорируется и актуальными остаются заданные ранее значения параметров. Другие классы в этом же конфиге, не связанные с содержащим ошибку, принимаются к изменению мастер-конфига. Не допускается повторное задание класса в пределах одного конфига.&lt;br /&gt;
&lt;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;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Физика====&lt;br /&gt;
=====Двигатель и коробка передач=====&lt;br /&gt;
=====Ходовая часть=====&lt;br /&gt;
=====Бронирование=====&lt;br /&gt;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
=====Старая звуковая система=====&lt;br /&gt;
=====Шейдеры=====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=316</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=316"/>
				<updated>2019-03-20T05:26:47Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу и не были перезаписаны исходными, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать класснэйм изменяемого аддона из раздела CfgPatches. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
   class CfgPatches &lt;br /&gt;
   {&lt;br /&gt;
   &lt;br /&gt;
   	class A3_Sounds_F &lt;br /&gt;
   	{&lt;br /&gt;
   		author = &amp;quot;$STR_A3_Bohemia_Interactive&amp;quot;;&lt;br /&gt;
   		name = &amp;quot;Arma 3 - Sound Effects&amp;quot;;&lt;br /&gt;
    		url = &amp;quot;https://www.arma3.com&amp;quot;;&lt;br /&gt;
                ...&lt;br /&gt;
   	};&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Подклассы===&lt;br /&gt;
&lt;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;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Физика====&lt;br /&gt;
=====Двигатель и коробка передач=====&lt;br /&gt;
=====Ходовая часть=====&lt;br /&gt;
=====Бронирование=====&lt;br /&gt;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
=====Старая звуковая система=====&lt;br /&gt;
=====Шейдеры=====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=315</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=315"/>
				<updated>2019-03-20T05:23:16Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу и не были перезаписаны исходными, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать класснэйм изменяемого аддона из раздела CfgPatches. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&lt;br /&gt;
&lt;br /&gt;
Пример: class CfgPatches &lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
	class '''A3_Sounds_F''' &lt;br /&gt;
	{&lt;br /&gt;
		author = &amp;quot;$STR_A3_Bohemia_Interactive&amp;quot;;&lt;br /&gt;
		name = &amp;quot;Arma 3 - Sound Effects&amp;quot;;&lt;br /&gt;
		...&lt;br /&gt;
                ...&lt;br /&gt;
	};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Подклассы===&lt;br /&gt;
&lt;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;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Физика====&lt;br /&gt;
=====Двигатель и коробка передач=====&lt;br /&gt;
=====Ходовая часть=====&lt;br /&gt;
=====Бронирование=====&lt;br /&gt;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
=====Старая звуковая система=====&lt;br /&gt;
=====Шейдеры=====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=294</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=294"/>
				<updated>2019-02-20T06:38:35Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Физика====&lt;br /&gt;
=====Двигатель и коробка передач=====&lt;br /&gt;
=====Ходовая часть=====&lt;br /&gt;
=====Бронирование=====&lt;br /&gt;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
=====Старая звуковая система=====&lt;br /&gt;
=====Шейдеры=====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=293</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=293"/>
				<updated>2019-02-20T06:37:25Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Физика====&lt;br /&gt;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
=====Старая звуковая система=====&lt;br /&gt;
=====Шейдеры=====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=292</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=292"/>
				<updated>2019-02-20T06:36:05Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Физика====&lt;br /&gt;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=291</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=291"/>
				<updated>2019-02-20T06:35:28Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
==Упаковка==&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=290</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=290"/>
				<updated>2019-02-20T06:35:05Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Этапы создания аддона==&lt;br /&gt;
&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;
====Вооружение и башни====&lt;br /&gt;
====Звук====&lt;br /&gt;
====Функции====&lt;br /&gt;
&lt;br /&gt;
===Упаковка===&lt;br /&gt;
&lt;br /&gt;
==Тестирование==&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=289</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=289"/>
				<updated>2019-02-19T05:11:22Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=288</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=288"/>
				<updated>2019-02-18T12:22:22Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=287</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=287"/>
				<updated>2019-02-18T12:19:00Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* БАЗОВЫЕ ЗНАНИЯ И ОПРЕДЕЛЕНИЯ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=286</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=286"/>
				<updated>2019-02-18T12:18:44Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=285</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=285"/>
				<updated>2019-02-18T12:18:26Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=284</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=284"/>
				<updated>2019-02-18T12:17:05Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=283</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=283"/>
				<updated>2019-02-18T12:16:42Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;text-align:right;&amp;quot;&amp;gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&amp;lt;/p&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=282</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=282"/>
				<updated>2019-02-18T12:01:18Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=281</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=281"/>
				<updated>2019-02-18T12:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;class yourVehicleBaseClass&lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=280</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=280"/>
				<updated>2019-02-18T11:55:43Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=279</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=279"/>
				<updated>2019-02-18T11:55:20Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=278</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=278"/>
				<updated>2019-02-18T11:54:55Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно добавлять дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=277</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=277"/>
				<updated>2019-02-18T11:54:27Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
 class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
 {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass &lt;br /&gt;
    {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно включать дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=276</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=276"/>
				<updated>2019-02-18T11:51:26Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
 class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
{&lt;br /&gt;
insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;class yourVehicleBaseClass {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };/&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно включать дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=275</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=275"/>
				<updated>2019-02-18T11:46:41Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* Кастомные параметры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации [https://ace3mod.com/wiki/framework/cargo-framework.html Advanced Combat Environment 3 (ACE3).]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;class yourVehicleBaseClass {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };/&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно включать дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=274</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=274"/>
				<updated>2019-02-18T11:37:08Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* БАЗОВЫЕ ЗНАНИЯ И ОПРЕДЕЛЕНИЯ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Кастомные параметры===&lt;br /&gt;
&lt;br /&gt;
ARMA допускает задание дополнительных, помимо ванильных, параметров. Их можно использовать для кастомных же функций при создании аддонов и модификаций. Например, такие параметры есть у модификации Advanced Combat Environment 3 (ACE3).&lt;br /&gt;
&lt;br /&gt;
 class yourVehicleBaseClass {&lt;br /&gt;
        ace_cargo_space = 4;  // количество ACE - грузовых ячеек&lt;br /&gt;
        ace_cargo_hasCargo = 1;  // допускает погрузку в ACE - багажник (1 - да, 0 - нет)&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Добавлением этих параметров можно включать дополнительный функционал к существующем контенту. Это применимо к серверной сборке, но при обновлении контента его конфиг будет перезаписан, поэтому такие изменения целесообразно вносить через отдельные файлы-надстройки.&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=273</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=273"/>
				<updated>2019-02-18T11:17:50Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* Наследование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=272</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=272"/>
				<updated>2019-02-18T11:17:07Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* БАЗОВЫЕ ЗНАНИЯ И ОПРЕДЕЛЕНИЯ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=271</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=271"/>
				<updated>2019-02-18T11:16:58Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* ВСТУПЛЕНИЕ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==БАЗОВЫЕ ЗНАНИЯ И ОПРЕДЕЛЕНИЯ==&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=270</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=270"/>
				<updated>2019-02-18T11:16:02Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ВСТУПЛЕНИЕ==&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=269</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=269"/>
				<updated>2019-02-18T11:15:06Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=268</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=268"/>
				<updated>2019-02-18T11:11:44Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* Наследование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=267</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=267"/>
				<updated>2019-02-18T11:11:29Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* Комментирование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext { sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=266</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=266"/>
				<updated>2019-02-18T11:11:03Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
      insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=265</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=265"/>
				<updated>2019-02-18T11:10:21Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К&lt;br /&gt;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=264</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=264"/>
				<updated>2019-02-18T11:09:42Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: /* Комментирование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К&lt;br /&gt;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=263</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=263"/>
				<updated>2019-02-18T11:09:26Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
&lt;br /&gt;
   //Тайфун-К&lt;br /&gt;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=262</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=262"/>
				<updated>2019-02-18T11:08:39Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=261</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=261"/>
				<updated>2019-02-18T11:07:45Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=260</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=260"/>
				<updated>2019-02-18T11:07:31Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=259</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=259"/>
				<updated>2019-02-18T11:04:33Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=258</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=258"/>
				<updated>2019-02-18T11:04:14Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
===Ваниль===&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=257</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=257"/>
				<updated>2019-02-18T11:03:17Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=256</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=256"/>
				<updated>2019-02-18T11:02:40Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; - ''изменяемый параметр''&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
   '''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   '''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=255</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=255"/>
				<updated>2019-02-18T11:01:50Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
   '''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
   class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
   insideSoundCoef = 0.4; &lt;br /&gt;
   }; - ''изменяемый параметр''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
   	class Truck_03_base_F : Truck_F&lt;br /&gt;
   	{&lt;br /&gt;
   		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
   		terrainCoef = 1.1;&lt;br /&gt;
   	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
   '''Пример''':&lt;br /&gt;
&lt;br /&gt;
   /* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   '''Пример''':&lt;br /&gt;
&lt;br /&gt;
   class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=254</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=254"/>
				<updated>2019-02-18T10:59:34Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
   Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
   Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
   Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
   '''Пример''':&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
insideSoundCoef = 0.4; &lt;br /&gt;
}; - ''изменяемый параметр''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
   Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
	class Truck_03_base_F : Truck_F&lt;br /&gt;
	{&lt;br /&gt;
		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
		terrainCoef = 1.1;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
/* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
   Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=253</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=253"/>
				<updated>2019-02-18T10:59:06Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
   Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
   Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
   Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
insideSoundCoef = 0.4; &lt;br /&gt;
}; - ''изменяемый параметр''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
   Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
	class Truck_03_base_F : Truck_F&lt;br /&gt;
	{&lt;br /&gt;
		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
		terrainCoef = 1.1;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
/* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
   Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=252</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=252"/>
				<updated>2019-02-18T10:57:13Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&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;lt;br&amp;gt;Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===*Наследование===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Конфигурационные файлы поддерживают наследование - если объекту (классу) задан родительский класс, он наследует все свойства родителя, присущие данному классу. Это упрощает разработку различных модификаций объектов. К примеру, бронеавтомобиль &amp;quot;Тигр&amp;quot; может существовать в нескольких версиях, отличающихся только камуфляжем-окраской (текстурой) и/или вооружением. Эти отличия укладываются в несколько строк и нет потребности переписывать несколько страниц базовых свойств. При изменении существующего класса требуется прописать его родительский класс без переназначения свойств и затем сам редактируемый класс с указанием родителя.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
insideSoundCoef = 0.4; &lt;br /&gt;
}; - ''изменяемый параметр''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&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;
	class Truck_03_base_F : Truck_F&lt;br /&gt;
	{&lt;br /&gt;
		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
		terrainCoef = 1.1;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
/* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
:Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=251</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=251"/>
				<updated>2019-02-18T10:54:25Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
:Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
:Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
:Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
insideSoundCoef = 0.4; &lt;br /&gt;
}; - ''изменяемый параметр''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
:Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
	class Truck_03_base_F : Truck_F&lt;br /&gt;
	{&lt;br /&gt;
		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
		terrainCoef = 1.1;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
/* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
:Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=250</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=250"/>
				<updated>2019-02-18T10:51:44Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
insideSoundCoef = 0.4; &lt;br /&gt;
}; - ''изменяемый параметр''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
	class Truck_03_base_F : Truck_F&lt;br /&gt;
	{&lt;br /&gt;
		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
		terrainCoef = 1.1;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
/* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	<entry>
		<id>http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=249</id>
		<title>Создание аддонов</title>
		<link rel="alternate" type="text/html" href="http://wiki.wogames.info/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%BE%D0%B2&amp;diff=249"/>
				<updated>2019-02-18T10:50:25Z</updated>
		
		<summary type="html">&lt;p&gt;RamZesIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''&amp;quot;И после смерти мне не обрести покой - я душу дьяволу продал за ночь с армой...&amp;quot; (с) Crabe''&lt;br /&gt;
&lt;br /&gt;
===Конфигурационный файл===&lt;br /&gt;
&lt;br /&gt;
Игры серии '''Operation Flashpoint'''/'''ARMA''' симулируют реальность и объекты в ней. Каждый объект - острова, транспортные средства, вооружения - имеет свойства и функции, прописанные в конфигурационных файлах, загружаемых игрой на старте. Перечень свойств зависит от класса объекта. Конфиг представляет собой файл C++, который может существовать и в бинарном виде. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Содержимое архива *.pbo===&lt;br /&gt;
&lt;br /&gt;
Физически аддон - это архив *.pbo, содержащий конфигурационный файл '''config.cpp''' или '''config.bin''' и дополнительный контент - звуки, текстуры, 3д-модель, скрипты, вынесенные в отдельные файлы через команду '''#include''' разделы конфига. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы загружаются только на старте и, в отличии от скриптов, не поддерживают изменение переменных на лету. Если присутствуют и файл *.cpp, и *.bin, игра отдает предпочтение первому. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Мастер-конфиг===&lt;br /&gt;
&lt;br /&gt;
Совокупность всех загружаемых аддонов представляет собой единый мастер-конфиг. Во время работы игры он располагается в оперативной памяти, доступен через внутриигровой config viewer и может быть сохранен на жеский диск для просмотра. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Принято разделять '''ванильный контент (vanila)''' - объекты, заданные разработчиком при релизе игры, и '''аддоны''' - контент, добавляемый после релиза разработчиком или сторонними лицами. Аддоны могут добавлять новый контент и изменять свойства существующего. Весь контент игры размещается в папке `addons` и, кроме ванильного контента, для удобства разделяется на папки. &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;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr; - ''ссылка на внешний класс-родитель''&lt;br /&gt;
&lt;br /&gt;
class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr - ''редактируемый класс с указанием родителя''&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
insideSoundCoef = 0.4; &lt;br /&gt;
}; - ''изменяемый параметр''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание - переписывать все дерево классов не нужно, достаточно одного родителя. Но наследоваться параметры могут и от классов выше по дереву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===required addons===&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы изменения вступили в силу, в параметре '''required addons''' раздела '''CfgPatches''' нужно прописать префикс изменяемого аддона. Префикс - это указанный в каждом архиве *.pbo логический путь, который может отличаться от физического пути и названия файла. Объекты могут быть модифицированы бесконечное количество раз и нужно, чтобы наши изменения были последними - чтобы именно они были зафиксированы в мастер-конфиге и не были перезаписаны другими конфигами, затрагивающими этот же класс.&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;
	&lt;br /&gt;
	class Truck_03_base_F : Truck_F&lt;br /&gt;
	{&lt;br /&gt;
		slowSpeedForwardCoef = 0.0065;&lt;br /&gt;
		terrainCoef = 1.1;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Второй вариант этой функции '''/*...*/''' позволяет не только оставлять комментарии, но и отключать разделы.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
/* class Idle_ext	{ sound[] = { &amp;quot;wog_vehicleSound_Fix\SOUNDS\UAZ\UAZ_ext_IDLE&amp;quot;, 1.5, 1, 350}; }; */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Контроллеры===&lt;br /&gt;
&lt;br /&gt;
Конфигурационные файлы поддерживают '''математические выражения''' в качестве значений параметров. Взаимодействие с окружением и другими объектами реализовано через '''контроллеры''', которые характеризуют их состояние. Например, контроллер '''rain''' имеет значение '''false''' (логический ноль) в ясную погоду и '''true''' (логическая единица) в дождь. Таким образом звук капель дождя по корпусу транспортного средства будет иметь нулевую громкость в ясную погоду и максимальную в дождь.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&lt;br /&gt;
class RainExt { sound[] = { &amp;quot;rhsafrf\addons\rhs_a2port_car\sounds\rain.wss&amp;quot;, 1, 30 }; frequency = 1; volume = &amp;quot; '''rain''' * camPos &amp;quot;; };&lt;/div&gt;</summary>
		<author><name>RamZesIV</name></author>	</entry>

	</feed>