1. Подготовка.
Для начала заходим на Сюда и качаем последнюю версию DB2. Качаем по желанию плагины. Качаем конфигурации для редактора.
2. Собственно как делается уровень.
Делается как обычный но вместо обычных монстров\предметов у нас инвасиан точки. Создадим для примера две комнаты по желанию, а между ними проход который будет поднят. Создим первую точку - заходим в список вещей и прокручиваем вниз. Видим секцию Invasion Monster Spawners щелкаем на ней и выбираем Golem Spawner. щелкаем ок и запускаем тест.
На заметку : Как только вы ставите первую точку invasion на карте, то режим invasion врубается автоматом. /// конец заметки
После запуска мы видим что инвасия началась но големы не появились. Для этого в редакторе заходим в свойства Golem spawner и закладка Action и видим тут появилось:
* Start Spawn Number - Начальное количество Actor'ов начальном раунде
* Spawn Delay - время между спауном Actor'ов в сек.
* Round Spawn Delay - Задержка спауна Actor'ов в начале раунда в сек.
* First Appear Wave - С какого раунда начинается появлятся этот Actor'ов
* Max Spawn - спаунит Actor'ов до цифры поставленой сдесь.
Actor- Это либо патроны, оружие, монстр или артифакт
Итак поставим для нашего голема следущее: они появятся в начале первого раунда в количестве 4 штук и ремпаун между ними - 3 сек. Ставим значения так:
* Start Spawn Number - 4
* Spawn Delay - 3.
* Round Spawn Delay - 0
* First Appear Wave - 1
* Max Spawn - 6
На заметку : После нач. раунда монстры будут увеличиватся /// конец заметки
Также поставим арбалет и патроны.
На заметку : Для оружия достаточно значения First Appear Wave. /// конец заметки
Теперь давайте сделаем так, чтобы после первого раунда опустился сектор который пропустит нас во вторую комнату. Открываем окно скриптов (F10) и пишем тут:
Код
#include "zcommon.acs"
script 1 OPEN
{
While(GetInvasionState() != IS_COUNTDOWN || GetInvasionWave() != 1) // этот скрипт означает, что после завершения первого раунда выплняются действия ниже
delay(3);
Floor_LowerByValue(1, 8, 128); // опускается наш сектор
}
Незабываем обозначить наш сектор тагом указанном в скрипте.
Вроде вот так и делаются инвасион уровни. Теперь когда уровень готов остается одна вещь - количество раундов. Если не прописать в специальном лампе cmpgninf, то раунды будут бесконечными) Ниже опишу два способа добавить этот ламп.
Добавляем через Slade
Запускаем Slade, открываем в нем наш уровень (File > Open или Ctrl + O), Затем Archive > New > Entry и вводим cmpgninf. Он появится в конце списка с зеленым цветом, выделяем его. В правом нижнем углу находим кнопку Edit as Text, жмем на нее. Чуть выше пишем в поле:
Код
{
mapname = E1M1 // имя карты указанной при создании уровня, если это E1M1 то пишем тоже самое тут
gamemode = invasion
wavelimit = 2 // Предел раундов на уровне, я поставил 2
}
Затем жмем кнопку Save Changes, а потом сейвим вад
Добавляем через pk3
В папке рядом с вадом создаем текстовый файл, обзываем его cmpgninf.txt , и пишем в нем:
Код
{
mapname = E1M1 // имя карты указанной при создании уровня, если это E1M1 то пишем тоже самое тут
gamemode = invasion
wavelimit = 2 // Предел раундов на уровне, я поставил 2
}
Сохраняем его. Затем выделяем тхт файл и вад и упаковываем его в зип архив. Затем переименовываем *.zip в *.pk3
Вот и все ребята
PS: К сообщению прикрепляю пример уровень
Скрипты примеры
Цитата
script 2 enter
{
delay(80);
SetHudSize(640, 400, 0);
Setfont("bigfont");
Hudmessage(s:"Назнание карты";
HUDMSG_FADEOUT, 0, CR_ORANGE, 320.4, 190.0, 3.5, 1.0);
Setfont("smallfont");
Hudmessage(s:"Made by автор карты";
HUDMSG_FADEOUT, 0, CR_GRAY, 320.4, 205.0, 3.5, 1.0);
3. Спаун своих монстров / оружия и пр.
Если хотите заспаунить своих монстров и пр. то пишите для них в декорейте:
Для монстров:
Код
actor MyMonsterSpot : CustomMonsterInvasionSpot 12345
{
dropitem "MyMonster"
}
MyMonster - ваш монстр.
Для поверапов, патронов, оружия и другие предметы инвентаря:
Код
actor MyInventorySpot : CustomPickupInvasionSpot 12345
{
dropitem "MyInventory"
}
MyInventory - меняем тут.