Как создать файл mod

Обновлено: 07.07.2024

Настройте вашу Steam-версию Melvor Idle на использование модов (также называемых скриптами и расширениями) упрощенным способом.

Я хотел создать это руководство, потому что с тех пор, как было создано последнее руководство Steam по использованию скриптов и расширений, был выпущен новый инструмент с открытым исходным кодом, который упрощает весь процесс установки и управления скриптами и расширениями.

Прежде чем продолжить, сделаю заявление об отказе от ответственности для наглядности: Я являюсь автором вышеупомянутого инструмента.

К концу этого руководства вы сможете установить и использовать любой скрипт или расширение, используемое в браузере, в вашей Steam-установке Melvor Idle.

Установить M3 так же просто, как дважды щелкнуть установщик, загруженный выше. Во время установки нет никаких опций, и приложение должно автоматически запускаться после успешной установки.

Примечание. Windows может предупредить вас о том, что приложение из неизвестного / ненадежного источника из-за отсутствия сертификата подписи кода (это дорого). Вы можете либо разрешить, либо, если вам это неудобно, вы всегда можете скомпилировать свой собственный исполняемый файл с исходным кодом, предоставленным в репозитории.

Последним обязательным шагом в процессе установки является установка каталога установки Melvor Idle. После запуска в M3 вы увидите такое окно:

Melvor Idle Настройка Melvor Mod Manager - Руководство по созданию модов - Настройка Melvor Mod Manager (M3) - F2EB42E

Пример пути: C: Program Files (x86) Steam steamapps common Melvor Idle

Интерфейс M3 довольно понятен, поэтому я не буду тратить много времени на подробности того, что доступно. Есть два основных экрана: список модов (моды в навигации) и меню настроек.

Здесь вы выполняете всю установку модов и управление ими. Вы можете добавлять, удалять, отключать / включать и обновлять моды (если они доступны) из этого списка. Вы также можете настроить порядок загрузки мода в редких случаях, когда это необходимо.

Здесь можно выбрать некоторые базовые настройки с пояснениями во всплывающих подсказках к наиболее неоднозначным. Вы можете запретить M3 автоматически проверять наличие обновлений (если таковые имеются) и изменить поведение ЗАПУСК кнопка.

Предполагая, что вы выбрали допустимый установочный каталог Melvor Idle, теперь вы можете начать добавлять моды. Их можно добавить в игру тремя способами:

  • Сквозь Обнаружить tab, тщательно подобранный список, который упрощает установку самых популярных модов.
  • Локальный файл .js (скрипт) или manifest.json (расширение браузера).
  • Веб-URL (в настоящее время поддерживаются только ссылки Greasy Fork)

Melvor Idle Настройка Melvor Mod Manager - Руководство по созданию модов - Добавление модов - CBCEC69

Если вы скачали или написали сценарий для запуска, просто выберите Из файла под Добавить + меню, а затем найдите нужный файл JavaScript (.js).

Как упоминалось выше, в настоящее время поддерживается добавление только URL-адресов Greasy Fork с помощью этого метода. Выбирать Из URL под Добавить + меню, а затем введите или вставьте URL-адрес сценария, который вы хотите добавить.

Оставьте комментарий, если есть какие-либо проблемы, с которыми вы столкнулись при попытке установить или хотели бы добавить их из-за того, что вы прошли более сложный процесс установки самостоятельно.


GTA: The Trilogy — The Definitive Edition работает на движке Unreal Engine, и для хранения игровых файлов в этом движке используются паки (файлы с расширением .pak). Чтобы установить мод для обновленной трилогии, необходимо создать свой .pak файл, в который положить измененные файлы. Но как это сделать?

В данной статье вы узнаете, как распаковать game.pak, в котором лежат все игровые файлы, а также мы расскажем о создании своих .pak файлов.

Как создавать моды для GTA: The Trilogy — The Definitive Edition. Распаковка и создание паков (.pak)

Как распаковать игровые файлы GTA: The Trilogy — The Definitive Edition

Скачайте программу Umodel. Запустите umodel_gta_trilogy.exe.

