Предисловие.
В этом гайде, я расскажу об изменении настроек уровня (по аналогии с MAPINFO в ZDoom).
Вы научитесь:
- Менять название уровня
- Задавать skybox, музыку.
- Менять погоду (снег, дождь)
Приступим.
Подготовка.
Создайте карту srb2 и сохраните его (как это сделать, я рассказывал здесь)
Далее, откройте вадник в Slade, и создайте файл MAINCFG

И поместите туда следующий код:
Level 1 //Заголовок уровня, принимает номер уровня который настраиваем (1 = MAP01)
Levelname = Tutorial Level //Имя уровня
Act = 55 //Номер акта (число 1-99)
Music = GFZ1 //Название музыки
TypeOfLevel = Singleplayer,Co-op,Competition,Race //Типы уровня
NextLevel = 2 //Номер следующего уровня (2 = MAP02)
SkyNum = 5 //Номер скайбокса, данная строка отображает изображение SKY5
RecordAttack = true //Включает режим RecordAttack (спидран)
SaveGame = true //Включить сохранение игры, в момент загрузки уровня
SkyboxScale = 64 //Масштаб скайбокса
Weather = PRECIP_STORM //Тип погоды (выбрана гроза)
FlickyList = Cow,Bear,Cat //Какие флики будут вылетать из убитых врагов
Данный код, я кратко разобрал в комментариях, сейчас же разберем его более подробно.
Устанавливаем заголовок уровня.
Первая строка является заголовком уровня и она, обязательно, должна быть вида:
Level номер_уровня
- Номер_уровня — для MAP01, он будет 1, дальше по аналогии.
Далее идут параметры уровня.
Параметры уровня.
Имя уровня и номер акта
Levelname = Tutorial Level //Имя уровня
Act = 55 //Номер акта (число 1-99)

Музыка
Music = GFZ1 //Название музыки
В SRB2 есть правило:
- midi музыка начинается с D_
- Остальная начинается с O_
Данная строка проигрывает музыку с именем O_GFZ1, как видите, префикс O_ здесь опущен.
Чтобы добавить свою музыку, поместите музыку с именем D_mus1 (если это midi) или O_mus1 (в остальных случаях) , в свой wad, и напишите следующую строку в MAINCFG.
Music = MUS1
Для музыки с префиксом O_ рекомендуется ставить формат Ogg, с битрейтом < 128 Кб/с. Для сравнения, почти вся музыка в SRB2, имеет битрейт 64 Кб/с.
Также, можно вообще не писать эту строчку
Music = MUS1
Вместо этого, просто поместить в свой wad, музыку со следующим именем.
D_MAPxxM
где, xx — номер карты. Пример: D_MAP01M
Типы уровня
Здесь задаются режимы игры через запятую
TypeOfLevel = Singleplayer,Co-op,Competition,Race //Типы уровня
Ниже я привел таблицу режимов, взятую с вики.
В столбце Название режима в коде, названия перечисленные через запятую — взаимозаменяемы.
Режим | Название режима в коде |
---|---|
Single Player | Solo , SP , Singleplayer , Single |
Cooperative | Coop , Co-op |
Competition | Competition |
Race | Race |
Match | Match |
Tag | Tag |
Capture the Flag | CTF |
Custom (Написан на Lua) | Custom |
2D mode | 2D |
Mario mode | Mario |
NiGHTS | NiGHTS |
ERZ3 mode | Oldbrak |
Christmas NiGHTS | Xmas , Christmas , Winter |
Подробнее на вики
NextLevel = 2 //Номер следующего уровня (2 = MAP02)
Это я пропущу, т.к. здесь все очевидно
Скайбокс
SkyNum = 5 //Номер скайбокса, данная строка отображает изображение SKY5
В примере выше, загружается текстура SKY5
Подробнее на вики.
Режим спидрана
RecordAttack = true //Включает режим RecordAttack (спидран)
true — значит, что этот режим включен, false — выключен.
Подробнее про него можно прочитать на вики
SaveGame = true //Включить сохранение игры, в момент загрузки уровня
SkyboxScale = 64 //Масштаб скайбокса
Это тоже пропущу.
Погода.
Погода задается атрибутом Weather, в который можно передать:
Отсутствие погоды (проще тогда, вообще не указывать Weather)
Weather = PRECIP_NONE
Гроза (Грохот + Дождь + Свечение)
Weather = PRECIP_STORM

Снегопад
Weather = PRECIP_SNOW

Дождь
Weather = PRECIP_RAIN

Еще есть PRECIP_BLANK, который не знаю что делает.
PRECIP_STORM_NORAIN
— гроза без дождя (просто проигрывается звук грозы время от времени)
PRECIP_STORM_NOSTRIKES
— гроза без вспышек
Флики вылетаемые из врагов
В FlickyList — передается список, фликов через запятую. При убийстве врага, вылетает случайный флик из списка.
FlickyList = Cow,Bear,Cat //Какие флики будут вылетать из убитых врагов

Подробнее на вики.
Также, файл проекта можете скачать с MEGA
Итоговый результат
