Supreme Commander 2

Supreme Commander 2

Not enough ratings
[RU] Создание самопальных карт
By kolzar and 1 collaborators
Про создание карт, о том что можно, как поменять массу, и прочие ужасы
   
Award
Favorite
Favorited
Unfavorite
1) Начало
Несмотря на свой универсальный и поддающийся модификации движок, Supreme Commander 2 не будет поддерживать карты, созданные рядовыми игроками. Крис Тейлор вкратце объяснил, что все уровни в игре делались отрядом профессиональных дизайнеров и программистов с применением специального инструментария, который обычным смертным недоступен. Поэтому уж лучше без всяких самодельных карт, чем с ними.

Я СЕРЪЁЗНО, БЕГИТЕ ОТСЮДА ГЛУПЦЫ! ДОРОГИ НАЗАД НЕ БУДЕТ!
1.0) Предисловие
Для начала нужно включить музыку, так как процесс обещает быть увлекательным, включайте то, что больше подходит вам под слово "Творчесть", но я бы посоветовал включить это https://youtu.be/DkZEzbRFRo4

Originally posted by maksing:
Отвечу я сразу на один вопрос - "можно ли редактировать рельеф карты?"
Да - можно, но инструментов нет и это не объяснить простым языком, но если вы все же отважитесь, то позовите меня, я посмотрю на ваши страдания

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

Разделы:
  • 1.1) FAF Map Editor
    1.1.1) Полные названия карт высот;
    1.2) Расставление массы и работа в редакторе;
    1.2.1) Добавление юнитов на карту;
    1.3) Подготовка карты для запуска в SC2;
  • 2.1) Расставление массы при помощи Paint; [ОПЦИОНАЛЬНО]
  • 2.2) Расставление массы при помощи Debug mod; (???)
  • 3.1) Исправление описания карты в менюшках (Задник, миникарта...) и спавнов в меню выбора позиции;
  • 3.2) Ограничение игровой зоны;
  • 3.3) Спавн уничтоженных юнитов для реклейма;
  • 3.4) Массовый спавн нескольких и более юнитов по координате (А не ручное расставление каждого юнита).
1.1) Подготовка и начало
Ну что же, мы достаточно смелы, тогда начинаем.

Для начала нужно скачать: FAF Map Editor[drive.google.com]
*Так же для него понадобиться установленный Supreme Commander: Forged Alliance (пиратка может подойдёт).

Так же нужно скачать готовые .raw файлы[drive.google.com] карты высот для импортирования их в редактор.

Можете открыть и проверить этот файл кстати в фотошопе, и увидеть... карту высот.
Прессеты для импортирования:
1025x1025
1 канал
16 бит
IBM PC


Подкрутите яркость с контрактностью, если ничего не видно, только не сохраняйте.
Установили? Замечательно, запускаем FAF Map Editor. Он попросит указать путь до папки с установленной игрой Supreme Commander: Forged Alliance, так же желательно настроить папки для сохраняемых карт и их бекапов на другой диск.

Cоздаём новую карту:



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

Разделом ниже смотрите выбранную карту, и смотрите на числа после названия карты, это нужный нам для выбора размер.
Originally posted by maksing:
Карте 1025x1025 соответствует 20x20км карта в фаф редакторе(самый распространенный размер карт в SupCom2). Карте 513x513 соответствует 10x10км. Карте 2049x2049 соответствует 40x40км. Размеры карт отражены в название heightmap

Поскольку я выбираю Сетон, то соответственно задаётся длина и ширина карты 20km (1024px), здесь так же ставим в Players - количество игроков. Можете по приколу добавить воду, нажав на галочку рядом с Water.
1.1.1) Карты высот
Всё что ниже зачёркнуто - имеет высоту больше 512, из-за чего редактор нормально с картами высот этих карт не будет работать.