Как создавать моды для GTA: The Trilogy — The Definitive Edition. Распаковка и создание паков (.pak)

Перед вами откроется структура пака. Щелкните на кнопку «Инструменты» (Tools) и перейдите в «Параметры» (Options).

Как создавать моды для GTA: The Trilogy — The Definitive Edition. Распаковка и создание паков (.pak)

Здесь вы можете настроить параметры извлечения и сохранения извлеченных файлов. Рекомендуем установить параметры, как на скриншоте ниже, это упростит вам работу в будущем. Щелкните ОК.

Как создавать моды для GTA: The Trilogy — The Definitive Edition. Распаковка и создание паков (.pak)

Чтобы что-то извлечь, просто выберите файл в списке и нажмите «Экспорт» (Export). Вам будет предложено указать версию Unreal Engine, выберите 4.26 и нажмите OK. В приведенном ниже примере мы экспортировали файл SM_colt45.uasset, расположенный в Game SanAndreas Weapons. Этот формат можно открыть в Blender и экспортировать в .OBJ.

Как создавать моды для GTA: The Trilogy — The Definitive Edition. Распаковка и создание паков (.pak)

Как создать свой pak файл для GTA: The Trilogy — The Definitive Edition

Вы отредактировали какой-то игровой файл и теперь хотите добавить его в игру. Для этого нужно создать свой pak файл, но как это сделать?

Вам потребуется программа UnrealPak, которую можно скачать с GitHub . После установки программы запустите командную строку и пропишите следующий код:

"D:GamesEpic GamesUE_4.25EngineBinariesWin64UnrealPak.exe" “D:UnpacksExtractedDataTest.pak” -Create= "D:UnpacksExtractedDatadataToPack.txt"

Test.pak - пак, который будет сгенерирован, dataToPack.txt - файл, который будет в него упакован. Путь к UnrealPak.exe и путь, где будет создан новый pak файл вы должны указать сами.

Как создавать моды для GTA: The Trilogy — The Definitive Edition. Распаковка и создание паков (.pak)

Обратите внимание, что внутри вашего пака структура файлов должна совпадать с той, что находится в оригинальном game.pak. в ином случае мод работать не будет! Посмотреть структуру вы можете в распакованном game.pak

Советы по поиску игровых файлов

  • Текстуры из gta3img обычно находятся в SanAndreas Textures gta3 (они разделены по категориям);
  • В верхней части программы есть кнопка с изображением лупы - она ищет файлы только в той папке, в которой вы находитесь (не включает вложенные папки).

Так как используемое нами Forge API использует автоматический сборщик Gradle, то мы должны придерживаться определенной структуры папок.

Создайте папку "src" и остальные в нашей рабочей директории, где мы ранее распаковывали архив MDK. Idea автоматически узнает названия папок и присвоит им нужное значение.

Если вы используете Eclipse, то вам нужно пометить "src/main/java" и "src/main/resources" как "Source Folder" (папка исходников).

Это можно сделать двумя разными способами:

  1. Создать эти папки через ПКМ > New > Source Folder
  2. Выделить уже созданные папки "java" и "resources" и ПКМ > Build Path > Use as Source Folder

"src" в полном варианте пишется source и переводится как "Источники/Исходники".

Весь наш мод будет находится внутри этой папки.

Далее идет "main", внутри которого находятся две папки: "java" и "resources".

  • В "java" хранится исходный код нашего мода
  • В "resources" хранятся все остальные доп. файлы: картинки, звуки, модели и так далее

Создадим в папке "resources/META-INF" файл mods.toml .

Этот файл определяет метаданные нашего мода: идентификатор, название, авторов, зависимости и так далее.

Минимально правильный mods.toml файл должен содержать следующее:

Где modid — идентификатор мода. Не используйте заглавные буквы, пробелы, подчеркивания и т.д. Только английские буквы в нижнем регистре.

Параметр displayName отвечает за красивое название вашего мода. Тут можно использовать все, что угодно. Работать будут и коды форматирования текста.

