Модификация Ex Machina с нуля

Форум Модификации для игр серии Ex Machina Вопросы по созданию модификаций
Сообщений: 419 • Страница 1 из 21 123456789 ... 21
Аватара

Модификация параметров игры

Для начала вам нужен Распаковщик игровых архивов.
Далее у вас 2 пути - редактирование текстур (для этого вам понадобится Adobe Photoshop и DDS конвертор.
Еще есть устаревшаяинструкция по текстурированию(в инструкциях для SDK)) или редактирование самих параметров игры очень даже пригодится). Итак:

[hr][/hr]
Создание нового автомобиля (Автор: JSinx)
Не помню выкладывал или нет, но вот документик с настройкой физики для манинок с описанием почти всех параметров. Жаль что с таким опозданием
(Машина состоит из 3 частей, которые влияют на ее поведение: - кабина - шасси - колеса)

Файл vehicles.xml - Параметры прототипа машины:
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
                  DiffRatio - передаточное число (по моему чем больше, тем быстрее машина разгоняеться, но медленее едет.... или наоборот).
            MaxEngineRpm - максимальные обороты двигателя.
            LowGearShiftLimit - на этих оборотах переключается на низшую передачу
            HighGearShiftLimit - на этих оборотах переключается на высшую передачу
            SteeringSpeed - коэффициент скорости поворота колес. (рад/сек) - на но практиче часто получается делаешь это число большим, и колеса вертятся быстро, а сама машина поворачивает медленно, т.к. у нее большая инерция.
            AdditionalWheelsHover - дополнительная высота подвески (кузов поднимаеться над колесами на это расстояние)
            DriftCoeff – коеффициент заноса. От нуля до бесконечности, чем меньше, тем меньше занос.
            MassSize - размер масс: по осям X,Y,Z. т.е. машина может иметь размеры одни, а физика будет считаться от этого размера. Так что ты немного ошибся в своих предположенияя =)
            MassTranslation - смещение центра масс от центра машинки Если сделать низким (отрицательный Y), то машина будет более устойчивая.

===============================================================================================

Файл VehicleParts.xml:

- Класс = "Cabin" (кабина)
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
                  Durability - крепкость кабины
            DurCoeffsForDamageTypes - коэффициенты отвечающие за резисты guns energy explosion
            Mass - масса
            Power - не используется
            maxTorque - мощность автомобиля. С помощью настройки DiffRatio в прототипе самой машины можно увести в разгон или в скорость. Но там все это еще как то настраиваеться оборотами
            Price - цена
            RepairCoef - коэфициент полного ремонта части от стоимости
            FuelConsumption - потребление топлива автомобилем. как-то хитро считается от мощностию
            MaxSpeed - максимальная скорость

===============================================================================================

- Class = "Wheel" (колеса)
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
      Mass - масса: чем больше масса колеса по отношению к все машине, тем более управляема в воздухе (когда машина летит, ее наклон можно корректировать "ездой" вперед или назад).

             SuspensionCFM - жесткость амортизатора
             SuspensionERP - не используется
             SuspensionRange - не используется
            mU - не используется
             Class = "Chassis" (шасси)
             MaxFuel - топливо               
             MaxHealth - здоровье

===============================================================================================

Общие параметры (например масса, цена) суммируются. Желательно не используемые параметры не трогать.

