Краткое руководство по настройке def наземной техники на примере САУ DANA. Точка с запятой помечает комментарий, который игрой не обрабатывается.
{Entity ;Это тип объекта. Game_entity - декорация, actor - активный объект (напр. техника). Есть и другие. ;Если дальше идет вызов файла свойств, то неважно, что тут стоит.
;==============Заголовки
(include "/properties/armoredcar.ext") ;Файл, где прописаны основные свойства объекта. Копировать из похожей техники. Два указывать нельзя. (include "/properties/shadow/tank.inc" scale(1.4)) (include "/properties/selection/vehicle.inc" scale(1.2)) ;Эти два файла отвечают за тени и круги выделения. Копировать из похожей техники. {targetClass "tank" "ap fg bullet"} ;Нечто, отвечающее за ИИ. Копировать из похожей техники, если нет - не беда, вероятно. {collider "tank.heavy"} ;Отвечает за механику столкновений. Копировать из похожей техники. {props "armored_car_M" "vision_lev06" "turret" "wheeled" "tank" "with_gun" "8_wheels"}
;armored_car_M - колесная техника (БТР и БМП), поддерживающая AAS. Тут может быть "car" для авто, "light_M" для гусеничных БТР и БМП, ;"medium_M" для танков без многослойной брони, "heavy_M" для современных танков с толстой многослойной лобовой броней.
;"vision_lev06" - отвечает за заметность. Чем больше цифра - тем лучше видно. Свое не выдумываем, копировать из похожей техники.
;"turret" - отвечает за отрыв башни
;"wheeled" - колесная техника
;"8_wheels" - отвечает за ходовую - без скольких колес едет. Указывать, конечно, общее число колес - 8, 6, 4.
;тут указываем тип брони ;armor_light_btr - менее 15мм лоб, только если указано "/properties/armoredcar.ext" Остальные для "/properties/tank_unarmed.ext": ;armor_light - менее 15мм лоб для гусеничной техники. ;armor_IFV - 15-25мм лоб ;armor_medium - выше 25мм, но не многослойная. Для старых танков. ;armor_heavy - для новых танков.
;turret(12 12 12 12) - лоб/борт/корма/крыша-и-днище башни, а далее - для корпуса.
;==============Экипаж - как делать
;далее - про экипаж. Для каждого члена экипажа надо: ;1. анимация залезания/вылезания. Пишется в boarder ; {anm "driver" ; {forward {begin "board_tank_left"} {base "open_driver"}} ; {reverse {end "emit_tank_2_hold" } {base "open_driver" -1}} ; } ; {anm "driver" - название группы анимаций. Мы можем использовать ее не только для "driver" , название просто помогает избежать путаницы. ;{forward - что происходит при залезании, {reverse - вылезании. ;{begin "________"} - это анимация при начале процесса. {end "________"} - анимация при конце процесса, {base "___"} - анимация техники. ;-1 после названия анимации означает, что анимация играется в обратном направлении. ;В нашем случае: при залезании члена экипажа с группой анимаций driver он сначала проигрывает у себя board_tank_left, ;а после нее ничего не проигрывает, т. к. нет блока {end "________"}. При этом DANA запускает анимацию open_driver. ;(забегая вперед скажу, что мехвод танка не виден, поэтому нет {end "________"}. Если же человек виден, то в {end "________"} ;пишется его поза. например, для машины в {begin "________"} пишем анимацию залезания, а в {end "________"} - позу на сиденье).
;2. Placer ; {placer ; {place "gunner2" ;Вот это - название места. driver*, gunner*,charger*,commander*. Без driver не поедем. ; {group "crew"} ;Член экипажа или пассажир ; {linkbone "gunner2"} ;Если виден снаружи, то это кость, где он сидит. ; {turnoff {sensor} {shadow}} ;вырубаем тень и вырубаем визор (можно не вырубать, но если вырубили - нужно назначить другой) ;Если должен быть виден, но не хотите, чтобы ИИ в него стрелял - {turnoff {targetable}} ; {openForCrush} ;может завалить обломками ; {visor "top"} ;каким визором техники пользуется. ; } ; }
;3. Двери. в boarder ; {door "emit3"} ; {link "emit3" "gunner2" {anm "gunner2"} {forward putoff} {reverse puton}} ;{door "emit3"} - объявляет такую дверь. Если хотите задать сложный путь по технике (локомотив или плавсредство) - нужны еще node. ;{link "emit3" "gunner2" {anm "gunner2"} {forward putoff} {reverse puton}} - это значит, что на место gunner2 попадают через emit3 ;с анимацией "gunner2"
;Это макрос - объявление и 4 вызова. Не предмет данного мануала, но они делают то, что я выше написал - объявляют 4 членов экипажа. {placer {place "gunner2" {group "crew"} {linkbone "gunner2"} {turnoff {sensor} {shadow}} {openForCrush} {visor "top"} } } {boarder {door "emit3"} {link "emit3" "gunner2" {anm "gunner2"} {forward putoff} {reverse puton}} }
;==============Визоры
{sensor {visor "main" {vision "tank_gunner_optic_1g"} } {visor "top" {vision "vehicle_top_mgun"} {bone "Mgun"} } } ;Блок визоров. перечислены визоры техники, а кто в них смотрит - распределено выше. Если визор не прописан ни для кого, то им пользуется любой. ;{visor "main" - название визора у данной техники. {vision "tank_gunner_optic_1g"} - это тип визора, где прописаны все параметны обнаружения. ;{bone "visor1"} - кость прицела. ;Частично визоры прописаны и в ext выше (2 строчка), поэтому в def вы только прописываете недостающее. ;По умолчанию: ; {visor "main" ; {vision "vehicle_main"} ;у танка маленько другой, {vision "tank_main-l"} - но неважно ; {bone "visor1"} ; } ; {Visor "driver" ; {vision "tank_driver"} ; {bone "visor2"} ; } ;Мы здесь заменяем в визоре "main" (прицел наводчика) тип визора {vision "vehicle_main"} на {vision "tank_gunner_optic_1g"} ; и добавляем третий визор "top". ;Типы визоров CW: ;"tank_gunner_optic_1g", "tank_gunner_optic_2g", "tank_gunner_optic_3g" - прицельные комплексы с кратностью 1х-4х, 5х-8х и 9х и выше соответственно. ;"tank_gunner_optic_IR_1g", "tank_gunner_optic_IR_2g", "tank_gunner_optic_IR_3g" - то же самое, но если есть ночное видение. ;"radar_sharp" - узкий радарный луч вращающихся радаров, дальность обнаружения ок. 15 км ;"radar_wide" - если радар движется под колпаком, и движения не видно - такой же радар. ;"radar_around" - радар кругового обзора, дальность та же. На Апаче, например. ;"aircraft_optic_IR_1g" - просто авиационный ночник, без увеличения. ;"aircraft_optic_2g" - авиаприцел до 15х (прим. "aircraft_optic_1g" нет!!!) без ночного канала, "aircraft_optic_IR_2g" - с ночным каналом ;"aircraft_optic_3g" - ПРПНК кратностью выше 15х - Ка-50 ;"aircraft_optic_IR_3g" - то же, но с ночным каналом (в моде пока нет)
;==============Оружие и инвентарь
{extender "inventory" {box {item "ammo dshkm_ammo" 300} {item "ammo bullet152_RUS fg" 24} } } ;ясно - ящик инвентаря. Если внутрь {box добавить {size <1 размер> <2 размер>} то ящик будет указанного размера. Сюда кладем вещи: ;{item "ammo dshkm_ammo" 300} - название вещи, число.
{Weaponry ;Блок вооружения ("restore_ik_time") ;что-то про восстановление положения после отдачи. Не нужно, работает только у БТР. {place "gun" ;Это название ствола. "gun" - пушка, "gun1" - доп. пушка, "gun2" "gun3" - пусковые ПТУР, "mgun*" - пулеметы. {weapon "152mm_2A64" filling "ammo bullet152_RUS fg" 1} ;оружие - 152mm_2A64, заправлено "ammo bullet152_RUS fg" в количестве 1 {gunner "gunner"} ;кто стреляет {charger "charger"} ;кто заряжает ("abm_18") ;точность стрельбы в движении. {StationaryFiring} ;якобы стрельба с места, но не работает. } {place "mgun" {weapon "Dshk_m" filled} {foresight "foresight4"} ;это кость, откуда летит снаряд. У пушки не писали, там {foresight "foresight1"} {gunner "gunner2"} {charger "gunner2"} {LinkAnimation "off"} ("abm_mgun_heavy") {basic} ;Вот это не знаю... } }
;Далее блок шасси, но с ним я пока не работал. Главное там {MaxSpeed 42} -скорость. {Chassis {Locomotion ("locomotion") {RearGears 0.35 0.5 0.7 1.0} ; реверс коробки передач {MaxSpeed 42}
Надо бы, по возможности расписать и другие файлы: inc, mdl, ext... и еще бы обнародовать редкие служебные и специальные теги ) Persia mod https://vk.com/persia_mod
действие on ground_hit - это удар самолёта о землю, например, когда закончился бензин, выпрыгнул пилот, или игрок, управляя им в ПУ, специально шлёпнул его о землю.
{terminator} - вроде бы указывается у подвижных (вращающихся) объектов. Возможно, забыли убрать это свойство, копируя этот бон из другого.
Наиболее вероятно, что в объекте бмп-1п есть прилинкование объекта, который в КТА ещё не описан. Возможно, там же, в папке БМП-1П есть файлик крю.экст, а в нем описано прилинкование какого нибудь ДШК-на-треноге.
Настроил def транспорта, чтобы пассажир мог вести огонь из личного оружия, но при движении пассажир смотрит только в одну сторону по направлению движения и вести огонь может только в этом направлении. Вести огонь на 360гр можно только при остановке. Что прописать в def, чтобы круговой обстрел можно было вести как на месте, так и на ходу?
К {place "passenger" {Group "driver"} {LinkBone "passenger"} {turnoff {shadow}}} добавил {openForCrush} и {attach squat_lie}}, получилось примерно так: {place "passenger" {Group "driver"} {LinkBone "passenger"} {openForCrush} {turnoff {shadow}} {attach squat_lie}} Это по типу десантных кораблей, где пассажиры сидят как отдельные юниты, над ними еще треугольники. p.s Да, как на башнях
Сообщение отредактировал Pavel111 - Суббота, 01.10.2016, 18:22