Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Возьмем к примеру корабль Defender (Защитник).
Если посмотреть папку с кораблем (Data\Ships\Liberty\Li_elite), то мы там увидим cmp, 3db и sur файлы самого корабля (основная модель) и его разрушаемых частей. Но вот странно, видны файлы разрушения двигателя. Также при просмотре радаром показываются двигатели отдельно от корабля. Я решил попробовать и активировать эту фишку.
Открываем shiparch.ini. Находим дефендера (li_elite). Само его описание состоит из разделов 3х типов:
[Ship] - Само описание корабля
[CollisionGroup] - причины и результаты взрыва
[Simple] - описание подставляемых частей за место взорванных
Li_elite - удачая модель. В ней заранее пропианы двигатели в [Simple]. Например, в Валькирии (rh_elite) они не указаны. Поэтому, наша задача просто сводится к добавлении [CollisionGroup].
Возьмем для редактирования разрушаемость спойлера корабля.
Разрушение спойлера (кликните здесь для просмотра)
[CollisionGroup]
obj = li_Spoiler_lod1 //разрушаемая часть модели корабля. Все имена смотрим через UTF.
separable = true
parent_impulse = 240.000000 //скорость вылета части при разрушении детали
child_impulse = 7.000000 //какая скорость будет в итоге
debris_type = debris_small_ship //тип разрушения. См.крейсера чтоб понять
dmg_hp = DpSpoiler //центральная точка появления новой части
dmg_obj = li_elite_dmg_Spoiler_cap //идентификатор в [Simple]
separation_explosion = explosion_small_ship_breakoff //см.крейсера
mass = 5.000000 //масса (см.крейсера чтобы понять)
type = Spoiler //тип. Нужен для вывода нужного текста при выделении части.
hit_pts = 400 //броня
root_health_proxy = true
|
Теперь делаем вариант для двигателя.
Разрушаемость 2х двигателей (кликните здесь для просмотра)
[CollisionGroup]
obj = li_Engine01_lod1
separable = true
parent_impulse = 250.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpEngine01
dmg_obj = li_elite_dmg_Engine01_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Engine
hit_pts = 400
root_health_proxy = true
[CollisionGroup]
obj = li_Engine02_lod1
separable = true
parent_impulse = 250.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpEngine02
dmg_obj = li_elite_dmg_Engine02_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Engine
hit_pts = 300
root_health_proxy = true
|
Выбираем просмотр модели врага, выделяем двигатель и теперь мы можем сделать так:
Скрин результата (кликните здесь для просмотра)
|
Как только вы сносите двигатель корабля, он больше не может запускать круиз и может лететь только на Трастере.
Теперь разберемся с [Simple] на примере текста, который я добавил для Валькирии (rh_elite)
Simple для Валькирии (кликните здесь для просмотра)
[Simple] //для левого двигателя
nickname = rh_elite_dmg_portengine_cap //Произвольное уникальное имя
DA_archetype = ships\RHEINLAND\RH_ELITE\rh_elite_dmg_port_engine.3db //указываем тот объект, который игра впихает вместо изначального
material_library = ships\RHEINLAND\rh_playerships.mat//текстуры к нему
mass = 5.000000//масса
LODranges = 0, 100, 1300 //дальность отображения
[Simple] //для правого двигателя
nickname = rh_elite_dmg_starengine_cap
DA_archetype = ships\rheinland\rh_elite\rh_elite_dmg_starboard_engine.3db
material_library = ships\rheinland\rh_playerships.mat
mass = 5.000000
LODranges = 0, 100, 1300
|
Все остальное для Валькирии, если нужно (кликните здесь для просмотра)
[CollisionGroup]
obj = rh_port_engine_lod1
separable = true
parent_impulse = 250.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpPort_Engine
dmg_obj = dmg_obj = rh_elite_dmg_portengine_cap
group_dmg_hp = DpPort_Wing
group_dmg_obj = rh_elite_dmg_port_wing_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Engine
hit_pts = 100
root_health_proxy = true
[CollisionGroup]
obj = rh_starboard_engine_lod1
separable = true
parent_impulse = 250.000000
child_impulse = 7.000000
debris_type = debris_small_ship
dmg_hp = DpStarBoard_engine
dmg_obj = rh_elite_dmg_starengine_cap
group_dmg_hp = DpStarboard_Wing
group_dmg_obj = rh_elite_dmg_starboard_wing_cap
separation_explosion = explosion_small_ship_breakoff
mass = 5.000000
type = Engine
hit_pts = 100
root_health_proxy = true
|
Вот и все, что нужно. Я пока не пробовал на крейсерах, но надеюсь, это будет не сложно.
Чтобы сделать это для других кораблей, открывайте его папку - смотрите на наличие двигателей при разрушении. Если есть, то ставьте аналогично, как я показал. Помните, что не все корабли поддерживают данную возможность! Например, на Бронированном транспорте.
Небольшая подсказка: У кораблей типа Титан, Сабли, Орел все эти файлы в самом простом корабле (Легионер, Клинок(Dagger), Starflier аналогично).
Последний раз редактировалось: Jeider (18:40 19-01-2011), всего редактировалось 4 раз(а) |