Модификация характеристик кабин/кузовов (спасибо Bloddex за пояснения):
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
                  <Prototype                 
             Class = (класс модифицируемой запчасти, пусть будет "Cabin")                 
             Name = (название кабины, например uralCab01, либо superMegaCabina01)                 
             ModelFile = (модель, используемая для отображения нашей кабины, например uralCab01)                 
             ResourceType = "URAL_CABIN" (В файле vehicles.xml у урала в одной из строк стоит этот же параметр - URAL_CABIN. Это обозначение для кабины, к какой машине она принадлежит)                 
             NodeScale = "1 1 1" (никто с этим пока не экспериментировал, соответственно, никто об этом параметре ничего не знает.)                 
             Mass = "100.0" (вес кабины)                 
             Durability = "130" (Это обозначение брони кабины)                 
             DurCoeffsForDamageTypes = "12 8 0" (Это коэффиценты попаданий из разного оружия, !почти! тоже самое что и durability)                 
             MaxPower = "600" (Максимальное значение Силы. Но силы чего? Может удара, я сам этот параметр не меняю)                 
             MaxTorque = "330" (Максимальная мощность движка кабины)                 
             MaxSpeed = "110.0" (максимальная скорость)                 
             BlowEffect = "ET_PS_VEH_PART_BLOW_BIG_CAB"                 
             Price = "85000" (Цена)                 
             RepairCoef = "0.5" (Коэффицент стоимости починки кабины)                 
             FuelConsumption = "0.5" (Коэффицент поглощения топлива)                 
             LoadPoints = "LP_SML01" (Лоадпоинты для слотов оружия. Лучше не трогать)                 
             EngineHighSound = (Звук, используемый для данной кабины)                 
             <GadgetDescription>                 
             <Slot                 
             ResourceType = "GADGET_COMMON" (слоты для гаджетов улучшающиъ авто)                 
             MaxAmount = "3" /> (кол-во слотов до 5)
             <Slot                 
             ResourceType = "GADGET_WEAPON" (слоты для гаджетов улучшающих оружие)                 
             MaxAmount = "1" /> (кол-во слотов до 5)                 
             </GadgetDescription>                 
             <GroupsHealth                 
             Main = "0"                 
             Breakable1 = "1"                 
             Breakable2 = "1.5"                 
             Breakable3 = "1"                 
             Breakable4 = "2"                 
             Breakable5 = "0.3"                 
             Breakable6 = "1.5"                 
             Breakable7 = "1"                 
             Breakable8 = "0.5"                 
             Breakable9 = "1"                 
             />                 
            </Prototype>

===============================================================================================

Модификация характеристик оружия (урок от Bloddex):
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
                  <Prototype
             Class   = "BulletLauncher" – Это класс оружия, т.е. пулемет или плазмомет например;
             Name   = "rapier01" – это название оружия. Можно поставить любое, чтобы в конце были 2 цифры – 01 или 02 например;
             ModelFile  = "rapier01" – это название файла с моделью;
             ResourceType    = "BIG_GUN" – тип оружия – большое, маленькое, специальное и т.д;
             NodeScale  = "1 1 1" – ???;
             Mass   = "1.0" – соответственно масса оружия;
             BulletPrototype    = "raybullet" – тип пули (Ракета, пуля и  т.д.);
             ExplosionType    = "CANNON" – тип взрыва снаряда(ракета, пуля и т.д.);
             FiringEffect    = "none" – ???;
             Damage  = "160" – повреждение;
             FiringRate  = "40" – скорострельность;
             GroupingAngle    = "0.6" – точность(от 0,1 до 1 и не только);
             FiringRange  = "1200" – дальность выстрела;
             RecoilForce  = "50" – сила отдачи;
             DamageType    = "BLAST" – тип повреждения(взрыв, проникающее и т.д.);
             Decal    = "DC_GUN" – Тип следов дырок на авто от выстрела;
             ChargeSize     = "1" – кол-во снарядов в обойме;
             RechargingTime = "3" – время перезарядки;
             Durability  = "700" – прочность;
             BlastWavePrototype      = "smallBlastWave" – тип взрывной волны;
             Price   = "16400" – цена;
             FiringType  = "Cannon" – тип выстрела
/>

*На заметку: У каждого класса оружия есть свои дополнительные параметры, например у дробовиков имеется параметр NumBulletsInShot =”15”, это количество пуль в одном выстреле. Т.е. этои есть сама дробь.

===============================================================================================

Чтобы добавить в продажу кабину/кузов
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
      PosX="0"                 
PosY="0"                 
Flags="16"                 
Prototype="additional_fuel_tank" />