heightmaps campaign — Карты кампании;
heightmap C01 1025 — Кибраны: 1 миссия heightmap C02 1025 — Кибраны: 2 миссия heightmap C03 1025 — Кибраны: 3 миссия heightmap C04 1025 — Кибраны: 4 миссия heightmap C05 1025 — Кибраны: 5 миссия heightmap C06 1025 — Кибраны: 6 миссия heightmap I01 1025 — Иллюминаты: 1 миссия heightmap I02 1025 — Иллюминаты: 2 миссия heightmap I03 1025 — Иллюминаты: 3 миссия heightmap I04 1025 — Иллюминаты: 4 миссия heightmap I05 1025 — Иллюминаты: 5 миссия heightmap I06 1025 — Иллюминаты: 6 миссия heightmap U01 1025 — ОФЗ: 1 миссия heightmap U02 1025 — ОФЗ: 2 миссия heightmap U03 1025 — ОФЗ: 3 миссия heightmap U04 1025 — ОФЗ: 4 миссия heightmap U05 1025 — ОФЗ: 5 миссия heightmap U06 1025 — ОФЗ: 6 миссия
heightmaps dlc — Карты, которые добавляются вместе с DLC;
heightmap desert 2v2 1025 — [4] Etched Desert (2v2) heightmap desert 4v4 2049 — [8] Etched Desert (4v4,FFA) heightmap desolatia 1025 — [2] Desolatia heightmap dome 1025 — [8] Tourney Dome (4v4,FFA) heightmap igneous 1025 — [6] Igneous (3v3) heightmap qai labs 1025 — [2] QAI Labs heightmap rigs 1025 — [4] Rigs (2v2,FFA) heightmap seraphim isles 2v2 1025 — [4] Seraphim Isles (2v2) heightmap seraphim isles 4v4 2049 — [8] Seraphim Isles (4v4) heightmap zeta 1025 — [4] Way Station Zeta (2v2)
heightmaps non-dlc — Карты, которые можно играть в Сражении/Мультиплеера, не учитывая карты DLC.
heightmap 3v1 1025 — [4] Центр управления Коалиции (3 на 1) heightmap arctic 513 — [4] Арктическое пристанище heightmap boloon 1025 — [6] Болонский комплекс (3 на 3) heightmap boras 1025 — [6] Морской испытательный полигон Борас heightmap clarke 1025 — [2] Тренировочная база Кларк heightmap corvana 1025 — [6] Ущелье Корвана (3 на 3) heightmap emerald 1025 — [4] Изумрудный кратер heightmap finns 1025 — [2] Месть Финна heightmap geothermal 1025 — [4] Геотермальная скважина heightmap isis 513 — [4] Поля Изиды (2 на 2) heightmap iskellian2v2 1025 — [4] Искеллийский берег (2 на 2) heightmap iskellian4v4 2049 — [8] Искеллийский берег (4 на 4) heightmap markon 1025 — [2] Марконский мост heightmap mesa 1025 — [4] Пороховое нагорье (2 на 2) heightmap mirror 1025 — [4] Зеркальный остров (2 на 2) heightmap palms 1025 — [6] На ладони heightmap qai prototype 1025 — [4] Прототипное здание КИИ (2 на 2) heightmap seraphin7 1025 — [2] Серафим VII Участок 3.11A heightmap seton 1025 — [8] Тиски Сэтона (4 на 4) heightmap shipyard 1025 — [2] Верьф коалиции heightmap sinorok 1025 — [4] Синорокская оружейная (2 на 2) heightmap spring 513 — [2] Весенняя дуэль heightmap sviva 1025 — [3] Шива Прайм heightmap trealach 1025 — [4] Остров Треаллах heightmap vanhorne 1025 — [6] Ядро Ван-Хорна heightmap weddel 1025 — [8] Острова Уэдделла (2 на 2)

Максинг, как отличить карты с высотой больше 512? Никак
1.2) Редактирование...
Переходим во вкладку Terrain, и нажимаем кнопку Import heightmap.


Нажимаем Ignore, и вот наша карта:


Переходим в раздел Markers, и будем работать только здесь, так как иные разделы бесполезны в рамках SC2.

