Участник:Voiko: различия между версиями

Материал из Celadon | Wiki Shiptest
Перейти к навигации Перейти к поиску
Нет описания правки
Метка: отменено
Нет описания правки
 
(не показана 31 промежуточная версия этого же участника)
Строка 1: Строка 1:
пу-пу-пу
{{В процессе создания|worker=Voiko}}
test
 
test2
= Руководство по созданию карт =
'''В рядах Империи Celadon новое пополнение? Отлично!''' Представляю к вашему вниманию универсальный гайд для повышения квалификации!
 
== Выбор программы ==
Прежде, чем начать мапить, нам потребуется взять на вооружение программу, с помощью которой ты сможешь создавать самые различные карты корабликов, руин, станций и не только.<br>
На выбор у нас имеются несколько программ:
[[File:Sdmm-logo.png|thumb|128px|'''"StrongDMM"''' - это один исполняемый файл, не требующий установки.]]
<ol>
<li> '''[https://github.com/SpaiR/StrongDMM?tab=readme-ov-file StrongDMM]''' - это самый '''наилучший вариант''' из всех возможных. Программа имеет удобный интерфейс и также  возможность работать с несколькими картами одновременно.</li>
<li> '''[https://fastdmm2.ss13.io/ Fastdmm2]''' - сайт, который позволяет редактировать карты без необходимости скачивания, есть возможность просто указать ссылку на GitHub. По большей части имеет не особо удобный интерфейс, данный вариант подойдёт больше для быстрого просмотра карт, чем для серьёзного маппинга.</li>
<li> '''Dream Maker''' - самый худший выбор для маппинга, интерфейс неудобный, в добавок отсутствует возможность полноценно редактировать все типы кораблей/руин. Просто забудь об этом варианте, ладно? Выкинь его из головы.</li>
</ol>
В данном гайде мы будем ориентироваться на функционал программы "StrongDMM", однако перед этим нам потребуется загрузить сердце нашего проекта, определится с выбором билда и загрузить его.<br>
Подразумевается, что вы уже ознакомлены с [[Запуск локального сервера|руководством по установке локального сервера]] и имеете на компьютере загруженный билд.<br>
'''Важно! НЕЛЬЗЯ, ЧТОБЫ НА ПУТИ ПРОГРАММЫ БЫЛА КИРИЛИЦА.'''
== Путеводитель по SDMM ==
Мы определились с программой и установили билд. Теперь смело открываем программу и первым делом нам требуется изменить Save Format на TGM, при работе с другим форматом вас будет ожидать целый легион ошибок, а нам это не нужно.
'''Заходим во вкладку File => Preferences и меняем Save Format на TGM'''. <br><br>
[[File:StrongDMM_Format.png]]<br><br>
<p>Далее нужно открыть рабочее пространство (environment), т.е. мы находим папку с нашим установленным билдом, открываем и выбираем главный файл с форматом .dme, название может отличаться в зависимости от билда.<br>
К примеру "shiptest.dme" или "baystation12.dme". '''Внимание!''' Карты созданные с другими ресурсами билда, могут некорректно работать в другом билде из-за разных ресурсов!</p><br>
[[File:StrongDMM_Open.png]]<br>
[[File:StrongDMM_Maps.png|thumb|640px]]
<p>Все изменения обязательно проводите в модульной папке - '''_maps/_mod_celadon'''! Всё остальное, что находится в папке '''_maps''', отключено или может создать проблем.</p>
<p>После загрузки рабочего пространства будет возможность открыть любую из карт. Соответственно карты (_maps/_mod_celadon) отсортированы по папкам:</p>
<ol>
<li>'''_maps/_mod_celadon/configs''' - именно здесь происходит инициализация корабликов с помощью конфигов.</li>
<li>'''_maps/_mod_celadon/map_files''' - главные карты (ЦК).</li>
<li>'''_maps/_mod_celadon/outpost''' - различные карты аванпостов.</li>
<li>'''_maps/_mod_celadon/RandomRuins''' - различные руины, они также рассортированы по типам планет.</li>
<li>'''_maps/_mod_celadon/shuttles''' - космические корабли, внутри папки распределены по фракциям.</li>
<li>'''_maps/_mod_celadon/templates''' - шаблоны.</li>
</ol>
<p>Основное рабочее пространство состоит из нескольких окон:</p>
<ol>
<li>Режим курсора - именно здесь происходит инициализация корабликов с помощью конфигов.</li>
<li>Область карты (синий фон - область за пределами карты).</li>
<li>Все доступные в игре вещи, структуры и не только.</li>
<li>Префабы - варианты одного и того же объекта с измененными параметрами.</li>
<li>Поиск предметов по типу.</li>
<li>Параметры объекта. Подробнее об этом будет ниже.</li>
</ol>
[[File:StrongDMM_Interface.png]]<br><br>
<p>Все окна удобно настраиваются по вашему желанию.<br>
Для этого нужно удерживая нужное окно подвигать его по экрану. Всё интуитивно понятно.</p><br>
[[File:StrongDMM_Interface2.png]]<br>
<p>Скриншоты карт делаются самим StrongDMM:</p>
<ol>
<li>Открыть панель шестерни.</li>
<li>Создать скриншот.</li>
<li>Создать скриншот выбранной зоны.</li>
<li>Сохранить скриншот в буфер обмена.</li>
</ol>
[[File:StrongDMM_Screenshots.png]]
 