===============================================================================================

Прописывайте это в dynamicscene, что находится в maps/r1m1 (для первой карты). Вместо additional_fuel_tank вводите название своего прототипа

Как добавить оружие в продажу(говорим спасибо kosty-x17)
Нас интересуют файлы towns и dynamicscene.
Рассмотрим на примере добавления оружия в Южный. Нужно сначала найти прототип города, т.е. TownSouth:
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
                      <Prototype
                 Class  = "Town" - здесь нписано, город это или деревня (Town или Village)
                 Name  = "TownSouth" - имя города(деревни)
                 ModelFile    = "minin" - модель города(деревни)
                 NodeScale    = "1 1 1" - ???

                 MusicName  = "trade_town1" - мелодия, которая играет при въезде в город(деревню)
                 GateModelFile  = "big_gate01" - ???

                 NumCollisionLayersBelowVehicle = "1" - ???

                 IsIntersecting  = "true" - ???
                 LookRadius  = "200" - радиус чего-то, наверно радиус видимости машины, которая появляется для защты или задания
                 IntersectionRadius    = "50" - ???

                 Vehicles  = "Bug" - машинка города (деревни)

                 GunGenerator  = "gunTownSouthGenerator" - и вот оно: здесь написано имя прототипа с оружиями               
                 DesiredGunsInWorkshop    = "15" - сколько оружий высвечивается в магазине

                 GunAffixGenerator    = "townaffixGenerator" - имя прототипа с гаджетами
                 GunAffixesCount  = "1" - кол-во гаджетов в магазине

                 CabinsAndBasketsAffixGenerator    = "towntruxaffixGenerator" - ???
                 CabinsAndBasketsAffixesCount    = "3" - ???

                 WeaponPriceMultiplier = "1.2" - ???
                 WeaponPriceDispersion = "15"> - ???
                    
                 <Article
                  Prototype    = "potato"                  
                  Amount      = "0"
                  ExternalPriceCoefficient  = "1.45"
                  Import       = "TRUE"
                  Export       = "FALSE"                  
                  PriceDynamic     = "1"
                  MinCount    = "0"
                  MaxCount    = "60"
                  RegenerationPeriod   = "300"               
                 />

                 <Article
                  Prototype    = "firewood"                  
                  Amount      = "6"
                  ExternalPriceCoefficient  = "0.9"
                  PriceDynamic     = "1"
                  Import       = "FALSE"
                  Export       = "TRUE"
                  MinCount    = "0"
                  MaxCount    = "14"
                  RegenerationPeriod   = "300"
                 /> - это импорт и экспорт товара

                    

<!--        <ResourceCoeff Coeff="1.5" Dispersion="20.0" Resource="GUN" />
                      <ResourceCoeff Coeff="1.0" Dispersion="10.0" Resource="CABIN" /> - ????????
-->                
                </Prototype>

===============================================================================================

Далее в этом же файле ищем прототип с оружием нужного вам города:
Спойлер
===============================================================================================
             
Код: Ctrl+A, Ctrl+C
         <Prototype
                 Class="RepositoryObjectsGenerator"
                 Name="gunTownSouthGenerator">

                 < Ob ject  PrototypeName="hornet01" />
                 <Object PrototypeName="hornetamerican01" />
                 <Object PrototypeName="specter01" />
                 <Object PrototypeName="pkt01" />
                 <Object PrototypeName="vector01" />
                 <Object PrototypeName="minePusher"/>

                </Prototype>               

===============================================================================================

Как добавить автомобиль в продажу (благодарим kosty-x17)
Вам нужен dynamicscene.xml Вот пример:
Спойлер
===============================================================================================
Код: Ctrl+A, Ctrl+C
                  <Item
            PosX="4"
            PosY="0"
            Flags="16"
            Prototype="Ural ForSale"
            P   os ="0.00 0 111.522 0.000">
            <Parts>
            <BASKET
            present="1"
            Flags="16"
            Prototype=" uralC argo0 1_01"  />

            <CABIN
            present="1"
            Flags="16"
            Prototype="uralCab01_01" />

            <CHASSIS
            present="1"
            Flags="16"
            Prototype="uralChassis" />
            </Parts>

            <Repository />
            </Item>