Слева есть список объектов на карте, здесь так же будут спавны БКЦ, желательно их запомнить в номерации. Перетаскиваем их на нужные вам места спавна, и начинаем добавлять точки массы.

Здесь есть два варианта Mass и Preset:

  • Mass — Точка массы в единственном экземпляре.

  • Preset — квадрат из 4 масс, достаточно малый для расположения по центру фабрики.

Если нужно изменить положние массы/юнита/старта, то нажимаем Левой Кнопкой Мыши по тому, кого мы хотим переместить и зажимаем либо на стрелочки (для перемещения по одной оси), либо по жёлтому квадратику между стрелками, для перемещения по двум осям.


(За расположение по высоте можете не беспокоиться, всё подтянется как нужно)

Так, теперь как мы закончили с расставлением, нажимаем Ctrl+S, либо File -> Save.
1.2.1) Спавн юнитов
Для начала нужно скачать архив с юнитами[drive.google.com];

Заходим в папку SC:FA, которую используем для редактора, далее в gamedata. Переименовываем или делаем бекап (если будете играть в эту часть) файл units.scd. После этого закидываем вместо него скачанный файл.

После чего, переходим во вкладку Units. У нас есть два подраздела: Groups и Units. В первом будем присваивать юниты игрокам, во второй будем их расставлять.

Перед тем как добавлять юнитов, нужно присвоить их нужному игроку (можно так же присвоить и по группе).


После того как выбрали группу, которая будет присвоена игроку, переходим в подраздел Units. Здесь нажимаем на Find unit...


Здесь будет куча юнитов из SC:FA и SC2. Чтобы не перепутать, большинство юнитов (но не все) их SC2 - не имеют иконки. Проще искать через строку поиска выше по ID юнита:


ID юнитов можно узнать здесь:
https://steamcommunity.com/sharedfiles/filedetails/?id=2869516089
Но есть ещё вариант через строку искать. Все юниты по ID имеют свои обозначения, тут я попытаюсь как то объяснить, как это выглядит:
    Первая буква - раздел юнита
  • U - Unit
  • S - Scenario
      Вторая буква - фракция
    • U - ОФЗ
    • I - Иллюминаты
    • C - Кибраны
        Третья буква - тип юнита
      • A - Воздушные
      • B - Строения
      • L - Наземные
      • M - Прочее
      • S - Морские
      • X - Эксперименталки
Небольшое предисловие. Всех юнитов, что вы спавните на карте - присваиваются игроку вне зависимости от фракции. Объясню попроще - Поставив танки фракции Эон, вы хотите чтобы при выборе ОФЗ, танки так же стали фракции ОФЗ - то так оно не работает, и вне зависимости от фракции - танки останутся теми же.

Выбрав желаемого юнита, перетаскиваем его в левую часть вместо белого квадратика.


Теперь можно спавнить юнитов, нажимаем на кнопку Place units. Расставили юнитов? Замечательно, теперь можно сохранять карту, думаю сами сможете разобраться чтобы присвоить другим игрокам юнитов.
1.3) Подготовка карты
Теперь берём крадём любой маппак, и подготавливаем его для своей карты. В папке maps сносим почти все карты, оставляя одну. То же самое проделываем в папке uncompiled/maps.


Теперь открываем uncompiled_lua.scd в папке игры gamedata
И идём по пути: uncompiled_lua.scd/uncompiled/maps и открываем ту карту, которую мы брали за основу.

Воруем эти файлы и закидываем в свой архив, после чего переименовываем под название папки все файлы, оставляя их главную часть, к примеру:
SC2_MP_457_save.lua
SC2_MP_457_scenario.lua
SC2_MP_457_script.lua


Для удобной работы я советую использовать Notepad++[notepad-plus-plus.org]. Заходим в scenario, и прописываем заново пути для файлов, чтобы в итоге получилось:
(строку с map не трогаем!)
map = '/maps/SC2_MP_001/SC2_MP_001.scmap', save = '/maps/SC2_MP_457/SC2_MP_457_save.lua', script = '/maps/SC2_MP_457/SC2_MP_457_script.lua',
Originally posted by kolzar:
Если что-то напортачить с map, то карта будет бесконечно загружаться, пытаясь найти bdf файл, которого нету по этому пути, поэтому вырубать игру придётся через Диспетчер задач.

