Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Добавление корабля в игру | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Звездные волки 2: Гражданская война » МОДовый отсек: «Добавление корабля в игру»
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
Решил поделиться материалами с нашего форума, ибо сплошь и рядом возникают вопросы типа "Как добавить корабль в игру (в трюм, звено и т.д.)?"

Раздеваем большой корабль!


<BigShip name="Mothership"> - оригинальное имя (начало описания) и тип корабля (или Big Ship или Interseptor или Corvette)[/
<short_name>#M_Name_Mothership</short_name> - ссылка на файл m_carcasses.loc или s_carcasses.loc (название корабля в разных местах, магазин, космос и т.д.)
<hint>#M_Hint_Mothership</hint>> - ссылка на файл m_carcasses.loc или s_carcasses.loc (название корабля в разных местах, магазин, космос и т.д.)
<short_desc/>> - ссылка на файл m_carcasses.loc или s_carcasses.loc (название корабля в разных местах, магазин, космос и т.д.)
<long_desc>#M_LDesc_Mothership</long_desc>> - ссылка на файл m_carcasses.loc или s_carcasses.loc (название корабля в разных местах, магазин, космос и т.д.)
<mesh_name>new_mothership</mesh_name> - ссылка на IMD файл (3D модель)
<flat_image>new_mothership_icon</flat_image> -ссылка на файлы DDS (картинки корабля)
<hit_points>2000</hit_points> - броня
<mass>120000</mass> - масса
<disable_trade>true</disable_trade> - разрешение на продажу в магазине (если true, то запрет)
<cost>99999</cost> - цена
<technology/> - принадлежность к технологии расы (для людей не пишем)
<EPR>60</EPR> - эквивалентная площадь радиоотражения. Насколько хорошо кораблик будет виден на радаре. На примере истребителей, у Рэптора минимум, кажется 0.9, у Стилета 1.0, у Трайдента 1.3. Наверно этот коефициент умножают на стандартную дальность обнаружения.
<explosion_script>Big Ship</explosion_script> - тип взрыва при гибели корабля (или Big Ship или Station или Asteroids)
<work_sound/> - переводится как "рабочий звук". Звук он и есть звук
<silence/> - "тишина", что типа расстояния с которого будет не слышен звук. Наверное.
<max_energy>250</max_energy> - щиты
<energy_restore>3</energy_restore> - восстановление щитов
<max_speed>9</max_speed> - скорость
<maneurability>2</maneurability> - маневренность
<steering_power>11000</steering_power> - мощность
<sensor_resolution>0.38</sensor_resolution> - радар
<sensor_length>140</sensor_length> - обзор (градусы)
<threat>3.5</threat> - "страшность" корабля. Чем выше, тем больше очков за сбитие.
<mapping_name>new_mothership_icon</mapping_name> - картинка DDS, со слотами
<HolderProperties> - раздел об вооружении
<big_guns>0</big_guns> -количесво Больших пушек
<small_guns>0</small_guns> -количесво Малых пушек
<rockets>0</rockets> -количесво Ракетных установок
<systems>4</systems> -количесво Систем
<turrets>5</turrets> -количесво Туррелей
</HolderProperties> - конец раздела об вооружении
<engine_sound>Engine-Bigship.wav</engine_sound> -тип звука двигателя
<engine_start_sound/> -
<destroyed_mesh_name/> - ссылка на файл IMD (3D модель) разрушенного (сбитого корабля)
<cargoCapacity>3000</cargoCapacity> - объем трюма
<BigShipHangar> - раздел о наличии ангаров
<hangar_count>6</hangar_count> - количество ангаров
<max_hangar_count>6</max_hangar_count> - максимальное количество ангаров
</BigShipHangar> - конец раздела о наличии ангаров
</BigShip> - описание корабля закрыто

Раздеваем истребитель!

В описании истребителя есть все характеристики, что и для Большого корабля, кроме этих, абсолютно ненужных:
<destroyed_mesh_name/> - ссылка на файл IMD (3D модель) разрушенного (сбитого корабля)
<cargoCapacity>3000</cargoCapacity> - объем трюма
<BigShipHangar> - раздел о наличии ангаров
<hangar_count>6</hangar_count> - количество ангаров
<max_hangar_count>6</max_hangar_count> - максимальное количество ангаров
</BigShipHangar> - конец раздела о наличии ангаров
Тип корабля - или Interceptor, или Corvette, если это корвет.
Соответственно и тип взрыва - Fighter.
PS. Больше пушечно-ракетных слотов, чем имеется в IMD, нельзя добавить. Лишние будут нерабочими.

добавлено спустя 3 минуты:
Как добавить свой истребитель

У вас должны быть в наличии 3D модельки (IMD) и текстуры (в основном DDS, можно TGA, PNG...).
Во-первых, создаем по вышеизложенному плану описание в carcasses.xml. Вписываем в mesh_name имя файла 3D модели.
Во-вторых, отправляем 3D модель в папку DATA\Object и текстуру DATA\Texture
В-третьих, используйте всю свою фантазию, чтобы создать описания в файлах m_carcasses.loc или s_carcasses.loc. Заголовки описаний делайте такими же, как вы прописали в carcasses.xml, например, #M_Name_My_Fighter. Что-то не так - в игре увидите сообщение: Not found string: #M_Name_My_Fighter
В-четвертых, добавьте в DATA\TEXTURE\Interface\Carcass\NNN картинки истребителей в ангаре и магазине, с названиями, указанными во flat_image. Ширина (в пикселях) должна быть равной названию той папки, куда помещаете рисунки. Рисунки должны находиться во всех трех папках, иначе вы можете в разных местах увидеть вместо картинок белые квадраты.
Наконец, в-пятых, добавляете в DATA\TEXTURE\Interface\Carcass\Slots DDS-картинку размером 1024*1024, там должна быть схема (или большой рисунок) этого корабля. Чтобы отображались слоты, нужно создать в этой жефайл с названием, указанным вами в mapping_name названием и расширением INI. Разберем для примера один такой файл (это заодно и будет инструкцией по изменению схем слотов).

[image]
name=ships01 - DDS-картинка размером 1024*1024 со схемой.
tuv=ships - обязаловка (неточность, спасибо krink'у за исправление)
index=0 - место из той картинки, где располагается схема.
0 - вверху слева
1 - вверху справа
2 - посередине слева
3 - посередине справа
4 - внизу слева
5 - внизу справа.

[slot1] - первый слот. Добавляемые Вами слоты должны нумероваться по порядку.
type=BigGun - тип слота (BigGun, SmallGun, RocketModule, SystemModule, TurretModule - соответственно большая пушка, малая пушка, ракеты, системы, турели)
refpoint=center - название рефпойнта. Уточняйте, открывая IMD Editor'om (раздел "Софт") imd-модели. Для системного слота просто пишите system1, system2 и так далее, но не больше того, что вы указали в <systems>N</systems>.
image_coord=419 48 - координаты места под картинку модуля в формате (x y). Ось Ох - слева направо, ось Оу - сверху вниз.
text_coord=415 110 - то же самое, только для текста под картинкой
text_aligment=RIGHT - выравнивание текста по левому (LEFT) и правому краю.

[slot2] - пошел второй слот...
type=SystemModule
refpoint=system1
image_coord=11 248
text_coord=96 268
text_aligment=LEFT
- теперь вы это все знаете, нет смысла повторять.

И так далее добавляете слоты...

[size=150]Наконец-то! Истребитель готов![/size]

[size=150]Но нужно еще добавить данные, где его можно встретить.[/size]

Способ 1. Идете в файл DATA\scripts\InitTeamScript.script и добавляете после строки

inventory = GetInventory();

это:

mothership:AddShipToInventory("XXXXX", Y);
ХХХХХ - как вы назвали истребитель <Interceptor name...
Y - количество.
Истребитель будет в трюме сразу после начала новой игры.

Способ 2.Настроить появление истребителя в магазине.
У вас ЗВ1 - идете в DATA\scripts\include\constants.script.
У вас ЗВ2 (ГВ в том числе) - идете в DATA\scripts\include\FloodTradeStations.script.

Для ЗВ1: В начале файла есть список:
InventoryShips = {{"Brigand_pl0","Naginata_pl0","Hatchet_pl0","Elephant"},
{"Yari_pl0","Excalibur_pl0","Kusari"},
{"Stormcrow_pl0"},
{"Hammerhead_pl0"},
{"Cleaner_pl0"},
{"Raptor_pl0","Viking"},
{},
{"Bident_pl0","EvilEye_pl0","Slasher"},
{},
{"Trident_pl0","Mammoth"},
{},
{}};
Первая строка - начало игры
Вторая - после прохождения миссии 1 уровня (см. Missions_x_ep.xml)
И так далее...
В какую-нибудь из этих строк и втискиваете истребитель по приведенному образцу.
То же самое можно сделать и для InventoryBlackShips. Но только вписывайте в один из этих списков.

Для ЗВ2:
Aleksty :
Смотри файл DATA/Scripts/Include/FloodTradeStations.script
Вставь название своего самолета в один из массивов в функции function CreateGoodList()
ShipList1= и т.д.

То есть, в этих массивах самолеты которые появляются по мере прохождения игры. В последнем соответственно, те, которые появятся в магазинах в конце игры.


Для ЗВ2ГВ - то же, но самолеты из разных списков появляются в разных локациях.

Способ 3.
Как сделать, чтобы чужие (не обязательно супостатские) звенья летали на новом истребителе? Для этого нужно расковырять еще один файл - DATA\Game\ShipDescriptions.xml
Там находятся списки, как вооружены корабли.
Создаем свой план компоновки модулей и истребителя.
<ShipDescription name="Moi_Plan_Komponovki"> - название вашего плана
<carcass>ХХХХХХХ</carcass> - название вашего описания истребителя в carcasses.xml
<module>MMMMM</module> - название модуля из modules.xml
<module>MMMMM</module>
.....
</ShipDescription> - закрываем описание.
Будьте внимательны! Общее количество больших пушек (малых пушек, ...) не должно превышать установленные вами лимиты в carcasses.xml

Теперь переходим к одариванию чужих звеньев.
У вас ЗВ1 - идете в DATA\scripts\include\constants.script.
У вас ЗВ2 (ГВ в том числе) - идете в DATA\scripts\include\Create_flight_2.script.

Для ЗВ1:
В файле попадаются списки, типа как этот. Кому эти звенья принадлежат, указывается выше.
Nav_Bombers = {"Trident_nav3", --1
"Bident_nav1", --2
"Trident_nav1", --3 ROLE_MISSLEDEFENCE
"Trident_nav2", --4 ROLE_MISSLEDEFENCE
"Hrimturs_nav5", --5
"Drakon_", --6
"Hrimturs_nav1"}; --7

Добавляя в них свой истребитель, меняете в последней строке }; на запятую, добавляете свой истребитель по образцу:
"Moi_Plan_Komponovki"}; --8
(просто прибавляете 1 к последней попавшейся вам цифре)

Далее меняете в звене 1 цифру, например,

{{5,2,ROLE_ATTACK},{2,2,ROLE_ATTACK},{2,2,ROLE_ATTACK},{3,2,ROLE_MISSLEDEFENCE}},

на

{{8,2,ROLE_ATTACK},{2,2,ROLE_ATTACK},{2,2,ROLE_ATTACK},{3,2,ROLE_MISSLEDEFENCE}},

или просто вставляем наш самолет в звено:

{{5,2,ROLE_ATTACK},{8,2,ROLE_ATTACK},{2,2,ROLE_ATTACK},{2,2,ROLE_ATTACK},{3,2,ROLE_MISSLEDEFENCE}}

При желании можно сменить и пилота. Меняем вторую цифру в {N,N,ROLE_NNNNN} на порядковый номер пилота в списке, например:
Nav_Pilots = {"NAVYPilot", "NAVYOfficer", "NAVYAce"};
(можно добавлять своих)
ATTACK можно менять на DEFEND, а если вы в shipdescriptions.xml прицепили к самолету противоракетку или ремонтную систему, то можно и на MISSLEDEFENCE или REPAIR.

В ЗВ2 все несколько проще. ROLE_NNNNN сокращены до букв:
--"A" = ROLE_ATTACK
--"D" = ROLE_DEFEND
--"M" = ROLE_MISSLEDEFENCE
--"R" = ROLE_REPAIR
--"C" = ROLE_CLOACKING
--"L" = ROLE_LEADER

Вместо {8,2,ROLE_ATTACK} пишется {"Moi_Plan_Komponovki",2,"A"}.

После этого вы можете встретить в космосе ваш кораблик.

Способ 4.
Хорошо знакомые со скриптами люди могут прописать появление самолета в космосе или в трюме в квестовых скриптах, например, в
DATA\scripts\level_1_01
или
DATA\Scripts\Quests\mission_0_01.

Приобрести мазершип?

Способ 1.Идете в файл DATA\scripts\InitTeamScript.script
Меняете название компоновки мазершипа на другое из shipdescriptions.xml
Такой мазершип появится в начале игры.

Способ 2.
См. способ 4 для истребителей.

Чужие мазершипы - аналогично способу 3 для истребителей

ВСЁ

Последний раз редактировалось: Stormcrow (16:41 30-04-2011), всего редактировалось 1 раз
Последний раз редактировалось: Michael_Moon (09:41 09-04-2011), всего редактировалось 1 раз
    Добавлено: 09:41 09-04-2011   
Kish
 835 EGP


Модератор
Рейтинг канала: 2(13)
Репутация: 164
Сообщения: 14640
Откуда: Великокацапия
Зарегистрирован: 05.03.2002
Тема закрыта во избежании левого флуда. При необходимости редакции Бур все откроет без проблем.
_________________
If Tetris Has Taught Me Anything, It’s That Errors Pile Up and Accomplishments Disappear
    Добавлено: 17:31 22-08-2012   
Звездные волки 2: Гражданская война -> МОДовый отсек: «Добавление корабля в игру»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Земли в игре нет, а вот головной боли, пока это поймешь - хоть отбавляй!

  » Добавление корабля в игру | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18