===============================================================================================

Изменение спавна врагов.
Спойлер
Код: Ctrl+A, Ctrl+C
      gamedata/gameobjects/infection.xml

Настройка подвески
Спойлер
===============================================================================================
Высота подвески - в файле vehicles.xml выбрать редактируемую машину и прописать
Код: Ctrl+A, Ctrl+C
      AdditionalWheelsHover = "0.XX"

Жесткость подвески - все там же, параметр
Код: Ctrl+A, Ctrl+C
      PressingForce  = "х.х"

Важно! Зависимость обратно пропорциональная! Чем больше число тем мягче подвеска
===============================================================================================


SDK
Уроки по созданию и редактированию карт
Туториал по написанию квестов- не существует. kto обещал 2 года назад написать его (вернее примитивные примеры, вроде тех, что выдаются в баре), но дальше разговоров не пошло.

Если вы хотите заняться 3D моделлингом:
Скачайте Maya 7.0
Воспользуйтесь конвертором
Имеется неподтвержденная информация, что успех конвертирования модели зависит от типа рендеринга.

Мнение ScorpyX'a о конвертации моделей
Спойлер
===============================================================================================

Цитата:

успех конвертирования новой модели зависит от прямых рук.. то есть я хотел сказать
зависит от правильного моделирования
если модель будет аккуратной без ужасных извращений
то ее легко можно запихнуть в игру
особенно статические объекты вроде домика или столба
они практически в любом случае залезут в игру

пробуйте - удачи :]

ps. моделировать можно в любой программе которая может экспортировать модель в формат *.OBJ
например бесплатная программа блендер - или 3д макс - или еще что то более любимое для вас -
по вопросам моделирования обращайтесь ко мне в личные сообщения или
mail - scorpyx@mail.ru
icq - 333879808
skype - scorpyxninja
(когда будете стучаться - скажите что насчет экс махины)


===============================================================================================



Еще вопросы? :)

Аватара
Тема будет постоянно чиститься, а вся полезная информация будет выноситься в первый пост

Аватара
Текстовый файл.txt
Рассмотрены 3 файла: infection.xml; vehicles.xml; wares.xml

Добавлено (11.03.11, 14:10)
---------------------------------------------
Текстовый файл.txt
Рассмотрены 3 файла: affixes.xml; globalproperties.xml; vehicleparttypes.xml
Аватара
Я понял, что значит Decal, это похоже след от выстрела:
жжёная дырочка от лазера,
зияющая дыра от ракетницы,
или решето после пулемёта,
или одним махом десять дыр от дробовика.

Играю в WoT.
Аватара
Оффтоп:

cruiser43 писал(а):

десять дыр от дробовика.


вилка - два удара - восемь дырок

а по теме:
насчет ХМЛей понятно, там хранятся параметры объектов игры, открывать блокнотом, для начинающего модера в них только править параметры машн и оружия
декали - да, именно так, это различные эффекты на текстуре машины, там по-моему не только дырки от выстрелов
Аватара
мтам различные повреждения от пушек, ракетниц, плазмомётов, лазерных установок,дробовиков, пулемётов.

Играю в WoT.
Аватара
А где можно прописать цену на патроны для оружия?
Аватара
Так давай разберёмся:
1.Ты хочешь изменить цены патронов для стандартного оружия (т.е. которые были изначально: ракетницы, зевс, марс)?
2.Установил мод ограничивающий патроны и хочешь изменить их цену?
3.Хочешь самостоятельно сделать такой мод?

Оффтоп:
Ммм... Жнецы на аве, тематично, т. к. я только что прошёл Mass Effect 2


Добавлено (19.04.11, 21:10)
---------------------------------------------
Так, я понял, что такое LP SHELL, это место откуда гильзы вылетают (если это уже всем известо удалите)