Можете ещё снести строки с xbox, всё равно они не нужны, и должно получится что-то по типу этого (не забываем обновить файл в архиве):


Заходим в save, и ищем строчку MasterChain = {
Теперь ищем сделанную карту в FAF Map Editor, так же заходим в файл save, и оттуда копируем всё начиная с MasterChain = { - и до конца, и заменяем это в нашей карте, так же выделяя MasterChain = { - до конца, и вставляем, готово, сохраняем. (не забываем обновить файл в архиве)

После чего копируем нашу папку с картой по пути: uncompiled\maps




Теперь наша карта готова, закидываем (название_карты).scd в папку gamedata.

Минус этого в том, что масса немного смещена относительно масс поинта. Это по идее можно починить, но вручную и долго.
1.3.1) Исправление количества игроков
Если вы взяли карту с Сетоном или любую другую, и захотели сделать количество игроков поменьше, то нужно изменить кое какие параметры. Заходим в scenario, и делаем следующее.

Поскольку я сделал карту на 4 игроков (вместо 8), то нужно:
  1. Удалить:
    norushoffsetX_ARMX_5
    norushoffsetY_ARMY_5
    norushoffsetX_ARMX_6
    norushoffsetY_ARMY_6
    norushoffsetX_ARMX_7
    norushoffsetY_ARMY_7
    norushoffsetX_ARMX_8
    norushoffsetY_ARMY_8
  2. Затем в разделе StartPositions = { убрать строки с ARMY_5, ARMY_6, ARMY_7, ARMY_8
  3. И ниже после armies = нужно убрать 'ARMY_5', 'ARMY_6', 'ARMY_7', 'ARMY_8'

После чего должно получиться что-то наподобие этого.


Не забудьте обновить файл и в соседней папке maps / uncompiled/maps.

Вуаля, карта готова, можно запускать (Но есть к чему стремиться, об этом ниже.)
2.1) Маппинг при помощи пэинта
Качаем и устанавливаем Paint net[www.getpaint.net] (Если ещё нету)

Открываем maps.scd и ищем карту основу, и открываем SC2_MP_001.minimap.win.dds. Далее берём кисть, и ставим точку, где будет стоять масса.


Поставили точку? А теперь смотрим в нижней-правой части экрана, где стоит точка - это и есть наша координата.

Заходим в save, и добавляем новую точку массы, присвоив ей следующий номер после последней.

Используйте оригинальную точку массы, а не сделанную через FAF Map Editor, так SC2 отличается по способу подтягиванию массы к земле. (не забываем обновить файл в архиве)


['Mass 60'] = { ['size'] = FLOAT( 6.0 ), ['resource'] = BOOLEAN( true ), ['amount'] = FLOAT( 100.0 ), ['color'] = STRING( 'ff008000' ), ['type'] = STRING( 'Mass' ), ['prop'] = STRING( '' ), ['orientation'] = QUATERNION( 0, 0, 0, 1 ), ['position'] = VECTOR3( 346, 18.632, 627 ), },
Но можете взять и число из оригинальной карты. Берёте среднее число у точки массы, и заменяете его в новой точке массы.


Если масса есть в строках save, но нету на карте, проверьте наличие строки:
['resource'] = BOOLEAN( true ),
2.2) Более точное расположение массы
Для начала нужно, чтобы был включен сам дебаг режим: https://steamcommunity.com/sharedfiles/filedetails/?id=2869516089 Советую включить режим сетки — Ctrl+Alt+O

Включаем отображение координат Ctrl+Alt+N, берём энергию и выбираем место, где будет размещена масса.


Теперь запоминаем координаты, и идём в save, (тот что по пути maps/SC2_MP_карта/). Добавляем новую массу , присваиваем ей новый номер и выставляем координаты как те, что запомнили.


Вот и наша масса:


Учтите, что среднее число - высота, и она уже сама дотягивает до земли, как ей нужно, но если масса проваливается или плохо лежит, то можете использовать координату из оригинальной карты.
uncompiled_lua.scd/uncompiled/maps/SC2_MP_001 к примеру

Originally posted by kolzar:
Сообщение от Maksing!
Когда будете ставить массу, значение SIZE должен стоять 6.0
Если будет стоять 1.0, то на него можно будет ставить здания
3.1) Исправляем картинки и спавны
Задники и прочее:
Заходим в maps.scd, ищем оригинальную карту и нужно оттуда забрать несколько файлов, которые в последствии переименовываем под нашу карту