Параметр Описание Обязательность
modLoader Загрузчик модов. Всегда "javafml" Обязательно
loaderVersion Версия загрузчика. Лучше не трогать Обязательно
[[mods]] Список модов - сколько разрешено здесь, определяется отдельным загрузчиком модов(перевод комментария. Лучше этого не трогать) Обязательно
issueTrackerURL Куда идти людям у которых случился краш. Опционально
modid Идентификатор мода Обязательно
displayName Название мода Обязательно
description Описание мода в 1-2 абзаца Обязательно хоть пустой
version Версия мода Обязательно
displayURL Ссылка на сайт мода Опционально
updateJSONURL Ссылка на JSON файл с данными обновлений мода Опционально
authors Массив имен авторов Опционально
credits Строка с выражением благодарности кому-то Опционально
logoFile Путь к логотипу мода Опционально
[[dependencies.modid]] Одна зависимость далее идут подпараметры: Опционально
modId modid зависимости Обязательно
mandatory Если true то при отсутсвии зависимости игра не загрузится Обязательно
versionRange Диапоон поддерживаемых версий Обязательно
ordering Мремя загрузки относительно зависимости: NONE\BEFORE\AFTER Обязательно
side Сторона зависимости: BOTH\CLIENT bSERVER Опционально

Вот пример умеренно заполненного файла:

Более подробно о настройке этого файла вы можете прочитать в отдельной статье. Рекомендую обязательно выделить время для этого, так как там есть несколько полезных хитростей.

В предыдущем разделе мы заполнили файл mods.toml . Но игра все еще не распознает наш мод, в чем можно убедиться, запустив клиент. Вы не найдете свой мод в списке установленных модов. Для того, чтобы все заработало, нам нужно создать главный файл мода.

В папке "java" создайте базовый пакет вашего мода. Если у вас уже есть домен для вашего мода, то отличным названием для пакета будет что-то вроде ru.ivasik.tutorial . Если домена у вас нет, вполне подойдет использование вашего никнейма, как название пакета верхнего уровня: ivasik.tutorial .

В моем случае пакет будет называться так: ru.ivasik.tutorial .

Теперь создадим в нем файл TestMod.java . Это и будет главным файлом нашего мода.

Для того, чтобы Forge понял, что данный файл действительно является главным, мы должны добавить к определению класса аннотацию @Mod :

Естественно, что передано в аннотацию должно быть тоже что и в mods.toml . В противном случае игра не запустится.

Мы создали базовую структуру любого мода для Minecraft. Выглядит она следующим образом:

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

Описание

Данный гайд получится очень большим, т.к. создание мода это не перевод и тут есть огромная куча моментов, с которыми надо работать.
Начнем с самого сложного, создание модификации с нуля, чтобы начать, надо создать новый файл и дать ему имя, сделать это можно с помощью этой кнопки:

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

После того как создали файл, откройте его как и любой другой мод, в данном случае я создам себе пояс, который будет чисто для "читеров", открываем значение "Items" далее подраздел Armour, нажимаем ПКМ на любом предмете и нажимаем на "New item" и получаем нашу рабочую зону:


Хоть это и наша рабочая зона, вы должны понимать, что за что отвечает, красным я выделил то, с чем можно работать, даже если вы не сильно понимаете, что делаете, зеленым если у вас есть текстуры которые вы хотите добавить или использовать уже имеющиеся:




Однако, есть еще и правая рабочая зона, тут можно размещать цвет, материал из чего оно сделано, дать этой вещи покрытие частей тела или другие настройки (если это не броня или оружие, а например генератор)


После того, как вы узнали то, с чем вы действительно должны работать, мы можем начать создавать то, что мы хотим создать.
Я выдал неоднозначное имя и описание этому предмету, далее я распишу, что за что отвечает, чтобы вам не пришлось переводить не всегда понятное описание от авторов:




Колонка: "Base" - редактируется только имя "Name" - дается всем объектам независимо от чего-либо.