Играю в WoT.
Аватара
второй пункт, а если быть точным, то кто мод с надстройкой ammominimod

Оффтоп:
Да, сам от ME фанатею))
Аватара
это правильная тема форума :]

Аватара
ПРосьба перепроверить способ, указанный здесь для добавления машины в продажу конкретного города. сегодня попробовал прописать Клопа, не вышло. даже банальный урал и крейсер. скорее всего, надо прописывать где-то еще.
Аватара
LEXXX, играбельные машины значатся как UralForSale, BugForSale, MolokovozForSale, BelazForSale и MirotvorecForSale. Разные вариации машин вроде Ural01/Ural02 и сделаны для генерации врагов в инфекционных зонах, но так же играбельны, не знаю, зачем я это написал, но вдруг пригодится. Проверяй синтаксис, вдруг где-то ошибся. Напомню, что прописывать надо в dynamicscene.xml в нужных тебе городах (например в папке r1m1 ищешь dynamicscene.xml, открываешь, ищешь TownSouth, ищешь BugForSale и меняешь его на нужный прототип, строки, начинающиеся с <parts> и заканчивающиеся </parts> желательно убрать, дабы у тебя не получился Вен с парентпрототипом миротворца). Также необходимо, чтобы был создан прототип машины в vehicles.xml (все прототипы начинаются после параметров парентпрототипа Миротворца), где настраивается кабина, кузов, оружие и задается нужное имя, например SuperDimensionalFortressMacross и т.п. Имя может быть любым, главное, чтобы было написано на латинице.
Аватара
Не понимаю, зачем прописывать прототип машины(к примеру "Муравей" (Sml3) если в vehicles.xml он уже есть.
В том то и дело, прописываешь в магазин играбельные машины-работает, даже стандартной заменой имени машины (было BugForSale - стало, UralForSale, и норм) а вот с неиграбельными проблемы...
Аватара

"Buba" писал(а):

Еще вопросы?


Да. Почему я не могу отредактировать первое сообщение? У меня есть уточнения.



BRB the day that never comes.
Аватара

"Plymouth" писал(а):

Да. Почему я не могу отредактировать первое сообщение? У меня есть уточнения.


Есть уточнения?
Пиши в теме, модераторы перенесут.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Точно, это же не "статьи". Протупил.
Например, "Изменение спавна врагов. Смотрите папку gamedata/infection".
Код: Ctrl+A, Ctrl+C
      gamedata/gameobjects/infection.xml



BRB the day that never comes.
Аватара
Plymouth, именно gamedata/gameobjects, а не просто gamedata.
LEXXX, скинь куда-нибудь то, что ты прописываешь. Полностью весь измененный отрывок, попробуем разобраться в чем дело.
Аватара
Скажите возможно ли модифицировать игру да такой степени чтоб в ней появилась прокачка?
Тоесть за убийство вражеских машин бы опыт за накопленый опыт бы довали уровни либо просто какието звания и навыки, немного улучшающие какие-то характеристики.
Либо как в меридиане (сюжетные перки) создать улучшенную систему наград за определённые действия персонажа
к примеру убил 100 машин получил бронзовую медаль воителя и улучшения урона на 5% убил 1000 машин получил серебряную медаль и 10% к урону 5000 убил получил золото и 15% к урону (если есть возможность создания таких наград их можно придумать кучу и получится практически полноценное рпг на колёсах)

И ещё возможно ли создать некое подобие гаража? чтоб можно было иметь одновременно не одну машину а несколько, и при необходимости менять их, также за одно хранить в этом гараже оружие модификаторы и прочее
Аватара
RedAngel,
1) Нет - движком это не запланировано;
2) Тоже нет - по той же причине.



BRB the day that never comes.
Аватара
В меридиане же кажется есть подобная система? сделать её более расширенной больше наград и бонусов за них сделать разве не получится?
Сообщений: 419 • Страница 1 из 21 123456789 ... 21