Строка 1: |
Строка 1: |
− | Это гайд товарища Recei по созданию карт, в котором описаны самые базовые вещи.
| + | == Pre-commit checks == |
| | | |
− | == План ==
| + | - Are all the floors with or without air, as they should be? (regular or airless)<br> |
| + | - Does the area have an APC?<br> |
| + | - Does the area have an Air Alarm?<br> |
| + | - Does the area have a Request Console?<br> |
| + | - Does the area have lights?<br> |
| + | - Does the area have a light switch?<br> |
| + | - Does the area have enough intercoms?<br> |
| + | - Does the area have enough security cameras? (Use the verbs under Mapping for help)<br> |
| + | - Is the area connected to the scrubbers air loop?<br> |
| + | - Is the area connected to the vent air loop? (vent pumps)<br> |
| + | - Is everything wired properly?<br> |
| + | - Does the area have a fire alarm and firedoors?<br> |
| + | - Do all pod doors work properly?<br> |
| + | - Are accesses set properly on doors, pod buttons, etc.<br> |
| + | - Are all items placed properly? (not below vents, scrubbers, tables)<br> |
| + | - Does the disposal system work properly from all the disposal units in this room and all the units, the pipes of which pass through this room?<br> |
| + | - Check for any misplaced or stacked piece of pipe (air and disposal)<br> |
| + | - Check for any misplaced or stacked piece of wire<br> |
| + | - Identify how hard it is to break into the area and where the weak points are<br> |
| + | - Check if the area has too much empty space. If so, make it smaller and replace the rest with maintenance tunnels.<br> |
| | | |
− | Сначала ты должен составить план, комрад! Нормальный маппер сначала делает ПЛАН, а затем его воплощает.
| + | == General Station-wide Mapping Guidelines == |
| | | |
− | [[Файл:1map.jpg]]
| + | === Atmospherics === |
| + | *Each area should have EXACTLY one air alarm (Exceptions are only possible if a room has scrubbers or vent pumps on different frequencies) |
| + | *Each ROOM (Walled off space) should have at least one vent pump and scrubber, which is properly connected to it's respective loop |
| + | *The air supply loop's pipes should be colored blue |
| + | *The scrubbers loop's pipes should be colored red |
| | | |
− | Теперь - время его реализовать.
| + | === Power === |
| + | *Each area (which requires power) should have exactly one APC |
| | | |
− | == Some == | + | == Atmospherics == |
| | | |
− | Все устройства для работы ты можешь найти в папке с твоим BYOND\bin
| + | === Pipes and manifolds === |
| | | |
− | Открываем DreamMaker. И видим:
| + | Atmospherics releases it's cocktail of gases into the air supply loop (blue pipes). The station is also equipped with a scrubber loop, which filters unwanted gases and sends them back to atmospherics via the scrubber loop (red pipes). |
| | | |
− | [[Файл:Map 2.jpg]]
| + | If you're expanding the air supply loop (blue pipes) use the objects in /obj/machinery/atmospherics/pipe/simple/supply/visible or ../hidden depending on if you want it to show above floors or below them. For manifolds use the objects in /obj/machinery/atmospherics/pipe/manifold/supply/visible and ../hidden. |
| | | |
− | 1.
| + | If you are expanding the scrubber loop (red pipes) use the objects in /obj/machinery/atmospherics/pipe/simple/scrubbers/visible or ../hidden depending on if you want it to show above floors or below them. For manifolds use the objects in /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible and ../hidden. |
− | В этом меню показываются все файлы и объекты, которые ты можешь использовать.
| |
− | Для файлов все немного иначе устроено.
| |
| | | |
− | [[Файл:Map3.jpg]]
| + | If you are however building a pipe network which has nothing to do with the air supply or scrubbers loop, you should use the objects in /obj/machinery/atmospherics/pipe/simple/general/visible or ../hidden. For manifolds use the objects in /obj/machinery/atmospherics/pipe/manifold/general/visible and ../hidden. To manually set these ones up you will need to set the following parameters (Assuming you are properly using the visible/hidden categories) |
| | | |
− | Тут мы имеем дерево файлов.
| + | color = "" // select from "" for gray or "red", "blue", "cyan", "green" or "yellow" |
− | Есть такие форматы:
| + | icon_state = "intact" //The color of pipes is set to what the color variable says at round |
− | .dm - файл кода;
| + | start irrespective of this, however to make mapping easier, please set the icon_state variable |
− | .dmm - файл карты;
| + | to the correct one here too. Please refer to the table below for icon_states for different colors. |
− | .dmi - файл спрайтов (в таком файле умещается несколько спрайтов);
| |
− | .dme - тут сохранены настройки и именно этот файл склеивает все;
| |
− | .dmb - этот файл нужен для запуска игры с помощью DreamDaemon.
| |
− | Так же есть старинные форматы карты, кода и спрайтов, но встреча с ними маловероятна.
| |
− | P.S. Файлы кода и карты можно отключать по вашему желанию (снимите галочку напротив файла) но это повлечет ошибки(скорее всего).
| |
| | | |
− | 2. Миникарта
| + | {| |
− | Тут все понятно. Но работает она только при включенном файле карты.
| + | !Color |
| + | !Visibility |
| + | !icon_state (pipe) |
| + | !icon_state (manifold) |
| + | |- |
| + | |Gray |
| + | |Visible |
| + | |intact |
| + | |manifold |
| + | |- |
| + | |Gray |
| + | |Hidden |
| + | |intact-f |
| + | |manifold-f |
| + | |- |
| + | |Red |
| + | |Visible |
| + | |intact-r |
| + | |manifold-r |
| + | |- |
| + | |Red |
| + | |Hidden |
| + | |intact-r-f |
| + | |manifold-r-f |
| + | |- |
| + | |Blue |
| + | |Visible |
| + | |intact-b |
| + | |manifold-b |
| + | |- |
| + | |Blue |
| + | |Hidden |
| + | |intact-b-f |
| + | |manifold-b-f |
| + | |- |
| + | |Cyan |
| + | |Visible |
| + | |intact-c |
| + | |manifold-c |
| + | |- |
| + | |Cyan |
| + | |Hidden |
| + | |intact-c-f |
| + | |manifold-c-f |
| + | |- |
| + | |Green |
| + | |Visible |
| + | |intact-g |
| + | |manifold-g |
| + | |- |
| + | |Green |
| + | |Hidden |
| + | |intact-g-f |
| + | |manifold-g-f |
| + | |- |
| + | |Yellow |
| + | |Visible |
| + | |intact-y |
| + | |manifold-y-f |
| + | |- |
| + | |Yellow |
| + | |Hidden |
| + | |intact-y-f |
| + | |manifold-y-f |
| + | |} |
| | | |
− | 3. Меню объекта
| + | === Air Alarm === |
− | Итак, вы выбрали нужный объект, но через дверь на мостик может пройти любой ассистент? Не проблема. В меню объекта можно создавать двери не отличающиеся от материнской ни чем, кроме переменных. Замечу, что если объект не встречается на карте, то при компиляции он будет стерт.
| |
| | | |
− | 4. Кнопки выделения и вставки
| + | Every single area (with scrubbers and/or vent pumps) should have exactly one air alarm. More than one should be placed if vent pumps or scrubbers use different radio frequencies than the default one (1439). |
− | Одна кнопка выделяет, другая вставляет.
| |
− | И да,при выделении пользуйся горячими кнопками:
| |
− | Ctrl + v и Ctrl + с
| |
| | | |
− | 5. Окно ошибок
| + | === Scrubbers (Station air supply) === |
− | Тут показывается как скомпилировалась и загрузилась карта и билд.
| |
− | Двойной щелчек по ошибке для ее вывода.
| |
| | | |
− | Собственно это и все.
| + | Every room (ie. walled off space) except for maintenance hallways should have at least one scrubber. |
| | | |
− | ==Практическая часть==
| + | The vars you need to set for this one specifically are: |
| | | |
− | Для начала мы делаем стены и пол.
| + | on = 1 |
| + | scrubbing = 1 |
| + | scrub_co2 = 1 |
| + | scrub_toxins = 0 |
| + | scrub_n2o = 0 |
| + | volume_rate = 120 |
| + | panic = 0 |
| + | frequency = 1439 |
| | | |
− | [[Файл:Map4.jpg]]
| + | And make sure the '''id_tag''' is the default one (null) |
| | | |
− | '''ВНИМАНИЕ!''' На вашей карте могут быть в одной зоне (!) либо симулированный(simulated), либо не симулированный(unsimulated) пол и стены. Вместе их ставить нельзя!
| + | Also ensure the scrubber is connected to the scrubber loop!! |
| | | |
− | Затем ставим стекла, столы и прочее.
| + | === Vent Pumps (Station air supply) === |
| | | |
− | [[Файл:Map5.jpg]]
| + | Every room (ie. walled off space) except for maintenance hallways should have at least one vent pump. |
| | | |
− | Замечу, что это помогает вам не запутаться в расположении комнат.
| + | The vars you need to set for this one specifically are: |
| | | |
− | Попутно создаем зоны:
| + | on = 1 |
| + | pump_direction = 1 |
| + | pressure_checks = 1 |
| + | frequency = 1439 |
| | | |
− | [[Файл:Map6.jpg]]
| + | And make sure the '''id_tag''' is the default one (null) |
| | | |
− | Конечно на картинке стандартные зоны. Но мы создадим новые методом копипасты (Копирования частей уже существующего кода).
| + | Also ensure the vent pump is connected to the air supply loop!! |
| | | |
− | Получится вот-так:
| + | === Disposals === |
| | | |
− | [[Файл:Map7.jpg]]
| + | Disposals is something that you will probably wind up having to play with atleast once. |
| | | |
− | И работаем далее.
| + | Disposals operates in a loop, starting and ending at the Cargo Office. From here it rotates around the station and eventually returns. There are branches off this main loop. "Trash" branches which join the main branch with a junction. And "Mail" branches which use a sortjunction. T'''he important thing to remember when adding new branches is you do not mix mail branches with trash branches.''' |
| | | |
− | Ставим двери и противопожарные двери (замечу, что сначала ставим файрлок а затем на его место дверь, не забывая зажать клавишу Ctrl для наложения.
| + | ==== Trash Branches ==== |
| + | [[File:Trash_pipes.png|150px|thumb|right|Example of Junctions.]] |
| + | [[File:Junction.png|150px|thumb|left|top]] |
| + | Trash branches can have sub branches to other disposal cans as long as their junctions all "point" towards the main loop, and when it gets to the main loop has a junction that points in the direction the main loop is going (usually clockwise) in the direction of the main loop. |
| | | |
− | [[Файл:Map8.jpg]]
| |
| | | |
− | Итак, двери поставлены. Можно ставить АПС и Атмос.
| + | The junction is '''/obj/structure/disposalpipe/junction'''. |
| | | |
− | Создаем новые АПС изменяя им только имя(name) и угол наклона (dir)
| + | When placing the junction don't worry about how it's rotated, we'll get to that. Worry about which pipe the arrow is pointed and we'll rotate it once it's placed. Place it and then we need to realize which cardinal direction the arrow should point. Edit the variables of the junction and look for "[[Understanding_SS13_Code#Direction_.28dir.29_var|dir]]". Use that link to set the value the "exit" end should point towards. So if we want the arrow to point north we would set it to 1, south 2, and so on. |
| | | |
− | [[Файл:Map9.jpg]]
| + | That's it. If you are editing a link in the main loop make sure it's going with the flow, don't have two junctions that point back at each other it will cause an infinite loop and that's bad. |
| | | |
− | Итак, на нашей станции есть энергия. Но как же быть с воздухом? Перейдем в меню тайлов. (вкладка turf) Затем выберем настройки пола и мы увидим это.
| + | ==== Mail branches ==== |
| + | [[File:Sortjunction.png|150px|thumb|left|top]] |
| + | Mail branches use a sorting junction ('''/obj/structure/disposalpipe/sortjunction''') to go from the main loop to the destination, it should not branch off further or have trash boxes branched into it as well, it will cause problems. sorting junctions are placed in the same way regular junctions are. sort junctions should only be on the main loop, do not use them elsewhere. What sort junctions do is look for a tag from a package, if it matches the ID of the office it is checking for it redirects the package to it's "Sort Direction" Sort junctions either sort to the left or the right, their ''dir'' variable will decide which direction the "Default" is (not sort direction, our picture example's dir value is to the east so it's 4). Luckily there are plenty of icons for this item so you can choose which one works and can probably find the correct directions. If not you can either edit ''iconstate'' "pipe-j1s" vs "pipe-j2s" (changes which side the sort side is on of the pipe and set ''dir'' until you get it the way you want it. Once you have it placed you need to look up the number you will be placing in it's ''sortType'' variable, this can be determined by a list in '''code/setup.dm''' and counting through the list for your destination if you need to make new destinations you need to edit that list. |
| | | |
| + | '''var/list/TAGGERLOCATIONS''' |
| | | |
− | Даже если в не умеете в ангельский тут все ясно как дважды-два:
| + | At the time of this writeup that list is: |
| + | # Disposals |
| + | # Cargo Bay |
| + | # QM Office |
| + | # Engineering |
| + | # CE Office |
| + | # Atmospherics |
| + | # Security |
| + | # HoS Office |
| + | # Medbay |
| + | # CMO Office |
| + | # Chemistry |
| + | # Research |
| + | # RD Office |
| + | # Robotics |
| + | # HoP Office |
| + | # Library |
| + | # Chapel |
| + | # Theater (UNUSED) |
| + | # Bar |
| + | # Kitchen |
| + | # Hydroponics |
| + | # Janitor |
| + | # Genetics |
| | | |
− | [[Файл:Map10.jpg]]
| + | ==== Last steps ==== |
| | | |
− | '''Nitrogen''' - азот,
| + | Click out your pipes and when you get to where the disposal unit goes place it with /obj/machinery/disposal and a pipe leading up to it on the same tile that is /obj/structure/disposalpipe/trunk |
− | '''Oxygen''' - кислород,
| |
− | '''Pressure resistance''' - давление.
| |
| | | |
− | Вот каким образом создана атмосфера на станции.
| + | and you are done! |
− | Но теперь мы посмотрим, как создана система обмена и восполнения газов. К примеру, разгерметизация. Инженер заделал дыру в космос, а воздуха нет? Не проблема, мы создадим простую систему обмена газов.
| |
− | Сначала берем баки с воздухом. Присоединяем трубы. Ставим воздушные решетки. Бинго! Вы сделали элементарный атмос.
| |
| | | |
− | [[Файл:Map11.jpg]]
| + | == Power == |
| | | |
− | Но как же ИИ высасывает воздух со станции? Именно! С помощью скрабберов.
| + | === APC === |
| + | Each new room needs at least one, this will provide all the power for the room (magically). Any room that is very equipment heavy may need another APC to split the load and prevent early black outs. |
| | | |
− | Ставим трубы темно-красного цвета,ставим скрабберы, соединяем с синими трубами (насос обязателен). Вот вы и создали простой атмос! Этого вам будет достаточно.
| + | === Wiring === |
| + | Make sure the wires lead from the main power grid, and to the APC(s) of your area. If any equipment in your new area requires a wire under it, line it up, connected to the main power grid, and under the machinery. Wires are also helpful when making electrical grills (just dot wire under a grill), make sure the wires touch the main power grid (or they won't shock people). |
| | | |
− | [[Файл:Map12.jpg]] | + | == Equipment == |
| + | |
| + | === Lights === |
| + | Lights take up a lot of power, don't use too many! Make sure to put in just enough so the room is fully lit, but not so many that the equipment will go out in ten minutes of the round starting. |
| + | |
| + | === Light switch === |
| + | For mood lighting, or to show the room is currently not in use by the primary occupant. These disable the lighting equipment (and power drain associated) in the area, but not desk lamps. Place these on walls, usually by a door. |
| + | |
| + | === Request Console === |
| + | If a certain room has no need for materials, or produces no materials, do not give it a Request Console. If it does (for either case or both) make sure it has at least one, that is in a place where some one will see it. |
| + | |
| + | === Intercoms === |
| + | At least every room should have one of these. They should be set to 145.9, and be speaker ON Microphone OFF. This is so radio signals can reach people even without head sets on. Larger room will require more than one at a time. |
| + | |
| + | === Security Cameras === |
| + | Most areas should have these, enough to see the general area from a Human point of view, but, not bunched together for the AI's sake. Larger rooms may require more than one. |
| + | |
| + | == Room Structure == |
| + | |
| + | === Access === |
| + | Here are the various door access. |
| + | |
| + | access_security = 1 |
| + | |
| + | access_brig = 2 |
| + | |
| + | access_armory = 3 |
| + | |
| + | access_forensics_lockers= 4 |
| + | |
| + | access_medical = 5 |
| + | |
| + | access_morgue = 6 |
| + | |
| + | access_tox = 7 |
| + | |
| + | access_tox_storage = 8 |
| + | |
| + | access_genetics = 9 |
| + | |
| + | access_engine = 10 |
| + | |
| + | access_engine_equip= 11 |
| + | |
| + | access_maint_tunnels = 12 |
| + | |
| + | access_external_airlocks = 13 |
| + | |
| + | access_emergency_storage = 14 |
| + | |
| + | access_change_ids = 15 |
| + | |
| + | access_ai_upload = 16 |
| + | |
| + | access_teleporter = 17 |
| + | |
| + | access_eva = 18 |
| + | |
| + | access_heads = 19 |
| + | |
| + | access_captain = 20 |
| + | |
| + | access_all_personal_lockers = 21 |
| + | |
| + | access_chapel_office = 22 |
| + | |
| + | access_tech_storage = 23 |
| + | |
| + | access_atmospherics = 24 |
| + | |
| + | access_bar = 25 |
| + | |
| + | access_janitor = 26 |
| + | |
| + | access_crematorium = 27 |
| + | |
| + | access_kitchen = 28 |
| + | |
| + | access_robotics = 29 |
| + | |
| + | access_rd = 30 |
| + | |
| + | access_cargo = 31 |
| + | |
| + | access_construction = 32 |
| + | |
| + | access_chemistry = 33 |
| + | |
| + | access_cargo_bot = 34 |
| + | |
| + | access_hydroponics = 35 |
| + | |
| + | access_manufacturing = 36 |
| + | |
| + | access_library = 37 |
| + | |
| + | access_lawyer = 38 |
| + | |
| + | access_virology = 39 |
| + | |
| + | access_cmo = 40 |
| + | |
| + | access_qm = 41 |
| + | |
| + | access_court = 42 |
| + | |
| + | access_clown = 43 |
| + | |
| + | access_mime = 44 |
| + | |
| + | access_surgery = 45 |
| + | |
| + | access_theatre = 46 |
| + | |
| + | access_research = 47 |
| + | |
| + | access_mining = 48 |
| + | |
| + | access_mining_office = 49 - not in use |
| + | |
| + | access_mailsorting = 50 |
| + | |
| + | access_mint = 51 |
| + | |
| + | access_mint_vault = 52 |
| + | |
| + | access_heads_vault = 53 |
| + | |
| + | access_mining_station = 54 |
| + | |
| + | access_xenobiology = 55 |
| + | |
| + | access_ce = 56 |
| + | |
| + | access_hop = 57 |
| + | |
| + | access_hos = 58 |
| + | |
| + | access_RC_announce = 59 - Request console announcements |
| + | |
| + | access_keycard_auth = 60 - Used for events which require at least two people to confirm them |
| + | |
| + | access_tcomsat = 61 - has access to the entire telecomms satellite / machinery |
| + | |
| + | === CentCom Access === |
| + | Mostly for admin use. |
| + | |
| + | access_cent_general = 101 - General facilities. |
| + | |
| + | access_cent_thunder = 102 - Thunderdome. |
| + | |
| + | access_cent_specops = 103 - Special Ops. |
| + | |
| + | access_cent_medical = 104 - Medical/Research |
| + | |
| + | access_cent_living = 105 - Living quarters. |
| + | |
| + | access_cent_storage = 106 - Generic storage areas. |
| + | |
| + | access_cent_teleporter = 107 - Teleporter. |
| + | |
| + | access_cent_creed = 108 - Creed's office. |
| + | |
| + | access_cent_captain = 109 - Captain's office/ID comp/AI. |
| + | |
| + | === Misc Access === |
| + | |
| + | access_syndicate = 150 - General Syndicate Access |
| + | |
| + | access_crate_cash = 200 - Money Crates? |
| + | |
| + | === Airless Floors === |
| + | |
| + | Ideal for rooms or chambers that mix gas, and for tiles exposed to space. Not ideal for areas that humans will cross in frequency. |
| + | |
| + | Use these on external tiles (to prevent lag when the game starts) and chambers that will require gas mixing (toxins mix chamber/ furnace). Double check these to make sure you don't suffocate mobs in the new rooms. |
| + | |
| + | === Fire Alarms and Fire Doors === |
| + | Make sure to put these INSIDE of the boundary of the area, so there is a lock down. Any spot that gets hot as a normal function should not have a fire Alarm right next to the heat source (toxin mix chamber). Make sure there is a fully sealed area (with the exception of maintenance doors for people to escape fires) that can't be open by normal civilians. |
| + | |
| + | === Weak Points === |
| + | Judge how high security the room will be, if it is high security, reinforced walls and electrified grill windows may be in order. Areas that do not need a lot of security can use basic walls, and windows to your liking (though normal glass windows break very very easy). Each room should have one place that's weaker than the rest (like a back door, side entrance, or a window), just because the main entrance might be out of commission (and realistically, for traitors to break into). |
| + | |
| + | === Item and Machinery Distribution === |
| + | Be smart about what will go in an area, keep a fine balance between the size of the room and amount of equipment. Large rooms may require multiple APCs to prevent power outages early in game. Second, make sure to place equipment that make sense for the area (security computer in a security area/ Medical vendor in a medical area). |
| + | |
| + | == Balance == |
| + | |
| + | === Item contents === |
| + | The harder the room is to enter, the more goodies or sensitive equipment there is inside. Make sure to keep this in mind (and don't make an empty room that's covered in blast doors, electrified grills, reinforced walls, and captain level doors). |
| + | |
| + | === Room security === |
| + | A room is only as secure as its necessity. Public rooms should not have many security functions (other than a fire alarm), but private work space must be more secure (based on job). The bartenders do not need reinforced walls around their storage, but engineers do. |
| + | |
| + | The highest security rooms should utilize the highest security measures. The lowest security rooms should utilize the cheapest security measures. |
| + | |
| + | == Step_x, step_y and the broken movement syndrome == |
| + | |
| + | So you compiled the map and suddenly whenever you move you no longer get the animation of moving but just 'appear' on the next tile? |
| + | |
| + | So a while back step_x and step_y were introduced to allow pixel based movement. SS13 does not utilize this. Step_x and step_y are variables that each atom has. The way they work is that as soon as you set any object on the map to use one of these variables, the game interprets that you overrode all default movement code and wrote your own - but you didn't (The code that makes the animation from tile to tile). |
| + | |
| + | To fix this problem you need to close dream maker (save the project first, obviously). Open your map (.dmm) file in a text editor, such as notepad or notepad++. Search (ctrl+f) through the file for step_x and step_y and remove any reference to it. Once no more step_x or step_y -es are found in the file, save it and open it in dream maker once again. Compile the code and movement should work fine once more. Go to [[Community|the development IRC]] if you need more help. |