Колонка: " " - редактируется "description" - описание, "dont colorise" - не дает получать цветовые гаммы от принадлежности к какой либо фракции, "hide beard, hair, parts" - скрывает части тела или любые другие части, например шлем, однако у пояса нет возможности скрыть и поэтому мы их отключаем, "slot" - то место, куда игра позволит установить данный объект, "stigma" - дает распоряжение какая часть персонажей предпочитает носить, пример: военные, горожане, торговцы, рабы или же бандиты.

Колонка: "files" - отвечает за текстурную часть этого предмета, "ground mesh" - не трогаем, "has collision" - тоже не трогайте, отвечает за коллизию объекта, "icon" - отвечает за иконку объекта, вы можете задать ей как самостоятельную часть, либо выдать автоиконку, если выдали им "mesh", - mesh отвечает за саму текстуру, её вы либо не трогаете (не будет видна в мире), либо выдаете свою собственную текстуру или уже готовую игровую текстуру, остальное так же не стоит трогать.

Колонка: "inventory" - отвечает за вид, размещение, вес и цену объекта в инвентаре, "auto icon image" - как сказано ранее выставляется в положение True - если выдали им текстуру, "inventory footprint: height; width" - отвечают за занимаемую часть инвентаря - первая отвечает за высоту, вторая за ширину, "value" - отвечает за основную цену данного предмета, а дальше уже идет расчет из игровых настроек на продаваемый и покупаемый объект, "weight kg" - отвечает за вес объекта.

Колонка: "inventory icon" - отвечает за иконку в инвентаре, ширину, увеличение, высоту, поворот, трогайте если хотите изменить автоиконку.

Колонка: "locked" - отвечает заперт ли объект, "hardness" отвечает за сложность запертого замка, "is locked" - заперт ли объект (нужно для клеток, сундуков и т.д.), "lock level" - отвечает за уровень запертого замка.

Колонка: "skill bonus" - отвечает за даруемые бонусы объекта к Атакующим и защитным умениям, в данном случае общее значение 15, "combat attk bonus" - дает бонус к Атаке; "combat def bonus" - дает бонус к Защите; "perseption bonus" - дает бонус к Восприятию; "unarmed bonus" - бонус к Безоружному бою.

Колонка: "skills" - отвечает за "мультиплиер" - множитель умений, в данном случае мы видим общий множитель 2, "asassination"- Убийство; "athletics" - Атлетика; "combat speed" - Скорость боя; "damage output" - увеличивает исходящий от вас урон, было 100 - при множителе 2 - будет 200; "dextrerity" - Ловкость; "dodge" - Уклонение, "fist injury" - повреждение конечностей, чтобы не было получаемого урона, от безоружного боя (что-то типо стальных повязок) надо выставить множитель на 0 (проще говоря, урон который вы получаете при ударе металла и вместе с этим поясом - вы будете получать в 2 раза больше урона по конечностям); "ranged skill" - умения дальнего боя - арбалеты, турели; "stealth" - Скрытность.

Колонка: "stats 0-1" -(выставляется максимум 1, это что-то типо 100% защиты от урона) колонка которая отвечает за базовую защите которую дают другие вещи, защиту от разреза, дробящих ударов и т.д. - "blunt def bonus" - защита от дробящих ударов; "class" - тип объекта, в данном случае это легкий доспех; "cut def bonus" - защита от разреза; "cut into stan" - режущий урон, что может вас пошатнуть, "fabrics amount" - отвечает за кол-во используемого материала для создания данного предмета; "level bonus" - честно говоря, я до сих пор не знаю, что это дает; "material type" - выставляет материал, из которого данную вещь можно будет изготовить (а так же задает основной вид); "pierce def mult" - отвечает за множитель защиты от пробития этой брони (разреза и дробящего урона); "relative price mult" - отвечает за множители у торговцев на данный объект.

Колонка: "texture layers" - пожалуйста не трогайте эту колонку.

Колонка: "weather" - позволяет выдать вашему объекту защиту от погодных явлений, "weather protection amount" - выставляется от 0 до 1, 1 = 100% защите от погоды которую вы выставите, "weather protection0" - выставляется погодный эффект от которого будет защита.

Ну, сделали мы предмет, а что дальше?


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


