Просмотр
Материал из DoomDev
Страница «
MAPINFO
»
Перейти к:
навигация
,
поиск
ZDoom поддерживает особый блок MAPINFO, который может быть использован для назначения свойств различным картам в WAD-е. Этот блок состоит из трех типов записей: определений эпизодов, карт и кластеров, обозначаемых соответственно ключевыми словами '''episode''', '''map''' и '''clusterdef'''. Все строки, находящиеся между ними, рассматриваются, как часть определения соответствующего эпизода, карты или кластера. MlU3db <a href="http://xgbazbqfdadi.com/">xgbazbqfdadi</a>, [url=http://xkmeljhsdxqg.com/]xkmeljhsdxqg[/url], [link=http://kjegxopauczk.com/]kjegxopauczk[/link], http://gbxhlwxpqcip.com/ ==Определения карт == Определения карты начинается со слова '''map'''. Используя вместо него слово '''defaultmap''', можно указать стандартные свойства для следующих определений карт (и оставляя пустыми <ламп_карты> и <удобное имя>). ===map <ламп_карты> <удобное имя>=== ===defaultmap=== <ламп_карты> - имя карты внутри WADа, а <удобное имя> - удобное имя карты (показывается на automap). Если <удобное имя> содержит пробелы, то оно должно быть заключено в кавычки ("). <ламп_карты> может быть любым лампом в WAD-е, но так как большинство редакторов уровней воспринимает только карты с именами вида MAP?? или E?M?, то, чтобы не усложнять редактирование подобных уровней, следует по возможности придерживаться такого формата. После строки map (или defaultmap) могут быть указаны следующие свойства: ===levelnum <номер_уровня>=== Определяет идентификационный номер карты, используемый для её идентификации в спецификаторе [[Teleport_NewMap]]. Если имя карты имеет вид MAPxx, то карта автоматически будет иметь номер_уровня xx, если не указан другой номер (например, номер карты MAP23 будет 23, если не назначено что-то другое). ===next <ламп_карты>=== <ламп_карты> – имя карты, на которую происходит переход при использовании обычного выхода с карты (спецификатор [[Exit_Normal]]). На эту карту также происходит переход, при достижении достигнут timelimit или fraglimit в Deathmatch. Это должно быть имя карты в WADе, а не ее удобное имя. ===secretnext <ламп_карты>=== <ламп_карты> – имя карты, на которую происходит переход при использовании секретного выхода с карты. то должно быть имя карты в WAD-е, а не ее удобное имя. В '''next''' и '''secretnext''' также можно использовать специальные имена EndGame?, сообщающие ZDoom, что нужно завершить игру, а не продолжить с другого уровня. Эти имена: EndGameC = Финал Doom II EndGame1 = Показать картинку – итог 1-го эпизода Doom и эпизодов 1 и 5 Heretic EndGame2 = Показать картинку – итог 2-го эпизода Doom EndGameW = Показать картинку - итог 2-го эпизода Heretic EndGame3 = Горизонтальный прокрутчик (справа налево) после 3-его эпизода Doom EndDemon = Вертикальный прокрутчик (снизу вверх) после 3-его эпизода Heretic EndGame4 = Показать картинку – итог 4-го эпизода Doom или Heretic EndGameS = Скрипт окончания игры Strife Обратите внимание: при их использовании не отображается какой-либо текст. Чтобы его отобразить используйте '''exittext''' для кластера, содержащего этот уровень. (См. ниже '''clusterdef'''.) ===cluster <номер>=== <номер> – номер кластера, к которому принадлежит эта карта. Подробности в подразделе «Определения кластеров». ===doublesky=== Указывает, что рисуются обе текстуры неба, причем '''sky1''' находится впереди '''sky2'''. Sky2 будет отображаться сквозь sky1 везде, где у sky1 точки, имеющие цвет 0 ('''не''' голубой). ===sky1 <текстура> <скорость_прокрутки>=== <текстура> – имя текстуры, используемой в качестве неба; <скорость_прокрутки> – скорость, с которой небо двигается влево или вправо (полезно для облаков на ветреных картах). Чтобы предотвратить движение неба, используйте значение 0.0; для движения влево используйте положительное значение, вправо – отрицательное. Означает число шагов, на которое небо двигается за каждый тик. ===sky2 <текстура> <скорость_прокрутки>=== Используется так же, как и sky1, за исключением того, что устанавливает свойства фонового слоя неба (если используется '''doublesky''') или альтернативного отображения неба в выбранных секторах. ===fade <цвет>=== <цвет> – цвет, на который постепенно меняется цвет предмета, по мере удаления или затемнения. Обычно это черный (black), так что предметы становятся тем темнее, чем они дальше. Чтобы имитировать туман (как в Hexen), используйте серый (gray) цвет. Также поддерживаются другие цвета, но они могут выглядеть не очень хорошо. <цвет> может быть или названием цвета (например, red или cyan) или описателем цвета в форме "КК ЗЗ СС" (кавычки обязательны). Например, чтобы установить fade в красный, можно использовать оба следующих варианта: fade red fade “ff 00 00” Чтобы во время игры найти подходящее значение fade, можно использовать команду консоли testfade. ===outsidefog <цвет>=== Это то же, что и fade, но такое изменение цвета по мере удаления объекта применяется только к секторам, у которых потолок является небом, а не ко всем секторам карты. ===titlepatch <патч>=== то имя рисунка, отображаемого на междууровневой заставке для этого уровня (такого как CWILV00). Он должен содержать название уровня. ===partime <рекордное_время>=== <Рекордное_время> – количество секунд рекордного прохождения уровня. ===music <ламп_музыки>=== <Ламп_музыки> – название музыки, проигрываемой во время игры. ===cdtrack <номер дорожки>=== Если музыка должна проигрываться с CD, это свойство указывает номер дорожки. ===cdid <ID диска>=== Если вы знаете ID диска, с которого должна проигрываться музыка, можно использовать это свойства совместно с '''cdtrack''', чтобы проигрывать дорожки только для определенного CD. Однако, узнать ID диска не так просто, если вы не написали соответствующей программы. Если вы планируете использовать CD в качестве источника музыки, рекомендуем рассмотреть другие форматы музыки, поддерживаемые в ZDoom. ===nointermission=== Указывает, что по окончании данного уровня ZDoom должен немедленно переходить на следующий уровень, не показывая междууровневую заставку. ===exitpic <картинка>=== Определяет картинку, которая будет использована в качестве фона экрана "Level finished". Если не указана, будет использована картинка по умолчанию для данной игры. Если имя начинается с символа $, то ламп будет использован в качестве [[Скрипт Intermission|скрипта intermission]]. ===enterpic <картинка>=== Определяет картинку, которая будет использована в качестве фона экрана "Entering level". Если не указана, будет использована картинка по умолчанию для данной игры. Если имя начинается с символа $, то ламп будет использован в качестве [[скрипта intermission]]. ===intermusic <музыка>=== Определяет музыку, проигрываемую на экранах "Level finished" и "Entering level". ===bordertexture <картинка>=== Определяет изображение, используемое для создание рамки вокруг видимой зоны, если у игрока cvar screenblocks меньше 9ти. ===nosoundclipping=== Указывает, что звуки на этом уровне не должны ничем ограничиваться, независимо от того, как далеко находятся их источники. Не могу сказать, что это так уж необходимо, но такое поведение используется в Doom на уровнях E1M8, E2M8, E3M8 и E4M8. ===allowmonstertelefrags=== Указывает, что на этом уровне монстры могут телепортироваться в других монстров или в игрока. Обычно монстры никогда не телепортируются в кого-либо. ===specialaction <монстр>, <спецификатор>, <арг1>, ...=== Назначает действие классу монстров. Если действие производится, когда мертвы все монстры данного типа. Чтобы это работало, монстр должен вызывать [[A_BossDeath]]. В отличие от предопределенных действий, описанных ниже, при помощи этих свойств можно указывать сколько угодно и каких угодно спецификаторов. ===map07special=== Этот уровень нуждается в специальных качествах уровня MAP07 Doom II. В этом случае, после смерти всех манкубусов на этом уровне, полы всех секторов, имеющих tag равный 666, опустятся до уровня пола самого низкого соседнего сектора, а после смерти всех пауков, полы всех секторов, имеющих tag равный 667, поднимутся на высоту их нижней текстуры. ===baronspecial=== После смерти всех баронов ада на данном уровне будет запущено специальное действие. ===cyberdemonspecial=== После смерти всех кибердемонов на данном уровне будет запущено специальное действие. ===spidermastermindspecial=== После смерти всех гигантских пауков на данном уровне будет запущено специальное действие. Три вышеперечисленных свойства должны быть использованы с одним из следующих действий: ====specialaction_exitlevel==== Выход с уровня после смерти всех указанных монстров ====specialaction_opendoor==== Мгновенно открыть все двери с тегом 666 после смерти всех указанных монстров ====specialaction_lowerfloor==== Опускает полы всех секторов с тегом 666 до уровня пола самого низкого соседнего сектора ====specialaction_killmonsters==== Убить всех оставшихся монстров на уровне ===lightning=== Создает грозу на карте ===fadetable=== Включено для совместимости с Hexen. Пожалуйста, не используйте его. Сейчас оно работает как и подразумевалось (указывайте таблицу цветов по умолчанию для использования вместо обычного блока COLORMAP), но вероятно в будущем будет действовать просто, как линия fadeto. ===evenlighting=== Указывает, что освещение должно применяться к стенам равномерно, независимо от их направления. В DOOM для вертикальных, горизонтальных или диагональных стен (если смотреть сверху) используются различные уровни освещения. Хотя это дает большую четкость, в случае вращающегося полиобъекта будет выглядеть плохо, так как его освещение будет меняться по мере вращения. Такое поведение можно запретить, указав это свойство. Эквивалентно vertwallshade 0 horizwallshade 0 ===vertwallshade <число>=== Контролирует насколько сильно уровень освещения вертикальных (север-юг) стен отличиается от уровня сектора. По умолчанию +16. Свойство Evenlighting устанавливает это значение равным 0. ===horizwallshade <число>=== Контролирует насколько сильно уровень освещения горизонтальных (запад-восток) стен отличиается от уровня сектора. По умолчанию -16. Свойство Evenlighting устанавливает это значение равным 0. ===clipmidtextures=== Обычно средние текстуры обрезаются по отдельности в зависимости от значения второго параметра [[Line_SetIdentification]]. Это же свойство применяет глобальную обрезку средних текстур, то есть средние текстуры никогда не будут рисоваться внутри полов или потолков. ===forсenoskystretch=== Если у вас есть рисунок неба, выглядящий прекрасно независимо от того, размножается он или нет, можете использовать это свойство, чтобы запретить растягивание неба на этом уровне, независимо от значения r_stretchsky. ===noautosequences=== По умолчанию последовательность звуков, проигрываемая при движении сектора, определяется спецификатором, используемым для его активации. Если указать это свойство, то независимо от ID звуковой последовательности, вместо нее по умолчанию будет использоваться 0. В любом случае размещение предмета звуковой последовательности (1400-1409) в секторе заставляет использовать звук, назначенный этому предмету. ===strictmonsteractivation=== По умолчанию ZDoom позволяет монстрам активировать часть линий, не помеченных для использования монстрам (медленные двери, лифты и телепорты). Если же указать этот флаг MAPINFO, монстры смогут активировать только линии, у которых либо установлен типа активации "пересечение монстром", либо у которых установлен флаг "монстры могут активировать". Это дает лучший контроль над тем, что могут монстры. Например, поведение по умолчанию не позволяет создать телепорты "не для монстров". Для новых карт рекомендуется использовать этот флаг и пользоваться соответствующими параметрами линий. '''strictmonsteractivation''' включен по умолчанию в Hexen и для карт формата Doom (например, Doom in Doom, но не Doom in Hexen). ===laxmonsteractivation=== Разрешает монстрам активировать линии, для которых не было явно указана возможность активации монстрам. ===missileshootersactivateimpactlines=== Если снаряд активировал линию, то предметом-активатором считается выстрелевший. Это поведение по умолчанию. ===missilesactivateimpactlines=== Если снаряд активировал линию, то предметом-активатором считается сам снаряд. Это изначальное поведение Hexen. ===fallingdamage=== На данном уровне включен ущерб от падения с высоты. Для расчета используется та же формула, что и в Hexen. Этот флаг имеет приоритет над соответствующим параметром меню Gameplay options. ===monsterfallingdamage=== Включает ущерб от падения с высоты для монстров. ===oldfallingdamage=== Включает ущерб от падения с высоты на данном уровне. Для расчета используется старый алгоритм, отличающийся от используемого в Hexen. Тем не менее разница очень мала. При этом алгоритме минимальная скорость падения, при которой жертва получает ущерб, меньше, а минимальная скорость, при которой жертва гибнет, чуть больше. Другое отличие заключается в том, что чтобы убиться падением с высоты в Hexen надо иметь определенную минимальную скорость, а при данном алгоритме можно убиться небольшим ушибом, если уже иметь мало здоровья. ===strifefallingdamage=== Включает ущерб от падения с высоты в стиле Strife на данном уровне. В отличие от предыдущих двух, при этом алгоритме будет наноситься большой ущерб. ===forcefallingdamage=== То же, что '''oldfallingdamage'''. Флаг введен для совместимости со SkullTag. ===nofallingdamage=== Выключает ущерб от падения с высоты. В отличие от '''fallingdamage''', игрок может включить ущерб от падения, используя dmflags. Фактически, указать этот флаг - то же, что не указывать вообще ниодного флага ущерба от падения с высоты. Поэтому этот флаг имеет смысл использовать только для отмены ущерба включенного в определении '''defaultmap'''. ===teamdamage <величина>=== Включает командный урон на данном уровне (в режимах Team Deathmatch и Cooperative). 1 - обычный ущерб, меньшие или большие значения означают соответственно меньший или больший ущерб; 0 - выключает командный урон. CVAR сервера имеет приоритет над этим свойством. ===gravity <величина>=== Устанавливает уровень гравитации. Как и в Quake обычная гравитация - 800. ===aircontrol <величина>=== Указывает насколько свободно игрок может двигаться в воздухе. 1 - не хуже, чем на земле; 0 - игрок не контролирует падение вообще и должен просто ждать пока наконец приземлится. Значение по умолчанию равно 0.00390625, что позволяет достаточно легко запрыгивать на уступы. ===airsupply <величина>=== Указывает время в секундах - насколько долго игрок может находиться под водой, не нанося себе ущерба. 0 - без ограничения. Значение по умолчанию - 10 секунд, поэтому определенно следует сменить это значение при широком использовании подводных зон. ===filterstarts=== Точки старта фильтруются на основе уровне сложности и типа игры. ===allowrespawn=== Если указан этот флаг, после смерти в сингле игрок респавнится без сброса карты и без загрузки последнего автосохранения, то есть как если бы произошел респавн в кооперативе. ===teamplayon=== teamplay true при старте данной карты (может быть переопределено сервером) ===teamplayoff=== teamplay false при старте данной карты (может быть переопределено сервером) ===noinventorybar=== Отключает панель инвентаря ===keepfullinventory=== Обычно количество инвентарных предметом сокращается до единицы каждого при переходе между уровнями вне хаба. Этот флаг отключает такое поведение. ===infiniteflightpowerup=== Powerup полета длится в течение всего уровня, а не заданный промежуток времени. То есть стандартное поведение в Hexen. ===nojump=== Запрещает прыжки на карте. ===allowjump=== Разрешает прыжки на данной карте. Включено по умолчанию. ===nocrouch=== Запрещает приседания. ===allowcrouch=== Разрешает приседания на данной карте. Включено по умолчанию. ===noinfighting=== Запрещает монстрам вообще обижаться друг на друга. ===normalinfighting=== Монстры обижаются друг на друга как обычно при перекрестном огне. Монстры одного типа задетые снарядами друг друга не получают ущерба и не обижаются друг на друга. Это поведение по умолчанию. ===totalinfighting=== Вообще все монстры могут обижаться друг на друга, даже монстры одного типа. ===f1 <изображение>=== Включает пользовательские экраны F1 SkullTag. При нажатии F1, появится указанное изображение. ===checkswitchrange=== {{svn}} Включает проверки достижима ли текстура переключателя. Если указан данный флаг и переключатель слишком далеко под или над игроком, он не будет активирован. ===nocheckswitchrange=== {{svn}} Отключает проверки достижимости текстур переключателей. ===translator <ламп>=== {{svn}} Указывает ламп, показывающий как переводить типы линий и секторов Doom во внутреннее представление Hexen. В качестве примера таких лампов можно использовать папку xlat файла zdoom.pk3. ===compat_<имя> <значение>=== С помощью MAPINFO можно изменять некоторые [[настройки совместимости]]. Значение 1 включает соответствующую настройку совместимости, 0 - выключает. Эти свойства имеют приоритет над глобальными CVAR. ==Определения кластеров== Определение кластера начинается со слова '''clusterdef'''. В ZDoom группы используются, чтобы отображать сообщение при переходах между картами и чтобы объединять различные уровни в хаб. ===clusterdef <кластер>=== <Кластер> – кластер, которую определяет данный '''clusterdef'''. В ZDoom значение 0 имеет внутреннее значение "Нет кластера" и не должно использоваться в MAPINFO. После clusterdef могут использоваться следующие свойства: ===entertext <сообщение>=== <Сообщение> – сообщение, отображаемое, когда игрок только что закончил уровень, входящий в другой кластер, и теперь входит на уровень данного кластера. ===exittext <сообщение>=== <Сообщение> – сообщение, отображаемое, когда игрок только что закончил уровень, входящий в другой кластер, со следующего уровня. Если для кластера следующего уровня определен entertext, то будет отображен именно он, а не это сообщение. ===music <ламп_музыки>=== Устанавливает музыку, проигрываемую при отображении entertext или exittext этой группы. Для Doom I это обычно D_VICTOR, а для Doom II – D_READ_M. ===flat <ламп_плоскости>=== Устанавливает имя плоскости, используемой в качестве фона, при отображении entertext или exittext. ===pic <картинка>=== Устанавливает имя картинки, используемой в качестве фона, при отображении entertext или exittext. ===hub=== Указывает, что этот является хабом. При выходе из концентратора игра запоминает все содержимое уровня, когда его покидает игрок, а при возвращении игрока на этот уровень восстанавливает предыдущее состояние. При переходе в другой кластер, чтобы сэкономить память, игра забывает состояние уровней в этом хабе. Каждый уровень, посещаемый игроком в хабе, использует память (около 20КБ для обычного уровня), поэтому, наверное, хорошей идеей будет не иметь слишком много уровней в одном концентраторе. Но сколько это – «слишком много», точно сказать нельзя. Если вы не используете очень большие уровни, то, вероятно, можете в одном концентраторе хранить 50 уровней, при этом, чтобы запомнить состояние всех уровней, понадобится примерно 1 мегабайт. ==Определения уровней сложности== Определение уровня сложности начинается с ключевого слова skill и имени этого уровня. ===clearskills=== Перед определением уровней сложности нужно удалить существующие при помощи данного ключевого слова. ===ammofactor <число>=== Определяет множитель, используемый при определении сколько патронов берется на данном уровне сложности. Например, если это число равно 2.0, игрок будет получать удвоенное число патронов. ===doubleammofactor <число>=== Указывает сколько патронов получает игрок при включенном [[DMFlag]] Double Ammo. ===damagefactor <число>=== Определяет какой ущерб игрок получает от монстров. Например, если это число равно 0.5, игрок будет получать половинный ущерб на данном уровне сложности, а если это число равно 2.0, игрок будет получать удвоенный урон. ===respawntime <время>=== Определяет время в секундах, которое нужно монстрам, чтобы отреспавниться. ===respawnlimit <число>=== Определяет сколько раз монстр может отреспавниться. ===aggressiveness <число>=== Коэффициент агрессивности монстров. 0 - нормальная, 1 - максимум. ===easybossbrain=== Голова Ромеро(BossEye) выстреливает кубы(BossCube) с пониженной частотой. ===spawnfilter <имя фильтра>=== Устанавливает фильтр уровня сложности, то есть появятся только предметы, удовлетворяющие указанному уровня сложности. Если фильтр "Easy", появятся только легкие предметы; "Normal" - средние, "Hard" - тяжелые. ===acsreturn <значение>=== Значение возвращаемое ACS-функцией [[GameSkill]]. ===key <клавиша>=== Устанавливает клавишу для выбора данного уровня сложности. ===fastmonsters=== Все монстры с +FASTER станут быстрее двигаться и атаковать. ===disablecheats=== Запрещает использовать читы. ===mustconfirm <текст>=== Игрок должен подтвердить, что он хочет играть на данном уровне сложности (как при выборе Nightmare). Если указан текст, то он будет использован вместо стандартного "Are you sure? This skill level isn't even remotely fair". ===autousehealth=== Включает автоматическое использование предметов здоровья Raven. ===name <имя>=== Имя уровня сложности, используемое в меню. ===playerclassname <класс> <имя>=== Имя уровня сложности для указанного класса. ===picname <имя>=== Картинка, используемая в меню. Это свойство и name взаимоисключающие. ===textcolor <цвет>=== Цвет, с котором отобржается имя уровня сложности. ==Примеры== Пример MAPINFO для Doom II - http://www.zdoom.org/files/examples/mapinfo-doom2.txt Пример MAPINFO для Doom I - http://www.zdoom.org/files/examples/mapinfo-doom.txt ===Определения эпизодов=== episode e1m1 name "Knee Deep in the Dead" picname m_epi1 key k ===Определения карт=== map E1M1 lookup HUSTR_E1M1 levelnum 1 titlepatch WILV00 next E1M2 secretnext E1M9 sky1 SKY1 0 cluster 1 par 30 music D_E1M1 map E1M8 lookup HUSTR_E1M8 levelnum 8 titlepatch WILV07 next EndGame1 secretnext E1M9 sky1 SKY1 0 cluster 1 par 30 nointermission nosoundclipping baronspecial specialaction_lowerfloor music D_E1M8 ===Определения кластеров=== clusterdef 1 flat FLOOR4_8 music D_VICTOR exittext lookup E1TEXT ===Определения уровней сложности=== skill nightmare Aggressiveness 1.0 SpawnFilter "Hard" ACSReturn 5 MenuName "Extreme Aggression" skill realnightmare AmmoFactor 2 FastMonsters DisableCheats RespawnTime 12 SpawnFilter "Hard" MenuLump "M_NMARE" MustConfirm skill baby AmmoFactor 2 DamageFactor 0.5 EasyBossBrain SpawnFilter "Easy" PicName "M_JKILL" Key i {{zdoomwikibased}}
Шаблон:Svn
Шаблон:Zdoomwikibased
Возврат к странице
MAPINFO
.
Просмотры
Статья
Обсуждение
Просмотр
История
Личные инструменты
Представиться системе
Навигация
Заглавная страница
Сообщество
Текущие события
Свежие правки
Случайная статья
Справка
Поиск
Инструменты
Ссылки сюда
Связанные правки
Загрузить файл
Спецстраницы