- •Часть 1: Базовый моддинг
- •Часть 2. Создание карты
- •Часть 3. Редактор.
- •Часть 4. Командные посты
- •Часть 5. Объекты
- •Часть 6: Файл lua
- •Часть 7: Внесение изменений (munging)
- •Часть 2: Продвинутый моддинг
- •Часть 8. Техника
- •Часть 9. Проектирование/барьеры/подсказки (для mswf)
- •Часть 10. Локализация - Localizing
- •Часть 11. Небо - Sky
- •Часть 3: Что дальше
- •Часть 12. Пакетирование - Packaging
- •Часть 13. Как играть с картами, созданными другими людьми
- •Часть 4: Custom Sides – Личные настройки сторон
- •Часть 14. Главная идея
- •Часть 15. Выбор внешнего вида (шкурки)
- •Часть 16. Файлы lua – Настройка
- •Часть 17. Изменение вооружения
- •Часть 5: Юниты (Units Stuff)
- •Часть 18. Добавление местных жителей (Locals) – третья команда (3rd Team)
- •Часть 19. Добавляем Охоту (hunt)
- •Часть 20. Ubermode – Режим эпического сражения
- •Часть 21. Если нужно больше 6 классов
- •Часть 6: Возвращение джедая - The Return of the Jedi
Часть 20. Ubermode – Режим эпического сражения
Вы хотите устроить эпическое сражение на своей карте, вроде как в XL. К счастью, это не трудно!
Зайдите в свой файл lua. Найдите эту часть:
conquest:Start()
EnableSPHeroRules()
End
Сразу после “conquest:Start()”, добавьте “SetUberMode(1);”. Теперь этот раздел должен выглядеть так:
conquest:Start()
SetUberMode(1);
EnableSPHeroRules()
End
Затем перейдите в часть, в которой описывается команда (team):
SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},
},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}
Видите, после кодового имени каждого юнита стоят две цифры? Эти цифры обозначают минимальное и максимальное допустимое число юнитов, которые могут находиться на поле одновременно.
Проведем эксперимент. Измените минимум солдат (soldier) на 30, а максимум на 100, чтобы получилось так:
soldier = { "rep_inf_ep3_rifleman",30, 100},
Повторите эти действия для обоих классов солдат. Для всех остальных классов измените минимум на 3, а максимум на 10. Теперь эта часть должна выглядеть так:
SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",30, 100},
assault = { "rep_inf_ep3_rocketeer",3, 10},
engineer = { "rep_inf_ep3_engineer",3, 10},
sniper = { "rep_inf_ep3_sniper",3, 10},
officer = {"rep_inf_ep3_officer",3, 10},
special = { "rep_inf_ep3_jettrooper",3, 10},
},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_rifleman",30, 100},
assault = { "cis_inf_rocketeer",3, 10},
engineer = { "cis_inf_engineer",3, 10},
sniper = { "cis_inf_sniper",3, 10},
officer = {"cis_inf_officer",3, 10},
special = { "cis_inf_droideka",3, 10},
}
}
Последняя вещь – обратите внимание на эту часть:
team = CIS,
units = 20,
reinforcements = 150,
Строка посередине задает максимальное число юнитов, которые могут находиться на поле одновременно. Установите его на 170 для всех сторон.
Готово! Сохраните изменения и наслаждайтесь разворачивающимся сражением!
В следующей и последней части мы поговорим о добавлении новых классов юнитов.
Часть 21. Если нужно больше 6 классов
Допустим, вы хотите, чтобы было более 6 классов юнитов? Давайте учиться.
Есть два пути: С помощью функции Setup Teams (настройка команд), и с помощью функции AddUnitClass (добавить класс юнита). Мне так и не удалось освоить addunitclass, так что воспользуемся первым способом. Я расскажу, как можно добавлять до 8 юнитов.
Сначала идите по адресу data_MAP/common/scripts. Тут куча разных сценариев (script).
Найдите сценарий под именем “setup_teams”. Откройте его.
Найдите в сценарии такую часть:
local typeList = { "soldier", "pilot", "assault", "sniper", "marine", "engineer", "officer", "special" }
Здесь перечисляются типы юнитов. Здесь не используются 2 типа – пилот (pilot) и морской пехотинец (marine).
Давайте их переименуем. Измените пилота (pilot) на “commander” (командующего). А морского пехотинца (marine) на “stealth” (разведчик). Теперь, на минуту, эти юниты будут такими же, как 2 других юнита, за исключением экипировки (skin). Чтобы изменить это нужно изменить имя основного элемента (помните его?), затем создать свой собственный элемент.
Идите в свой файл lua, найдите часть, в которой задаются параметры загрузки:
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder")
Мы добавим артиллериста - arc trooper (rep_inf_ep2_rocketeer) и снайпера фазы 1 - phase 1 sniper (rep_inf_ep3_sniper). Добавьте их в перечень, предназначенный для считывания программой:
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder",
“rep_inf_ep2_rocketeer”,
“rep_inf_ep2_sniper”)
Теперь переходим к такой части:
SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},
},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
Надеюсь, вы начинаете привыкать.
Давайте добавим парочку новых классов.
В настройках команды республиканцев (Republic Setup Teams) добавьте следующее:
commander = {"rep_inf_ep2_rocketeer",1, 4},
stealth = { "rep_inf_ep2_sniper",1, 4},
Так наши два новых класса будут добавлены в игру!
SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},
commander = {"rep_inf_ep2_rocketeer",1, 4},
stealth = { "rep_inf_ep2_sniper",1, 4},
Единственное – мы не сможем проделать этот фокус с конфедерацией (CIS), так как у них нет больше юнитов. Можно создать своих юнитов, а потом добавить их.
