Guide to Mapping: различия между версиями
Krendelec (обсуждение | вклад) м (Коррекция съехавшей картинки.) |
м (→Структура комнат: Исправил неправильное название доступа в кабинет АВД.) |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 137: | Строка 137: | ||
− | + | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Таким образом, принимая значение сторон '''Север(N) = 1''', '''Юг(S) = 2''', '''Восток(E) = 4''' и '''Запад(W) = 8''' мы сможем разворачивать в нужном нам направлении абсолютное большинство предметов в игре. Исключением являются объекты с поворотом, как например трубы или стены в шаттлах. Для них требуется больше вариантов сторон, которые мы можем получить прибавляя значения сторон друг к другу. По итогу имеем, что сторона '''Северо-Востока(NE) = 5''', '''Северо-Запада(NW) = 9''', '''Юго-Востока(SE) = 6''' и '''Юго-Запада(SW) = 10'''. | Таким образом, принимая значение сторон '''Север(N) = 1''', '''Юг(S) = 2''', '''Восток(E) = 4''' и '''Запад(W) = 8''' мы сможем разворачивать в нужном нам направлении абсолютное большинство предметов в игре. Исключением являются объекты с поворотом, как например трубы или стены в шаттлах. Для них требуется больше вариантов сторон, которые мы можем получить прибавляя значения сторон друг к другу. По итогу имеем, что сторона '''Северо-Востока(NE) = 5''', '''Северо-Запада(NW) = 9''', '''Юго-Востока(SE) = 6''' и '''Юго-Запада(SW) = 10'''. | ||
Строка 184: | Строка 200: | ||
Узел находится в '''/obj/structure/disposalpipe/junction'''. | Узел находится в '''/obj/structure/disposalpipe/junction'''. | ||
− | Когда будете ставить узел, обратите внимание на то, куда направлена стрелка на узловой трубе. Поставьте трубу и измените переменную узла '''dir''' на север, юг, запад или | + | Когда будете ставить узел, обратите внимание на то, куда направлена стрелка на узловой трубе. Поставьте трубу и измените переменную узла '''dir''' на север, юг, запад или восток в соответствии с вашей потребностью. |
Вот и всё. Если Вы изменяете скрепление в основном потоке, убедитесь, что она направлена в его сторону. Не ставьте два узла, направленных друг на друга - это создаст бесконечный цикл, что ни к чему хорошему не приведёт. | Вот и всё. Если Вы изменяете скрепление в основном потоке, убедитесь, что она направлена в его сторону. Не ставьте два узла, направленных друг на друга - это создаст бесконечный цикл, что ни к чему хорошему не приведёт. | ||
Строка 329: | Строка 345: | ||
access_library = 37 - Библиотека. | access_library = 37 - Библиотека. | ||
− | + | access_internal_affairs = 38 - Кабинет АВД. | |
access_virology = 39 - Вирусология. | access_virology = 39 - Вирусология. |
Текущая версия от 12:53, 20 октября 2024
В разработке… |
Данная статья помечена как неоконченная. Это означает, что статья находится на доработке, поэтому является неверной или неактуальной. Вы можете помочь проекту Onyx и сообществу SS13 в целом — зайдите на наш Портал сообщества. |
Прогонка перед тестами
- Каждый ли тайл пола обладает воздухом, если он на нем необходим?
- Имеет ли зона (area) свой APC?
- Имеет ли зона свою панель воздушной тревоги (Air Alarm)?
- Хорошо ли эта зона освещена?
- Есть ли в этой зоне выключатель для освещения (Light Switch)?
- Хватает ли в зоне интеркомов (Intercom)?
- Достаточно ли камер (security cameras) Вы расставили?
- Подключена ли эта зона к воздухоочистной системе (Scrubbers air loop)?
- Подключена ли эта зона к воздухонагнетательной системе (Vent air loop)?
- Все ли провода (wires) лежат так, как нужно?
- Есть ли в этой зоне панель пожарной тревоги (Fire Alarm) и пожарные перегородки(Firedoors)?
- Весь ли доступ (access) на дверях (Airlocks), кнопках (Pod buttons), и т.д. расставлен именно так, как нужно?
- Все ли предметы разложены правильно? (не лежат под столами, кроватями и другими объектами)
- Подключены ли все мусоропроводы (Disposal units) в этой зоне к общей системе?
- Убедитесь, что на одном тайле не лежат 2 одинаковых куска провода, воздушной (Air or scrubber pipe) или мусорной трубы(Disposal pipe).
- Посмотрите, насколько тяжело будет проникнуть в эту зону и где находятся ее слабые места.
- Проверьте, не слишком ли много в полученной зоне места? Если избыток пространства все же присутствует, уменьшите зону или добавьте больше техтоннелей.
Основные правила Маппинга
Атмосфера
- Каждая зона должна иметь как минимум одну панель воздушной тревоги. (Исключение может быть лишь в том случае, если в комнате газоочистители (scrubbers) и вентиляционные насосы (vent pumps)работают на разных частотах (frequency))
- Каждая КОМНАТА (отделённый стенами кусок пространства) должна иметь как минимум один вентиляционный насос и один газоочиститель, которые подключены к общей системе воздухоснабжения.
- Трубы воздухонагнетательной системы должны быть окрашены в синий цвет.
- Трубы воздухоочистной системы должны быть окрашены в красный цвет.
Энергоснабжение
- Каждая зона, которой необходима энергия, должна иметь ровно один APC.
Атмосферный отсек
Трубы и коллекторы
Атмосферный отсек выпускает коктейль газов в контур подачи воздуха (синие трубы). Станция также снабжена скруббер-петлей, которая фильтрует нежелательные газы и отправляет их обратно в камеры атмосферного отсека по скруббер-петле (красные трубы).
Если Вы размещаете воздушные газовые трубы (синие трубы), используйте объекты в /obj/machinery/atmospherics/pipe/simple/supply/visible или ../hidden в зависимости от того, нужен ли вам нижний или верхний уровень. Для коллекторов используйте объекты в /obj/machinery/atmospherics/pipe/manifold/supply/visible и ../hidden.
Если Вы размещаете трубы с нежелательными газами (красные трубы) используйте объекты в /obj/machinery/atmospherics/pipe/simple/scrubbers/visible или ../hidden в зависимости от того, нужен ли вам нижний или верхний уровень. Для коллекторов используйте объекты в /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible и ../hidden.
Если же Вы размещаете трубы, никак не связанные с системой воздухообеспечения, используйте объекты в /obj/machinery/atmospherics/pipe/simple/general/visible or ../hidden. Для разветвляющихся используйте объекты в /obj/machinery/atmospherics/pipe/manifold/general/visible и ../hidden. Чтобы вручную настроить их, нужно разобраться с параметрами ниже (при условии, что Вы правильно используете категории видимости и скрытости).
color = "" // не изменяйте "" для серых труб или замените на "red" для красных, "blue" для голубых, "cyan" для бирюзовых, "green" для зелёных или "yellow" для жёлтых icon_state = "intact" //Цвет труб поменяется на то, что указано в переменной color в начале раунда независимо от значения этой, но чтобы было удобней маппить, настройте icon_state согласно таблице ниже.
Цвет | Видимость | icon_state (труба) | icon_state (коллектор) |
---|---|---|---|
Серый | Видимый | intact | manifold |
Серый | Скрытый | intact-f | manifold-f |
Красный | Видимый | intact-r | manifold-r |
Красный | Скрытый | intact-r-f | manifold-r-f |
Синий | Видимый | intact-b | manifold-b |
Синий | Скрытый | intact-b-f | manifold-b-f |
Бирюзовый | Видимый | intact-c | manifold-c |
Бирюзовый | Скрытый | intact-c-f | manifold-c-f |
Зелёный | Видимый | intact-g | manifold-g |
Зелёный | Скрытый | intact-g-f | manifold-g-f |
Жёлтый | Видимый | intact-y | manifold-y-f |
Жёлтый | Скрытый | intact-y-f | manifold-y-f |
Воздушная Тревога
В каждой зоне (area) с скрубберами или вентиляционными насосами должна быть ровно одна панель воздушной тревоги. Больше одной используется, если насосы и скрубберы используют отличную от стандартной частоту (1439).
Переменная направления (Dir)
Расчет направления основан на двоичной системе и выглядит следующим образом:
Таким образом, принимая значение сторон Север(N) = 1, Юг(S) = 2, Восток(E) = 4 и Запад(W) = 8 мы сможем разворачивать в нужном нам направлении абсолютное большинство предметов в игре. Исключением являются объекты с поворотом, как например трубы или стены в шаттлах. Для них требуется больше вариантов сторон, которые мы можем получить прибавляя значения сторон друг к другу. По итогу имеем, что сторона Северо-Востока(NE) = 5, Северо-Запада(NW) = 9, Юго-Востока(SE) = 6 и Юго-Запада(SW) = 10.
Газочистители (Воздухообеспечение)
Каждая комната (т.е. огорженный от космоса стенами участок) кроме техтоннелей должна иметь как минимум один газоочиститель (scrubber).
Переменные, которые нужно настроить у него, таковы:
on = 1 scrubbing = 1 scrub_co2 = 1 scrub_toxins = 0 scrub_n2o = 0 volume_rate = 120 panic = 0 frequency = 1439
Так же убедитесь, что id_tag настроено стандартно (null), а скрубберы подключены к сети воздухобеспечения!
Вентиляционные насосы (Воздухообеспечение)
В каждой комнате (огороженное стенами пространство) следует быть как минимум один вентиляционный насос (vent pump).
Переменные, которые нужно настроить у него, таковы:
on = 1 pump_direction = 1 pressure_checks = 1 frequency = 1439
Так же убедитесь, что id_tag настроено стандартно (null), а насосы подключены к сети воздухобеспечения!
Мусоропровод
Грузопроводом (disposals) Вам, скорее всего, придётся воспользоваться как минимум один раз за игру.
Грузопровод работает в циклическом потоке, начинающемся и заканчивающемся в карго (Cargo Office). Грузопровод начинается тут и тут же заканчивается. У этого цикла есть несколько ответвлений: Мусоропровод (Trash), который соединяется с основным грузопроводом и Посылочное ответвление со своей системой сортировки в примыкающих частях. Помните, что добавляя новые ответвления, не стоит смешивать поток мусора и посылок.
Мусоропровод
Мусоропровод может иметь свои ответвления, если они в итоге ведут к основному потоку, присоединяясь через узел (junction), направленный в сторону главного потока (как правило, по часовой стрелке).
Узел находится в /obj/structure/disposalpipe/junction.
Когда будете ставить узел, обратите внимание на то, куда направлена стрелка на узловой трубе. Поставьте трубу и измените переменную узла dir на север, юг, запад или восток в соответствии с вашей потребностью.
Вот и всё. Если Вы изменяете скрепление в основном потоке, убедитесь, что она направлена в его сторону. Не ставьте два узла, направленных друг на друга - это создаст бесконечный цикл, что ни к чему хорошему не приведёт.
Посылочное ответвление
Почтовые ответвления используют сортирующий узел (obj/structure/disposalpipe/sortjunction) для перехода груза из основного потока к точке назначения. К ним не должны быть присоединены мусорки (trash box), что приведёт к доставке посылки вместе с мусором. Сортирующие узлы ставятся на тот же манер, что и обычные. Они должны использоваться только в основном потоке. Их функция - проверять посылку на наличие ярлыков, и если адрес на ярлыке совпадает с таковым у какого-либо офиса, посылка отправляется сортировщиком по указанному адресу. Сортирующие узлы отправляют груз вправо или влево от своего основного потока, переменная dir указывает лишь на стандартное направление (не направление посылки; например, на сортировщике на изображении dir равна 4, т.е. она направлена на восток. К счастью, иконок для трубы предостаточно, так что Вы сможете найти верное направление. В крайнем случае, можно изменить iconstate на "pipe-j1s" или "pipe-j2s" (это сменит направление сортировки) и поменять dir. Как только Вы поставите сортирующий узел, проверьте у него переменную sortType, которую можно определить в code/setup.dm; если же нужно добавить новое значение, придётся изменить и список в этом файле.
var/list/TAGGERLOCATIONS
На время написания этой статьи в этоот список входят:
- Disposals (Грузопровод)
- Cargo Bay (Карго)
- QM Office (Кабинет КМа)
- Engineering (Инженерный отсек)
- CE Office (Кабинет СЕ)
- Atmospherics (Атмосферный отсек)
- Security (Бриг)
- HoS Office (Кабинет ХоСа)
- Medbay (Медотсек)
- CMO Office (Кабинет СМО)
- Chemistry (Химия)
- Research (Исследовательский отдел)
- RD Office (Кабинет РД)
- Robotics (Робототехника)
- HoP Office (Кабинет ХоПа)
- Library (Библиотека)
- Chapel (Церковь)
- Theater (Театр) (НЕ ИСПОЛЬЗУЕТСЯ)
- Bar (Бар)
- Kitchen (Кухня)
- Hydroponics (Гидропоника)
- Janitor (Подсобка уборщика)
- Genetics (Генетика)
Последние шаги
Как только Вы расставите трубы, поставьте грузоприёмник (/obj/machinery/disposal) и трубу, направленную к нему (/obj/structure/disposalpipe/trunk) на той же клетке.
И всё, грузопровод завершён!
Питание
АПЦ (APC)
Каждой комнате нужен по крайней мере один, это обеспечит питанием всю комнату. Каждой комнате с большим количеством оборудования необходим дополнительный АПЦ для разделения напряжение и предотвращения раннего отключения питания.
Проводка
Удостоверьтесь что провода идут от основной сети и соединены с АПЦ в вашей зоне. Если оборудование в вашей зоне требует прямого подключения к энергосети, то проведите провода от энергосети под необходимый аппарат. Провода могут использоваться для создание наэлектризованной решетки (просто проведите провода под решётку), удостоверьтесь что провода соединёны с энергосетью (а то решетки не будут бить людей током при соприкосновении).
Оборудование
Лампочки
Лампочки используют довольно много энергии, так что постарайтесь поставить достаточно, чтобы полностью осветить комнату, но не настолько много, чтобы питание закончилось через десять минут после начала раунда.
Выключатели света
Нужны они для того, чтобы создать мрачную атмосферу в комнате, или чтобы показать, что в комнате никого нет. Они выключают освещение в зоне (area) и связанные с ней траты электричества, но не настольные лампы. Ставьте их на стенах, желательно у дверей.
Консоль запросов
Если какая-то комната требует или производит материалы, поставьте как минимум одну консоль запросов (Request Console) в месте, на котором её будет видно.
Интеркомы
В каждой комнате должно быть как минимум по одному интеркому (intercom). Они должны быть настроены на частоту (frequency) 145.9, Speaker должен быть ON, а Microphone - OFF. Нужен он для того, чтобы радиосвязь была и без наушников. В больших комнатах может потребоваться больше одного.
Камеры наблюдения
В большинстве зон должно быть достаточно камер (security cameras), чтобы можно было разглядеть территорию с одной консоли, но не слишком рядом. В больших комнатах может понадобиться больше одной.
Структура комнат
Доступ
Вот список возможного доступа на двери.
access_security = 1 - Охранный доступ.
access_brig = 2 - Бриг.
access_armory = 3 - Оружейная.
access_forensics_lockers = 4 - Кабинет Детектива.
access_medical = 5 - Медицинский доступ.
access_morgue = 6 - Морг.
access_tox = 7 - Исследование Токсинов.
access_tox_storage = 8 - Склад Токсинов.
access_genetics = 9 - Отдел Генетики.
access_engine = 10 - Инженерный отсек.
access_engine_equip = 11 - Инженерный склад.
access_maint_tunnels = 12 - Техтоннели.
access_external_airlocks = 13 - Шлюзы в космос.
access_emergency_storage = 14 - Аварийный склад.
access_change_ids = 15 - Доступ на изменение ИД-карт.
access_ai_upload = 16 - Загрузка ИИ.
access_teleporter = 17 - Телепорт.
access_eva = 18 - EVA.
access_heads = 19 - Доступ глав.
access_captain = 20 - Кабинет Капитана.
access_all_personal_lockers = 21 - Личный шкафчик.
access_chapel_office = 22 - Церковь.
access_tech_storage = 23 - Техсклад.
access_atmospherics = 24 - Атмосферный отсек.
access_bar = 25 - Бар.
access_janitor = 26 - Коморка уборщика.
access_crematorium = 27 - Крематорий.
access_kitchen = 28 - Кухня.
access_robotics = 29 - Робототехника.
access_rd = 30 - Кабинет РД.
access_cargo = 31 - Карго.
access_construction = 32 - Незаконченный отсек.
access_chemistry = 33 - Химия.
access_cargo_bot = 34 - Каргоботы, MULE.
access_hydroponics = 35 - Гидропоника.
access_manufacturing = 36 - Производство дронов.
access_library = 37 - Библиотека.
access_internal_affairs = 38 - Кабинет АВД.
access_virology = 39 - Вирусология.
access_cmo = 40 - Кабинет СМО.
access_qm = 41 - Кабинет КМа.
access_court = 42 - Зал суда.
access_clown = 43 - Клоун.
access_mime = 44 - Мим.
access_surgery = 45 - Операционная.
access_theatre = 46 - Театр.
access_research = 47 - Исследовательский отдел.
access_mining = 48 - Шахта.
access_mining_office = 49 - не используется.
access_mailsorting = 50 - Почтовая сортировка.
access_mint = 51 - Плавильня.
access_mint_vault = 52 - Склад плавильни.
access_heads_vault = 53 - Склад глав.
access_mining_station = 54 - Шахтёрская станция.
access_xenobiology = 55 - Ксенобиология.
access_ce = 56 - Кабинет СЕ.
access_hop = 57 - Кабинет ХоПа.
access_hos = 58 - Кабинет ХоСа.
access_RC_announce = 59 - Сообщения с консолей запросов.
access_keycard_auth = 60 - Используется для событий, требующих подтверждение двумя картами.
access_tcomsat = 61 - Доступ ко всему оборудованию на телекоме.
access_gateway = 62 - Гейтвей.
access_sec_doors = 63 - Внутренние доступы охраны.
access_psychiatrist = 64 - Офис психотерапевта.
access_xenoarch = 65 - Отдел ксеноархеологии.
access_medical_equip = 66 - Медицинское оборудование.
access_lawyer = 67 - Офис адвоката.
Доступ на ЦентКомм
В основном для использования администраторами.
access_cent_general = 101 - Общий доступ.
access_cent_thunder = 102 - Thunderdome.
access_cent_specops = 103 - Отряд спецопераций.
access_cent_medical = 104 - Медицинский/Научный доступ
access_cent_living = 105 - Жилые помещения.
access_cent_storage = 106 - Склад.
access_cent_teleporter = 107 - Телепорт.
access_cent_creed = 108 - Кабинет Главы Спецопераций.
access_cent_captain = 109 - Капитанский доступ/Консоль доступа/ИИ.
Прочий доступ
access_syndicate = 150 - Доступ на Базе Синдиката.
access_crate_cash = 200 - Ящики с деньгами?
access_merchant = 201 - Доступ торговца
Безвоздушный пол
Безвоздушный пол (Airless Floor) подходит для комнат, в которых происходит смешивание газов или клеток в космосе, но не для мест, в которых часто находятся люди.
Ставьте их на внешних клетках (во избежание лагов) и в комнатах, требующих смешивания газов (полигон токсинов, печь). Проверьте дважды, что мобы в новой комнате не задохнутся.
Пожарные Тревоги и Пожарные Двери
Убедитесь, что Вы расположили Fire Alarm и Fire Doors в пределах зоны, чтобы она могла быть заблокирована. Любая точка, в которой и должно происходить горение, не должна иметь тревогу у источника тепла (например, в камере смешивания токсинов). Убедитесь, что все используемые простыми гражданскими входы и выходы (кроме техтоннелей, чтобы сбежать от пожара) могут быть закрыты.
Слабые Точки
Подумайте, насколько обезопасена будет комната. Если эта зона будет важна, используйте укреплённые стены и электрифицированные окна. Для менее подверженных риску помещений используйте обычные стены и окна на Ваше усмотрение (хотя обычные стёкла очень легко бьются). В каждой комнате должно быть одно наиболее слабое место (задний ход, другой вход или окно) на случай, если основной вход выйдет из строя (или, что более вероятно, чтобы было предателям легче вламываться).
Распределение материалов и оборудования
Понимайте, что должно быть в зоне, старайтесь соблюдать баланс между размером комнаты и количеством оборудования. В больших комнатах может понадобиться несколько АПЦ, чтобы избежать быстрого истощения энергии. Не забывайте ставить аппаратуру, связанную с комнатой - раздатчик лекарств в медотсеке, охранные компьютеры в бриге и т.п.
Баланс
Предметы в комнате
Чем сложнее попасть в комнату, тем более важные и опасные предметы там хранятся. Помните об этом и старайтесь не ставить наэлектризованные заболтированные двери и капитанский доступ в пустой комнате.
Охрана помещений
Чем важнее комната, тем сильнее она охраняется. В общественных комнатах не нужно особо беспокоиться о предосторожности, однако, в зависимости от работы, к рабочим местам могут применяться меры безопасности - бармену не нужны укреплённые стены в кладовке, в отличие от инженеров.
К важнейшим комнатам будут применяться наиболее серьёзные меры, к наименее важным - наидешевейшие.
Step_x, step_y и синдром сломавшегося передвижения
Итак, Вы скомпилировали карту и, внезапно, вместо того, чтобы увидеть анимацию Вашего передвижения с клетки на клетку, Вы просто появляетесь на другой клетке?
Поэтому в движок были добавлены переменные step_x и step_y, позволяющие движение по пикселам. Они присутствуют у каждого атома. Принцип их работы в том, что когда Вы ставите новый объект на карте, чтобы использовать эти самые переменные, игра думает, что Вы избавились от всех стандартных настроек движения и написали свои собственные, хоть Вы ничего и не писали.
Чтобы избавиться от этой проблемы, нужно сохранить карту, закрыть Dream Maker и открыть файл карты (с расширением .dmm) в текстовом редакторе, например, в блокноте. Найдите в файле строки с step_x и step_y, а затем уберите все их упоминания. Когда их в коде карты не останется, сохраните файл, снова откройте её в Dream Maker и перекомпилируйте код.