SC2_MP_457.minimap.win.dds -- карта, где выбираются спавны (Миникарта);
SC2_MP_457_PC_mapshot.dds -- картинка задника в меню выбора карт;
SC2_MP_457_ui_mapimage.dds -- картинка задника после игры. Скорее всего не нужна, и предназначена либо для несуществующего редактора карт (который был у разрабов), либо для XBox 360 версии.

Вуаля, всё работает.


Исправляем название карты:
Идём по пути uncompiled\maps\SC2_MP_(карта), и открываем файл scenario.
Далее в строке name между скобками пишем название карты.


Спавны:
Идём по пути uncompiled\maps\SC2_MP_(карта), и открываем файл scenario. Далее открываем файл SC2_MP_457.minimap.win.dds. Ставим ширину кисти на 175, и начинаем ставить точки.

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


Теперь смотрим по центру их координат, и так же расставляем спавны.

В scenario ищем строку StartPositions = {, далее идут строки ['ARMY_1'] и так далее. Теперь нужно сейчас не перепутать, кто есть где. Игрок 1 должен стоять в позиции 1 и так далее.
Originally posted by kolzar:
Если не знаете, кто где стоит, то создайте лобби с своей картой, закиньте в каждый слот по боту, сделайте скриншот, запустите игру, и сделайте в игре ещё скриншот.

И так смотрите, какой цвет был в каком слоте.

Можно ещё загрузить сохранённую карту в FAF Map Editor, и посмотреть, где находится точка спавна ARMY_1 и так далее.

Ну и по итогу должно выйти что-то наподобие этого:


Ну вот и результат:


Originally posted by kolzar:
Если у вас вместо "названия карты" - Шива Прайм (или т.д.), а спавны те же - проверьте правильно ли написана папка в uncompiled.
К примеру в папке maps у меня карта прописана SC2_MP_457;
а в папке uncompiled\maps SC2_457.
Мелочь, а сломала карту и мне разум.
3.2) Ограничение игровой зоны
Заходим в maps, и открываем с начала save, нужно заменить:
Areas = { },
на
Areas = { ['AREA_01'] = { ['rectangle'] = RECTANGLE( x1, y1, x2, y2), }, },

А теперь про то, как создаётся ограничение, оно создаётся по типу Диагональ, от верхней левой - до нижней правой. Выглядит это примерно так:


Как узнать, где начинается точка 1 и 2? Заходим в Paint Net, открываем SC2_MP_457.minimap.win.dds, и делаем Квадрат/Прямоугольник, и смотрим его точки по координатам - эти точки будут началом и концом ограничения игровой зоны.
И будет это выглядеть к примеру вот так:
['rectangle'] = RECTANGLE( 200.000, 200.000, 800.000, 800.000 ),
Сохраняем. (не забываем обновить файл в архиве)


Заходим в файл script, и заменяем:
import('/lua/sim/SimCamera.lua').SimCamera('WorldCamera'):UpdateDefaults(camData)
на
import('/lua/sim/SimCamera.lua').SimCamera('WorldCamera'):UpdateDefaults(camData) import('/lua/sim/ScenarioFramework.lua').SetPlayableArea('AREA_01')

Теперь ищем строку MaxZoomMult, и после = будет число. Это число отвечает за то, как далеко карта может отдаляться, и после настройки ограничения игровой зоны, хорошо было бы настроить и как далеко карта может отдаляться (Это сделано для того, чтобы под интерфейсом не искать место, куда можно поставить ещё какую-либо постройку).

После того как всё сделали - сохраняем, и можно тестировать. (не забываем обновить файл в архиве)
3.3) Спавн уничтоженных юнитов
Для спавна юнитов для реклейма, их нужно привязать к определённому игроку, и добавить это как подгруппу в Units. Идти она может после INITIAL, но не суть.
Добавляем новую группу WRECKAGE:
['WRECKAGE'] = GROUP {
orders = '',
platoon = '',
Units = {
},
},

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

['Reclaimm'] = {
type = 'UUL0001',
orders = '',
platoon = '',
Position = { 521, 57, 296 },
Orientation = { 0, 0, 0 },
},

И так можно добавлять сколько угодно, ну а что если я хочу сделать массовый спавн реклейма? Тогда добавляем ещё строчку:

['Reclaimm2'] = GROUP {
orders = '',
platoon = '',
Units = wreckage1,
},

Из-за чего получается:
['WRECKAGE'] = GROUP {
orders = '',
platoon = '',
Units = {
['Reclaimm'] = {
type = 'UUL0001',
orders = '',
platoon = '',
Position = { 521, 57, 296 },
Orientation = { 0, 0, 0 },
},
['Reclaimm2'] = GROUP {
orders = '',
platoon = '',
Units = wreckage1,
},
},
},

На вопрос что такое массовый спавн юнитов, и как он делается, об этом разделом ниже...
3.4) Массовый спавн (А не ручное выставление каждого юнита)
Для выставления юнитов в ряд, нужно сделать две вещи:
1) Сделать ряд юнитов;
2) Заспавнить юнита.

Начнём с конца, добавьте в группу INITIAL (либо WRECKAGE, в зависимости от ваших целей) подгруппу:
['GroupName'] = GROUP {
orders = '',
platoon = '',
Units = NAMENAME,
},

Готово, теперь идём в самое начало, и перед Scenario = { добавляем ряд:

NAMENAME= {}
for x=1, 25, 5 do
for y=1, 25, 5 do
table.insert(NAMENAME, {
type = 'UUL0002',
['Position'] = VECTOR3( 500 + y, 100, 800+ x ),
['Orientation'] = VECTOR3( 0, 0, 0 ),
})
end
end

Выглядит страшно, однако оно достаточно простое, давайте его разберём.

1) Вместо NAMENAME можете, и даже нужно поставить своё название.
2) Position, здесь задаём нулевую точку спавна юнитов на карте, выглядит это примерно так (Сделано для дебилов, типо меня.)



Как можно увидеть, то юниты спавнятся относительно нулевой точки - вправо-вниз.
(Можете попытаться спавнить в минус, у меня не получилось.)

Поэтому вместо 500, 100, 800 - ставите свои координаты, и теперь самоё весёлое.

3)Здесь нас волнуют числа 25 и 5.
25 - это число, на протяжении которого будут спавниться юниты.
5 - через сколько по координатам спавнить юнита (К примеру каждые 5 единиц - спавнить юнита.)

По итогу через каждые 5 единиц на протяжении 25 единиц - будет заспавлено 5 юнитов.

Originally posted by kolzar:
Кое как попытался объяснить, как это работает, надеюсь получилось...
4) Приколы и 'исправления'
Q: После загрузки на карту - нету БКЦ, юнитов и т.д.
A: в файле save (что в папке maps\карта) было написано чего-то лишнего. Откатывайте изменения назад или используйте бэкап.

Вот пример сделанной карты по скринам, веселитесь (Можете добавлять в мап пак, всё равно карта гoвнo)
https://drive.google.com/file/d/1VUoEeevj-ptSpSXVYXdS-L5oAlT47NkJ/view?usp=sharing

Q: Не спавнит больше x игроков
A: Это связано с тем, что новых игроков вы прописали, а добавить на саму карту - забыли. Летите в файле _save.lua почти до конца, и к примеру находите:

--[[ ]]--
--[[ Army ]]--
--[[ ]]--
['ARMY_4'] =
{
personality = '',
plans = '/lua/ai/OpAI/DefaultBlankPlanlist.lua',
['color'] = FLOAT( 1.0 ),
faction = 0,
Economy = {
mass = 0,
energy = 0,
},
Alliances = {
},
['Units'] = GROUP {
Units = {
},
},
},

Для нового игрока, нужно Ctrl+C Ctrl+V, только изменив ещё с ARMY_4 на ARMY_5 и так далее.
5) Идеи?
И так, у вас есть знания о том, как делать на основе уже существующих - новые карты, а что дальше? А дальше идёт фантазия и то, как вы её реализуете, вот пару примеру "режимов", которые можно сделать, да и я пару придумал:

MassReclaim: Это вид карт, на которой отсутствует какая-либо масса, только строения в центре для реклейма, собственно в этом весь режим. Требует знаний в блуепринте и отбирает один слот для бота.

На данный момент есть только одна карта.

FastReclaim: Тот же вид карт что и выше, за исключением того, что знаний в блупринте особо не нужно, слот для бота по идее можно и не отбирать. Суть его в том, что на карте расположен уже готовый реклеим, который по сравнению с вариантом выше - пропадает через 5 минут, поэтому и назвал FastReclaim, не успел - выживай как сможешь.

На данный момент есть только одна карта.

Royal или Control: Суть в том, что на карте отсутствуют БКЦ, они за картой и скоро друг друга убьют, но на карте есть спасательные шлюпки всех фракции, и вы вольны лететь куда глаза глядят, дабы там уже обустроиться, да тот же казуал, но по своему интересный.

На данный момент есть только одна карта.

Monkeylord: Представляет собой режим 1vs7, где у первого игрока в распоряжении находиться Monkey Lord, и его задача состоит в том, чтобы убить остальных игроков, в то время их задача наоборот - нанести наибольший ущерб и убить его.

На данный момент есть только одна карта.

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

На данный момент есть только одна карта.

DeathMatch: Та же заруба, только в казуале. На старте есть бесконечное количество ресурсов, в общем вот.

На данный момент есть... а хз сколько сделали китайцы, мне лень считать.

Tournament: Турнирные карты, суть в которой в диком балансе и игрой 1vs1, 2vs2, 3vs3.

На данный момент есть несколько карт.

Assault: Карты, вдохновлённые миссиями из Stronghold Crusader. Задача на них одна: Есть один игрок, у него есть база и определённое количество ресурсов. Есть тем временем 1-2 игрока, с готовым количеством юнитов, задача которых проломить защиту и уничтожить вражеского игрока. Баланс сложно будет сделать. При необходимости - должны быть ограничения на карту.

На данный момент нету карт.

King of the Hill: Режим, где на спавне у игроков есть одна масса, а вся остальная масса сосредоточена в центре карты.

Есть ещё Sandbox, но за это режим считать не совсем верно, так как можно взять любую карту с Debug режимом и Бесконечной войной, и твори что хочешь.
Как происходит процесс декомпеляции карты высот.
ЗДЕСЬ НЕЧЕГО СМОТРЕТЬ, ЭТО ВАМ НЕ ПРИДЁТСЯ ПРОХОДИТЬ. ПРОСТО ПРОЙДИТЕ МИМО.

Hex Editor Neohttps://freehe()xeditorneo.com/ (Убираем (), стим любит удалить эту ссылку)
VGMToolBox[sourceforge.net]

