<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.ss220.club/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aloe</id>
	<title>SS220 - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ss220.club/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aloe"/>
	<link rel="alternate" type="text/html" href="https://wiki.ss220.club/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Aloe"/>
	<updated>2026-04-12T15:14:18Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.ss220.club/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5&amp;diff=39778</id>
		<title>Руководство по разработке</title>
		<link rel="alternate" type="text/html" href="https://wiki.ss220.club/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5&amp;diff=39778"/>
		<updated>2024-04-23T23:49:27Z</updated>

		<summary type="html">&lt;p&gt;Aloe: Почему у нас была ссылка на труп? Не знаю! Теперь не будет.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;width:99%&amp;quot; class=&amp;quot;toccolours&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.8em;&amp;quot;&amp;gt;&#039;&#039;&#039;Пособие к Paracode: Гайд&#039;&#039;&#039;&amp;lt;/span&amp;gt;[[Файл:IconConstruction.png|справа]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&lt;br /&gt;
Это руководство предназначено для обучения новичков успешной работе с &#039;&#039;&#039;Paracode.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Пожалуйста, прочитайте гайд полностью от верха до низа.&lt;br /&gt;
{{toc_right}}&lt;br /&gt;
&#039;&#039;&#039;Чтобы максимально удобно и эффективно вносить изменения в код вам будут нужны эти три вещи:&#039;&#039;&#039;&lt;br /&gt;
# Текстовый редактор (VSCode крайне рекомендован)&lt;br /&gt;
# Github&lt;br /&gt;
# Сам BYOND редактор - Dream Maker&lt;br /&gt;
&lt;br /&gt;
== Быстрая навигация ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.4em;&amp;quot;&amp;gt;[[#Я абсолютный новичок|Я абсолютный новичок]]&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[#Малые изменения|Я хочу внести малые изменения или/и я спрайтер]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Рабочее пространство ===&lt;br /&gt;
* [[#Устанавливаем и настраиваем Visual Studio Code|Мне нужно установить\настроить VS Code]]&lt;br /&gt;
* [[#Установка и настройка Github|Мне нужно настроить Git/Github]]&lt;br /&gt;
* [[#Настройка и использование Github Desktop|Я хочу использовать Github Desktop (Дружелюбно к новичкам)]]&lt;br /&gt;
* [[#Setting up &amp;amp; Using TortoiseGit|Я хочу использовать TortoiseGit (Не для новичков)]]&lt;br /&gt;
* [[#Forking ParaCode|Я загрузил всё вышеперечисленное, как мне получить и настроить репозиторий?]]&lt;br /&gt;
&lt;br /&gt;
=== Внесение изменений ===&lt;br /&gt;
* [[#Делаем изменения|Ок, у меня есть конфигурация репозитория, как мне менять содержимое?(Pull Requests)]]&lt;br /&gt;
* [[#Учимся кодить|Ок, я завершил настройку своих изменений! Как мне закодировать/внести вклад на сервер?]]&lt;br /&gt;
* [[#Делаем Pull Request (ПР)|Как мне создать Pull Request и отправить свои изменения через Desktop GitHub?]]&lt;br /&gt;
* [[#Как делать предложения правок на GutHub|Я заметил ошибку, как о ней сообщить?]]&lt;br /&gt;
&lt;br /&gt;
=== Работа с редакторами ===&lt;br /&gt;
* [[Руководство по маппингу|У меня образование архитектора космический станций и я хочу внести изменения на карту]]&lt;br /&gt;
* [[Руководство по спрайтингу|Я свободный художник-академик и хочу поработать со спрайтами]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительно ===&lt;br /&gt;
* [[#Учимся использовать TGUI|Как использовать TGUI для создания красивых интерфейсов?]]&lt;br /&gt;
* [[Как делать перевод игры]]?&lt;br /&gt;
* [[Запуск локального сервера|Как запустить локалку через Dream Daemon?]]&lt;br /&gt;
* [[Запуск локального сервера#Запуск по кодерски|Как запустить локалку через VSC?]]&lt;br /&gt;
&lt;br /&gt;
=== Для продвинутых ===&lt;br /&gt;
* [[Настройка базы данных|Настройка БД на локалке]]&lt;br /&gt;
* [[Структура кода SS13]]&lt;br /&gt;
* [[Форматирование текста]]&lt;br /&gt;
* [[SS13 для опытных программистов]]&lt;br /&gt;
----&lt;br /&gt;
Вы также можете помочь с переводом гайдов и их дополнением для будущих потомков: [[Руководство по редактированию вики]]&lt;br /&gt;
&lt;br /&gt;
==Я абсолютный новичок==&lt;br /&gt;
Итак, вы в ситуации, с которой сталкивался каждый разработчик Paradise. Как мне научиться работать и привносить свой вклад? Как мне добавить свой код к коду сервера? Что ж, тут несколько шагов, как начать работу и загрузить ресурсы.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Просто прочитайте этот гайд пока не дойдёте до конца. Пока вы следуете этим шагам всё должно быть в порядке!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:ContributingFlowchartRU.png|800px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Малые изменения==&lt;br /&gt;
Возникают ситуации, когда вы являетесь спрайтером или человеком, которому нужно поменять всего пару значений, а кодера по таким пустякам дергать не хочется. Да и зачем накидывать на кодеров такую работу, если можно сделать самому, правильно? &amp;lt;br&amp;gt;&lt;br /&gt;
В этом плане вам повезло, так как это руководство и создано для новичков и тех, кто никогда не работал с кодом или трогал только конфиги в разных играх. Выше находится [[#Я абсолютный новичок|гайд для новичков]], в нём по пунктам объяснено как вам нужно вклиниваться в разработку для занесения изменений. &amp;lt;br&amp;gt;&lt;br /&gt;
После того как вы освоите базу для внесения изменений, вы сможете тратить буквально минуты на свои собственные идеи и быть действительно полезным. А у &amp;quot;более крутых кодеров&amp;quot; будет больше времени на крупные фичи, фиксы и рефакторы. &amp;lt;br&amp;gt;&lt;br /&gt;
Самостоятельность - это хорошо.&lt;br /&gt;
&lt;br /&gt;
Если вкратце по пунктам описать что вам потребуется:&lt;br /&gt;
* [[#Устанавливаем и настраиваем Visual Studio Code|Visual Studio Code]] - для внесения изменений&lt;br /&gt;
* [[#Настройка и использование Github Desktop|GitHub Desktop]] - для загрузки изменений    &lt;br /&gt;
* [[#Forking ParaCode|Репозиторий]] - ваш личный билд куда вы вносите изменения&lt;br /&gt;
* [[#Делаем Pull Request (ПР)|Pull Request]] - для добавления изменений в основной билд&lt;br /&gt;
* Дождаться правок после внесения изменений в основной билд, если они будут&lt;br /&gt;
* Ждать, пока изменение не зальют на основной билд.&lt;br /&gt;
* ... &lt;br /&gt;
* Profit!&lt;br /&gt;
&lt;br /&gt;
При внесении малых изменений, наподобие уменьшения урона у оружия, добавления другой иконки, изменения описания/названия, обязательно убедитесь, что всё корректно работает и именно так как вы и хотели, и вы ничего лишнего не затронули. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Как может затронуться что-то лишнее?&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
Вы можете допустить опечатку, случайно поставить пробел не в том месте. В любом случае, Github Desktop покажет вам все ваши изменения и вы сможете увидеть, где могли допустить ошибку. &amp;lt;br&amp;gt;&lt;br /&gt;
Но также, у предмета есть &amp;quot;наследование&amp;quot;, и все его внутренние переменные передаются его детям, что может внести изменения также и другим вещам. Возьмем например два предмета (родитель и дочь) с путями &amp;lt;code&amp;gt;food/cake&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;food/cake/chocolate&amp;lt;/code&amp;gt;. Нам нужно изменить им описание &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;. У первого предмета в коде написан &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;, когда у второго он не написан. Это означает что описание предмета &amp;lt;code&amp;gt;food/cake/chocolate&amp;lt;/code&amp;gt; будет взято(наследоваться) у &amp;lt;code&amp;gt;food/cake&amp;lt;/code&amp;gt;, и все изменения этого предмета будут также влиять на дочерние. Чтобы этого избежать, вам всего-лишь нужно добавить дочерним предметам недостающую переменную со значениями, если вы не хотите чтобы они тоже менялись.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Пример: Добавление одежды для должности интерна&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
Вы дошли до внесения изменений, но еще не внесли сами изменения, так как не понимаете как? Вы хотите добавить одежду или изменить её, но запутались что именно вам нужно делать? Тогда данный пункт гайда для вас. В нём мы разберем как сделать одно из простейших изменений, а также продемонстрируется интересная фича.&lt;br /&gt;
&lt;br /&gt;
Возьмём в пример одежду доктора и сделаем из неё новую одежду для интерна, на английском мы знаем что название профессии Medical Doctor. Воспользуемся поиском VSC, чтобы найти его одежду. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes1.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Находим одежду &amp;lt;code&amp;gt;medical doctor&#039;s jumpsuit&amp;lt;/code&amp;gt; в файле &amp;lt;code&amp;gt;medsci.dm&amp;lt;/code&amp;gt;. Перейдем к самому файлу и посмотрим что в нём находится. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes2.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Разберем по порядку:&lt;br /&gt;
* /obj/item/clothing/under/rank/medical - путь нашего объекта, который наследует всё что в нём написано, наследует методы и параметры одежды &amp;lt;code&amp;gt;/clothing/&amp;lt;/code&amp;gt;, типа предмета &amp;lt;code&amp;gt;/item/&amp;lt;/code&amp;gt; и типа объекта &amp;lt;code&amp;gt;/obj/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; - название нашей одежды&lt;br /&gt;
* &#039;&#039;&#039;desc&#039;&#039;&#039; - описание нашей одежды метода предмета &amp;lt;code&amp;gt;/item/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;icon_state&#039;&#039;&#039; - название иконки лежащей на земле или в инвентаре, которая берется из файла &amp;lt;code&amp;gt;&#039;icons/obj/clothing/uniforms.dmi&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;item_color&#039;&#039;&#039; - название нашего слоя одежды на мобе, который берется из файла &amp;lt;code&amp;gt;&#039;icons/mob/uniform.dmi&#039;&amp;lt;/code&amp;gt;. 4 спрайта в одном файле для каждого из 4-х направлений (Север, Восток, Запад, Юг)&lt;br /&gt;
* &#039;&#039;&#039;permeability_coefficient&#039;&#039;&#039; - коэффициент проницаемых болезней в тело куклы. 1 - обычная величина. А 0.5 - уменьшенная проницаемость (лучше стойкость)&lt;br /&gt;
* &#039;&#039;&#039;armor&#039;&#039;&#039; - коэффициенты защиты одежды. В нашем случае он слегка устойчив к биозаражению (10). 100 - максимальная величина.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь сделаем одежду, наследующую все переменные с нашей докторской одежды, чтобы у неё тоже были те же данные с коэффициентами проницаемости и бронёй, но при этом другая иконка и название. &amp;lt;br&amp;gt;&lt;br /&gt;
Создадим в коде одежду интерна: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes3.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Разберем по порядку&lt;br /&gt;
* /obj/item/clothing/under/rank/medical&#039;&#039;&#039;/intern&#039;&#039;&#039; - создаем новый тип объекта, путем добавления &amp;lt;code&amp;gt;/intern&amp;lt;/code&amp;gt; к пути изначального объекта. Благодаря этому он наследует всё что было определено в объектах по этим путям.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; - новое название нашей одежды. Теперь это одежда интерна.&lt;br /&gt;
* &#039;&#039;&#039;icon_state&#039;&#039;&#039; - название иконки одежды нашего интерна добавленного в файл.&lt;br /&gt;
* &#039;&#039;&#039;item_color&#039;&#039;&#039; - название слоя нашей одежды на кукле, который мы добавили в файл&lt;br /&gt;
&lt;br /&gt;
Теперь разберем как добавлять файлы одежды.&lt;br /&gt;
Для начала откроем необходимый нами файл, находящиеся по заданным путям, в данном случае мы возьмём за пример слой одежды на кукле, находящийся по пути &amp;lt;code&amp;gt;&#039;icons/mob/uniform.dmi&#039;&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes4.png]] &lt;br /&gt;
&lt;br /&gt;
После открытия файла, необходимо теперь найти одежду доктора по известному нам названию слоя &amp;lt;code&amp;gt;&amp;quot;medical&amp;quot;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes5.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Экспортируем (скачаем) слой одежды. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes6.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Изменяем наш слой одежды через редакторы, конвертируя файл в .png или в самом Dream Maker. Но спрайтеры рекомендуют использовать Asperite&lt;br /&gt;
&lt;br /&gt;
Если вы начинающий спрайтер, то не забудьте ознакомиться с [[Руководство по спрайтингу|руководством для спрайтеров]]. Он поможет вам соориентироваться в поиске файлов. &amp;lt;br&amp;gt;&lt;br /&gt;
Если у вас остаются вопросы, вы хотите продвинутой разработки и гайд вам в этом уже не помогает, вы всегда можете обратиться за помощью к другим начинающим разработчикам, спрайтерам и кодерам. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Новая одежда интерна и её иконка: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes7.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После того, как новая одежда была создана, нам необходимо её импортировать (загрузить): &amp;lt;br&amp;gt;&lt;br /&gt;
Это не обязательно, если одежда уже была нарисована в файле с помощью Копирования Dream Maker. &amp;lt;br&amp;gt;&lt;br /&gt;
Для иконки мы проделываем тоже самое в его пути. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes8.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Результат импортирования: &amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте сохранить файл. Горячие клавиши сохранения: &#039;&#039;&#039;Ctrl + S&#039;&#039;&#039;. Если на файле присутствует знак звездочки *, это означает что файл не сохранен. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes9.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь необходимо проверить, нормально ли отрисовывается одежда на кукле при надевании. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Запуск локального сервера#Запуск по кодерски|Чтобы проверить, необходимо запустить локалку.]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если локалка правильно настроена и у вас появились &amp;quot;щитспавн кнопки&amp;quot;, откройте Game Panel, где вы сможете заспавнить нужный вам объект, в нашем случае мы в спавн объектов вписываем путь нашего предмета: &amp;lt;code&amp;gt;/obj/item/clothing/under/rank/medical/intern&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
На самом деле достаточно вписать только &amp;lt;code&amp;gt;/intern&amp;lt;/code&amp;gt; и он сразу выдаст вам все похожие варианты объектов на это слово. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes10.png]] &lt;br /&gt;
&lt;br /&gt;
Теперь оденем нашу куклу и проверим всё ли стабильно отрисовывается и нет ли никаких артефактов (например полупрозрачные символы, которые вы случайно могли оставить). &amp;lt;br&amp;gt;&lt;br /&gt;
Сравним его также с обычной одеждой доктора. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes11.png]] &lt;br /&gt;
&lt;br /&gt;
Добавление одежды успешно. Слой стабильно отрисовывается и нас всё устраивает. &amp;lt;br&amp;gt;&lt;br /&gt;
Теперь можно переходить к пункту загрузки изменений и добавить новую одежду интерна в билд. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Интересная фича&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
Вы можете сделать одежду для альтернативных названий должностей, для этого вам предстоит зайти в файлы профессий находящиеся по пути &amp;lt;code&amp;gt;&amp;quot;code/game/jobs/job/&amp;quot;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
В этой папке находятся файлы, которые определяют, во что будет одета та или иная должность и её должностные свойства. &amp;lt;br&amp;gt;&lt;br /&gt;
Возьмём всё также в пример файл медицинских должностей: &amp;lt;code&amp;gt;&amp;quot;code/game/jobs/job/medical.dm&amp;quot;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Находим интересующую нас должность или добавляем новую. В случае должности интерна это будет выглядеть так: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes12.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
У должности интерна определяется во что он будет одет: &amp;lt;code&amp;gt;outfit = /datum/outfit/job/doctor/intern&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Определяются альтернативные названия: &amp;lt;code&amp;gt;alt_titles = list(&amp;quot;Student Medical Doctor&amp;quot;, &amp;quot;Medical Assistant&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для каждого слота доступного игроку, определяется во что будет одета кукла при заходе на должность. &amp;lt;br&amp;gt;&lt;br /&gt;
Так как должность интерна наследуется от должности доктора, то он одевается сначала в него, а потом в то, что определяется по новому пути. &amp;lt;br&amp;gt;&lt;br /&gt;
Так, униформа от доктора у него будет отличаться и он будет одет в новую одежду для интерна: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;uniform = /obj/item/clothing/under/rank/medical/intern&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для альтернативных названий, с помощью копирования данного кода с заданием пути, возможно определить, во что будет одета альтернативная должность: &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MakeClothes13.png]] &lt;br /&gt;
&lt;br /&gt;
В данном коде указывается, что &amp;quot;Medical Assistant&amp;quot; будет одет в униформу &amp;lt;code&amp;gt;/obj/item/clothing/under/rank/medical/intern/assistant&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
А &amp;quot;Student Medical Doctor&amp;quot; будет одет в специальную светло-зеленый комплект одежды с головой &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; и униформой &amp;lt;code&amp;gt;uniform&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Пример: Модуль&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И так, мы добавили нашу одежду. Но разработчики говорят непонятное слово &amp;quot;модуль&amp;quot; без которого не примут наш ПР. Что же это такое?&lt;br /&gt;
&lt;br /&gt;
Модуль в данном случае - это возможность объединить изменения двух билдов, путем накладывания изменений одного билда на билд-родитель, без прямого изменения кода билда-родителя чтобы уберечь нас от будущих проблем с кодом (мерж-конфликты).&lt;br /&gt;
&lt;br /&gt;
В этом нет ничего сложного, особенно если вы не делаете что-то новое, а просто добавляете всё ту же одежду интерна, что мы и сделали выше.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Краткий гайд как вносить изменения через модуль:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Определяем что за изменение мы вносим и к чему оно относится.&lt;br /&gt;
# Находим или создаем папку с модулем в&amp;lt;code&amp;gt;/modular_ss220/&amp;lt;/code&amp;gt; для нашего изменения.&lt;br /&gt;
## Если создаем, то также вписываем нашу папку с модулем в &amp;lt;code&amp;gt;/modular_ss220/modular_ss220.dme&amp;lt;/code&amp;gt;&lt;br /&gt;
# Вносим изменение в папку с нашим модулем &amp;lt;code&amp;gt;/modular_ss220/&#039;название_модуля/&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
# ...&lt;br /&gt;
# Profit!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Подробный гайд как вносить изменения через модуль:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Определение типа изменения&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И так, чтобы начать, нам нужно определиться, что у нас за изменение. В нашем случае это одежда интерна, значит это одежда (clothing).&lt;br /&gt;
Но какой у него может быть тип для нашего модуля? Абсолютно такой же, как если бы он был изменением вне модуля.&lt;br /&gt;
&lt;br /&gt;
Всё очень просто. Одежда в одежду. Изменения работ - к работам. Добавление новых объектов - к объектам и тому подобное.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Но у меня нестандартная ситуация!&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Что-ж. Представим что нашей одежды не существует как абстрактного класса и вообще это кусок информации, а не объект. Что же тогда нам делать и как определить его тип?&lt;br /&gt;
&lt;br /&gt;
Для этого нам нужно выделить главное сходство наших изменений которые мы вносим. В нашем случае мы хотим чтобы гуманоиды носили одежду и поэтому добавляем их. Это могут быть штаны, очки, ботинки, верх одежды и т.п. Что их объединяет? Их нужно носить, это одежда, они для мобов. Но добавили мы сами объекты одежды, не мобов, не возможность ношения, а только одежду. Значит останавливаемся на типе &amp;quot;одежда&amp;quot; - это и будет наш тип для нашего нового модуля &amp;quot;clothing&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Модульная папка&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы определили что наш тип изменений относится к одежде, значит нам нужно либо создать, либо найти папку модуля &amp;quot;clothing&amp;quot;.&lt;br /&gt;
Давайте проверим, существует ли такая папка уже? Через Visual Studio Code нажмем горячие клавиши &#039;&#039;&#039;Ctrl + P&#039;&#039;&#039;, открыв &amp;quot;поиск по файлам&amp;quot;, пишем туда наш тип, проверяем что он нам выдал.&lt;br /&gt;
&lt;br /&gt;
[[Файл:CtrlP clothing.png|безрамки|701x701пкс]]&lt;br /&gt;
&lt;br /&gt;
И так, у нас 2 файла и оба &amp;quot;clothing&amp;quot;. Смотрим рядом путь куда он ведет. Нам повезло! Такой модуль уже существует и на это указывает &amp;lt;code&amp;gt;modular_ss220\clothing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Туда нам и надо, нажимаем и попадаем в папку с модулем, где мы уже и можем работать.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Модульной папки не существует&amp;lt;/u&amp;gt;[[Файл:Example code modular.png|мини]]И такое бывает, значит мы создадим наш новый, в этом ничего сложного.&lt;br /&gt;
&lt;br /&gt;
# Нам необходимо найти модульную папку &amp;lt;code&amp;gt;modular_ss220/example&amp;lt;/code&amp;gt; и всё через тот же поиск &#039;&#039;&#039;Ctrl + P&#039;&#039;&#039; или инспектор файлов (EXPLORER), по умолчанию находящийся слева.&lt;br /&gt;
# Выделяем нашу всю модульную папку &amp;lt;code&amp;gt;modular_ss220/example&amp;lt;/code&amp;gt; и дублируем её, копируя &#039;&#039;&#039;Ctrl + C&#039;&#039;&#039; и вставляя &#039;&#039;&#039;Ctrl + V&#039;&#039;&#039; в общий модуль.  Путь скопированной папки: &amp;lt;code&amp;gt;modular_ss220/example copy&amp;lt;/code&amp;gt; - убедитесь, что папка правильно расположена и это её путь.&lt;br /&gt;
# Переименовываем файлы, в нашем случае в clothing Путь переименованной папки: &amp;lt;code&amp;gt;modular_ss220/clothing&amp;lt;/code&amp;gt;&lt;br /&gt;
# В файле &amp;lt;code&amp;gt;modular_ss220/clothing/_clothing.dme&amp;lt;/code&amp;gt; переименовываем &amp;quot;example&amp;quot; в &amp;quot;clothing&amp;quot;. Так мы подключили наши файлы к нашей модульной папке.&lt;br /&gt;
# Добавляем строку пути к нашему файлу в основном модуле &amp;lt;code&amp;gt;/modular_ss220/modular_ss220.dme&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И на этом всё.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Example code module rename2.png|безрамки|423x423пкс]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Подробнее о файлах:&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/modular_ss220/modular_ss220.dme&amp;lt;/code&amp;gt; - файл, подключающий все модули для работы их с билдом. Сюда добавляются модульные &amp;lt;code&amp;gt;.dme&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/modular_ss220/example/_example.dme&amp;lt;/code&amp;gt; - файл, подключающий все наши файлы с кодом &amp;lt;code&amp;gt;.dm&amp;lt;/code&amp;gt; в этом модуле.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/modular_ss220/example/_example.dm&amp;lt;/code&amp;gt; - файл, в котором хранится информация о нашем модуле. Его название, кто автор. В дальнейшем это отображается в modpack&#039;е в игре. &lt;br /&gt;
&lt;br /&gt;
Здесь же хранятся файлы инициализации на случай, если вам нужно дополнить глобальные списки.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Изменение в модуль&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И так, у нас есть модульная папка и мы знаем куда и что делать. Что дальше? А собственно всё. Дальше начинается всё та же разработка как и везде. &lt;br /&gt;
Ну почти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Как добавить новый объект?&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Точно также как и объекты вне модуля, только в наш модуль. Создавайте для них них папки, файлы и не забывайте вносить их в ваш модульный &amp;lt;code&amp;gt;.dme&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Как внести изменения в уже имеющийся объект?&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А вот здесь уже интереснее, всё зависит от того какого типа изменения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Изменения переменной&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Представим что нам нужно изменить униформу &amp;lt;code&amp;gt;/obj/item/clothing/under/rank/civilian/chef&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для этого в коде мы пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/clothing/under/rank/civilian/chef&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И далее что хотим изменить, например новую иконку, имя и описание:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/clothing/under/rank/civilian/chef&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    name = &amp;quot;chef&#039;s red uniform&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    desc = &amp;quot;Униформа повара с пуговицами на одну сторону.&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    icon = &#039;modular_ss220/clothing/icons/object/under.dmi&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    icon_state = &amp;quot;chef_red&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    item_color = &amp;quot;chef_red&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    sprite_sheets = list(&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;        &amp;quot;Human&amp;quot;             =   &#039;modular_ss220/clothing/icons/mob/under.dmi&#039;,&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;        &amp;quot;Vox&amp;quot;               =   &#039;modular_ss220/clothing/icons/mob/species/vox/under.dmi&#039;,&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;        )&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как видите, ничего особенного, всё тоже самое. Теперь объект будет тот же самый, но с нашими новыми значениями.&lt;br /&gt;
&lt;br /&gt;
Также важно приметить путь &#039;icon&#039;, для него вам необходимо писать полный путь к вашему файлу с иконкой.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Внесение дополнительных значений в список&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но что делать если у объекта имеется список, например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/example&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    var/list/example_list = list(item1, item2, item3)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
К сожалению, но нам нельзя просто так в переопределении этого объекта в нашем модуле написать знак равно &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;, ведь нам нужно сохранить элементы в списке, мы же не хотим просто так дублировать код, верно? Для этого есть изящное решение, мы вносим наши значения прямо во время загрузки этого объекта при инициализации:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/example/Initialize(mapload)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    . = ..()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    example_list |= list(item4, item5, item6)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И так, что мы делаем? &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Initialize(mapload)&amp;lt;/code&amp;gt; - функция определения перед спавном объекта. В этот момент у нас уже есть все загруженные переменные и списки, соответственно мы добавляем новые в уже существующие.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;. = ..()&amp;lt;/code&amp;gt; - наследование от родителя. НЕОБХОДИМАЯ вещь для нашего модуля, так как позволяет вносить изменения в функции с сохранением её работы. Вызывать её мы можем в любом месте нашего кода. Мы с его помощью Задаем текущее состояние состоянием родителя.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; - текущее исполнение и определение состояния функции TRUE/FALSE/значения.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;..()&amp;lt;/code&amp;gt; - функция исполнения родителя&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;example_list |= list()&amp;lt;/code&amp;gt; - мы добавляем к имеющемуся списку наш список с элементами.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Изменение функции&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будь то функция инициализации или любая другая функция &amp;lt;code&amp;gt;/proc/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разницы абсолютно никакой с тем же что мы сделали в примере выше.&lt;br /&gt;
&lt;br /&gt;
Представим что у нас есть функция которую нам нужно изменить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/example/proc/do_thing()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Наше решение - это вызвать эту же функцию, вызвать её наследование и после дописать наш код.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/example/do_thing()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    . = ..()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    do_our_thing()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном случае функция сначала исполнит родителя, а уже потом выполнит наш код.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/example/do_thing()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    do_our_thing()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    . = ..()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь функция сначала выполнит наш код, а уже потом код родителя.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/obj/item/example/do_thing()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    if(!..())      // или по другому можно написать:   if(..() == FALSE)&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;        return&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;    do_our_thing()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь, если наша родительская функция вернет значение &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;, то мы прерываем выполнение функции с помощью &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt; и не выполняем нашу часть кода.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Устанавливаем и настраиваем Visual Studio Code==&lt;br /&gt;
=== Установка VScode===&lt;br /&gt;
&lt;br /&gt;
* Идём на вебсайт VSCode&#039;s: https://code.visualstudio.com/&lt;br /&gt;
* Загружаем и устанавливаем актуальную версию.&lt;br /&gt;
&lt;br /&gt;
=== Установка VSCode плагинов===&lt;br /&gt;
Когда вы откроете Paradise репозиторий, у вас появится уведомление об установке некоторых рекомендованных дополнений, они просто устанавливаются по данному алгоритму&lt;br /&gt;
&lt;br /&gt;
* Перейдите на вебсайт VScode и загрузите плагины&lt;br /&gt;
* Нажатие &amp;quot;Установка&amp;quot; перенаправит вас в VSCode где вы можете установить и перезагрузить его&lt;br /&gt;
&lt;br /&gt;
Вот пара плагинов, которые крайне полезны для кодинга в DM&lt;br /&gt;
* Подсветка синтаксиса: https://marketplace.visualstudio.com/items?itemName=gbasood.byond-dm-language-support&lt;br /&gt;
* Поиск символов: https://marketplace.visualstudio.com/items?itemName=platymuus.dm-langclient&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
==Установка и настройка Github==&lt;br /&gt;
Эта часть про установку и настройку Git и созданию Github аккаунта.&lt;br /&gt;
===Установка Git Bash===&lt;br /&gt;
* Переходим: http://git-scm.com/downloads&lt;br /&gt;
* Загружаем Windows Git программу, подходящую вашей операционной системе (оно должно будет выглядеть как &amp;quot;Git-2.18.0-64-bit.exe&amp;quot;)&lt;br /&gt;
* Устанавливаем его и оставляем всё в стандартном режиме (просто пропускаем всё кнопкой next).&lt;br /&gt;
* Дожидаемся конца установки.&lt;br /&gt;
* Готово!&lt;br /&gt;
===Регистрируемся в Git===&lt;br /&gt;
(Пропустите, если у вас уже есть аккаунт) &lt;br /&gt;
Вам нужен будет аккаунт, чтобы привносить изменения в репозиторий (Место, где хранится код) должным образом.&lt;br /&gt;
* Переходим: https://github.com/&lt;br /&gt;
* Нажимаем &#039;&#039;&#039;Sign up&#039;&#039;&#039; в правом верхнем углу.&lt;br /&gt;
* Вводим свою почту&lt;br /&gt;
* Придумываем пароль&lt;br /&gt;
* Создаём себе крутой ник&lt;br /&gt;
* Соглашаемся или отказываемся от рассылки.&lt;br /&gt;
* Решаем капчу и создаём аккаунт!&lt;br /&gt;
* Готово!&lt;br /&gt;
&lt;br /&gt;
===Скрываем свою почту (Опционально, рекомендуется)===&lt;br /&gt;
Некоторые из вас не захотят показывать в своём резюме, что они работали над какими-то сомнительными проектами. Или более приближённо, сообщество SS13 мрачно и полно ужасов, и вам захочется защитить свою почту (или использовать подставную почту в первую очередь).&lt;br /&gt;
&lt;br /&gt;
О, и вам наверняка захочется редактировать ERP сервера под альтернативным именем.&lt;br /&gt;
&lt;br /&gt;
По умолчанию включено, но лучше перестраховаться&lt;br /&gt;
* Заходим в аккаунт на Github&lt;br /&gt;
* В правом верхнем углу нажимаем на свой профиль&lt;br /&gt;
* Появится список, выбираем &amp;quot;настройки&amp;quot;&lt;br /&gt;
* Переходим к Emails&lt;br /&gt;
* Включаем настройку Keep my email addresses private. Теперь Github будет использовать безответны письма при операциях.&lt;br /&gt;
* Теперь вы защищены лучше!&lt;br /&gt;
&lt;br /&gt;
===Настраиваем Git (Опционально)===&lt;br /&gt;
* Переходим: https://help.github.com/articles/set-up-git/#setting-up-git&lt;br /&gt;
* Следуя гайду выше, вы можете установить Git для Windows если хотите, однако это не рекомендуется&lt;br /&gt;
* Теперь у вас есть полностью настроенный Git, но если вы неграмотны в написании кода, как я, то вам захочется иметь какую-нибудь причудливую графику!&lt;br /&gt;
&lt;br /&gt;
===Дополнительная помощь===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Вспомогательные видео (на английском) для лучшего понимания Github&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.4em;&amp;quot;&amp;gt;[https://www.youtube.com/watch?v=ZDR433b0HJY Введение в Git с Scott Chacon от GitHub]&amp;lt;br&amp;gt;[https://www.youtube.com/watch?v=MYP56QJpDr4 Git from bits up]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.youtube.com/watch?v=4XpnKHJAok8 Linus Torvalds (Тот парень, которой изобрёл Linux и Git)]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
==Форк кода Парадайза==&lt;br /&gt;
&lt;br /&gt;
;Репозиторий&lt;br /&gt;
:Версия кода, может быть один или несколько оригинальных, на которых собирается проверенный на других репозиториях код.&lt;br /&gt;
&lt;br /&gt;
;Форкинг&lt;br /&gt;
:Создание своего ответвления от оригинального кода, создание репозитория&lt;br /&gt;
&lt;br /&gt;
Теперь посетите [https://github.com/ss220club/Paradise-SS220 Paradise Github репозиторий]  Вам нужно будет нажать кнопку &amp;lt;code&amp;gt;Fork&amp;lt;/code&amp;gt; в правом верхнем углу.&lt;br /&gt;
&lt;br /&gt;
[[File:ForkingParacode.png]] &lt;br /&gt;
&lt;br /&gt;
Ого, у вас теперь есть свой репозиторий! Фактически репозиторий — полная копия оригинального кода, отличие лишь в том, что они не связаны и любые ваши изменения не влияют на оригинал. Теперь, давайте скомбинируем ваш репозиторий и VS Code! Вернитесь в VS Code и перезапустите его. Под меню контроля ресурсов (выглядит как ветка дерева) нажмите &amp;lt;code&amp;gt;Clone Repository&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Это должно будет выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[File:VSCodeSidebar.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Если этой кнопки там нет, то вы можете нажать комбинацию &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Shift&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;P&amp;lt;/kbd&amp;gt; что бы открыть список команд, затем введите туда &amp;lt;code&amp;gt;Git: Clone&amp;lt;/code&amp;gt; и нажмите &amp;lt;kbd&amp;gt;Enter&amp;lt;/kbd&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь, вставьте URL репозитория, который вы создали пару шагов назад. Для этого зайдите в свой репозиторий через меню профиля, а после возьмите ссылку страницы. Оно должно быть похоже на такую ссылку: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://github.com/ваше&amp;lt;/nowiki&amp;gt; имя/имя репозитория&amp;lt;/code&amp;gt; Далее выберите папку, в которой будет хранится локальный репозиторий. Процесс загрузки может занять много времени, налейте себе чаю. После загрузки откройте эту папку в VS Code. Теперь у вас есть локальная копия кода!&lt;br /&gt;
&lt;br /&gt;
===Расширения VS Code===&lt;br /&gt;
Нажмите на кнопку &amp;lt;code&amp;gt;Extensions&amp;lt;/code&amp;gt; (расширения) на левой панели (выглядит как кучка квадратов), или нажмите комбинацию &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;Shift&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;X&amp;lt;/kbd&amp;gt;. Вы должны будете увидеть количество рекомендованных расширений. Если нет, пропишите &amp;lt;code&amp;gt;@recommended&amp;lt;/code&amp;gt; в поисковую строку. По крайней мере вы захотите установить необходимые расширений из списка ниже. Рекомендованные расширения не обязательны, но значительно облегчат вам работу.&lt;br /&gt;
&lt;br /&gt;
====Необходимые расширения====&lt;br /&gt;
&lt;br /&gt;
; BYOND DM Language Support&lt;br /&gt;
:Подсветка синтаксиса для языка DM&lt;br /&gt;
; DreamMaker Language Client&lt;br /&gt;
:Необычные функции, такие как отладка и переход к определениям&lt;br /&gt;
; EditorConfig for VS Code&lt;br /&gt;
:Загружает стандартную конфигурацию редактора для кодовой базы&lt;br /&gt;
; ESlint&lt;br /&gt;
:Предоставляет список для Javascript (этот необходим только если вы планируете работать с TGUI)&lt;br /&gt;
&lt;br /&gt;
====Рекомендованные расширения====&lt;br /&gt;
; GitLens&lt;br /&gt;
:Предоставляет классные фичи, такие как возможность выбрать строчку и увидеть время последней редакции и кто её редактировал&lt;br /&gt;
; Error Lens&lt;br /&gt;
:Подсветка строк кода, в которых есть ошибки и показывание ошибок в той же строчке&lt;br /&gt;
; GitHub Pull Requests&lt;br /&gt;
:Позволяет сделать запрос помощи прямо из редактора&lt;br /&gt;
; Git Graph&lt;br /&gt;
:Позволяет более визуально удобно работать с ветвями&lt;br /&gt;
; Bracket Pair Colorizer 2&lt;br /&gt;
:Подкрашивает скобки в разные цвета, позволяя не запутаться в их количестве&lt;br /&gt;
&lt;br /&gt;
===Добавляем Paracode как верхний репозиторий===&lt;br /&gt;
Нам надо добавить главный Paradise репозиторий в качестве удалённого репозитория.&lt;br /&gt;
&lt;br /&gt;
чтобы сделать это, откройте командную палитру, введите &amp;lt;code&amp;gt;Git: Add Remote&amp;lt;/code&amp;gt; и нажмите &amp;lt;kbd&amp;gt;Enter&amp;lt;/kbd&amp;gt;. Далее, вам предложит ввести URL ссылку , а потом и имя удалённого репозитория. Вводим &amp;lt;code&amp;gt;https://github.com/ss220club/Paradise-SS220&amp;lt;/code&amp;gt; в качестве URL, и &amp;lt;code&amp;gt;upstream&amp;lt;/code&amp;gt; в качестве имени. После завершения вы будете иметь главный Paradise репозиторий в качестве верхнего удалённого: Это позволит вам легко отправлять запросы о помощи позже.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Делаем изменения==&lt;br /&gt;
Во-первых, давайте поговорим о &#039;&#039;&#039;ветвях&#039;&#039;&#039;. Первое, что надо выполнить - это сделать новую ветвь в вашем ответвлении. Это важно, потому что вам никогда не следует делать изменения в вашу обычную ветвь (оригинальную) вашего ответвления. Ей стоит оставить в чистом состоянии.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Для каждого PR, который вы создаёте делайте новую ветку.&#039;&#039;&#039; Таким образом, каждый ваш индивидуальный проект будет иметь свою собственную ветвь. Изменения одной ветки не будут влиять на другие ветки, так что вы сможете работать над несколькими проектами одновременно.&lt;br /&gt;
===Создание ветвей===&lt;br /&gt;
Чтобы создать новую ветвь, откройте source control на боковой панели. Перейдите к More Actions menu (выглядит как &amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;) и нажмите &amp;lt;code&amp;gt;Checkout to...&amp;lt;/code&amp;gt; , типа такого:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VSCodeBranching.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь нажмите &amp;quot;Create new branch&amp;quot;. В этом гайде я буду создавать новую шляпу, поэтому именем моей ветки будет &amp;lt;code&amp;gt;hat-landia&amp;lt;/code&amp;gt;. Если вы посмотрите в левый нижний угол, вы увидите, что VS Code автоматически проверил нашу ветку:[[File:VSCodeBranchExample.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Запомните, &#039;&#039;&#039;никогда не изменяйте главную ветвь!&#039;&#039;&#039; Вы можете работать с любой веткой сколько вам угодно, пока фиксируете изменения в отдельной (новосозданной) ветке.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Вперёд! Меняйте код как хотите! Это гайд по тому, как вносить изменения, не по тому, что вам вносить! Так что я не расскажу вам как именно вам кодить, создавать спрайты или менять карту. Если вам нужна будет помощь, попробуйте спросить в канале &amp;lt;code&amp;gt;#ss13-трекер&amp;lt;/code&amp;gt; или дождитесь кого-то из кодеров в онлайне в дискорде.&lt;br /&gt;
&lt;br /&gt;
===Изменения кода===&lt;br /&gt;
Вы можете найти код для редактирования во владке &amp;quot;Explorer&amp;quot; (два листа бумаги) в боковой панели; если вам надо найти файл или строку кода, и вы знаете его имя или расположение, то вы можете использовать поиск, он находится в боковой панели под Explorer.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Стиль старой школы: если вы хотите использовать DreamMaker вместо этого, можете редактировать их там - как только вы их сохраните, VS Code обновит ваши изменения и вы сможете продолжать следовать гайду здесь.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь сохраняем свои изменения. Если вновь взглянем на контроль ресурсов (Source Control), мы увидим, что у нас появилось несколько изменений. Git нашёл каждое изменение, которое вы сделали со своим форком на вашем компьютере! Даже если вы изменили единственный пробел в одной строчке кода, Git найдёт это изменение. Просто убедитесь, что вы сохранили свои файлы.&lt;br /&gt;
===Тестируем свой код===&lt;br /&gt;
Самый простой способ протестить свои изменения, это нажать &#039;&#039;&#039;F5&#039;&#039;&#039; или воспользоваться меню &#039;&#039;&#039;run and debug&#039;&#039;&#039; под контролем ресурсов&#039;&#039;&#039;.&#039;&#039;&#039; Это скомпилирует ваш код, запустит сервер и присоединит вас к нему, а так же выдаст вам права администратора. Это также запустит дебаггер, который поможет вам изучить, что могло пойти не так, когда ошибка закроет вам игру. Если вы хотите не запускать дебаггер, то нажмите &#039;&#039;&#039;Ctrl + F5&#039;&#039;&#039; для запуска. Запуск сервера может занять длительное время, не надо постоянно останавливать и перезапускать запуск.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это не сделает вас админом в игре автоматически, для этого вам надо скопировать всё из &amp;lt;code&amp;gt;/config/example&amp;lt;/code&amp;gt;  и вставить это в  &amp;lt;code&amp;gt;/config&amp;lt;/code&amp;gt;. Затем надо будет отредактировать &amp;lt;code&amp;gt;/config/admins.txt&amp;lt;/code&amp;gt; , добавив строчку &amp;lt;code&amp;gt;ваше имя в byond - Hosting Provider&amp;lt;/code&amp;gt; в список, по аналогии с примером, который уже будет в файле.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это компилирует код в dmb файл. Затем вы можете запустить Dream Daemon, выбрать файл dmb, установить Security(безопасность) на Trusted(Доверенное) и нажать GO, чтобы запустить сервер. После запуска сервера вы можете нажать на новую кнопку над кнопкой GO/STOP (которые теперь красные), чтобы подключиться.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DreamDaemon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обязательно проверяйте не только свои изменения, но и косвенные. Убедитесь, что они больше ничего не затронули с чем это могло быть взаимосвязано.&lt;br /&gt;
Например поменяв модификатор скорости усваивания у родительского реагента, вы также затрагиваете скорость усваивания дочерних.&lt;br /&gt;
&lt;br /&gt;
===Изменения в вашу ветку===&lt;br /&gt;
Наведите указатель мыши на слово &#039;&#039;&#039;Changes&#039;&#039;&#039; и нажмите знак плюса, чтобы подготовить все измененные файлы. Это должно выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[File:VSCodeStageChanges.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Или выберите каждый файл, который вы хотите изменить по отдельности. Staged Changes — это изменения, которые вы собираетесь отправить в коммит, а затем в Pull Request. Как только вы это сделаете, они появятся на новой вкладке «Staged Changes»&lt;br /&gt;
&lt;br /&gt;
[[File:VSCodeStagedChanges.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Нажмите на один из файлов кода, которые вы изменили! Вы увидите всплывающее окно сравнения исходного файла с новым файлом. Здесь вы можете видеть, строка за строкой, каждое сделанное вами изменение. Красные линии — это строки, которые вы удалили или изменили, а зеленые — это строки, которые вы добавили или обновили. Вы даже можете включить или отключить отдельные строки с помощью меню More Actions &amp;lt;code&amp;gt;(...)&amp;lt;/code&amp;gt; в правом верхнем углу.&lt;br /&gt;
&lt;br /&gt;
Теперь, когда вы подготовили свои изменения, вы готовы сделать коммит. В верхней части панели вы увидите раздел Message «Сообщение». Введите имя, описывающее ваши изменения в коммите и описание, если необходимо. Будьте лаконичны! По вашему коммиту должно быть понятно какие изменения оно совершает.&lt;br /&gt;
&lt;br /&gt;
Убедитесь, что вы проверили новую ветку, созданную ранее, и нажмите на галочку! Это сделает ваш коммит и добавит его в вашу ветку. Это должно выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[File:VSCodeCommit.png]]&lt;br /&gt;
&lt;br /&gt;
Ну вот! Вы успешно внесли изменения(commit) в свою ветку(branch). Он все еще «неопубликован» и находится только на вашем локальном компьютере, на что указывает значок маленького облака и стрелки в левом нижнем углу.&lt;br /&gt;
&lt;br /&gt;
===Публикация на GitHub===&lt;br /&gt;
Щелкните значок GitHub на левой боковой панели, выглядящий как кошка в кругу. Теперь вам нужно щелкнуть знак +, который появляется в левом верхнем углу, например:&lt;br /&gt;
&lt;br /&gt;
[[File:VSCodeCreatePR.png]]&lt;br /&gt;
&lt;br /&gt;
Затем выберите верхний репозиторий (upstream repo) и нацельтесь на главную ветку(master branch). Вы сможете выбрать название вашего PR. Расширение сделает ваш PR с выбранным вами заголовком и описанием по умолчанию. &#039;&#039;&#039;ПЕРЕД ОТПРАВКОЙ:&#039;&#039;&#039; убедитесь, что вы правильно создали PR и следовали шаблону описания.&lt;br /&gt;
&lt;br /&gt;
Примечание к журналам изменений (ChangeLogs). Журналы изменений должны быть ориентированы на игрока, то есть они должны быть понятными и применимыми к обычному пользователю, не знакомому с кодингом. Будьте как можно более проще,&lt;br /&gt;
&amp;lt;pre&amp;gt;Исправление(fix): Исправлена ​​ошибка с X, когда вы Y&lt;br /&gt;
Фича(tweak): усилен X, чтобы наносить Y больше урона. &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Избегайте написания гигантских журналов изменений и внутренних изменений кода, которые явно не влияют на игровой процесс игрока. Это все примеры того, что вы не должны добавлять:&lt;br /&gt;
&amp;lt;pre&amp;gt;tweak: добавлен флаг NO_DROP к элементу X.&lt;br /&gt;
tweak: рефакторинг ДНК, чтобы CPU лучше работал&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ShareX — очень полезный инструмент для внесения вклада, так как он позволяет создавать гифки для отображения ваших изменений. вы можете скачать его, [https://getsharex.com/ здесь]&lt;br /&gt;
&lt;br /&gt;
если все пойдет хорошо, ваш PR должен выглядеть так:&lt;br /&gt;
&lt;br /&gt;
[[Файл:ExamplePR.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Если вы хотите добавить больше изменений(коммитов) в свой PR, все, что вам нужно сделать, это просто отправить эти коммиты в ветку.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Учимся кодить==&lt;br /&gt;
Теперь, когда всё настроено, осталось сделать последний штрих. Изучить логику и код. Ну ладно, не совсем последний штрих. Не бойся, хоть это одна из сложных вещей, есть масса гайдов по Dream Maker, а также кодеры, которые вам помогут! Главное правило изучение - не просите делать всё за вас, а то вы так ничего не изучите. Всё дается не сразу и поэтому стоит набраться терпения и сил. Кодерами не рождаются, ими становятся, пересилив себя ради создания хороших вещей!&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ss13.ru/index.php?title=All_about_the_code Переведенный гайд] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://secure.byond.com/docs/ref/info.html# DM Reference] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/tgstation/tgstation/blob/master/.github/guides/STYLE.md TG STYLE] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/tgstation/tgstation/blob/master/.github/guides/STANDARDS.md TG STANDARDS] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:99%&amp;quot; class=&amp;quot;toccolours&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.8em;&amp;quot;&amp;gt;&#039;&#039;&#039;СТОЯТЬ! Если ты только начинаешь и уверен что готов двигаться дальше, то можешь ознакомиться с инструкциями ниже по настройке твоих IDE и дополнительной информацией.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
==Настройка и использование Github Desktop==&lt;br /&gt;
* Заходим на: https://desktop.github.com/&lt;br /&gt;
* Скачиваем Github Desktop для своей системы.&lt;br /&gt;
* Дожидаемся окончания установки!&lt;br /&gt;
* Следуем шагам для регистрации/логина на GitHub..&lt;br /&gt;
&lt;br /&gt;
===Ответвление [Fork]===&lt;br /&gt;
Читаем [[#Forking ParaCode|данный гайд по ответвлению.]][[Файл:CloneRepo.png|мини|Выпадающее меню]]&lt;br /&gt;
&lt;br /&gt;
===Создание локального репозитория===&lt;br /&gt;
* Открываем Github Desktop&lt;br /&gt;
* Выбираем &amp;quot;File&amp;quot;, &amp;quot;Clone repository..&amp;quot;&lt;br /&gt;
* Выбираем ваш ответвленный Paradise репозиторий&lt;br /&gt;
* Выбираем локальный путь куда будет клонирован репозиторий&lt;br /&gt;
* Нажмите Clone и дождитесь окончания&lt;br /&gt;
*Теперь у вас есть локальный репозиторий на вашем устройстве&lt;br /&gt;
&lt;br /&gt;
===Обновление вашего репозитория===&lt;br /&gt;
* Перед тем как начать работу, вы должно обновить ваш master&lt;br /&gt;
* Откройте Github Desktop и выберите ваш репозиторий&lt;br /&gt;
*Нажмите на &#039;&#039;Current Branch&#039;&#039; в верхней части экрана&lt;br /&gt;
*Выберите ваш &#039;&#039;master&#039;&#039;, для нашего билда это &#039;&#039;&#039;master&#039;&#039;&#039; &amp;lt;small&amp;gt;(рекомендуем его переименовать в master220)&amp;lt;/small&amp;gt;&lt;br /&gt;
* Кликните внизу на &#039;&#039;Choose a branch to merge into &#039;&#039;&#039;master&#039;&#039;&#039;&#039;&#039; &amp;lt;small&amp;gt;(или master220)&amp;lt;/small&amp;gt;&lt;br /&gt;
* Найдите &#039;&#039;upstream/master branch&#039;&#039; и выберите его.&lt;br /&gt;
* Нажмите на &#039;&#039;Merge &#039;&#039;&#039;upstream/master&#039;&#039;&#039; into &#039;&#039;&#039;master&#039;&#039;&#039;&#039;&#039; &amp;lt;small&amp;gt;(или master220)&amp;lt;/small&amp;gt;&lt;br /&gt;
[[Файл:Branch.png|мини|Branch в GitHub Desktop]]&lt;br /&gt;
&lt;br /&gt;
===Ответвляем от репозитория [Branch]===&lt;br /&gt;
*&#039;&#039;&#039;Branch-ветвление вашего репозитория очень важно для организации ваших коммитов (изменений), у вас должна быть отдельная ветка для каждого несвязанного изменения кода (например, если вы хотите создать несколько новых спрайтов для одного элемента и изменить свойства другого, они должны быть в отдельных ветках). Запросы на слияние (Pull Request) работают с ветками (Branch), а не с коммитами, это позволит вам создавать отдельные запросы на слияние для каждого изменения. Это упростит весь процесс и избавит всех от головной боли...&#039;&#039;&#039;&lt;br /&gt;
* Откройте Github Desktop и выберите ваш репозиторий&lt;br /&gt;
*Нажмите на Current Branch в верхней части экрана&lt;br /&gt;
*В выпадающем меню нажмите на New Branch&lt;br /&gt;
* Задайте ему название зависимое от ваших изменений и нажмите Create branch&lt;br /&gt;
&lt;br /&gt;
===Переключение между branch-ветвями===&lt;br /&gt;
* Откройте Github Desktop и выберите ваш репозиторий&lt;br /&gt;
* Нажмите на выпадающее меню Current branch и выберите branch-ветку на который хотите переключиться.&lt;br /&gt;
* If you have open changes then it might fail. Either stash, commit or discard the open changes and try again. Если у вас есть изменения, это может привести к ошибке. Вы можете их зафиксировать, оставить в предыдущей ветке, отменить изменения и повторить попытку.&lt;br /&gt;
[[Файл:Commit Change.png|мини|Внесение изменения]]&lt;br /&gt;
&lt;br /&gt;
===Делаем Commit-изменение===&lt;br /&gt;
* Коммит — это подтвержденное изменение файлов в вашем репозитории, именно так вы постоянно вносите изменения в файлы в вашем репозитории, поэтому старайтесь не вносить коммит, не убедившись, что он работает (хотя последующие коммиты могут это исправить).&lt;br /&gt;
*Как и было ранее сказано, вы должны использовать разные версии веток-branch&#039;ей для внесения ваших commit-изменений. &#039;&#039;&#039;Не вносите изменение в ваш master.&#039;&#039;&#039; Он должен оставаться чистым, чтобы вы могли использовать его для создания последующих веток и откатов при нужде.&lt;br /&gt;
*Чтобы внести свои изменения-commit&#039;ы, вам нужно отредактировать файлы с помощью встроенных инструментов редактирования BYOND или любого другого инструмента редактирования, такого как Visual Studio Code ([[Руководство по разработке#Устанавливаем и настраиваем Visual Studio Code|Как его установить?]]), который рекомендуем для разработки. Обязательно соблюдайте стандарты кодирования при внесении изменений!&lt;br /&gt;
* Откройте Github Desktop и выберите ваш репозиторий&lt;br /&gt;
* Повторно проверьте внесенные вами изменения.&lt;br /&gt;
* Назовите внесенные изменения.&lt;br /&gt;
* Опционально, опишите внесенные вами изменения.&lt;br /&gt;
* Нажмите &#039;&#039;Commit to &amp;quot;BRANCH_NAME&amp;quot;&#039;&#039; &lt;br /&gt;
*Ваши изменения внеслись в вашу ветку, вы можете повторно увидеть их во вкладке History&lt;br /&gt;
&lt;br /&gt;
===Делаем Pull Request (ПР)===&lt;br /&gt;
* Открываем Github Desktop и выбираем ваш репозиторий&lt;br /&gt;
* Нажимаем на Public branch&lt;br /&gt;
* Переходим на ваш GitHub репозиторий, к примеру: https://github.com/NAME/Paradise&lt;br /&gt;
* Нажимаем &#039;&#039;&#039;Pull Request&#039;&#039;&#039; на самом верху&lt;br /&gt;
* Заполняем форму с изменениями, после чего создает Pull Request.&lt;br /&gt;
* You&#039;re done! In many cases there will be issues pointed out by other contributors, unfortunate merge conflicts, and other things that will require you to revisit your pull request. &lt;br /&gt;
*Готово! Во многих случаях в ваших изменениях могут обнаружиться ошибки, на которые указали другие участники, либо же неудачные конфликты слияния или другие вещи, которые потребуют от вас пересмотра вашего запроса на включение. &lt;br /&gt;
*Не забудьте убедиться что у вас всё верно и постарайтесь получить одобрение от других участников разработки.&lt;br /&gt;
*Теперь вам необходимо ожидать внесения ваших изменений в родительский репозиторий.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setting up &amp;amp; Using TortoiseGit==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.2em;&amp;quot;&amp;gt;&#039;&#039;&#039;Настройка на английском. Для новичков рекомендуем по прежнему использовать Github Desktop&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Go here: http://code.google.com/p/tortoisegit/wiki/Download&lt;br /&gt;
* Download the right TortoiseGit for your system.&lt;br /&gt;
* When installing, click &#039;&#039;&#039;OpenSSH&#039;&#039;&#039; rather than TortoisePLink&lt;br /&gt;
* Finish installing.&lt;br /&gt;
* &#039;&#039;&#039;RESTART YOUR COMPUTER THIS IS NOT A DRILL.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Forking Code===&lt;br /&gt;
See [[#Forking ParaCode|this]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Downloading the Code===&lt;br /&gt;
* Find a place you don&#039;t mind the code sitting.&lt;br /&gt;
* Right click and choose &#039;&#039;&#039;Git Clone...&#039;&#039;&#039;&lt;br /&gt;
* The URL field should be filled with the URL of your Fork. If not, paste it in.&lt;br /&gt;
* Click Next and watch flying tortoises bring you your code.&lt;br /&gt;
&lt;br /&gt;
===Setting up TortoiseGit===&lt;br /&gt;
* Right click &#039;&#039;&#039;on the folder that was created&#039;&#039;&#039; (usually called Paradise), and go to &#039;&#039;&#039;TortoiseGit&#039;&#039;&#039; and then click on &#039;&#039;&#039;Settings&#039;&#039;&#039;.&lt;br /&gt;
* Click on &#039;&#039;&#039;Remote&#039;&#039;&#039; under &#039;&#039;&#039;Git&#039;&#039;&#039;.&lt;br /&gt;
* There should be one thing on the list of remotes, with the name: &#039;&#039;&#039;origin&#039;&#039;&#039;.&lt;br /&gt;
* You&#039;re now adding the main repository as a source you can pull updates from.&lt;br /&gt;
* In the &#039;&#039;&#039;Remote&#039;&#039;&#039; box type in &#039;&#039;&#039;upstream&#039;&#039;&#039;.&lt;br /&gt;
* In the &#039;&#039;&#039;URL:&#039;&#039;&#039; box put: https://github.com/ss220-space/Paradise.git&lt;br /&gt;
* Click &#039;&#039;&#039;Add New/Save&#039;&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;&#039;Ok&#039;&#039;&#039;.&lt;br /&gt;
* Almost done!&lt;br /&gt;
&lt;br /&gt;
===Updating your Repository===&lt;br /&gt;
* Updating your repo with the master should be done before trying anything.&lt;br /&gt;
* Right-click the folder your repo is in and select &#039;&#039;&#039;TortoiseGit&#039;&#039;&#039; then &#039;&#039;&#039;Pull&#039;&#039;&#039;.&lt;br /&gt;
* Click the radial button next to &#039;&#039;&#039;Remote&#039;&#039;&#039; and make sure &#039;&#039;&#039;upstream&#039;&#039;&#039; (or whatever you called it) is selected next to it.&lt;br /&gt;
* The &#039;&#039;&#039;remote branch&#039;&#039;&#039; should be set to &#039;&#039;&#039;master&#039;&#039;&#039;.&lt;br /&gt;
* Then click &#039;&#039;&#039;Ok&#039;&#039;&#039;. This will pull the latest changes from the master repo.&lt;br /&gt;
&lt;br /&gt;
===Making a Branch===&lt;br /&gt;
Branching your repo is very important for organising your commits, you should have a different branch for each unrelated code change (e.g. if you wanted to make some new sprites for one item and change the properties of another these should be in seperate branches), as Pull requests work off branches rather than commits this will allow you to make a seperate Pull Request per change. Doing this streamlines the whole process and will save everyone a bunch of headaches.&lt;br /&gt;
&lt;br /&gt;
* Right-click in your working folder. Then choose &#039;&#039;&#039;TortoiseGit&#039;&#039;&#039;, and &#039;&#039;&#039;Create Branch...&#039;&#039;&#039;&lt;br /&gt;
* Type in your new branch name&lt;br /&gt;
* (Optional) Tick &#039;&#039;&#039;Switch to new branch&#039;&#039;&#039;&lt;br /&gt;
* Press &#039;&#039;&#039;Okay&#039;&#039;&#039; and your new branch is created&lt;br /&gt;
&lt;br /&gt;
====Switching between Branches====&lt;br /&gt;
* Right-click in your working folder. Then choose &#039;&#039;&#039;TortoiseGit&#039;&#039;&#039;, and &#039;&#039;&#039;Switch/Checkout...&#039;&#039;&#039;&lt;br /&gt;
* Choose your Branch then press &#039;&#039;&#039;Okay&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Making a Commit===&lt;br /&gt;
* A commit is confirmed change of the files in your repo, it&#039;s how you make changes permanently to the files in your repo, so try not to commit without making sure it works (though subsequent commits can fix it).&lt;br /&gt;
* As said before, you should use different branches to separate your commits/changes.  Don&#039;t commit to master.  It should be clean, so you can fall back on it if needed.&lt;br /&gt;
* To make your commits, you need to edit the files using BYOND&#039;s inbuilt editing tools. Make sure to follow coding standards when making your changes! When you&#039;re finished, right click the folder you&#039;re working with and choose &#039;&#039;&#039;Git Commit -&amp;gt; &amp;quot;[Your Branch Name]&amp;quot;&#039;&#039;&#039; (Example: Git Commit -&amp;gt; &amp;quot;My_First_Branch&amp;quot;)&lt;br /&gt;
* You can then select only the files you want to be committed by ticking or unticking them. You should also write a detailed commit summary, detailing what happened in that commit.&lt;br /&gt;
* Click &#039;&#039;&#039;Ok&#039;&#039;&#039; and the commit will be committed to your local repo!&lt;br /&gt;
&lt;br /&gt;
===Making a Pull Request===&lt;br /&gt;
* Right-click in your working folder. Then choose &#039;&#039;&#039;TortoiseGit&#039;&#039;&#039;, and &#039;&#039;&#039;Push...&#039;&#039;&#039;&lt;br /&gt;
* Set &#039;&#039;&#039;Local&#039;&#039;&#039; and &#039;&#039;&#039;Remote&#039;&#039;&#039; to the name of the branch you committed before. (e.g. My_First_Branch)&lt;br /&gt;
* Under Destination, set Remote: to &#039;&#039;&#039;origin&#039;&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;&#039;Ok&#039;&#039;&#039;. This&#039;ll upload your changes to your remote repo (the one on GitHub).&lt;br /&gt;
* Head to your GitHub repo e.g https://github.com/NAME/Paradise&lt;br /&gt;
* Click &#039;&#039;&#039;Pull Request&#039;&#039;&#039; at the top right.&lt;br /&gt;
* Fill out a summary and then create the pull request.&lt;br /&gt;
* You&#039;re done! In many cases there will be issues pointed out by other contributors, unfortunate merge conflicts, and other things that will require you to revisit your pull request.&lt;br /&gt;
* Optionally, view Clean Commits for a guide on cleaner commit logs, &#039;&#039;&#039;cleaner commits help maintainers review!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Clean commits / Squashing commits(Optional)===&lt;br /&gt;
* Your commit logs are filthy, full of one or two line commits that fix an error that makes you look bad, and the commit is called &amp;quot;Whoops&amp;quot; or &amp;quot;oops&amp;quot;&lt;br /&gt;
* Navigate to your &#039;&#039;&#039;local version of the branch&#039;&#039;&#039;&lt;br /&gt;
* Ensure it is up to date with the &#039;&#039;&#039;remote&#039;&#039;&#039;&lt;br /&gt;
* Go to &#039;&#039;&#039;Show log&#039;&#039;&#039;&lt;br /&gt;
* Select all the commits associated with this change or PR&lt;br /&gt;
* Right click and choose &#039;&#039;&#039;Combine to one commit&#039;&#039;&#039;&lt;br /&gt;
* This will open up the standard commit interface for TortoiseGit, with the commit logs of the selected commits merged together&lt;br /&gt;
* Perform the normal routine for a commit&lt;br /&gt;
* Go to &#039;&#039;&#039;push&#039;&#039;&#039; your branch to the &#039;&#039;&#039;remote branch&#039;&#039;&#039;&lt;br /&gt;
* Ensure &#039;&#039;&#039;Force Overwrite Existing Branch (may discard changes)&#039;&#039;&#039; is selected to make sure the PR/Remote updates to contain just this squashed commit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Как делать предложения правок на GutHub==&lt;br /&gt;
=== Окно изменений PR&#039;а ===&lt;br /&gt;
# Статус ПРа. &lt;br /&gt;
## Open - открыт. ПР готов принимать правки и быть замерженым в проект.&lt;br /&gt;
## Merged - занесен в билд. Нет смысла предлагать правки&lt;br /&gt;
## Closed - закрыт по какой-либо причине. В большинстве случаев нет смысла предлагать правки, если автор не собирается открывать&lt;br /&gt;
## Draft - ПР в разработке. Правки нужны только если автор не против или он сам попросил&lt;br /&gt;
# Список измененных файлов. Можно нажать чтобы быстро переместиться&lt;br /&gt;
# Наведите курсор на строку и нажмите на плюсик, если хотите внести правку&lt;br /&gt;
# Путь к файлу, можно быстро скопировать и использоваться в вашей IDE&lt;br /&gt;
# Завершение занесения правок&lt;br /&gt;
[[Файл:Review1_small.png]]&lt;br /&gt;
&lt;br /&gt;
=== Написание правки ===&lt;br /&gt;
Не обязательно что это будет именно правка. Возможно вы решили просто прокомментировать строку, так как знаете более лучший способ решения или у вас возник какой-то вопрос.&lt;br /&gt;
# Строка к которой применяется правка или комментарий&lt;br /&gt;
# Кнопка для внесения предложения по изменению строки&lt;br /&gt;
# Внесение правки в &amp;quot;общий пул&amp;quot;&lt;br /&gt;
# Завершение написания правок и окончание ревью&lt;br /&gt;
[[Файл:Review2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Окончание ревью ===&lt;br /&gt;
# Кнопка завершения ревью со всем пулом правок.&lt;br /&gt;
# Вердикт. Написание комментария ко всему пулу внесенных вами правок.&lt;br /&gt;
# Прокомментировали код. Возможно что-то стало непонятно или нашли более лучшее решение.&lt;br /&gt;
# С кодом все в порядке и возражений нету.&lt;br /&gt;
# Вы запросили изменения, надо что-то исправить.&lt;br /&gt;
[[Файл:Review4.png]]&lt;br /&gt;
&lt;br /&gt;
=== Отображение правки ===&lt;br /&gt;
Если вы являетесь автором PR&#039;а и вам внесли правки:&lt;br /&gt;
# Принять заносимую правку для внесения в ваш PR/Branch&lt;br /&gt;
# Вводная строка для комментирования правки&lt;br /&gt;
# Отметить что вы решили эту проблему, загрузили правку и вмешательства более не требуются (до следующих правок).&lt;br /&gt;
[[Файл:Review3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Учимся использовать TGUI==&lt;br /&gt;
Если вы все еще новичок, рекомендуется больше узнать о DM, прежде чем переходить к TGUI. Все наши пользовательские интерфейсы (кроме элементов OOC, таких как панели администратора) сделаны с использованием TGUI или должны быть преобразованы в TGUI в какой-то момент в будущем. (Вот куда это ведет!)&lt;br /&gt;
&lt;br /&gt;
TGUI использует InfernoJS (на основе reactJS), который является расширением для javascript. Учиться может быть сложно, потому что это совершенно другой язык, но не бойтесь! Есть много руководств, которым вы можете следовать.&lt;br /&gt;
&lt;br /&gt;
===Guides===&lt;br /&gt;
TGUI прост, но его трудно понять тому, кто с ним не знаком. ПРОЧИТАЙТЕ ЭТИ РУКОВОДСТВА. И да. Они на английском.&lt;br /&gt;
&lt;br /&gt;
Обязательно прочитайте их по порядку&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript A re-introduction to JavaScript]&lt;br /&gt;
* [https://reactjs.org/docs/hello-world.html Guide to using ReactJS] &amp;lt;- На самом деле мы не используем react, но полезно для изучения&lt;br /&gt;
* [https://infernojs.org/docs/guides/components Brief rundown of InfernoJS]&lt;br /&gt;
* [https://github.com/ss220-space/Paradise/blob/master/tgui/docs/tutorial-and-examples.md TGUI Tutorials and Examples]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Contribution Guides}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Руководства]]&lt;/div&gt;</summary>
		<author><name>Aloe</name></author>
	</entry>
	<entry>
		<id>https://wiki.ss220.club/index.php?title=%D0%A2%D0%B5%D1%81%D0%BB%D0%B0-%D0%B4%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C&amp;diff=37626</id>
		<title>Тесла-двигатель</title>
		<link rel="alternate" type="text/html" href="https://wiki.ss220.club/index.php?title=%D0%A2%D0%B5%D1%81%D0%BB%D0%B0-%D0%B4%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C&amp;diff=37626"/>
		<updated>2023-11-28T16:31:59Z</updated>

		<summary type="html">&lt;p&gt;Aloe: Немного обновил руководство по тесле, а главное удалил строку про пересбор эммитеров.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC_right}}&lt;br /&gt;
== Видеогайд по настройке ==&lt;br /&gt;
‎&amp;lt;youtube width=&amp;quot;600&amp;quot; height=&amp;quot;300&amp;quot;&amp;gt;d4Rd4lAWhSQ&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Как настроить тесла-двигатель==&lt;br /&gt;
[[File:Engine zone.png|thumb|right|350px|Зона расположения блока двигателя]]&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;Новичкам крайне рекомендуется обратиться к более опытным [[инженер]]ам.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
Современная, эффективная и более безопасная альтернатива сингулярности, тесла-двигатель расположен на западной части инженерного отдела, в космосе.&lt;br /&gt;
&lt;br /&gt;
На самом деле, настроить и поддерживать Теслу не так трудно. Это руководство рассчитано на то, что вы будете это всё делать в одиночку, в случаях, если, например, вы — единственный, кто на это согласился, или же другие решили, что у них есть дела поважнее. В первую очередь вам необходимо знать, какие инструменты нужно принести с собой в зону сдерживания Теслы; в принципе, их можно легко и быстро насобирать в инженерном отделе.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:20%&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Вам понадобятся&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[File:Mod_Engineering.png|20px]] Инженерный модсьют&lt;br /&gt;
*[[File:EmergencyOxygenTank.png|32px]] Баллон с воздухом&lt;br /&gt;
*[[File:Mask_breathmask.png|32px]] Дыхательная маска&lt;br /&gt;
*[[File:Wrench.png|32px]] Разводной ключ&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А теперь можно приступить к работе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Примечание: Каждый раздел настройки аппаратуры вы можете выполнить самостоятельно или с помощью коллег. Порядок выполнения не имеет значения, но главное, чтобы раздел финальной подготовки выполнялся в последнюю очередь.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[[File:SMES.png]] Настройка [[СКАН]]ов (&amp;lt;abbr title=&amp;quot;Super Magnetic Energy Storage&amp;quot;&amp;gt;SMES&amp;lt;/abbr&amp;gt;)===&lt;br /&gt;
[[СКАН]]ы расположены в количестве 5 штук в инженерном отделе (1 слева - [[СКАН]] контура защиты двигателя; 4 справа - основные [[СКАН]]ы, которые питают станцию).&lt;br /&gt;
&lt;br /&gt;
Убедитесь, что на четырёх [[СКАН]]ах справа параметр &amp;lt;code&amp;gt;Charging&amp;lt;/code&amp;gt; выставлен на &amp;lt;code&amp;gt;Off&amp;lt;/code&amp;gt; (на зарядку (&amp;lt;code&amp;gt;Input&amp;lt;/code&amp;gt;)) и на &amp;lt;code&amp;gt;Online&amp;lt;/code&amp;gt; (на вывод (&amp;lt;code&amp;gt;Output&amp;lt;/code&amp;gt;)). На левом выставьте значение вывода на 150 000 Вт; зарядку всех [[СКАН]]ов отключите. &#039;&#039;&#039;Отключение вывода энергии на [[СКАН]]ах может привести к перебоям в работе силового поля или в залпах эмиттеров&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;Если вы оставите зарядку правых [[СКАН]]ов включённой, они будут забирать заряд из левого [[СКАН]]а, из-за чего у вас не останется энергии для запитывания эмиттеров, и они могут отключиться в самый неудобный момент.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Настройка ускорителя частиц (Particle Accelerator)===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;Старайтесь не толкать двигатель, пока он не закреплён разводным ключом. Если вы случайно вытолкнули какую-то часть двигателя со своего места, перетащите её обратно на место, а затем поверните (&amp;lt;kbd&amp;gt;ПКМ&amp;lt;/kbd&amp;gt; → &amp;lt;code&amp;gt;Rotate&amp;lt;/code&amp;gt;) её в правильное положении.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Возьмите [[File:Wrench.png|32px]] разводной ключ и закрутите им на все 6 частей двигателя и [[File:Control box.png|32px]] контрольной панели. Таким образом вы зафиксируете все части двигателя, о чём вы увидите 7 уведомлений &amp;lt;code&amp;gt;You secure the external bolts&amp;lt;/code&amp;gt;. Убедитесь, что стрелка на контрольной панели повернута вниз, и, если нет, поверните контрольную панель до тех пор, пока стрелка не встанет в правильном направлении.&lt;br /&gt;
#Возьмите [[File:CableCoils.png|32px]] моток кабелей и добавьте (&amp;lt;kbd&amp;gt;ЛКМ&amp;lt;/kbd&amp;gt;) проводку на все 6 частей двигателя и контрольной панели. О проделанной работе вы увидите 7 уведомлений &amp;lt;code&amp;gt;You add some wires&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Возьмите [[File:Screwdriver_tool.png|32px]] отвёртку и закрепите (&amp;lt;kbd&amp;gt;ЛКМ&amp;lt;/kbd&amp;gt;) ей провода на всех 6 частях двигателя и контрольной панели. О проделанной работе вы увидите 7 уведомлений &amp;lt;code&amp;gt;You close the access panel&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Откройте контрольную панель (&amp;lt;kbd&amp;gt;ЛКМ&amp;lt;/kbd&amp;gt;) и нажмите кнопку &amp;lt;code&amp;gt;Run Scan&amp;lt;/code&amp;gt;.&lt;br /&gt;
#*Если будет появляться ошибка &amp;lt;code&amp;gt;Unable to detect parts&amp;lt;/code&amp;gt;, то значит, что вы что-то пропустили в предыдущих пунктах.&lt;br /&gt;
#*Если появится сообщение &amp;lt;code&amp;gt;All parts in place&amp;lt;/code&amp;gt;, то вы можете продолжить.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;Пока еще не стоит нажимать на &amp;lt;code&amp;gt;Toggle Power&amp;lt;/code&amp;gt;!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Настройка Теслы===&lt;br /&gt;
&lt;br /&gt;
#Откройте хранилище, которое находится ниже [[СКАН|СКАНа]] контура защиты и вытащите [[Файл:Tesla generator.png|32px]] генератор шара Теслы. После доставьте его в зону содержания двигателя и закрепите его в центре при помощи [[File:Wrench.png|32px]]разводного ключа . Если вы хотите настроить [[сингулярность|сингулярный двигатель]], просмотрите [[Singularity Engine|соответствующее руководство]].&lt;br /&gt;
#Перед выходом в вакуум экипируйтесь [[File:EmergencyOxygenTank.png|32px]] дыхательным баллоном и [[File:Mask_breathmask.png|32px]] маской, а также опционально активируйте модуль, чтобы не улететь куда-нибудь в невесомости.&lt;br /&gt;
#Активируйте (&amp;lt;kbd&amp;gt;ЛКМ&amp;lt;/kbd&amp;gt;) все четыре [[File:Emitter.png|32px]] эмиттера.&lt;br /&gt;
#*&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;Не стойте перед работающими эмиттерами!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
#*Не забудьте заблокировать эмиттеры, кликнув по ним своей [[File:Id regular.png|32px]] ID-картой, чтобы предотвратить злонамеренное нарушение сдерживания Теслы.&lt;br /&gt;
#Проходя &#039;&#039;с внешней стороны&#039;&#039; круга силового поля, кликните по всем восьми[[File:Field_generator.png|32px]] генераторам поля, чтобы активировать их. Подбирайте тайминг, чтобы не попасть по залпы [[File:Emitter.png|32px]] эмиттеров, когда будете проходить по всем генераторам.&lt;br /&gt;
#*Вскоре после активации всех генераторов вы увидите [[File:Containment_field.gif|32px]] линии силового поля, соединенные этими самыми генераторами и окружающие зону сдерживания Теслы.&lt;br /&gt;
#*&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;Ни в коем случае не входите в силовое поле!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
#Когда линии силового поля замкнут зону сдерживания, возвращайтесь в отсек ускорителя частиц.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;Примечание:&amp;lt;/span&amp;gt; Если эмиттеры работают сбойно, убедитесь, что вы отключили прием энергии на [[file:SMES.png|32px]] [[СКАН|СКАНе]] (SMES) в комнате с ускорителем частиц и выставлено значение выходной энергии из него больше чем 150 kw, а также отключен прием энергии на [[СКАН|СКАНах]], которые заряжаются от СМЕСА находящегося в комнате с ускорителем частиц.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Финальная подготовка=== &lt;br /&gt;
&lt;br /&gt;
#Откройте меню [[File:Control box.png|32px]] контрольной панели.&lt;br /&gt;
#Нажмите кнопку &#039;&#039;&#039;Включить питание (&amp;lt;code&amp;gt;Toggle Power&amp;lt;/code&amp;gt;)&#039;&#039;&#039;, чтобы включить подачу питания.&lt;br /&gt;
#Установите параметр &#039;&#039;&#039;мощность частиц (&amp;lt;code&amp;gt;Particle Strength&amp;lt;/code&amp;gt;)&#039;&#039;&#039; на &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Подойдите к окну и наблюдайте за процессом. Вы увидите, как ускоритель частиц будет порционно выпускать потоки зелёных частиц, и через несколько секунд образуется[[File:Tesla_ball.gif|32px]] энергетический шар Теслы!&lt;br /&gt;
&lt;br /&gt;
В отличие от сингулярности, Тесла сама по себе не может прийти в критическое состояние, в котором она могла бы прорвать систему сдерживания, так что вы можете либо отключить ускоритель частиц, либо оставить его работающим на высокой мощности для максимальной выработки электроэнергии.&lt;br /&gt;
&lt;br /&gt;
===[[File:SMES.png]] Возвращаясь к [[СКАН]]ам=== &lt;br /&gt;
&lt;br /&gt;
#Вернитесь к расположенным справа [[СКАН]]ам. Они подают электричество на большую часть станции. Убедитесь, что сумма вывода питания как минимум такая же, сколько станция потребляет целиком. Обычно станция потребляет энергию в пределах 200 000 Вт. Чтобы проверить, достаточно ли [[СКАН]]ы выводят энергии, воспользуйтесь &#039;&#039;&#039;монитором электросети (&amp;lt;code&amp;gt;Grid Power Monitoring Computer&amp;lt;/code&amp;gt;)&#039;&#039;&#039;, расположенным слева сверху в отсеке двигателя. Убедитесь, что значение &#039;&#039;&#039;суммарной выработки (&amp;lt;code&amp;gt;Total Power&amp;lt;/code&amp;gt;)&#039;&#039;&#039; намного выше значения &#039;&#039;&#039;суммарного потребления (&amp;lt;code&amp;gt;Total Load&amp;lt;/code&amp;gt;)&#039;&#039;&#039;; в противном случае приборы по всей станции начнут постепенно отключаться.&lt;br /&gt;
#Когда тесла-двигатель начнет вырабатывать энергию, пройдитесь по всем четырем [[СКАН]]ам и выставьте зарядку на &#039;&#039;&#039;автоматический режим зарядки (&amp;lt;code&amp;gt;Charge Mode: Auto&amp;lt;/code&amp;gt;)&#039;&#039;&#039;. Выставьте уровень заряда выше уровня вывода энергии, чтобы каждый [[СКАН]] накапливал заряд со временем. При зарядке должно показываться сообщение &#039;&#039;&#039;частично заряжается (&amp;lt;code&amp;gt;Charging&amp;lt;/code&amp;gt;),&#039;&#039;&#039; а процент &#039;&#039;&#039;накопленного заряда (&amp;lt;code&amp;gt;Stored Capacity&amp;lt;/code&amp;gt;)&#039;&#039;&#039; будет медленно повышаться.&lt;br /&gt;
#Мощность вывода энергии с левого [[СКАН]]а не играет особой роли, поскольку его заряд преимущественно уходит на то, чтобы запитывать эмиттеры и отсек двигателя. Когда же двигатель запущен, теперь он будет поддерживать работу эмиттеров, однако вам всё ещё рекомендуется оставить левый [[СКАН]] включенным и заряжающимся на случай экстренной ситуации.&lt;br /&gt;
#Если всё сделано верно, то [[File:APC.png|32px]] [[ЛКП]] в отсеке двигателя (расположенный сверху от левого [[СКАН]]а) будет заряжаться.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:99%&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Небольшая заметка по предотвращению нарушения сдерживания:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
По всей станции проходит две главных электроцепи. &amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;Жёлтая&amp;lt;/span&amp;gt; запитывает отсек двигателя и зону сдерживания (включая эмиттеры), в то время, как &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt; запитывает остальную станцию. Просмотреть расположение проводов вы можете в статье про [[Maintenance|техническое обслуживание]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;Жёлтая цепь&amp;lt;/span&amp;gt; подаёт заряд от двигателя и левого [[СКАН]]а, в то время, как &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;красная&amp;lt;/span&amp;gt; подаёт заряд от четырёх правых [[СКАН]]ов. Все пять [[СКАН]]а заряжаются от &amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;жёлтой цепи&amp;lt;/span&amp;gt; цепи.&lt;br /&gt;
&lt;br /&gt;
Помимо этого, большая часть энергии, протекающая по цепи, вместо запитывания всего подключенного к ней оборудования поступает преимущественно на зарядку [[СКАН]]ов. Это значит, что если значение суммы зарядки [[СКАН]]ов выше суммарного значения вывода энергии от двигателя и левого [[СКАН]]а, то &#039;&#039;&#039;эмиттеры быстро отключатся, а вместе с ними и силовое поле&#039;&#039;&#039;. Не забывайте смотреть на &#039;&#039;&#039;монитор производительности двигателя (Engine Power Monitoring Computer)&#039;&#039;&#039;, стоящий прямо под монитором состояния электросети. Следите, чтобы значение &#039;&#039;&#039;суммарной выработки (&amp;lt;code&amp;gt;Total Power&amp;lt;/code&amp;gt;)&#039;&#039;&#039; всегда было значительно выше &#039;&#039;&#039;суммарного потребления (&amp;lt;code&amp;gt;Total Load&amp;lt;/code&amp;gt;)&#039;&#039;&#039;!&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Поддержка работоспособности==&lt;br /&gt;
&lt;br /&gt;
В отличие от [[сингулярность|сингулярности]], тесла-двигатель после включения способен работать сам по себе неограниченное количество времени. Без постороннего вмешательства нет никакого риска на то, что Тесла прорвет зону сдерживания или прекратит работу.&lt;br /&gt;
&lt;br /&gt;
==Оптимизация ускорителя частиц==&lt;br /&gt;
&lt;br /&gt;
===Улучшение [[ЛКП]]===&lt;br /&gt;
&lt;br /&gt;
#Разблокируйте[[File:APC.png|32px]] [[ЛКП]], расположенный снизу от левого [[СКАН]]а, кликнув на нем своей [[File:Id regular.png|32px]] ID-картой.&lt;br /&gt;
#Принудительно &#039;&#039;&#039;включите &amp;lt;code&amp;gt;On&amp;lt;/code&amp;gt;&#039;&#039;&#039; питание &#039;&#039;&#039;оборудования (&amp;lt;code&amp;gt;Equipment&amp;lt;/code&amp;gt;)&#039;&#039;&#039;. Именно принудительно, а не &#039;&#039;&#039;автоматический режим (&amp;lt;code&amp;gt;Auto&amp;lt;/code&amp;gt;&#039;&#039;&#039;. &lt;br /&gt;
#*Таким образом, вы обеспечите то, что в случае, если [[ЛКП]] разрядится, наиболее важное инженерное оборудование будет работать до талого и отключится в последнюю очередь. Для большей экономии энергии можно отключить и освещение, но тогда вы не увидите возможных нарушителей в инженерном отделе.&lt;br /&gt;
#Разблокируйте крышку панели, &#039;&#039;&#039;сняв (&amp;lt;code&amp;gt;Disengaged&amp;lt;/code&amp;gt;)&#039;&#039;&#039; у неё &#039;&#039;&#039;блокировку крышки (&amp;lt;code&amp;gt;Cover Lock&amp;lt;/code&amp;gt;)&#039;&#039;&#039;.&lt;br /&gt;
#Откройте (&amp;lt;kbd&amp;gt;ЛКМ&amp;lt;/kbd&amp;gt;) панель [[File:Crowbar.png|32px]] монтировкой.&lt;br /&gt;
#Вытащите (&amp;lt;kbd&amp;gt;ЛКМ&amp;lt;/kbd&amp;gt;) из [[ЛКП]] старый аккумулятор (пустой рукой).&lt;br /&gt;
#Найдите любой другой аккумулятор и вставьте его в [[ЛКП]].&lt;br /&gt;
#Закройте (&amp;lt;kbd&amp;gt;ЛКМ&amp;lt;/kbd&amp;gt;) панель [[File:Crowbar.png|32px]] монтировкой.&lt;br /&gt;
# Проверьте меню [[ЛКП]] и убедитесь, что всё работает как надо.&lt;br /&gt;
#Заблокируйте [[ЛКП]] своей ID-картой.&lt;br /&gt;
&lt;br /&gt;
=== Улучшение [[СКАН]]ов ===&lt;br /&gt;
&lt;br /&gt;
Крайней не рекомендуется улучшать [[СКАН]]ы, а потом менять значения приема и отдачи энергии. Данная процедура может вызвать сбой в работе эммитеров, а в последствии и выпуск двигателя из зоны содержания.&lt;br /&gt;
&lt;br /&gt;
==Отключение двигателя ==&lt;br /&gt;
Увы, но двигатель Теслы невозможно отключить стандартными способами. Он не теряет энергию со временем(в отличии от Сингулярности) и поэтому просто отключить двигатель будет недостаточно. Вы можете, например, увести её в космос при помощи оборудования, которое притягивает её, или как-либо ещё. Придумайте что-то!&lt;br /&gt;
&lt;br /&gt;
==Нестандартные конфигурации сдерживания ==&lt;br /&gt;
Стандартная конфигурация системы сдерживания Теслы не самая эффективная, и существует множество вариаций размещения генераторов полей, эмиттеров, проводки и заземлителей, при которых можно добиться различных показателей производительности и надежности. Пока обеспечивается активность и стабильность работы силового поля перед включением ускорителя частиц, вы вольны экспериментировать как угодно и сколько угодно.&lt;br /&gt;
&lt;br /&gt;
== В качестве оружия== &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Согласно правилам сервера, вы ни в коем случае &#039;&#039;&#039;не имеете права саботировать&#039;&#039;&#039; работу тесла-двигателя! Исключением является наличие  у вас, согласно вашей роли [[предатель|предателя]], цели на угон шаттла (&#039;&#039;hijack the shuttle&#039;&#039;). Однако в любом случае имеет смысл использовать &amp;lt;code&amp;gt;[[ahelp]]&amp;lt;/code&amp;gt;, прежде чем связываться с тесла-двигателем.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тесла — одна из главных зол для станции. Жутко опасная уже сама по себе при нарушении сдерживания, она становится неумолимой машиной смерти и разрушения, если контролировать траекторию её движения с помощью &#039;&#039;&#039;сингулярных маячков (&amp;lt;code&amp;gt;Singularity Beacon&amp;lt;/code&amp;gt;)&#039;&#039;&#039;. Смертельно опасна для всех, кому не повезёт вовремя запереться в шкафчике или прихватить себе хардсьют и изолирующие перчатки. Вероятно, самый драматичный способ завершить раунд в качестве [[предатель|предателя]].&lt;br /&gt;
&lt;br /&gt;
Саботирование сдерживания Теслы — непростая задача для [[предатель|предателя]], маскирующегося под обычного члена экипажа, и если вас поймают за этим, то [[Глоссарий#Робаст|заробастят]] предельно быстро.&lt;br /&gt;
&lt;br /&gt;
В общем и целом, для этого вам необходимо отключить силовое поле, сдерживающее Теслу. Это можно сделать, отключив эмиттеры. Другой вариант — отключить [[ЛКП]] в инженерном отделе, однако если вы не [[инженер]] и вас раскрыли, то живым вы на [[Харон|экстренный шаттл]] точно не попадёте.&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
*[[Сингулярный двигатель|Руководство по двигателю на сингулярности]]&lt;br /&gt;
*[[Двигатель Суперматерии|Руководство по двигателю на суперматерии]]&lt;br /&gt;
*[[Солнечные панели|Руководство по солнечной энергии]]&lt;br /&gt;
*[[Руководство по турбине]]&lt;br /&gt;
*[[Термоэлектрогенератор|Руководство по термоэлектрогенератору]]&lt;br /&gt;
&amp;lt;!-- [[Руководство по портативным электрогенераторам]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Руководства по источникам электроэнергии]]&lt;/div&gt;</summary>
		<author><name>Aloe</name></author>
	</entry>
	<entry>
		<id>https://wiki.ss220.club/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Tesla_generator.png&amp;diff=37625</id>
		<title>Файл:Tesla generator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.ss220.club/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Tesla_generator.png&amp;diff=37625"/>
		<updated>2023-11-28T16:11:22Z</updated>

		<summary type="html">&lt;p&gt;Aloe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Генератор для шара теслы&lt;/div&gt;</summary>
		<author><name>Aloe</name></author>
	</entry>
	<entry>
		<id>https://wiki.ss220.club/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Engine_zone.png&amp;diff=37624</id>
		<title>Файл:Engine zone.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.ss220.club/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Engine_zone.png&amp;diff=37624"/>
		<updated>2023-11-28T15:40:36Z</updated>

		<summary type="html">&lt;p&gt;Aloe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Зона расположения блока двигателя&lt;/div&gt;</summary>
		<author><name>Aloe</name></author>
	</entry>
</feed>