Форумы Homeworld3.RU  

Go Back   Форумы Homeworld3.RU > Сделай сам! > Верфи близ Сарума [HW2 Modding]
Register Forum Rules FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools
Quote
Old 11-27-2007, 12:26 AM   #1
Orphey_OZ
МичманВ запасе
 
Orphey_OZ's Avatar
 
Faction:
Хиигаряне

Join Date: Nov 2007
Location: UA\Kiev\Furon
Posts: 91
Урок: Внедрение своего корабля в игру

Внедрение своего корабля в игру.

Сперва – подготовка.

0) Подготовка Windows: Зайдите в Свойства Папки и снимите флажок «скрывать расширения для известных типов файлов» во второй вкладке.
1) Скопируйте файл homeworld2.big в любую папку, путь к которой НЕ содержит пробелов. У меня – C:\1\

2) Теперь откройте его в BigExtractor’е от Spooky. Жмите на кнопку «Распаковать всё». У Rebellion’ов была готовая полностью декомпилированная папка Data, респект тому, кто найдёт. (P.S. Нашол! Респект мне!! Но учтите - hod'ов там нет. Это уж из своей берите) Теперь в вашей папке 1 должна быть папка Data, а в ней – папки ship, weapon, subsystem etc. Но, как видите, все файлы wepn, ship, miss, wf и т.д. не декомпилированы, т.е. закодированы.

3) LuaDC.exe перенесите в папку Windows. Чтобы декомпилировать какой-либо файл нужно зайти в Пуск->Выполнить-> “LuaDC *путь к файлу и имя*”. Проще всего написать LuaDC, а затем в Проводнике взять файл и перетащить его в поле команды «Выполнить». Учтите, что НИКАКИХ кавычек в поле команды «Выполнить» быть не должно ни в коем случае! После верной декомпиляции в папке с исходником должен появиться файл с расширением LuaDC. Жмите в контекстном меню «Переименовать» и удаляйте это расширение нафиг. После чего открывайте полученный файл в блокноте. Если всё верно, то в нём должны быть следующие строки:

Code:
-- LuaDC version 0.9.19
-- 5/23/2004 11:08:14 PM
-- LuaDC by Age2uN
-- on error send source file (compiled lua) and this outputfile to Age2uN@gmx.net
их тоже можно удалить. Вообще все строки, начинающиеся на -- это комментарии.

Урок 1: Внедрение своего корабля.

1) Ну допустим, к примеру, хотим мы сделать суперскаут, чтобы он летал быстро, стрелял быстро, умирал не очень быстро. Входим в папку Hgn_scout в вашей папке Data. Декомпилируем файлы .ship и .events. После чего копируем всю папку из этой папки в игровую папку (создайте) Data\ship.

2) Теперь последовательно переименовываем папку и все файлы из hgn_scout.* в “имя_новой_единицы”.*. Таким образом, в папке с именем этой единицы должны находиться файлы с именем папки и расширениями .hod, .ship, .events.

3) А теперь можно и поиздеваться. Заходим в файл .ship, он выглядит примерно так:

Code:
NewShipType = StartShipConfig()
NewShipType.displayedName = "Merger"
NewShipType.sobDescription = "Some from rail, some from bomber..."
NewShipType.maxhealth = 150
NewShipType.regentime = 0
NewShipType.minRegenTime = 0
NewShipType.sideArmourDamage = 1
NewShipType.rearArmourDamage = 1
NewShipType.isTransferable = 1
NewShipType.useEngagementRanges = 0
NewShipType.unitCapsNumber = 3
NewShipType.SquadronSize = 3
NewShipType.formationSpacing = 50
и т.д.

Ну, я полагаю, что вы не настолько ламеры в английском, чтобы понять, что maxhealth – это здоровье, squadronSize – это размер звена и т.д. Изменяйте всё, что хотите. Ниже вам встретятся функции StartWeaponConfig и SetEngineBurn – о них и других файлах и функциях позже.


4) Сделали всё, что хотели? Но это ещё не всё. Надо, чтобы ваш кораблик принадлежал какой-то расе.

А) Чтобы быстро внедрить свой кораблик зайдите в вашей папке Data в папку scripts\startingfleets, декомпилируйте файлы внутри. После чего перенесите папку startingfleets в игровую папку (создайте) Data\scripts. Откройте любой по выбору файл и изменяйте, к примеру vaygr00.lua будет выглядеть так:

Code:
PersistantData =
{
    StrikeGroups = {},
    Squadrons =
        {
        {
            type = "Vgr_MotherShip",
            subsystems = {},
            shiphold = {},
            name = "",
            size = 1, },
        {
            type = "Vgr_ResourceCollector",
            subsystems = {},
            shiphold = {},
            name = "",
            size = 1,
            number = 6, },
        {
            type = "Vgr_Carrier",
            subsystems = {},
            shiphold = {},
            name = "",
            size = 1,
            number = 1, },
--а вот это ваш новый эскадрон
        {
            type = "имя_новой единицы",
            size = размер_эскадрона,
            number = 1, },
        },

    Research = {}, }
Б) Второй способ сложнее, здесь я вам даю свободу воли. В вашей папке Data\scripts отыщите папку «building and research» и далее vaygr, в ней декомпилируйте файлы research.lua и build.lua, после чего перенесите это всё в игровую папку Data\scripts\building and research\vaygr. Теперь откройте файл build.lua, он для вайгров начинается так

Code:
Ship = 0
SubSystem = 1
build =
    {
    {
        Type = SubSystem,
        ThingToBuild = "Vgr_C_Production_Fighter",
        RequiredResearch = "",
        RequiredShipSubSystems = "",
        DisplayPriority = 0,
        DisplayedName = "$7100",
        Description = "$7101", },


и по аналогии (уж как – сами попробуйте догадаться =)) добавьте кораблик – тут я умываю руки. Скажу только, что DisplayPriority показывает расположение корабля в списке строительства, а строки $#### находятся в папке Data\locale.

5) А теперь создайте ярлык на файл Homeworld2.exe и пропишите в свойствах объекта “-overrideBigFile” (без кавычек). Запускайте, наслаждайтесь.

Code:
Lesson is created by Dron01
Orphey_OZ is offline   Reply With Quote
Old 09-22-2008, 08:45 PM   #2
Айсис
Командир эскадрильиТайный Создатель
 
Айсис's Avatar
 
Faction:
Предтечи

Join Date: Apr 2008
Location: Хамунаптра
Posts: 344
Re: Урок: Внедрение своего корабля в игру

Я так в FX моде химичил. Из Genesis`а добавил материнку предков и прокачал все корабли кои можно. У меня лин.крейсер из турелей стрелял ДВОЙНЫМ залпом Саджуука! Материнки дохли через 1.4243 секунды. Истребители прыгали в гипер и хиигары строили гипер-платформу и хранителей. И пр. и пр. и пр.
Айсис is offline   Reply With Quote
Old 01-18-2009, 02:13 AM   #3
shurka777
РядовойВ запасе
 
Join Date: Dec 2007
Posts: 16
Re: Урок: Внедрение своего корабля в игру

Прошу помочь в моей проблеме, взял модель из Клизмы (пиратский файтер) засунул его и все текстуры в HOD файл согласно уроку с Relic'овского форума с помощью CFHodEd 3.2.3 и файла kpr_bomber.hod, согласно тому же уроку поправил всё что нужно было. Как теперь вставить, а точнее добавть к уже имеющимся этот Шип в игру.

В том уроке было написано:
Положить новый HOD файл в папку Data\ship\hgn_ship, взять events и ship файлы от hgn_interceptor и переименовать их все в hgn_ship, т.е. в результате в папке hgn_ship должны быть три файла hgn_ship.hod; hgn_ship.ship; hgn_ship.events, но что дальше делать ничего не указано.

З.Ы. Использовал вышеуказанный метод А и Б, при загрузке skirmish'а, игра вылетает. Может проблема в моём HOD'е?

На всякий случай вот мой ход:
Attached Files
File Type: rar hgn_new.rar (56.3 KB, 7 views)

Last edited by shurka777 : 01-18-2009 at 02:30 AM.
shurka777 is offline   Reply With Quote
Old 01-18-2009, 12:24 PM   #4
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Урок: Внедрение своего корабля в игру

если игра вылетает нужно всегда смотреть в лог файл
а потом думать что не так
примерный путь: E:\Homeworld2\Bin\Release\Hw2.log
Prisoner is offline   Reply With Quote
Old 01-18-2009, 01:11 PM   #5
shurka777
РядовойВ запасе
 
Join Date: Dec 2007
Posts: 16
Re: Урок: Внедрение своего корабля в игру

Посмотрел в лог, исправил кое какие ошибки в hiigaran00.lua. В игре он всё-таки появился (я заменил им Scout) но с вот такими вот проблемами:



Я так понял это из-за того что я использовал ship файл от Scout'a, а hod от другого. Хотелось бы узнать как самому сделать правильный HOD файл, чтобы не использовать готовые от других кораблей, и какие нужны скрипты для добавления нового шипа в меню постройки скажем для одной из рас.
И хотелось бы поподробнее узнать принципы работы (значения строк в этих скриптах) вот этих файлов: *.events *.madstate *.ship, и как они взаимосвязаны друг с другом.

З.Ы. Если есть у кого элементарный мод который добавляет (именно добавляет) один новый шип к существующей расе, выложете его плиз, я сам всё разберу (Test mod 01 не подходит).

Заранее спасибо.

И скажите как прятать картинки под спойлер или что-то подобное, тут на форуме.
shurka777 is offline   Reply With Quote
Old 12-07-2009, 01:43 AM   #6
regul
Ведущий разделаВедущий раздела
 
regul's Avatar
 
Join Date: Apr 2007
Posts: 991
Re: Урок: Внедрение своего корабля в игру

Я добавляю SalvageCollector из piratemod v0.3 - модифицированный колллектор для быстрого сбора обломков.
удалось добавить корабль в стартовый флот, а вот в строительство никак не добавляется.. Просто не появляется в списке строительства, какой бы я ему DisplayPriority не присваивал. Что нужно еще сделать?
regul is offline   Reply With Quote
Old 01-10-2010, 04:00 AM   #7
regul
Ведущий разделаВедущий раздела
 
regul's Avatar
 
Join Date: Apr 2007
Posts: 991
Re: Урок: Внедрение своего корабля в игру

разобрался - необходимо было прописать корабль также в familylist.lua
regul is offline   Reply With Quote
Old 01-14-2010, 12:20 AM   #8
regul
Ведущий разделаВедущий раздела
 
regul's Avatar
 
Join Date: Apr 2007
Posts: 991
Re: Урок: Внедрение своего корабля в игру

теперь всплыла следующая проблема - при добавлении этого коллектора в список постройки, он добавляется вместо какого-либо другого корабля, а не дополняя список. на пример, на верфи в разделе utilites 9 позиций, и коллектор добавляется не десятой, а заменяет одну из этих 9, какую бы я DisplayPriority не присваивал.
regul is offline   Reply With Quote
Old 01-14-2010, 07:07 AM   #9
EvilChaotic
Командир эскадрильи:P
 
EvilChaotic's Avatar
 
Faction:
Вэйгр

Join Date: Nov 2007
Location: В Фотошопе
Posts: 158
Re: Урок: Внедрение своего корабля в игру

Quote:
Originally Posted by regul View Post
теперь всплыла следующая проблема - при добавлении этого коллектора в список постройки, он добавляется вместо какого-либо другого корабля, а не дополняя список. на пример, на верфи в разделе utilites 9 позиций, и коллектор добавляется не десятой, а заменяет одну из этих 9, какую бы я DisplayPriority не присваивал.
Это потому что в хоме DisplayPriority кораблей идет по очередно, вот ты и заменяешь то один то другой. Тебе нужно найти "пустую ячейку DisplayPriority"

Code:
    {
        Type = SubSystem,
        ThingToBuild = "Vgr_MS_Sensors_AdvancedArray",
        RequiredResearch = "",
        RequiredShipSubSystems = "",
        DisplayPriority = 25,
        DisplayedName = "$7122",
        Description = "$7123", },
    {
        Type = SubSystem,
        ThingToBuild = "Vgr_C_Sensors_DetectHyperspace",
        RequiredResearch = "",
        RequiredShipSubSystems = "",
        DisplayPriority = 30,
        DisplayedName = "$7126",
        Description = "$7127", },
    {
===============================================================
    {
        Type = Ship,
        ThingToBuild = "Vgr_LanceFighter",
        RequiredResearch = "LanceBeams",
        RequiredShipSubSystems = "FighterProduction",
        DisplayPriority = 23,
        DisplayedName = "$7136",
        Description = "$7137", },
    {
        Type = Ship,
        ThingToBuild = "Vgr_MissileCorvette",
        RequiredResearch = "",
        RequiredShipSubSystems = "CorvetteProduction",
        DisplayPriority = 100,
        DisplayedName = "$7138",
        Description = "$7139", },
    {
Только между такими промежутками надо вставлять свой корабль, например под номером 26 и 24
EvilChaotic is offline   Reply With Quote
Old 01-15-2010, 10:04 AM   #10
regul
Ведущий разделаВедущий раздела
 
regul's Avatar
 
Join Date: Apr 2007
Posts: 991
Re: Урок: Внедрение своего корабля в игру

я ставил заведомо свободные номера DisplayPriority..
regul is offline   Reply With Quote
Old 01-15-2010, 02:20 PM   #11
EvilChaotic
Командир эскадрильи:P
 
EvilChaotic's Avatar
 
Faction:
Вэйгр

Join Date: Nov 2007
Location: В Фотошопе
Posts: 158
Re: Урок: Внедрение своего корабля в игру

Quote:
Originally Posted by regul View Post
я ставил заведомо свободные номера DisplayPriority..
Ну тогда проблема вот в этом:
Code:
        DisplayedName = "$7136",
Вместо указателя на назвние корабля нужно написать туда свое имя.
Например DisplayedName = "HeavyFighter", 2 похожих по имени объекта вроде как не должны быть в хоме, и они заменяют друг друга.
EvilChaotic is offline   Reply With Quote
Old 01-16-2010, 01:39 AM   #12
regul
Ведущий разделаВедущий раздела
 
regul's Avatar
 
Join Date: Apr 2007
Posts: 991
Re: Урок: Внедрение своего корабля в игру

Проверил. У mobile refinery и salvage collector'a и DisplayPriority и DisplayedName разные, а все то же.
regul is offline   Reply With Quote
Old 01-27-2013, 05:38 AM   #13
Spy0007
НовобранецВ запасе
 
Join Date: Jan 2013
Posts: 1
Re: Урок: Внедрение своего корабля в игру

Ап теме.
Так же хотелось бы увидеть минимод-образец с 1 добавленным совершенно новым шипом. Вроде бы сделано всё по гайду, с учетом постов выше, но вылетает при загрузке карты, лог-файла нет вообще
Игра ставилась и патчилась с данного форума, сама-по-себе работает отлично.
Spy0007 is offline   Reply With Quote
Old 05-16-2014, 03:35 AM   #14
Филипп
СержантВ запасе
 
Филипп's Avatar
 
Faction:
Предтечи

Join Date: Mar 2014
Posts: 31
Re: Урок: Внедрение своего корабля в игру

А если из другой игры(из Космической Федерации. Серые лорды)? Не говоря уже о том, что можно использовать шип файлы своих кораблей. Я нашёл их, но в формате shipcfg. Что это за формат?
Филипп is offline   Reply With Quote
Old 05-16-2014, 10:27 AM   #15
Pandorazero
Адмирал флотаСтарший офицер
 
Pandorazero's Avatar
 
Faction:
Хиигаряне

Join Date: Mar 2007
Location: Украина , Киев
Posts: 1,379
Восклицание Re: Урок: Внедрение своего корабля в игру

Quote:
Originally Posted by Филипп View Post
А если из другой игры(из Космической Федерации. Серые лорды)? Не говоря уже о том, что можно использовать шип файлы своих кораблей. Я нашёл их, но в формате shipcfg. Что это за формат?
кинь сюда этот файл в тему !
Pandorazero is offline   Reply With Quote
Old 05-17-2014, 05:50 AM   #16
Филипп
СержантВ запасе
 
Филипп's Avatar
 
Faction:
Предтечи

Join Date: Mar 2014
Posts: 31
Re: Урок: Внедрение своего корабля в игру

Ок. Только я не знаю, как это сделать. вот в второй игре даже есть программы(как я думаю) кораблей. Ну, например:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<GC2Ships>
<ShipTemplate Name="DreadnoughtTemplate3_t">
<Component>HugeHull0</Component>
<DisplayName>Дредноут</DisplayName>
<Model>Dreadnaught</Model>
</ShipTemplate>
</GC2Ships>
Что это? По названию файла, что это какая-то часть дредноута. Но он по-другому выглядит. Да там их не один, а сразу 25 штук.

Добавлено через 16 минут
Да, закину, но не получается. Потом. Сейчас пароль от аккаунта искать, и на ноуте входить.

Добавлено через 22 минуты
Ещё кое-что нашёл. В нерабочей игре, в папке data есть кроме ShipCfg ещё одна папка. Называется ShipTemplates. В ней больше 25 текстовых файлов с кодами для кораблей. Вот пример:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<GC2Ships>
<ShipTemplate Name="HvyFtrTemplate2_t">
<Component>SmallHull1</Component>
<DisplayName>Феникс</DisplayName>
<Model>Phoenix</Model>
</ShipTemplate>
</GC2Ships>
Это феникс. Он у разных рас выглядит по-разному. Но есть сходства, оружие и броня выглядит (у разных рас) одинаково.
Только попробовал открыть shipcfg с помошью блокнота. Это строение корабля. Очень полезно.

Добавлено через 1 минуту
Ещё кое-что нашёл. В нерабочей игре, в папке data есть кроме ShipCfg ещё одна папка. Называется ShipTemplates. В ней больше 25 текстовых файлов с кодами для кораблей. Вот пример:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<GC2Ships>
<ShipTemplate Name="HvyFtrTemplate2_t">
<Component>SmallHull1</Component>
<DisplayName>Феникс</DisplayName>
<Model>Phoenix</Model>
</ShipTemplate>
</GC2Ships>
Это феникс. Он у разных рас выглядит по-разному. Но есть сходства, оружие и броня выглядит (у разных рас) одинаково.
Только попробовал открыть shipcfg с помошью блокнота. Это строение корабля. Очень полезно.

Добавлено через 1 час 24 минуты
А если кто-то заинтересован, то идите в тему Космическая Федерация. Ну, вы поняли.

Last edited by Филипп : 05-17-2014 at 07:54 AM. Reason: добавлено сообщение
Филипп is offline   Reply With Quote
Old 05-17-2014, 08:08 AM   #17
Pandorazero
Адмирал флотаСтарший офицер
 
Pandorazero's Avatar
 
Faction:
Хиигаряне

Join Date: Mar 2007
Location: Украина , Киев
Posts: 1,379
Восклицание Re: Урок: Внедрение своего корабля в игру

Quote:
Originally Posted by Филипп View Post
Ок. Только я не знаю, как это сделать. вот в второй игре даже есть программы(как я думаю) кораблей. Ну, например:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<GC2Ships>
<ShipTemplate Name="DreadnoughtTemplate3_t">
<Component>HugeHull0</Component>
<DisplayName>Дредноут</DisplayName>
<Model>Dreadnaught</Model>
</ShipTemplate>
</GC2Ships>
Что это? По названию файла, что это какая-то часть дредноута. Но он по-другому выглядит. Да там их не один, а сразу 25 штук.

Добавлено через 16 минут
Да, закину, но не получается. Потом. Сейчас пароль от аккаунта искать, и на ноуте входить.

Добавлено через 22 минуты
Ещё кое-что нашёл. В нерабочей игре, в папке data есть кроме ShipCfg ещё одна папка. Называется ShipTemplates. В ней больше 25 текстовых файлов с кодами для кораблей. Вот пример:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<GC2Ships>
<ShipTemplate Name="HvyFtrTemplate2_t">
<Component>SmallHull1</Component>
<DisplayName>Феникс</DisplayName>
<Model>Phoenix</Model>
</ShipTemplate>
</GC2Ships>
Это феникс. Он у разных рас выглядит по-разному. Но есть сходства, оружие и броня выглядит (у разных рас) одинаково.
Только попробовал открыть shipcfg с помошью блокнота. Это строение корабля. Очень полезно.

Добавлено через 1 минуту
Ещё кое-что нашёл. В нерабочей игре, в папке data есть кроме ShipCfg ещё одна папка. Называется ShipTemplates. В ней больше 25 текстовых файлов с кодами для кораблей. Вот пример:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<GC2Ships>
<ShipTemplate Name="HvyFtrTemplate2_t">
<Component>SmallHull1</Component>
<DisplayName>Феникс</DisplayName>
<Model>Phoenix</Model>
</ShipTemplate>
</GC2Ships>
Это феникс. Он у разных рас выглядит по-разному. Но есть сходства, оружие и броня выглядит (у разных рас) одинаково.
Только попробовал открыть shipcfg с помошью блокнота. Это строение корабля. Очень полезно.

Добавлено через 1 час 24 минуты
А если кто-то заинтересован, то идите в тему Космическая Федерация. Ну, вы поняли.
Для внедрения корабля нужно только модель и текстура , эти тексты тебе не нада !
Заливай модель с текстурами и я создам пример тебе , и все распешу как делал !
Pandorazero is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +3. The time now is 10:10 PM.

Page generated: 0.080 seconds (93.40% - PHP and 6.60% - MySQL), 11 queries total