Я выделил рабочие зоны, одно тут надо менять только имя и "items count" - максимальное количество предметов которое будет добавлено (рандомно на самом деле) и полностью нужная нам рабочая зона - правая, тут мы добавляем предметы которые будут добавлены в лист торговли:


Ну, лист мы создали, пора добавить этот лист уже нужному нам торговцу, чтобы найти нужного вам торговца, в основном меню переходим в "Faction" - "Squads" и там вы уже выбираете кому будете добавлять данный лист, в моем случае я добавляю в бар Хаба, а называние его там пишется как "Bar blackmarket":


Так как я добавляю лист, мне нужно выдать им параметр "vendors" - там будут все листы которые уже имеются, включая созданный мной.


Сохраняем и теперь мы протестим, есть ли этот пояс в игре:


Как видим, пояс есть, текстур и иконки нет, т.к. я ничего не выбирал. Думаю в дальнейшем напишу как создавать персонажей, фракции.
Я думаю, вы из статьи поняли, как модифицировать ваши модификации на предметы (такие же характеристики присутствуют у объектов которые можно построить)


Руководство для тех, кто хочет познакомится с моддингом C&C 3: TW и не знает, с чего начать.

Приготовления:

Сперва вам понадобится следующее:

3D — графика:
Для добавления в игру новых 3D моделей вам потребуется программа «3ds max 7» или «3ds max 9»/«3ds max 9 SP2», т.к. необходимые плагины имеются только для этих редакторов. Плагины находятся в MOD SDK.

Графический редактор:
Для создания и редактирования текстур вполне подойдет Adobe Photoshop CS6. Photoshop способен экспортировать изображение в приемлемый для игры формат — .tga или .dds. Чтобы экспортировать в .dds, для Photoshop’a необходимо скачать соответствующий плагин.

Установка MOD SDK:

Не имеет значения в какую директорию вы установите или разархивируете MOD SDK. Кто-то рекомендует устанавливать в папку с игрой, кто-то в Program Files. Моя папка находится просто на диске C.

Если вы не знаете, как запускать модификации, то читайте здесь.

Первые шаги. Mod.xml:

Поставим перед собой две задачи:

  • Первая — изменить скорость строительства и стоимость казармы Нод;
  • Вторая — увеличить запас здоровья мотоцикла Нод.

Примечание: голубым цветом выделяются оригинальные, не измененные коды, файлы, папки. Зеленый — то, что уже изменено или создано пользователем. Красный — важная информация.

Если вы все правильно установили, то у вас должна быть папка «MOD SDK» с вложенными в нее папками и прочими файлами.

« Art » — в этой папке хранится вся графическая информация мода: 3D модели и текстуры;
« Audio » — как следует из названия, здесь находятся звуки и музыка, которые используются в проектах;
« BuiltMods » — папка, хранящая в себе asset’ы собранного вами проекта, кэш, прочие системные файлы. Кэш вашего проекта помогает собрать мод быстрее, так как часть информации, которая не была отредактирована с момента последней сборки, не обрабатывается, а берётся из кэша;
« CnC3Xml » — исходные коды объектов, задействованных в игре;
« DefaultUIScreens » — коды игрового UI. (User Interface);
« Documentation » — документация;
« INI » — .ini файлы, которые можно задействовать для проектов;
« LUA » — исходные коды скриптов;
« Mods » — каталог, содержащий проекты;
« Schemas » — системные файлы;
« Shaders » — исходники шейдеров;
« Tools » — различные инструменты, например, программа для просмотра .w3x — файлов.

Сейчас нас интересует папка Mods , которая находится в MOD SDK .

Изначально, зайдя в папку Mods , вы увидите папку SampleMod . Это мод, созданный составителями пакета. Не удаляйте его, так как он хранит исходные коды, которые помогут нам.

Создайте свою собственную папку в разделе Mods . Назовем ее, например, «MyFirstMod». Зайдите в MyFirstMod и создайте еще одну папку, которая должна называться «Data».

В папке Data , помимо остальных файлов мода, хранится главный файл — Mod.xml. Его можно взять из папки SampleMod / Data . Скопируйте и вставьте его в папку Data вашего мода.