== Хоткеи ==
<ol>
<li>Передвигать карту на '''СКМ (нажатие колёсика)''', зум на колёсико.</li>
<li>'''CTRL+1''' - переключает слой зон.</li>
<li>'''CTRL+2''' - переключает слой покрытий (turf).</li>
<li>'''CTRL+3''' - переключает слой объектов.</li>
<li>'''CTRL+4''' - переключает слой мобов.</li>
<li>Удерживание '''S + ЛКМ''' – пипетка.</li>
<li>Удерживание '''D + ЛКМ''' - удалить подсвеченный красным объект.</li>
<li>Удерживание '''R + ЛКМ''' - замена тайла выбранным объектом.</li>
<li>'''CTRL + N''' - новое рабочее пространство(environment).</li>
<li>'''CTRL + O''' - открыть карту.</li>
<li>'''CTRL + Q''' - выход из программы.</li>
<li>'''CTRL + Z''' - отменить последнее действие.</li>
<li>'''CTRL + SHIFT + Z''' - вернуть последнее отмененное действие.</li>
<li>'''CTRL + C''' - копирование; '''CTRL + V''' - вставить;  '''CTRL + X''' - вырезать; '''DEL''' - очистить (как правило, речь идет о выбранной области через 3 режим, при этом, очищается области по периметру выделенной зеленым).</li>
<li>'''CTRL + D''' - отменить выделение.</li>
<li>'''CTRL + S''' - сохраняет карту.</li>
<li>'''CTRL + F''' - открыть строку поиска объекта.</li>
<li>'''F5''' - обновить слой</li>
<li>'''+''' - приблизить масштаб</li>
<li>'''-''' - отдалить масштаб</li>
</ol>
== Маппинг ==
'''A.T.O.M. - Area - Turf - Object - Mob'''<br>
В маппинге, в основном мы рассматриваем 4 типа:
 
1. [https://www.byond.com/docs/ref/#/area '''Зоны''']. Покрывают область и карты и говорят коду что это за территория и её свойства. От зоны работает вся электроника, зону запитывает АЦП и т.д. Свойства у зон бывают самые различные. От звуков и сообщений в чате до запрета телепортации.
 
2. [https://www.byond.com/docs/ref/#/turf '''Турфы''']. Пол и стены. Полы определяют какой в тайле будет газ, температура, скорость, гравитация, а стены понятно, надеюсь, что делают. Нельзя в один тайл (условная игровая клетка) поставить и пол и стену. Под стеной при разборе всегда будет базовый пол, если в коде не прописано иного.
 
3. [https://www.byond.com/docs/ref/#/obj '''Предметы'''] . Всё, что не было указано ранее. В том числе, но не заканчивая ими: лендмарки (точки спавна), простые предметы (столы, стулья), декали (и прочий декор типо мелковых рисунков), рандом спавнеры, машинерия (от лампочки, до консолей и всех труб), провода, и прочее.
 
4. [https://www.byond.com/docs/ref/#/mob '''Мобы''']. Все НПС. С мобами можно по-разному играться задавая им <s>скорость</s>, здоровье, урон и <s>лутдпроп (для продвинутых).</s>
 
=== Список переменных ===
У каждого типа есть список переменных. Перечислять все переменные, которые меняются у объектов можно долго, но главные указаны здесь:
 
[https://www.byond.com/docs/ref/#/%7Bnotes%7D/pixel-movement '''pix_x''' | '''pix_y'''] - Задают смещение от центра тайла. Вся настенная машинерия ставится над/под/слева/справа от нужного расположения на стене и поднимается в нужную сторону на 28-32 пикселя. (1 тайл - 32х32 пикселя)
 
[[File: Directions.png|thumb|256px|Наглядный пример направлений]]
[https://www.byond.com/docs/ref/#/atom/var/dir '''dir'''] - Направление.
2 - на игрока 1 - от игрока 4 - вправо 8 - влево. Если направлений больше, то и другие значения до 16.
 
'''anchored''' - Закрепление. Объект нельзя потянуть или сдвинуть если TRUE
 
'''Id''' и '''id_tag''' - Кнопочная машинерия. Для кнопки задается ''id'', для объекта ''id tag'' определяет поведение для дверей(болты, открыть, доступ и т.д)<br>
Если вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с 1 ''id_tag'' - прописывайте в ''id'' так ''“ВАШ ID_TAG”''<br>
Если Вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с множеством ''id_tag'' - прописывайте в id так ''list(“ID_TAG1”,”ID_TAG2”)''. Вписывать можно сколько вашей душе угодно, главное соблюдайте синтаксис.
 
'''req_access (list)''' - Проверка на доступ любая машинерия и двери. Таблица доступов есть в руководстве по маппингу. Несколько доступов пишутся через запятую без пробелов. Если вы хотите привязать мультидоступ, то прописывайте его через запятую, например: req_access = list(1,19,43)
 
[https://www.byond.com/docs/ref/#/atom/var/icon '''Icon'''] и [https://www.byond.com/docs/ref/#/atom/var/icon_state '''icon_state'''] - Первый указывает путь до дми файла с кучей иконок, второй указывает какая именно иконка из кучи в этом файле будет показываться.
 
=== Каждое новое помещение начинается с зоны ===
Зона это основной способ взаимодействия тайлов с кодом игры. Будет ли в зоне электричество от апц, либо же она будет запитана магией, будет ли в ней гравитация, какой в ней будет эмбиент(звук окружения), машинерия и как она будет работать в ней и т.д.
 
Зоны на станциях не должны повторяться. Дело в том, что зона не обязательно должна располагаться близко, чтобы передавать всю информацию внутри себя. Если разместить одну и ту же зону на разных концах карты, то пожарная сигнализация будет срабатывать в обоих, даже если вторая вообще не имеет атмосферы. Это работает даже на разных Z уровнях!
 
Помните, что настраивать и изменять свойства зоны необходимо исключительно в коде!
=== Подробнее про Variables ===
[[File:sdmm_variables.png|thumb|256px|Область управления переменными]]
Данная область позволит вам творить самые настоящие тёмные колдунства при наличии хотя бы минимальных знаний понимания работы кода/переменных.
Зона Variables состоит из двух вкладок: Instance и Prefab.
'''Instance''' - Позволяет смотреть и менять параметры у одного объекта на карте.
'''Prefab''' - Также позволяет проверять параметры, однако менять параметры будет у всех таких же объектов на карте.
У вас также имеется возможность использовать некоторые параметры, чтобы показать только изменённые переменные.
<ol>
<li>'''Ctrl+1''' - '''Show modified only''' - Покажет только те переменные, что уже были изменены.</li>
<li>'''Ctrl+2''' - '''Show types''' - Покажет переменные не только объекта, но и также его родителей.</li>
<li>'''Ctrl+3''' - '''Show pins''' - Позволит закрепить необходимую переменную, чтобы не потерять её из виду. Она будет показываться в самом верху.</li>
<li>'''Ctrl+4''' - '''Show tmp, const, and static''' - Наши тёмные маги ещё не познали такую сильную магию. Об этом параметре особо ничего не известно. </li>
</ol>
== Создание кораблей и руин ==
<span>Все текущие корабли находятся в папке '''_maps/_mod_celadon/shuttles''' и имеют сортировку по фракциями, а также там имеется отдельная папка для субшаттлов - '''_maps/_mod_celadon/shuttles/subshuttles'''. В этих папках хранятся сами карты, однако инициализация кораблей происходит благодаря папке '''_maps/_mod_celadon/configs'''.</span>
 
=== Конфиг корабля ===
[[File:example_ship_config.png|thumb]]
<p>В папке с конфигами вы можете ознакомиться со структурой и перенести её в ваш новый файл. <br>
Вы также можете изучить саму [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/_maps/ship_config_schema.json '''структуру'''] и пример [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/_maps/example_ship_config.json '''конфигурационного файла'''].</p>
<p>Пройдёмся по переменным:</p>
<ol>
<li>'''map_name''' - Полное название корабля. Именно с таким названием игроки увидят ваш корабль в общем списке в лобби.</li>
<li>'''map_short_name''' - Краткое название карты. Обозначает класс корабля. Будет отображаться в манифесте. Не может содержать пробелы. Кроме букв доступны только дефис и нижнее подчёркивание.</li>
<li>'''description''' - Описание корабля. Будет отображаться при выборе корабля в лобби. Содержит в себе лор корабля.</li>
<li>'''map_path''' - Путь к файлу карты корабля. Например: "_maps\shuttles\inteq\inteq_colossus.dmm"</li>
<li>'''enabled''' - Если "true" - доступно для покупки игроками. Если "false" - только для щитспавна.</li>
<li>'''limit''' - Допустимое количество для покупки корабля игроками.</li>
<li>'''space_spawn''' - По умолчанию корабль спавнится на аванпосту. Если "true", то корабль заспавнится в космосе.</li>
<li>'''prefix''' - Указывается префикс фракции. Доступные префиксы можно найти на [https://wiki.celadon.pro/index.php/Префиксы этой странице].</li>
<li>'''faction''' -  Путь к датуму фракции. Доступные фракции находятся в этом файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/mod_celadon/faction/code/faction.dm mod_celadon/faction/code/faction.dm], если нет необходимой - можно найти в другом файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/code/modules/faction/faction_datum.dm code/modules/faction/faction_datum.dm].</li>
<li>'''tags''' - Указываются теги корабля. Их можно найти в этом файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/_maps/ship_tags_descriptions_guide.txt _maps/ship_tags_descriptions_guide.txt]. На данный момент не используется. В будущем планируется использовать для сортировки кораблей.</li>
<li>'''namelists''' - Указываются кодовые названия списков, из которых корабль будет генерировать название корабля при его создании. Ознакомиться с доступными списками и названиями можно в этом файле:[https://github.com/CeladonSS13/Shiptest/blob/beta-dev/strings/ship_names.json strings/ship_names.json].</li>
<li>'''job_slots''' - Состоит из 3 частей. Название (название профессии при заходе на корабль), outfit (путь к снаряжению в коде), slots (количество доступных профессий). Доступный список снаряжений можно найти по пути [https://github.com/CeladonSS13/Shiptest/tree/beta-dev/mod_celadon/outfit/code mod_celadon/outfit/code], они имеют примерно такую структуру: ''/datum/outfit/job/фракция/профессия''.</li>
</ol>
 
=== Создание субшаттла ===
[[File:guide_subshuttle.png|thumb|256px|Пример датума субшаттла]]
Субшаттлы инициализируются не так, как обычные корабли, им не нужен конфиг. Они недоступны для покупки в общем списке лобби, но могут быть использованы в качестве дополнительного корабля внутри самого корабля или для отправки к примеру ЕРТ отряда с помощью администрации. Они создаются в отдельном файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/mod_celadon/maps/code/subshuttles.dm mod_celadon/maps/code/subshuttles.dm].
 
Путь к картам субкораблей: '''_maps/_mod_celadon/shuttles/subshuttles'''.
=== Создание руины ===
<p>Руинки - это дополнительные локации, которые спавнятся на планетах. На одной планете может быть максимум одна руина.</p>
<p>При создании руины старайтесь использовать флору и фауну, которые предназначены для выбранной вами планеты.</p>
<p>Чтобы инициализировать руину вам потребуется закинуть карту в папку с руинами для необходимой планеты по пути: '''_maps/_mod_celadon/RandomRuins/'''.</p>
<p>Затем перейдите к файлу '''mod_celadon/maps/code/ruins/ruin.dm''' и пропишите датум, по примеру других руин в файле. Датум может иметь такие параметры:</p>
<ol>
<li>'''Datum''' - ''[Обязательно]'' /datum/map_template/ruin/Планета/Название</li>
<li>'''name''' - ''[Обязательно]'' Полное название вашей руины</li>
<li>'''id''' - ''[Обязательно]'' Уникальное и краткое название руины, без нижних подчёркиваний. Используется функционирования для чёрного листа.</li>
<li>'''suffix''' - ''[Обязательно]'' Название вашего файла. Пример: anima_heirophant.dmm</li>
<li>'''description''' - ''[Обязательно]'' Описание вашей руины, лёгкий лор. Используется для страницы с информацией о руинах (в разработке). </li>
<li>'''cost''' - Влияет на вероятность спавна вашей руины. Чем выше стоимость, тем реже она может встретиться.</li>
<li>'''allow_duplicates''' - Если значение "False", то на весь раунд сможет появится только одна руинка.</li>
<li>'''ruin_tags''' - Используется для краткого описания руины. Теги можно найти здесь: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/code/__DEFINES/ruins.dm code/__DEFINES/ruins.dm].</li>
<li>'''never_spawn_with''' - Не заспавнит руинку, если уже имеется указанная руина из вашего списка.</li>
</ol>
<p>После создания датума перейдите к текстовому файлу '''map_catalogue_key.txt''' по пути: '''_maps/_mod_celadon/map_catalogue.txt''' и оставьте запись о руинке с размерами, тегами и путями.</p>
 
=== Важная дополнительная информация ===
<p>Обязательное правило для создания корабля и субшатла, чтобы он не был квадратным иначе, как бы вы не старались при постановке док портов, вы не сможете задать нужное вам направление.</p>
<p>[Wideband] На корабля обязательно должно присутствовать средство связи с другими кораблями.</p>
<p>Если вы хотите, чтобы ваша карта была добавлена на [https://map.celadon.pro вебкарту], то нужно обращаться непосредственно к хосту Celadon`a - Voiko.</p>
<p>Максимальные размеры руин: '''121x75'''. Максимальный размер корабля равен максимальному размеру ангара '''56x40'''.</p>
<p>Список кодов доступа (access) к шлюзам и так далее находится в файле [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/code_DEFINES/access.dm code/_DEFINES/access.dm].</p>
<p>При создании атмосферы на шипе не используйте стационарные танки с газами.</p>
 
= Проверка перед публикацией =
<ol>
<li>Полы с воздухом или без него, как и должно быть? (обычный или безвоздушный)</li>
<li>[APC] - Есть ли в этой зоне ЛКП?</li>
<li>[Air Alarm] - Есть ли в этой зоне воздушная сигнализация?</li>
<li>[Outpost Communications Console] - Есть ли в этой зоне консоль запросов?</li>
<li>[Light] - Есть ли на территории освещение?</li>
<li>[Light Switch] - Есть ли в этом помещении выключатель света?</li>
<li>[Intercom] - Достаточно ли в этом зоне интеркомов?</li>
<li>[Camera] - Достаточно ли в этом зоне камер видеонаблюдения?</li>
<li>[Vent Scrubber] - Подключена ли зона к вентиляционному очистителю?</li>
<li>[Vent Pump] - Подключена ли зона к вентиляционному насосу?</li>
<li>[Fire Alarm & Fire Doors] - Есть ли на территории пожарная сигнализация и противопожарные шлюзы?</li>
<li>[Holopad] - Имеется ли голопад на вашем судне?</li>
<li>Все ли подключено правильно?</li>
<li>Все ли двери работают правильно?</li>
<li>Правильно ли настроены доступы на дверях, кнопках и т. д.?</li>
<li>Все ли предметы размещены правильно? (не ниже вентиляционных отверстий, скрубберов, столов)?</li>
<li>Правильно ли работает система мусоропровода?</li>
<li>Проверьте наличие неуместных или наложенных частей труб (воздушных и отводящих).</li>
<li>Проверьте, нет ли неуместного или наложенного куска провода.</li>
<li>Определите, насколько сложно проникнуть в эту область и где находятся слабые места, и соответствующим образом сбалансируйте область (например, Хранилище должно быть сделано из усиленных конструкций и электрифицированных окон, Кухня не должна быть сделана из этих материалов, а из обычных стен)</li>
<li>Проверьте, не слишком ли много пустого пространства. Если да, уменьшите его и замените остальные туннелями для обслуживания.</li>
<li>Есть ли нерушимые турфы там, где их не должно быть?</li>
</ol>

Текущая версия от 20:55, 16 февраля 2025

Страница-заготовка. Контент страницы находится в разработке и недоступен

Использовать данный контент нельзя
Подрядчик: Voiko

Руководство по созданию карт

В рядах Империи Celadon новое пополнение? Отлично! Представляю к вашему вниманию универсальный гайд для повышения квалификации!

Выбор программы

Прежде, чем начать мапить, нам потребуется взять на вооружение программу, с помощью которой ты сможешь создавать самые различные карты корабликов, руин, станций и не только.
На выбор у нас имеются несколько программ:

"StrongDMM" - это один исполняемый файл, не требующий установки.
  1. StrongDMM - это самый наилучший вариант из всех возможных. Программа имеет удобный интерфейс и также возможность работать с несколькими картами одновременно.
  2. Fastdmm2 - сайт, который позволяет редактировать карты без необходимости скачивания, есть возможность просто указать ссылку на GitHub. По большей части имеет не особо удобный интерфейс, данный вариант подойдёт больше для быстрого просмотра карт, чем для серьёзного маппинга.
  3. Dream Maker - самый худший выбор для маппинга, интерфейс неудобный, в добавок отсутствует возможность полноценно редактировать все типы кораблей/руин. Просто забудь об этом варианте, ладно? Выкинь его из головы.

В данном гайде мы будем ориентироваться на функционал программы "StrongDMM", однако перед этим нам потребуется загрузить сердце нашего проекта, определится с выбором билда и загрузить его.
Подразумевается, что вы уже ознакомлены с руководством по установке локального сервера и имеете на компьютере загруженный билд.
Важно! НЕЛЬЗЯ, ЧТОБЫ НА ПУТИ ПРОГРАММЫ БЫЛА КИРИЛИЦА.

Путеводитель по SDMM

Мы определились с программой и установили билд. Теперь смело открываем программу и первым делом нам требуется изменить Save Format на TGM, при работе с другим форматом вас будет ожидать целый легион ошибок, а нам это не нужно. Заходим во вкладку File => Preferences и меняем Save Format на TGM.



Далее нужно открыть рабочее пространство (environment), т.е. мы находим папку с нашим установленным билдом, открываем и выбираем главный файл с форматом .dme, название может отличаться в зависимости от билда.
К примеру "shiptest.dme" или "baystation12.dme". Внимание! Карты созданные с другими ресурсами билда, могут некорректно работать в другом билде из-за разных ресурсов!



Все изменения обязательно проводите в модульной папке - _maps/_mod_celadon! Всё остальное, что находится в папке _maps, отключено или может создать проблем.

После загрузки рабочего пространства будет возможность открыть любую из карт. Соответственно карты (_maps/_mod_celadon) отсортированы по папкам:

  1. _maps/_mod_celadon/configs - именно здесь происходит инициализация корабликов с помощью конфигов.
  2. _maps/_mod_celadon/map_files - главные карты (ЦК).
  3. _maps/_mod_celadon/outpost - различные карты аванпостов.
  4. _maps/_mod_celadon/RandomRuins - различные руины, они также рассортированы по типам планет.
  5. _maps/_mod_celadon/shuttles - космические корабли, внутри папки распределены по фракциям.
  6. _maps/_mod_celadon/templates - шаблоны.

Основное рабочее пространство состоит из нескольких окон:

  1. Режим курсора - именно здесь происходит инициализация корабликов с помощью конфигов.
  2. Область карты (синий фон - область за пределами карты).
  3. Все доступные в игре вещи, структуры и не только.
  4. Префабы - варианты одного и того же объекта с измененными параметрами.
  5. Поиск предметов по типу.
  6. Параметры объекта. Подробнее об этом будет ниже.



Все окна удобно настраиваются по вашему желанию.
Для этого нужно удерживая нужное окно подвигать его по экрану. Всё интуитивно понятно.



Скриншоты карт делаются самим StrongDMM:

  1. Открыть панель шестерни.
  2. Создать скриншот.
  3. Создать скриншот выбранной зоны.
  4. Сохранить скриншот в буфер обмена.

Хоткеи

  1. Передвигать карту на СКМ (нажатие колёсика), зум на колёсико.
  2. CTRL+1 - переключает слой зон.
  3. CTRL+2 - переключает слой покрытий (turf).
  4. CTRL+3 - переключает слой объектов.
  5. CTRL+4 - переключает слой мобов.
  6. Удерживание S + ЛКМ – пипетка.
  7. Удерживание D + ЛКМ - удалить подсвеченный красным объект.
  8. Удерживание R + ЛКМ - замена тайла выбранным объектом.
  9. CTRL + N - новое рабочее пространство(environment).
  10. CTRL + O - открыть карту.
  11. CTRL + Q - выход из программы.
  12. CTRL + Z - отменить последнее действие.
  13. CTRL + SHIFT + Z - вернуть последнее отмененное действие.
  14. CTRL + C - копирование; CTRL + V - вставить; CTRL + X - вырезать; DEL - очистить (как правило, речь идет о выбранной области через 3 режим, при этом, очищается области по периметру выделенной зеленым).
  15. CTRL + D - отменить выделение.
  16. CTRL + S - сохраняет карту.
  17. CTRL + F - открыть строку поиска объекта.
  18. F5 - обновить слой
  19. + - приблизить масштаб
  20. - - отдалить масштаб

Маппинг

A.T.O.M. - Area - Turf - Object - Mob
В маппинге, в основном мы рассматриваем 4 типа:

1. Зоны. Покрывают область и карты и говорят коду что это за территория и её свойства. От зоны работает вся электроника, зону запитывает АЦП и т.д. Свойства у зон бывают самые различные. От звуков и сообщений в чате до запрета телепортации.

2. Турфы. Пол и стены. Полы определяют какой в тайле будет газ, температура, скорость, гравитация, а стены понятно, надеюсь, что делают. Нельзя в один тайл (условная игровая клетка) поставить и пол и стену. Под стеной при разборе всегда будет базовый пол, если в коде не прописано иного.

3. Предметы . Всё, что не было указано ранее. В том числе, но не заканчивая ими: лендмарки (точки спавна), простые предметы (столы, стулья), декали (и прочий декор типо мелковых рисунков), рандом спавнеры, машинерия (от лампочки, до консолей и всех труб), провода, и прочее.

4. Мобы. Все НПС. С мобами можно по-разному играться задавая им скорость, здоровье, урон и лутдпроп (для продвинутых).

Список переменных

У каждого типа есть список переменных. Перечислять все переменные, которые меняются у объектов можно долго, но главные указаны здесь:

pix_x | pix_y - Задают смещение от центра тайла. Вся настенная машинерия ставится над/под/слева/справа от нужного расположения на стене и поднимается в нужную сторону на 28-32 пикселя. (1 тайл - 32х32 пикселя)

Наглядный пример направлений

dir - Направление. 2 - на игрока 1 - от игрока 4 - вправо 8 - влево. Если направлений больше, то и другие значения до 16.

anchored - Закрепление. Объект нельзя потянуть или сдвинуть если TRUE

Id и id_tag - Кнопочная машинерия. Для кнопки задается id, для объекта id tag определяет поведение для дверей(болты, открыть, доступ и т.д)
Если вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с 1 id_tag - прописывайте в id так “ВАШ ID_TAG”
Если Вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с множеством id_tag - прописывайте в id так list(“ID_TAG1”,”ID_TAG2”). Вписывать можно сколько вашей душе угодно, главное соблюдайте синтаксис.

req_access (list) - Проверка на доступ любая машинерия и двери. Таблица доступов есть в руководстве по маппингу. Несколько доступов пишутся через запятую без пробелов. Если вы хотите привязать мультидоступ, то прописывайте его через запятую, например: req_access = list(1,19,43)

Icon и icon_state - Первый указывает путь до дми файла с кучей иконок, второй указывает какая именно иконка из кучи в этом файле будет показываться.

Каждое новое помещение начинается с зоны

Зона это основной способ взаимодействия тайлов с кодом игры. Будет ли в зоне электричество от апц, либо же она будет запитана магией, будет ли в ней гравитация, какой в ней будет эмбиент(звук окружения), машинерия и как она будет работать в ней и т.д.

Зоны на станциях не должны повторяться. Дело в том, что зона не обязательно должна располагаться близко, чтобы передавать всю информацию внутри себя. Если разместить одну и ту же зону на разных концах карты, то пожарная сигнализация будет срабатывать в обоих, даже если вторая вообще не имеет атмосферы. Это работает даже на разных Z уровнях!

Помните, что настраивать и изменять свойства зоны необходимо исключительно в коде!

Подробнее про Variables

Область управления переменными

Данная область позволит вам творить самые настоящие тёмные колдунства при наличии хотя бы минимальных знаний понимания работы кода/переменных. Зона Variables состоит из двух вкладок: Instance и Prefab. Instance - Позволяет смотреть и менять параметры у одного объекта на карте. Prefab - Также позволяет проверять параметры, однако менять параметры будет у всех таких же объектов на карте. У вас также имеется возможность использовать некоторые параметры, чтобы показать только изменённые переменные.

  1. Ctrl+1 - Show modified only - Покажет только те переменные, что уже были изменены.
  2. Ctrl+2 - Show types - Покажет переменные не только объекта, но и также его родителей.
  3. Ctrl+3 - Show pins - Позволит закрепить необходимую переменную, чтобы не потерять её из виду. Она будет показываться в самом верху.
  4. Ctrl+4 - Show tmp, const, and static - Наши тёмные маги ещё не познали такую сильную магию. Об этом параметре особо ничего не известно.

Создание кораблей и руин

Все текущие корабли находятся в папке _maps/_mod_celadon/shuttles и имеют сортировку по фракциями, а также там имеется отдельная папка для субшаттлов - _maps/_mod_celadon/shuttles/subshuttles. В этих папках хранятся сами карты, однако инициализация кораблей происходит благодаря папке _maps/_mod_celadon/configs.

Конфиг корабля

В папке с конфигами вы можете ознакомиться со структурой и перенести её в ваш новый файл.
Вы также можете изучить саму структуру и пример конфигурационного файла.

Пройдёмся по переменным:

  1. map_name - Полное название корабля. Именно с таким названием игроки увидят ваш корабль в общем списке в лобби.
  2. map_short_name - Краткое название карты. Обозначает класс корабля. Будет отображаться в манифесте. Не может содержать пробелы. Кроме букв доступны только дефис и нижнее подчёркивание.
  3. description - Описание корабля. Будет отображаться при выборе корабля в лобби. Содержит в себе лор корабля.
  4. map_path - Путь к файлу карты корабля. Например: "_maps\shuttles\inteq\inteq_colossus.dmm"
  5. enabled - Если "true" - доступно для покупки игроками. Если "false" - только для щитспавна.
  6. limit - Допустимое количество для покупки корабля игроками.
  7. space_spawn - По умолчанию корабль спавнится на аванпосту. Если "true", то корабль заспавнится в космосе.
  8. prefix - Указывается префикс фракции. Доступные префиксы можно найти на этой странице.
  9. faction - Путь к датуму фракции. Доступные фракции находятся в этом файле: mod_celadon/faction/code/faction.dm, если нет необходимой - можно найти в другом файле: code/modules/faction/faction_datum.dm.
  10. tags - Указываются теги корабля. Их можно найти в этом файле: _maps/ship_tags_descriptions_guide.txt. На данный момент не используется. В будущем планируется использовать для сортировки кораблей.
  11. namelists - Указываются кодовые названия списков, из которых корабль будет генерировать название корабля при его создании. Ознакомиться с доступными списками и названиями можно в этом файле:strings/ship_names.json.
  12. job_slots - Состоит из 3 частей. Название (название профессии при заходе на корабль), outfit (путь к снаряжению в коде), slots (количество доступных профессий). Доступный список снаряжений можно найти по пути mod_celadon/outfit/code, они имеют примерно такую структуру: /datum/outfit/job/фракция/профессия.

Создание субшаттла

Пример датума субшаттла

Субшаттлы инициализируются не так, как обычные корабли, им не нужен конфиг. Они недоступны для покупки в общем списке лобби, но могут быть использованы в качестве дополнительного корабля внутри самого корабля или для отправки к примеру ЕРТ отряда с помощью администрации. Они создаются в отдельном файле: mod_celadon/maps/code/subshuttles.dm.

Путь к картам субкораблей: _maps/_mod_celadon/shuttles/subshuttles.

Создание руины

Руинки - это дополнительные локации, которые спавнятся на планетах. На одной планете может быть максимум одна руина.

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

Чтобы инициализировать руину вам потребуется закинуть карту в папку с руинами для необходимой планеты по пути: _maps/_mod_celadon/RandomRuins/.

Затем перейдите к файлу mod_celadon/maps/code/ruins/ruin.dm и пропишите датум, по примеру других руин в файле. Датум может иметь такие параметры:

  1. Datum - [Обязательно] /datum/map_template/ruin/Планета/Название
  2. name - [Обязательно] Полное название вашей руины
  3. id - [Обязательно] Уникальное и краткое название руины, без нижних подчёркиваний. Используется функционирования для чёрного листа.
  4. suffix - [Обязательно] Название вашего файла. Пример: anima_heirophant.dmm
  5. description - [Обязательно] Описание вашей руины, лёгкий лор. Используется для страницы с информацией о руинах (в разработке).
  6. cost - Влияет на вероятность спавна вашей руины. Чем выше стоимость, тем реже она может встретиться.
  7. allow_duplicates - Если значение "False", то на весь раунд сможет появится только одна руинка.
  8. ruin_tags - Используется для краткого описания руины. Теги можно найти здесь: code/__DEFINES/ruins.dm.
  9. never_spawn_with - Не заспавнит руинку, если уже имеется указанная руина из вашего списка.

После создания датума перейдите к текстовому файлу map_catalogue_key.txt по пути: _maps/_mod_celadon/map_catalogue.txt и оставьте запись о руинке с размерами, тегами и путями.

Важная дополнительная информация

Обязательное правило для создания корабля и субшатла, чтобы он не был квадратным иначе, как бы вы не старались при постановке док портов, вы не сможете задать нужное вам направление.

[Wideband] На корабля обязательно должно присутствовать средство связи с другими кораблями.

Если вы хотите, чтобы ваша карта была добавлена на вебкарту, то нужно обращаться непосредственно к хосту Celadon`a - Voiko.

Максимальные размеры руин: 121x75. Максимальный размер корабля равен максимальному размеру ангара 56x40.

Список кодов доступа (access) к шлюзам и так далее находится в файле code/_DEFINES/access.dm.

При создании атмосферы на шипе не используйте стационарные танки с газами.

Проверка перед публикацией

  1. Полы с воздухом или без него, как и должно быть? (обычный или безвоздушный)
  2. [APC] - Есть ли в этой зоне ЛКП?
  3. [Air Alarm] - Есть ли в этой зоне воздушная сигнализация?
  4. [Outpost Communications Console] - Есть ли в этой зоне консоль запросов?
  5. [Light] - Есть ли на территории освещение?
  6. [Light Switch] - Есть ли в этом помещении выключатель света?
  7. [Intercom] - Достаточно ли в этом зоне интеркомов?
  8. [Camera] - Достаточно ли в этом зоне камер видеонаблюдения?
  9. [Vent Scrubber] - Подключена ли зона к вентиляционному очистителю?
  10. [Vent Pump] - Подключена ли зона к вентиляционному насосу?
  11. [Fire Alarm & Fire Doors] - Есть ли на территории пожарная сигнализация и противопожарные шлюзы?
  12. [Holopad] - Имеется ли голопад на вашем судне?
  13. Все ли подключено правильно?
  14. Все ли двери работают правильно?
  15. Правильно ли настроены доступы на дверях, кнопках и т. д.?
  16. Все ли предметы размещены правильно? (не ниже вентиляционных отверстий, скрубберов, столов)?
  17. Правильно ли работает система мусоропровода?
  18. Проверьте наличие неуместных или наложенных частей труб (воздушных и отводящих).
  19. Проверьте, нет ли неуместного или наложенного куска провода.
  20. Определите, насколько сложно проникнуть в эту область и где находятся слабые места, и соответствующим образом сбалансируйте область (например, Хранилище должно быть сделано из усиленных конструкций и электрифицированных окон, Кухня не должна быть сделана из этих материалов, а из обычных стен)
  21. Проверьте, не слишком ли много пустого пространства. Если да, уменьшите его и замените остальные туннелями для обслуживания.
  22. Есть ли нерушимые турфы там, где их не должно быть?