Установили? Замечательно, теперь идём в gamedata и открываем maps.scd. Далее выбираем любую карту, на которой мы будем изменять точки массы, я выбираю Сетон.
SC2_MP_001 — Сетон (4v4) SC2_MP_002 — Open Falms (FFA 6) SC2_MP_003 — Месть Финна (1v1) SC2_MP_004 — Дуэль (1v1) SC2_MP_005 — Isis (2v2) SC2_MP_006 — Арктическое (FFA 4) SC2_MP_007 — Emerald Crater (FFA 4) SC2_MP_101 — База Кларк (1v1) SC2_MP_102 — Powderhorn (2v2) SC2_MP_103 — Weddell (2v2) SC2_MP_104 — Boolon (3v3) SC2_MP_105 — Shipyard (1v1) SC2_MP_106 — Command Center (3v1) SC2_MP_201 — Markon (1v1) SC2_MP_202 — Armory (2v2) SC2_MP_203 — Mirror Island (2v2) SC2_MP_204 — Borehole (2b2) SC2_MP_205 — Corvana (3v3) SC2_MP_206 — Van Horne (3v3) SC2_MP_301 — Seraphim (1v1) SC2_MP_302 — Treallach (FFA 4) SC2_MP_303 — QAI (2v2) SC2_MP_304 — Iskellian (4v4) SC2_MP_305 — Boras (6 FFA) SC2_MP_306 — Шива Прайм (3)

Теперь нужно найти карту высот, у ней будет приписка hfield, поэтому беру SC2_MP_001.hfield.win.bdf, и открываю в Hex Editor Neo. Нихрена не понятно, правда? Теперь ищем точку, где не будет кучу нолей, в Сетоне это 40. Запоминаем и закрываем прогу.


Теперь заходим в VGMToolBox, и заходим по пути:
Misc. Tools -> Compression Tools -> zlib Compress/Decompress

Здесь ставим прессет: вместо 0 - поставьте 0x40
Ну а далее переносим наш файл в свободное поле программы. Поздравляю, вы только что декомпрессовали карту высот, время редактировать.


Теперь у нас появился файл SC2_MP_001.hfield.win.zlibx, открываем его в Hex Editor.


Настройки, чтобы не забыть, с каким видом всё это редактируется:
Display as -> Hex
Group by -> Bytes
Columns -> 16

Originally posted by kolzar:
А теперь немного ликбеза от Максинга.
Есть блок с двумя символами - это байт
Интежер - это 4 байта подряд.

Запомнили? Замечательно, а теперь в крайнем лево-верхнем поле вводим 0020101e, здесь начинаются нули. А теперь начиная с этого байта и до конца сносите все нули.


Далее сносим в начале первые 7 интежеров, и сохраняем. Теперь нужно сменить расширение файла с .zlibx на .raw
13 Comments
kolzar  [author] Nov 11, 2024 @ 12:04pm 
А мне откуда знать то? Здесь гайд по SC2 а не FA.
DogsFoxx Nov 11, 2024 @ 11:58am 
А в FA как?
kolzar  [author] Nov 11, 2024 @ 8:43am 
3.3 пункт в гайде читай
DogsFoxx Nov 11, 2024 @ 7:57am 
А как ставить Руины юнитов и построек?
[BDF] maksing  [author] Jun 8, 2023 @ 10:59am 
basically u just need to import heightmap into faf map editor, the heightmaps is already downloaded to google drive
set up mass points in faf map editor
and then follow 1.3 and 1.3.1 which is just setting a paths
map = '/maps/SC2_MP_001/SC2_MP_001.scmap',
save = '/maps/SC2_MP_457/SC2_MP_457_save.lua',
script = '/maps/SC2_MP_457/SC2_MP_457_script.lua',

set up of spawn takes for me less, then 30 mins, but its me who do the map editing for years...

the other stuff which is described in this guide is an advanced level, like placing units, placing multiple units using lua loops, reducing of playable area using in-game function, reclaim spawn and etc...
kolzar  [author] Jun 8, 2023 @ 10:35am 
I dunno
HVKLegend Jun 8, 2023 @ 10:33am 
how long would it take for a beginner to be able to change/add spawn points on maps?
kolzar  [author] Jun 8, 2023 @ 1:13am 
Sry, alphahex still not translated this guide
However, that only start, real pain upcoming soon (early or late)
HVKLegend Jun 7, 2023 @ 4:48pm 
my head hurts
kolzar  [author] Jan 2, 2023 @ 7:33am 
我知道。