Mod.xml — главный файл проекта, без него невозможно «собрать» мод. Через Mod.xml добавляются пути к остальным файлам проекта, не переименовывайте его.

Изменение параметров:

В этом пункте мы займемся изменением параметров завода и мотоцикла.

Если вы знакомы с языками программирования, то легко разберетесь, как все работает. Если нет, то в любом случае никто не заставит вас писать код с нуля, папка « CnCXml » предоставляет достаточно исходных ресурсов.

Вернитесь в папку MOD SDK и откройте CnCXml .

В CnCXml ищем папку NOD и заходим в нее. Далее открываем каталог Structures , в котором находится файл « NODHandOfNOD.xml », копируем его в папку нашего проекта к Mod.xml .
В каталоге Units находится файл « NODAttackBike.xml », копируем в папку к Mod.xml .

Все файлы в CnCXml недоступны для редактирования, так как в свойствах файла стоит галочка «Только чтение». Снимите её перед редактированием файла.


Сначала отредактируем файл казармы Нод — NODHandOfNOD.xml . Так как нас интересует время строительства этой постройки и её стоимость, то найдем строчки, которые отвечают за это.

Строка, отвечающая за время строительства:
BuildTime=“5”
Стоимость:
BuildCost=“500”

Заменим эти параметры на:
BuildTime= “10”
BuildCost=“250”

« id » — идентификатор объекта. К идентификатору объекта можно обратится из прочих тегов;
« inheritFrom » — указание id объекта, из которого наследуется информация;
« SelectPortrait » — портрет объекта;
« ButtonImage » — иконка объекта;


Портрет и иконка может использовать одну и ту же картинку.

« BuildCost » — стоимость объекта;
« BuildTime » — время, за которое объект построится в производственной постройке;
« EnergyProduction » — производство энергии. Значение в скобках может быть положительным, отрицательным или равным нулю. Если параметр не добавлен в GameObject, то его значение равно 0. Юнит тоже может иметь EnergyProduction;
« KindOf » — особенности объекта. Например, SELECTABLE позволяет выделить объект с помощью курсора мыши;
« Description » — описание объекта;
« TypeDescription » — описание типа объекта.

Между <DisplayName> </DisplayName> находится идентификатор названия объекта.


Текст для DisplayName, Description и TypeDescription добавляется в Mod.str.

Сохраните измененный файл и откройте NODAttackBike.xml . Заметьте, что некоторые строки NODHandOfNOD.xml и NODAttackBike.xml совпадают. Например, «BuildTime» и «id».

Нам необходимо отредактировать запас здоровья байка, поэтому опускаемся в самый низ файла и ищем такую строчку:
MaxHealth=“800”
Заменим значение 800 на 2000 и получим такую строчку:
MaxHealth=“2000”

Сохраните измененный файл.

Совет: для поиска используйте функцию «Найти» в блокноте или в Notepad++. Для Notepad++ функция «Найти» вызывается сочетанием клавиш Ctrl + F.

Добавление файлов в Mod.xml:

Чтобы измененные файлы были «видны» для сборщика, их нужно объявить в файле Mod.xml . Откройте Mod.xml вашего проекта.

Отредактируйте файл так, как показано ниже:


Все, что находится внутри зелёной зоны — комментарий. Ни комментарий, ни текст внутри не учитывается. Так вы можете оставить заметку или закомментировать ненужную часть кода.

Не удаляйте и не изменяйте эти строчки:


Сборка проекта и запуск:

Зайдите папку MOD SDK и запустите приложение «EALAModStudio.exe». В выпадающем списке выберете MyFirstMod.


Установите галочки напротив всех пунктов, кроме «Clear Built Mod» и «Clear Cache». Далее нажмите кнопку «Build Mod» и дождитесь конца сборки. Build Completed – строчка, подтверждающая, что сборка мода завершена.

Собранный мод находится в документах вашего компьютера в папке C:\Users (Пользователи)\(Имя пользователя)\Documents (Документы)\Command & Conquer 3 Tiberium Wars\Mods

Читайте также: