Создание нового юнита, настройка данных и интеграция модели в игру. После создания 3д модели нового юнита, и конвертации ее в формат игры, необходимо подключить эту модель и создать новый юнит. Если вы создаете новую модель техники, оружие которой не использовалось в оригинальной игре, то предварительно необходимо создать еще несколько файлов данных с которыми она будет работать. Необходимы следующие игровые сущности : Ammo.ini Ammo – файл используемого боеприпаса, в нем хранятся данные технических характеристик снаряда. Должен быть создан в папке :\*Название каталога игры*\data\Ammo\*страна* , в игре «Вторая мировая» возможны следующие страны : Rus – CCCР, Ger – Германия, USA – США, Uk – Великобритания, Pol – Польша, Fr – Франция . Для «ИВ. Африка 1943» только : Ger – Германия, USA – США, Uk – Великобритания, Ita – Италия. В названии боеприпаса желательно указать калибр, его название, не допускается использование кирилицы в названия и пробелов. Для примера создадим новый снаряд , настройки будут условные. Итак создаем файл 75mm_Gr_38_HLA_HEAT.ini в папке :\AoW\data\Ammo\Ger Содержание файла : [Base] - секция Base, в ней одна строчка с названием снаряда Name 75mm_Gr_38_HLA_HEAT [Properties] - секция Properties, в этой секции содержаться все настройки снаряда. AiAmmoType HEAT – тип снаряда для использования его ИИ, в зависимости от типа, ИИ применяет разные снаряды по разным целям с разным приоритетом. Осколочные по пехоте, бронебоные по технике. Возможны следующие типы : AP, APC, APCBC, APBC, APCR,, APDS , APHE, APHEBC, API ,HE, HEAC, HEAT, HEI, SMOKE. Последний тип снаряда есть только в «ИВ» TraceMesh 3dobj\Weapons\Shells\75mmHE\mono.sim - ссылка на модель трассера, для осколочных снарядов в ИВ, для бронебойных, ссылка на светящийся трассер выглядит так : TraceMesh Effects\Tracers\075_150mm_Red\mono.sim Kalibr 0.075 – калибр снаряда Massa 4.4 – масса SolidPower 446 - урон наносимый снарядом при проломе им брон, SolidPowerRadius 3 SplashPower 1215 – мощность фугасного поражения, в эпицентре взрыва снаряда урон наносимый равен этому значению, далее спадает по квадратичному закону, за границей SplashRadius равен нулю. SplashRadius 3.3 максимальная радиус воздействия фугасным поражением. FragmentPower 221 – мощность осколочного урона, мощность сохраняется в пределах всего FragmentRadius , но вероятность его нанесения уменьшается от эпицентра к границам. FragmentRadius 12.0 – радиус осколочного поражения. CumulativePenetration 86 – пробиваемость кумулятивной струи снаряда, используется только в кумулятивных снарядах (НЕАТ). CumulativePower 400 – урон наносимый пробитой детали кумулятивной струей. CumulativeRadius 0.45 – радиус разлета осколков брони в месте пробития кумулятивной струей. CumulativeDistance 1.5 – дальнось полета кумулятивной струи. CumulativeSpeed 100 – скорость полета кумулятивной струи в метрах в секунду(существенно отличается от реальной скорость кумулятивной струи, связанно с ограничениями движка). Два данных параметра используются только в игре «ИВ. Африка 1943» PierceEffects PierceEffects_070-089mm – ссылка на пресет эффекта попадания снаряда PierceSounds PierceEffects_070-089mm – ссылка на звуковой пресет эффекта попадания снаряда ExplosionEffects ExplosionEffects_070-089mm – ссылка на пресет эффекта взрыва снаряда ExplosionSounds ExplosionEffects_070-089mm – ссылка на звуковой пресет взрыва снаряда RicochetEffects RicochetEffects_070_160mm – ссылка на пресет эффекта рикошета снаряда RicochetSounds RicochetEffects_040-160mm – ссылка на звуковой пресет эффекта рикошета снаряда ShotShakingCamera 75mm_ShotShakingCamera – пресет тряски камеры при выстреле из орудия этим снарядом, применяется в снарядах калибра 50мм и более. ExplosionShakingCamera 75mmHE_ShakingCamera – пресет тряски камеры при взрыве снаряда Применяется в осколочных и кумулятивных снарядах начиная с калибра 75мм. Эти параметры используются только в игре «ИВ. Африка 1943» SmokeFrontLength 10 - расстояние в метрах вперед от точки взрыва снаряда, которое закрывает дымовая завеса. SmokeSideLength 10 - расстояние в метрах вбок от точки взрыва снаряда (в каждую сторону) , которое закрывает дымовая завеса. SmokeBackLength 10 - расстояние в метрах назад от точки взрыва снаряда, которое закрывает дымовая завеса. SmokeHeight 10 - высота дымового облака в метрах. SmokeEffects ExplosionEffects_Smoke_mine - проигрываемый эффект SmokeExpirationTime 56 – время работы дымовой завесы в секундах, должно быть синхронизированно с временем проигрывания эффекта. Вышеперечисленные параметры использются только для дымовых снарядов в игре «ИВ. Африка 1943» В данном примере приведены все возможные характеристики всех снарядов, для конкретного типа нужны будут только строчки логичные для него. Например, у подкалиберных снарядов не нужны строки описания кумулятивных характеристик, у бронебойных сплошных не нужно описание параметров фугасного и осколочного поражения и т.п. Удобнее всего при создании снаряда скопировать файл близкого по ТТХ имеющегося в игре снаряда, и изменить нужные строки. Items.ini Файл магазина боеприпаса, должно быть для всех без исключения снарядов. Находятся в каталоге :\*Название каталога игры*\data\Items\Magazines\*страна*\*название магазина*\unit.ini . В названии магазина желательно указать калибр, его название, не допускается использование кирилицы в названия и пробелов, если магазин однозарядный, удобно сделать его имя таким же как имя применяющегося в нем Ammo . В файле магазина указываются используемый боеприпас, и количество этих боеприпасов. Пример. Создадим магазин для боеприпаса упоминавшегося выше. В каталоге C:\AoW\data\Items\Magazines\Ger\ создаем папку и называем ее 75mm_Gr_38_HLA_HEAT, в ней создаем файл unit.ini. Содержание файла : [Base] Class IconName Name каталога. MAGAZINE Magazines\HEAT.mat – ссылка на материал иконки магазина в интерфейсе. 75mm_Gr_38_HLA_HEAT – название магазина, совпадает с названием [MoveType] Class FLY [Properties] BulletPattern Ger\75mm_Gr_38_HLA_HEAT – ссылка на используемый в магазине снаряд, относительно каталога data\ammo . Если в данном магазине используется несколько типов боеприпасов (например в лентах авиационных пушек , бронебойные и осколочные снаряды снаряжались в одну ленту в определенной пропорции ), то необходимо дописать еще ссылки на боеприпасы через пробел, например так : BulletPattern Ger\20mm_PzGr_API Ger\20mm_MG_ZZ_HEI Ger\20mm_MG_ZZ_HEI Ger\20mm_MG_ZZ_HEI Ger\20mm_MG_ZZ_HEI, тогда в раскладке магазина будут чередоваться 1 бронебойный снаряд и 3 осколочных. Capacity 1 – емкость магазина TracerIndex 1 – чередование трассирующих снарядов, в данном случае каждый первый снаряд трассирующий. Guns.ini После настройки снарядов и магазинов, необходимо создать новое орудие. Файлы хранятся в каталоге :\*Название каталога игры*\data\Guns\ *страна*\ . В названии желательно указать калибр орудия, кирилица и пробелы также недопустимы. На примере 75мм пушки КвК 40 опишу содержание файла 75mm_KwK_40_L43.ini Содержание файла : [Base] - секция Base, содержит 2 строки с Country Ger - национальной принадлежностью орудия Name 75mm_KwK_40_L43 – и его названием, название повторяет имя файла без расширения. - В секции Properties опишу только те строки содержания которых следуюет менять при создании нового орудия. [Properties] Kalibr 0.075 - калибр орудия useHookAsRel False EffectPreset 070_089mm_Front_2Side – ссылка на пресет визуально эффекта выстрела, в данном случае используется эффект при стрельбе орудия с дульным тормозом. Sound weapons.ger.75mm_kwk_40_l43 – ссылка на звуковой пресет данного орудия EffectMode Single – тип стрельбы в данном случае одиночный огоно, возможен также Auto. Для орудий стреляющих очередями. ReloadTime 6.5 6.5 – время перезарядки магазина, минимальное и максимальное. shotFreq 1 скорострельность, количество выстрелов в секунду, для орудий ведущих одиночный огонь, должно быть 1, скорострельность у них определяется временем перезарядки магазина. traceFreq 1 – параметр не используется. Magazines Ger\75mm_PzGr_39_APCBC Ger\75mm_PzGr_40_APCR Ger\75mm_PzGr_40_W_APBC Ger\75mm_Gr_38_HLB_HEAT Ger\75mm_SprGr_34_HE - список всех используемых в данном орудии магазинов. ammoUsed Ger\75mm_PzGr_39_APCBC Ger\75mm_PzGr_40_APCR Ger\75mm_PzGr_40_W_APBC Ger\75mm_Gr_38_HLB_HEAT Ger\75mm_SprGr_34_HE - соответсвенно список всех используемых в данных магазинов боеприпасов. AimDistance 0 50 100 500 1000 1500 2000 – шкала дальностей по прицеливанию. AimRadius 0.1 0.3 0.8 2.5 4.0 6.5 10.0 –соответсвующии этим дальности точности прицеливания. Рассчитывается с учетом скила наводчка по следующему алгоритму : В файле skills.ini в секции [GroupingOfShots] есть таблица зависимости распределений точек прицеливания от умения «наводчик». Для наводчика со скилом 10, радиус разброса точки прицеливания на 100м будет равен 0.8х0.5 = 0.4м , при этом в круг данного радиуса прицеливание будет осуществляться в 50% случаев, в остальных случаях разброс точки прицеливания будет в пределах 0.8м. 10 0.5 50 25 0.5 60 50 0.4 60 75 0.3 70 100 0.2 80 ShootHintTimeout 15000 – время в мс. в течении которого, вражеские юниты слышат выстрел данного орудия ShootHintRange 500 – радиус слышимости выстрела данного орудия вражеской пехотой , в метрах. ShootHintRadius 20 – ошибка определения координат выстрела данного орудия по звуку, в данном радиусе вокруг юнита будет рисоваться иконка слышимости. Все три параметра используются только в игре «ИВ. Африка 1943» Свойства используемых боеприпасов данного орудия [Ger\75mm_Gr_38_HLB_HEAT] название ammo, относительно папки Ger Ammo Ger\75mm_Gr_38_HLB_HEAT Speed 450 – начальная скорость снаряда aimMinDist 10 – минимальная дальность применения для ИИ aimMaxDist 2000 – максимальная дальность применения для ИИ HistMaxDist 6500 – максимально возможная историческая дальность стрельбы. Dispersion 1000 0.40 – рассеяние снарядов на указанной дистанции, на 1000м разброс траекторий укладывается в круг радиусом 0.4м. В таблицах стрельбы если они есть, для этого значения берется Вб. LinesH 0 100 500 1000 1500 2000 2500 3000 10000 Penetration 0 0 0 0 0 0 0 0 0 Пробиваемость снаряда на определенных дальностях, для кумулятивных снарядов на всех дальностях должны быть 0, так как пробиваемость кумулятивных БП описывается в файле боеприпаса. [Ger\75mm_PzGr_39_APCBC] Ammo Ger\75mm_PzGr_39_APCBC Speed 740 aimMinDist 10 aimMaxDist 2000 HistMaxDist 6500 Dispersion 1000 0.30 LinesH 0 100 500 1000 1500 2000 2500 3000 10000 Penetration 98 96 83 69 58 48 32 16 0 Для остальных типов снарядов используются исторические даннные. [Ger\75mm_SprGr_34_HE] Ammo Ger\75mm_SprGr_34_HE Speed 570 aimMinDist 10 aimMaxDist 2000 HistMaxDist 7680 Dispersion 1000 0.30 LinesH 0 100 500 1000 1500 2000 2500 3000 10000 Penetration 12 12 12 10 10 7 4 3 0 Для осколочно-фугасных снарядов указывается толщина проламываемой брони при попадании снаряда, расчет пробиваемости при взрыве будет использовать данные введенные в файле боеприпаса. Настройка нового юнита. После того как все необходимые данные (3д модель, боеприпасы, магазины , орудия) есть, можно приступить к созданию новой техники. Данные описывающие юниты хранятся в каталоге : :\*Название каталога игры*\data\Units\тип юнита\ *страна*\ *название юнита*\ , например D:\WW2_africa\data\Units\Tanks\Ger\Pz_IVF2_afrika\ . В каталоге хранятся 3 файла настроек : Unit.ini Hier.ini Parts.ini Unit.ini - В секции Base опишу только те строки, содержания которых, следует менять при создании нового орудия. [Base] Class UNIT Classification Tanks - Тип юнита, для отображение в редакторе миссий, энциклопедии и игре. Country Ger – Национальная принадлежность Name Pz_IVF2_afrika – Название, должно совпадать с названием каталога, в названии не допускается использование пробелов и кирилицы. GuiType Tank – Тип интерфейса, для танков, орудий и пехоты различный. GuiSuperstructureType turret HookInfoIcon icon_info HookTargetIcon icon_target Mass 23000 - Масса в килограмах, используетсяв расчетах динамических характеристик . Fuel 470 – Запас топлива, не используется. FuelDec 2.5 – расход, также не используется. Cost 400 - «Стоимость» юнита в режиме выбора войск в командных очках. TurnRadius 5.92 – Радиус разворота Animator Crew AIType Tank – Тип юнита для ИИ. VisibilityType Tank – Тип видимости для ИИ. RatingType TankMedium – рейтинг данного юнита для ИИ, напрмер средние танки более «опасны» чем легкие и т.д. MeshName 3dobj\tanks\ger\Pz_IVF2_afrika\hier.him - Ссылка на файл, описывающий структуру конвертированной модели . Фактически ссылка на модель. SoundBrake !!!brake //DieEffect Navigation Tank_5x5 – навигационный пресет данного юнита, в ВМ/ИВ все юниты для поиска путей используют квадратные области определенного размера. В данном случае это квадрат 5 на 5 метров. SpeedPreset Tank – Тип пресета динамических характеристик. SpeedRoad 42 – Максимальная скорость по асфальту. Power 300 – Мощность двигателя в л.с. Строки ниже используются только в «ИВ. Африка 1943» HeardRangeMove 67 – Дальность слышимости факта движения данного юнита вражеской пехотой в метрах.. TraceLOFPoint 0 0 2 – Высота линии огня. Используется для трассировки линии огня. AvailableCommands STOP ROTATE RELOAD MOVE LINK_TO_CREW OUT_CREW DEATH ATTACK_GROUND STORM RETREAT HIT FLINCH DISPOSITION_MODE DEFEND ATTACK EXCHANGE – Список доступных команд для данного юнита. SelectMarkerPresetName marker_5 – Размер кольцевой рамки возникающей при выделении юнита. ACDetachmentIcon data\GUI\Ingame\Icons\detachment\ger_squad.mat – ссылка на иконку экипажа. ACDetachmentIconBig data\GUI\Ingame\Icons\detachment\ger_squad_big.mat [Animator] MeshCopy MeshMap False pzIVF2 – название анимации данного юнита (открытие закрытие люков) [Dispatchers] Script machine.cpp – тип скрипта используемый в ИИ данного юнита. [MoveType] Class Ground AbsoluteVertical 0 TransmPreset Tank UseGround False Hier.ini В данном файле описанны все крючки и кости использующиеся при наведении оружия юнита, а также сектора и скорости наводки. В файле сохраняется порядок перечесления движущихся частей техники, согласно иерархии модели. Первой описывается секция Root – центр модели и часть, относительно которой двигаются и наводятся все остальные элементы юнита. [Root] Type UNIT [Hull] Type BONE Parent Root – ссылка на секцию стоящую выше по иерархии, на так называемый «родитель» . Bone Body – Название кости, должно совпадать с названием конвертированной кости, можно посмотреть правильность в Hier.him AxesOrientation HVR – Тип ориентации осей координат. Менять не нужно. Min +1 +1 +1 Max -1 -1 -1 Speed 0 0 0 – значения +1 -1 и скорость наведения по данным осям равная нулю, означает что данная секция техники не вращается относительно вышестоящей секции. Корпус танка не вращается в отличие от башни или пулемета. [MG_34_Bow] - Секция наведения курсового пулемета. Type BONE Parent Hull – Ссылка на вышестоящий элемент иерархии, относительно которого будет осуществлятся наведение данной секции. Bone mgun2 – Кость, которая будет перемещаться при навеедении секции, в данном случае это кость – ствол курсового пулемета. AxesOrientation HVR Min -5 -5 +1 Max +5 +5 -1 – Сектор наведения, первый столбец наведение азимуту в градусах, минимальное и максимальное значение, отрицательное значение угла наведение «вправо» , отрицательное «влево». Второй столбец наведение по углу места , отрицательные углы - «вверх» , положительные – «вниз»,. Последний столбец – перемещение вокруг продольной оси – не используется . Speed 25 25 0 - скорость наведения в данных углах, в градусах в секунду. Park 0 0 361 - угол парковки орудия (положение секции по умолчанию) ParkHorizontal 0 0 361 [Hook_MG_34_Bow] – секция оружейного крючка ,имя секции используется в настройках Parts.ini Type HOOK Parent MG_34_Bow Hook mg_2 – имя крючка из которого ведется огонь. Регистр в названии имеет значение! [Turret] Type BONE Parent Hull Bone head AxesOrientation HVR Min 0 +1 +1 – наведение башни , значение 0 0 означает что башня может вращаться вокруг оси делая полный оборот. Наведение по остальным осям заблокированно. Max 0 -1 -1 Speed 12 0 0 Park 0 361 361 ParkHorizontal 0 361 361 [Mask] – соответсвенно маска наводится только по углу места. Настройки аналогичны. Так как орудие в самой иерархии модели прикрепляется к маске, то нет смысла описывать наведение пушки, она будет перемещаться вместе с маской, как и спаренный пулемет. Type BONE Parent Turret Bone mask AxesOrientation HVR Min +1 -21 +1 Max -1 +11 -1 Speed 0 5 0 Park 361 0 361 ParkHorizontal 361 0 361 [Hook_75mm_KwK_40_L43] – оружейные крючки орудия и Type HOOK Parent Mask Base Turret Hook gun_1 [Hook_MG_34_Twin] – и спаренного пулемета. Type HOOK Parent Mask Base Turret Hook mg_1 Parts.ini Самый объемный файл настроек юнита. Содержит практически всю информацию о модели повреждений, оружии и экипаже. Настройки также идут секциями. Ниже будет описанна структура файла, на примере танка Pz IVF2. Повторяющиеся настройки и строки изменения которых не требуются , будут без коментариев. [Hull_Hull] – Секция корпуса Type Hull Name Hull DamageType Normal Collisions x_hull2 – коллизия или несколько коллизий, которые в сумме описывают геометрию данного элемента юнита. AimCollisions x_hull2 – название коллизи центр которой будет использованн в качестве одной из точек прицеливания по данному юниту. Health 1416 – величина определяющая структурную прочность данной секции. При пробитии брони секции из нее вычитается урон наносимый снарядов, как только эта величина станет равной нулю ,данная часть юнита будет считаться уничтоженной. //Armor Front Back Left Right Top Bottom Armor 50 20 30 30 50 10 – бронирование данного элемента в мм External True – флаг определяющий что элемент наружный. ArmorMTL Steel – материал данной секции, в данном случае броневая сталь. Весь список материалов находится в файле damage.ini в каталоге data\settings IsBox True isCritical True – критичность данной секции для существования юнита, true означает что в случае уничтожения корпуса весь юнит будет считаться уничтоженным. Links 7_92mm_MG_34_Bow BackPack Commander Diesel Driver Loader MachineGunner Shooter Turret – элементы, которым могут быть нанесенны повреждения от вторичных осколков , образующихся при пробитии брони этой секции. Volume Main – флаг обозначающий что внутрение объемы коллизий будут вырезаться друг из друга. Необходимо чтобы при пересечении коллизий входящих в одну секцию не было двойного пробития, например сначала маска а потом еще раз башня. [Armored_Superstructure] – секция подбашенной коробки, введенная для детализации системы поврежедний техники в игре «ИВ. Африка». Так как у большинства немецких танков бронирование корпуса и данного элемента было различным. Type Armored Name Superstructure DamageType Normal Collisions x_super x_lk7 x_lk3 x_hull7 AimCollisions x_super Health 1416 //Armor Front Back Left Right Top Bottom Armor 50 20 30 30 12 12 External True ArmorMTL Steel IsBox True isCritical True Links 7_92mm_MG_34_Bow Commander Diesel Driver Loader MachineGunner Shooter Turret Volume Main AttackModeArea Mid – флаг обозначающий, что данная секция будет использованна для прицеливания при указании игрока вести огонь в центр цели. [Turret_Turret] Type Turret Name Turret Bone Turret DamageType Normal Collisions x_Head x_lk9 x_lk8 x_lk5 x_lk6 AimCollisions x_Head Health 944 //Armor Front Back Left Right Top Bottom Armor 50 30 30 30 10 10 External True ArmorMTL Steel IsBox True isCritical False Links 75mm_KwK_40_L43 Commander Loader Shooter Superstructure //DamageRect1 Turret_Side – для игры ВМ, ссылки на области текстуры юнита в интерфейсе, которые будут закрашенны красным в случае поврежедения данной секции. В игре «ИВ. Африка 1943» описание стандартных элементов не требуется. //DamageRect2 Turret_Top SoundAim !!!Turret_rotate_electro – звук при вращении башни. Volume Main HeardRangeTurn 5 – дальность слышимости разворота башни вражеской пехоты. [Armored_Turret_Com] – секция командирской башенки. Type Armored Name Turret_Com DamageType Normal Collisions x_Head1 x_lk1 x_lk2 Health 500 //Armor Front Back Left Right Top Bottom Armor 50 50 50 50 10 10 External True ArmorMTL Steel IsBox True isCritical False Links Turret Commander Volume Main NeedSecondarySplashFragForInternal True – флаг обозначающий что при повреждении данного элемента вторичными осколками могут быть поврежденны элементы описанные в строке Links. Башня и командир. [WeaponStatic_7_92mm_MG_34_Bow] – секция курсового пулемета. Type WeaponStatic - тип секции , оруженый. WeaponType Machine_Gun - тип оружия для ИИ Variety Bow RatingType Machine_Gun - рейтинг данного оружия , исходя из которого ИИ будет применять его по различным целям. Name 7_92mm_MG_34_Bow Parent Hull IconName WeaponStatic\Machinegun.mat – ссылка на материал изображения оружия в интерфейсе. Текстура и материал должны находится в каталоге data\GUI\Ingame\Icons\WeaponStatic\ Gun Ger\7_92mm_MG_34_HMG - ссылка на оружие из каталога data/guns SignNode Hook_MG_34_Bow – ссыдка на секцию оружейного крючка в Hier.ini SignType Generic – возможный тип прицеливания и стрельбы, в данном случае, только прямой наводкой. В игре «ИВ. Африка 1943» возможны значения Both – стрельба прямой и непрямой наводкой. Hooks Hook_MG_34_Bow – ссыдка на секцию оружейного крючка в Hier.ini ParkAngle 0 DamageType Normal Collisions x_Mgun2 Health 150 //Armor Front Back Left Right Top Bottom Armor 8 8 8 8 8 8 External True ArmorMTL Steel IsBox False isCritical False DamageRect1 mgun DamageRect2 mgun Links Hull [WeaponStatic_7_92mm_MG_34_Twin] -секция спаренного пулемета. Type WeaponStatic WeaponType Machine_Gun Variety Twin RatingType Machine_Gun Name 7_92mm_MG_34_Twin Parent Turret IconName WeaponStatic\Machinegun.mat Gun Ger\7_92mm_MG_34_HMG SignNode Hook_MG_34_Twin SignType Generic Hooks Hook_MG_34_Twin ParkAngle 0 DamageType Normal Collisions x_Mgun1 External True Health 150 [WeaponStatic_75mm_KwK_40_L43] -секция орудия.. Type WeaponStatic WeaponType Gun Variety Primary RatingType Gun Name 75mm_KwK_40_L43 Parent Turret IconName WeaponStatic\Heavy_gun.mat Gun Ger\75mm_KwK_40_L43 SignNode Hook_75mm_KwK_40_L43 SignType Generic Hooks Hook_75mm_KwK_40_L43 ParkAngle 0 DamageType Normal Collisions x_Gun1 x_Gun2 Health 150 //Armor Front Back Left Right Top Bottom Armor 30 30 30 30 30 30 External True ArmorMTL Steel IsBox False isCritical False //DamageRect1 Gun_Side //DamageRect2 Gun_Top Links 7_92mm_MG_34_Twin isKillLinkedOnDeath true –флаг обозначающий что при уничтожении данной секции, прилинкованные к ней части тоже будут уничтоженны. [Hatch_CommanderHatch] -секция люков. Type Hatch Name CommanderHatch Parent Turret AnimHatchOpen ANIM_OPEN_HATCH_COMM -анимации открытия AnimHatchClose ANIM_CLOSE_HATCH_COMM –и закрытия люков. SoundHatchOpen !!!hatch_open –звуки закрытия открытия люков. SoundHatchClose !!!hatch_close [Hatch_DriverHatch] Type Hatch Name DriverHatch Parent Hull AnimHatchOpen ANIM_OPEN_HATCH_DRIVER AnimHatchClose ANIM_CLOSE_HATCH_DRIVER SoundHatchOpen !!!hatch_open SoundHatchClose !!!hatch_close [Decorator_Antenna_Headlights_Zip] -секция декораторов, элементов отлетающих от юнита при повреждении (фары, антены, экраны , запчасти и баки.) Type Decorator – флаг обозначающий принадлежность секции к декораторам. Name Antenna_Headlights_Zip DamageType Normal Collisions x_fara2 x_fara3 x_zip11 x_zip7 x_zip17 x_zip18 x_zip19 x_zip20 x_zip2 x_zip4 x_zip8 x_zip9 Health 200 //Armor Front Back Left Right Top Bottom Armor 5 5 5 5 5 5 External True ArmorMTL EQUIPMENT IsBox False isCritical False DamageThreshold 1 –флаг обозначающий что юнит будет уничтожен только в случае единовременного нанесения повреждений превышающих значение Health. [Decorator_Track_Zip] Type Decorator Name Track_Zip DamageType Normal Collisions x_zip14 x_zip16 x_zip10 x_zip12 x_zip15 x_kr2 x_kr1 x_zip1_1 x_zip1 x_zip5 x_zip6 Health 200 //Armor Front Back Left Right Top Bottom Armor 5 5 5 5 5 5 External True ArmorMTL EQUIPMENT IsBox False isCritical False DamageThreshold 1 [Armored_Fenders] – элементы не критичные для конструкции танка, но жестко прикрепленные к нему. Они не должны отлетать при уничтожении (крылья, выхлопные трубы и тп.) Type Armored Name Fenders DamageType Normal Collisions x_hull3 x_hull4 x_hull5 x_hull6 x_zip3 Health 200 //Armor Front Back Left Right Top Armor 8 8 8 8 8 8 External True ArmorMTL Steel IsBox False isCritical False Links Hull Bottom [Armored_Mask] Type Armored Name Mask DamageType Normal Collisions x_Mask1 x_Mask2 x_Mask3 Health 472 //Armor Front Back Left Right Top Bottom Armor 50 50 50 50 50 50 External True ArmorMTL Steel IsBox True isCritical False Links 75mm_KwK_40_L43 7_92mm_MG_34_Twin Turret Commander Loader Shooter isKillLinkedOnDeath True Volume Main NeedSecondarySplashFragForInternal True [Diesel] –секция двигателя и трансмиссии. Type Diesel Name Diesel DamageType Normal Collisions x_engine x_transm1 x_transm2 x_transm3 x_bz2 – набор коллизий имитирующих двигатель, трансмиссию и бензобаки. AimCollisions x_engine Health 236 //Armor Front Back Left Right Top Bottom Armor 5 5 5 5 5 5 External False ArmorMTL Steel IsBox True isCritical False Links Hull //DamageRect1 Diesel_Side //DamageRect2 Diesel_Top DieEffect Diesel_Heavy_Destroy - эффект горения двигателя. SoundEngine !!!pziv_motor –звук двигателя. SoundRpmMin 500 SoundRpmMax 1500 SoundStartDelay 2000 SoundGearNum 1 SoundRpmEven 1300 SoundRpmDeltaUp 200 SoundRpmDeltaDown 600 SoundTrack !!!pziv_track SoundBrake !!!brake SoundStart !!!pziv_motor_start SoundStop !!!pziv_motor_stop HeardRangeWork 50 – дальность слышимости заведенного двигателя пехотой. Используется только в «ИВ.Африка 1943.» [CrewPlacement_Commander] – секция экипажа. Type CrewPlacement Name Commander – имя экипажного места Job Commander – должность занимаемая членом экипажа, и отображаемая в интерфейсе. Возможны должности : командир, наводчик ,водитель, заряжающий, пулеметчик, пехотинец (для БТР и автомашин это перевозимый десант) Dispatcher infantry.cpp – скрипт управляющий членом экипажа Hatch CommanderHatch – люк через который данный член экипажа производит посадку высадку Animator PzIVF2_Commander – анимация людей на данном юните (посадка высадка, работа экипажа в открытой технике.) OffsetMode Anim FreeCrew False DamageType Normal Collisions x_Commander – коллизия моделирующая данного члена экипажа External False Hook_In commander – крючки в которых будет перемещен данный член экипажа при посадке Hook_Out commander_out – и высадки. VisSector0 vcommander_0 -45 45 0.8 Сектора видимости и увеличение в данном секторе относительно направления крючка. Используется только в «ИВ. Африка 1943» VisSector1 vcommander_1 -45 45 0.8 VisSector2 vcommander_2 -45 45 0.8 VisSector3 vcommander_3 -45 45 0.8 VisSector4 vcommander_4 -45 45 0.8 [CrewPlacement_Driver] Type CrewPlacement Name Driver Job Driver Dispatcher infantry.cpp Hatch DriverHatch Animator PzIVF2_Driver OffsetMode Anim FreeCrew False DamageType Normal Collisions x_Driver External False Hook_In driver Hook_Out driver_out VisSector0 VisSector1 vdriver_0 -31.5 31.5 0.5 vdriver_1 -30 30 0.5 [CrewPlacement_Loader] Type CrewPlacement Name Loader Job Loader Dispatcher infantry.cpp Weapon1 75mm_KwK_40_L43 – для членов экипажа которые обслуживают оружие , т.е. ведут из него огонь или перезаряжают, обязательна такая запись, списка оружия который данный член экипажа обслуживает, иначе юнит не сможет стрелять. Weapon2 7_92mm_MG_34_Twin Hatch CommanderHatch Animator PzIVF2_Commander OffsetMode Anim FreeCrew False DamageType Normal Collisions x_Loader External False Hook_In commander Hook_Out commander_out VisSector0 vloader_0 -30 30 0.5 VisSector1 vloader_1 -30 30 0.5 [CrewPlacement_MachineGunner] Type CrewPlacement Name MachineGunner Job MachineGunner Dispatcher infantry.cpp Weapon1 7_92mm_MG_34_Bow Hatch DriverHatch Animator PzIVF2_Driver OffsetMode Anim FreeCrew False DamageType Normal Collisions x_MachineGunner External False Hook_In driver Hook_Out driver_out VisSector0 VisSector1 vmgunner_0 -9 9 1.8 vmgunner_1 -30 30 0.5 [CrewPlacement_Shooter] Type CrewPlacement Name Shooter Job Shooter Dispatcher infantry.cpp Weapon1 75mm_KwK_40_L43 Weapon2 7_92mm_MG_34_Twin Hatch CommanderHatch Animator PzIVF2_Commander OffsetMode Anim FreeCrew False DamageType Normal Collisions x_Shooter External False Hook_In commander Hook_Out commander_out VisSector0 vshooter_0 -12.5 12.5 2.4 [CrewSet_Main] – состав экипажа, его звания и набор оружия . Type CrewSet Name Main Crew01_CP Commander Crew01_Job Commander Crew01_Unit Data/Units/Human/Ger/Tankman_afrika Crew01_N_Level Novice Crew01_R_Level Regular Crew01_V_Level Veteran Crew01_E_Level Elite Crew01_N_Rank Unteroffizier – звание которое будет присвоенно данному члену экипжа, при данном уровне опыта. Crew01_R_Rank Unterfeldwebel Crew01_V_Rank Feldwebel Crew01_E_Rank Oberfeldwebel Crew01_N_BpSet1 Walter_P38_2xM_39 – боеприпасный набор используемый даннным членом экипажа, при данном уровне опыта. Название набора прописанно в файле настройки танкиста data/units/human Crew01_R_BpSet1 Walter_P38_2xM_39 Crew01_V_BpSet1 Walter_P38_2xM_39 Crew01_E_BpSet1 Walter_P38_2xM_39 Crew02_CP Driver Crew02_Job Driver Crew02_Unit Data/Units/Human/Ger/Tankman_afrika Crew02_N_Level Novice Crew02_R_Level Regular Crew02_V_Level Veteran Crew02_E_Level Elite Crew02_N_Rank Schutze Crew02_R_Rank Gefreiter Crew02_V_Rank Gefreiter Crew02_E_Rank Obergefreiter Crew02_N_BpSet1 Walter_P38_2xM_39 Crew02_R_BpSet1 Walter_P38_2xM_39 Crew02_V_BpSet1 Walter_P38_2xM_39 Crew02_E_BpSet1 Walter_P38_2xM_39 Crew03_CP Loader Crew03_Job Loader Crew03_Unit Data/Units/Human/Ger/Tankman_afrika Crew03_N_Level Novice Crew03_R_Level Novice Crew03_V_Level Regular Crew03_E_Level Veteran Crew03_N_Rank Schutze Crew03_R_Rank Schutze Crew03_V_Rank Gefreiter Crew03_E_Rank Gefreiter Crew03_N_BpSet1 Walter_P38_2xM_39 Crew03_R_BpSet1 Walter_P38_2xM_39 Crew03_V_BpSet1 Walter_P38_2xM_39 Crew03_E_BpSet1 Walter_P38_2xM_39 Crew04_CP MachineGunner Crew04_Job MachineGunner Crew04_Unit Data/Units/Human/Ger/Tankman_afrika Crew04_N_Level Novice Crew04_R_Level Regular Crew04_V_Level Regular Crew04_E_Level Veteran Crew04_N_Rank Schutze Crew04_R_Rank Schutze Crew04_V_Rank Gefreiter Crew04_E_Rank Gefreiter Crew04_N_BpSet1 Luger_P08_2xM_39 Crew04_R_BpSet1 Luger_P08_2xM_39 Crew04_V_BpSet1 Luger_P08_2xM_39 Crew04_E_BpSet1 Luger_P08_2xM_39 Crew05_CP Shooter Crew05_Job Shooter Crew05_Unit Data/Units/Human/Ger/Tankman_afrika Crew05_N_Level Novice Crew05_R_Level Regular Crew05_V_Level Veteran Crew05_E_Level Elite Crew05_N_Rank Gefreiter Crew05_R_Rank Obergefreiter Crew05_V_Rank Obergefreiter Crew05_E_Rank Obergefreiter Crew05_N_BpSet1 SubMachineGun_MP_40_2xM_39 Crew05_R_BpSet1 SubMachineGun_MP_40_2xM_39 Crew05_V_BpSet1 SubMachineGun_MP_40_2xM_39 Crew05_E_BpSet1 SubMachineGun_MP_40_2xM_39 [LeftTrack] – секции траков Type Track Name LeftTrack Side Left Bone tr1 TrackEffect Effects\Track\Track_002.eff – след остающийся на земле после проезда танка. SpeedMultiplier 115 TrackSpeedMultiplier -8.5 – скорость и направление вращения текстуры траков Prefix k kp kz DamageType Normal Collisions x_tr1 AimCollisions x_tr1 Health //Armor Armor External ArmorMTL IsBox isCritical Links 236 Front Back Left 20 20 20 20 True Steel True False Hull Right Top 20 20 [RightTrack] Type Track Name RightTrack Side Right Bone tr2 TrackEffect Effects\Track\Track_002.eff SpeedMultiplier 115 TrackSpeedMultiplier -8.5 Prefix k kp kz DamageType Normal Collisions x_tr2 AimCollisions x_tr2 Health 236 //Armor Front Back Left Right Top Armor 20 20 20 20 20 20 External True ArmorMTL Steel IsBox True isCritical False Links Hull Bottom Bottom [VehicleSkin_GerSummer1] секция скина техники. Type VehicleSkin Name GerSummer1 – имя набора окраски и реджементов. Skin Summer1 – имя используемой окраски, должно совпадать с записью в skins.ini Division GerEmptyBlack_1- имя используемого набора реджементов, должно совпадать с секцией в skins.ini Camouflage 1 – флаг влияния камуфляжа на заметность данного юнита. 1 значение по умолчанию, увеличение этого значения улучшается скрытность. Используется только в ИВ. Африка 1943 Date1 01.01.1939 31.12.1945 диапазон дат для данного скина. Используется при автоматическом выборе скина в редакторе миссий. [SimpleAbilities_SimpleAbilities] – секция дополнительных свойств Type SimpleAbilities Name SimpleAbilities isTrailer False - возможность данному юниту быть «трейлером», быть прицепленным к другому. Для буксируемых орудий должно быть true isTractor False – обратное свойство, способность буксировать орудия. Для работы обязательно наличие специального крючка в модели. isPassenger False DestroyOnEmptyBackpack False [BackPack] – секция боекомплекта, для возможной детонации при повреждении танка. Type BackPack Name BackPack DieEffect Backpack_Destroy DamageType Normal Collisions x_Ammo2 x_Ammo3 Health 200 //Armor Front Back Left Right Top Bottom Armor 5 5 5 5 5 5 External False ArmorMTL Steel IsBox False isCritical False [BackPackSet_Mixed] Возможные варианты боекомплекта , по составу боеприпасов и количеству. Type BackPackSet Name Mixed Group1_MaxItems 20 Group1_Item01 Magazines\Ger\7_92mm_MG_34_belt_tank 20 Group2_MaxItems 87 Group2_Item01 Magazines\Ger\75mm_Gr_38_HLB_HEAT 8 Group2_Item02 Magazines\Ger\75mm_PzGr_39_APCBC 30 Group2_Item03 Magazines\Ger\75mm_PzGr_40_APCR 9 Group2_Item04 Magazines\Ger\75mm_SprGr_34_HE 40 [BackPackSet_Mixed2] Type BackPackSet Name Mixed2 Group1_MaxItems 20 Group1_Item01 Magazines\Ger\7_92mm_MG_34_belt_tank 20 Group2_MaxItems 87 Group2_Item01 Magazines\Ger\75mm_Gr_38_HLB_HEAT 8 Group2_Item02 Magazines\Ger\75mm_PzGr_39_APCBC 30 Group2_Item03 Magazines\Ger\75mm_PzGr_40_W_APBC 9 Group2_Item04 Magazines\Ger\75mm_SprGr_34_HE 40 Интеграция нового юнита в ресурсы игры После того как законченны все настройки для нового юнита, необходимо прописать ссылки на него в нескольких файлах игры, это следующие файлы : :\*имя каталога игры*\data\Settings\ filesid.ini - файл содержит нумерованные ссылки на все ресурсы игры, необходим для того чтобы в сетевой игре передавался не файл содержащий какой-то ресурс, а только его номер, что позволяет во много раз сократить трафик. Различие в этом файле на клиенте и сервере приведет к падению игры у клиента из-за рассинхронизации. В данный файл необходимо внести следующие записи, соблюдая последовательность нумераций : - ссылка на юнит вида data/units/tanks/ger/pz_ivf2_afrika - ссылка на новый магазин или магазины data/items/magazines/ger/75mm_pzgr_39_apcbc - ссылка на новый боеприпас data/ammo/ger/75mm_pzgr_39_apcbc - ссылка на материалы иконок для интерфейса 3dobj/tanks/ger/pz_ivf2_afrika/pz_ivf2_afrika.mat :\*имя каталога игры*\data\Settings\ EncyclopaediaCont.xml – файл список юнитов отображаемых в энциклопедии. После соответсвующей записи в этом файле новый юнит можно будет увидеть в энциклопедии игры. Файлы локализаций : :\*имя каталога игры*\data\local\ru units.utf8 – файл названий юнитов items.utf8 – названия магазинов guns.utf8 – названия оружия encdescription_tanks.utf8 – файлы описаний для энциклопедий, в данном случае танки. После записей в локализационных файлах, вместо знака вопроса в названии нового юнита,магазина или орудия, в интерфейсе, появятся соответсвующие названия.