Difference between revisions of "MechComp"

From Space Station 13 Wiki
Jump to navigation Jump to search
(added a link to the control unit page)
 
(81 intermediate revisions by 22 users not shown)
Line 1: Line 1:
The [[Mechanic|mechanics lab]] already allows mass production of fancy toys such as energy guns, vending machines, and even more dangerous things if you are in possession of [[Syndicate Items#Syndicate Device Scanner|a particularly traitorous piece of gear]]. What more could there possibly be to share wondrous and/or terrifying contraptions with the crew? Well, as it ends up, the ruckingeur kit is only the beginning of a mechanic's arsenal of gadgets, and diving deeper into its depths unveils a new dimension of supermachines. Want to set up automatic defense systems that can blast intruders to bits? How about making custom pipe systems to deliver items with more efficiency and flexibility than the mail system? Making your own intercom systems? Death traps activated with a secret spoken password? This, ladies and gentlemen, is the power of MechComp.
The [[Mechanics Workshop|mechanics lab]] already allows mass production of fancy toys such as energy guns, vending machines, and even more dangerous things if you are in possession of [[Syndicate Items#Syndicate Device Analyzer|a particularly traitorous piece of gear]]. What more could there possibly be to share wondrous and/or terrifying contraptions with the crew? Well, as it ends up, the ruckingeur kit is only the beginning of arsenal of gadgets that is the mech lab, and diving deeper into its depths unveils a new dimension of supermachines. Want to set up automatic defense systems that can blast intruders to bits? How about making custom pipe systems to deliver items with more efficiency and flexibility than the mail system? Making your own intercom systems? Death traps activated with a secret spoken password? This, ladies and gentlemen, is the power of MechComp.


==Where To Start==
==Where To Start==
Line 11: Line 11:
'''Outputs''' are the signals that a machine sends and are consequentially accepted by other machines. Machines that receive outputs are called ''receivers''. Note that it is possible for a machine to be both a trigger AND a receiver if there are multiple machines in a process.
'''Outputs''' are the signals that a machine sends and are consequentially accepted by other machines. Machines that receive outputs are called ''receivers''. Note that it is possible for a machine to be both a trigger AND a receiver if there are multiple machines in a process.


To connect machines, you must first place parts in the desired locations, then use the wrench on them to bolt them to the floor and activate them. You can use the wrench again to unbolt them. Then, link parts together by clicking and dragging one part to another part (it can be anywhere within view) with your mouse while holding a multitool. You will then be asked if you want the first item (the one you clicked on and dragged to the other one) to be the trigger or the receiver. Whichever one you choose, the second machine will be given the opposite role. The trigger machine is set to activate the receiver machine when an input is given to the trigger.
To connect two or more mechanic components, do the following:
#Place parts in the desired locations.
#Use the wrench on them to bolt them to the floor, activating them and allowing them to be interacted with and connected to other components. You can use the wrench again to unbolt them.  
#Begin linking the components together by clicking and dragging one part the desired part (which can be anywhere within view) with your mouse while holding a multitool.  
#From the prompt, choose whether the first item (the one you clicked on and dragged to the other one) is to be the trigger or the receiver. Whichever one you choose, the second machine will be given the opposite role. The trigger machine is set to activate the receiver machine when an input is given to the trigger.
#If applicable, choose what input the receiving component will receive, i.e. what the receiver does/outputs when it gets the input. What specific options are available depends on the component, but for most receivers, this will usually be "activate".  


Then, you will be asked ask what kind of input you want the trigger to activate. No matter if you selected the trigger first or the receiver first, it will always be in the context of the trigger machine affecting the receiver machine. The commands provided depends on what machine you have specified as the receiver. For most receivers, this will usually be "activate", but other options are likely.
If you want to alter the options or send-signals (more on this later) of a machine, just walk over to it and click it with a multitool in hand to bring up a list of options. For basic contraptions, this usually isn't needed, but more complex,flexible machines, some of which use the station's computer network, you do need to concerned about signals. You could also use the "Connect Component" option here to connect two components rather than having to click drag.
 
If you want to alter the options or send-signals (more on this later) of a machine, just walk over to it and right-click it with a multitool in hand to bring up a list of options.
A crowbar can be used to rotate most components if you don't like the way it is facing. [[Engineering Objects#Optical Meson Scanner|Mesons]] allow you to see links between MechComp components and devices that accept them, allowing you to check if you connected the parts correctly.


===More on Signals===
===More on Signals===
Line 23: Line 28:


==Your (Metaphorical) Toolbox==
==Your (Metaphorical) Toolbox==
MechComp devices can be separated into three categories: Triggers, wiring, and machinery.
MechComp devices can be separated into four categories: Triggers, wiring, machinery, and other station objects.
 
===Containers===
These are machines capable of storing and using MechComp Components.
{| class="wikitable" style="text-align: left"
!scope = "col" style="width: 15%" | Item
!scope = "col" style="width: 10%" | Image
!scope = "col" style="width: 75%" | Description
 
|- id="Cabinet"
! MechComp Cabinet
| <center>[[Image:MechCompCabinet.png]]</center>
| Used to hold up to 23 active MechComp components at once.
 
|- id="Device Frame"
! Device Frame
| <center>[[File:DeviceFrameComponent.png]]</center>
| Used to hold up to 6 active MechComp components at once. Has a unremovable button trigger inside which can be connected to devices within and used when the Frame has its cover screwed closed.
|}


===Triggers===
===Triggers===
Machines meant to send a signal to other machines through user input. All triggers with the exception of doors cannot function as receivers and consequentially cannot be activated by other signals.
Machines meant to send a signal to other machines, namely machinery, through user input. All triggers with the exception of doors cannot function as receivers and consequentially cannot be activated by other signals.
{| class="wikitable" style="text-align: left"
{| class="wikitable" style="text-align: left"
!scope = "col" style="width: 15%" | Item
!scope = "col" style="width: 15%" | Item
Line 35: Line 58:
! Button
! Button
| <center>[[Image:BigRedButton.png]]</center>
| <center>[[Image:BigRedButton.png]]</center>
| Used to send a signal when the button is pressed. When the button is pressed, the value of the "send-signal" (by default 1) is sent on the output.
| Used to send a signal when the button is pressed. When the button is pressed, the value of the "send-signal" (by default 1) is sent on the output. It can be placed on walls.
 
|- id="Button Panel"
! Button Panel
| <center>[[File:ButtonPanel-32x32.png]]</center>
| Like the button above, but can configured to have multiple buttons, each with a different signal being output when activated. It too can be placed on walls.


|- id="Pressure Pad"
|- id="Pressure Sensor"
! Pressure Pad
! Pressure Sensor
| <center>[[Image:PressureSensor2.png]]</center>
| <center>[[Image:PressureSensor2.png]]</center>
| Used to send a signal when stepped on. When the pad is stepped on, the value of the "send-signal" (by default 1) is sent on the output.
| Used to send a signal when stepped on. When the pad is stepped on, the value of the "send-signal" (by default 1) is sent on the output.
|- id="Trip"
! Trip Laser
| <center>[[File:TripLaserV2.png]]</center>
| Has one input, ''toggle'', which when received will toggle the laser on and off. When the laser's beam is obstructed, the send-signal is sent on the output.
|- id="AutomaticSignaller"
! Automatic Signaler
| <center>[[File:AutomaticSignallerComponent.png]]</center>
| Automatically outputs a signal on regular, configurable intervals. The ''interval'' can be set between 0.5 and 60 seconds, and it can be set to repeat the signal a certain number of times before stopping. A more stable version of the Control Unit.


|- id="HandScanner"
|- id="HandScanner"
Line 55: Line 93:
! Microphone Component
! Microphone Component
| <center>[[Image:MicrophoneComponent.png]]</center>
| <center>[[Image:MicrophoneComponent.png]]</center>
| Sends anything spoken verbally within range as a signal. The "send-signal" value is ignored. If "Show-source" is enabled (by default it is not) then the name of the speaker will be included in the message, separated from the text by " : " (colon space colon). Note that strings sent by this device are not case-sensitive for the purposes of most inputs.
| Sends anything spoken verbally within range as a signal. The "send-signal" value is ignored. If "Show-source" is enabled (by default it is not) then the output will be in the form of a signal, with the sender's name included (e.g. "<tt>name=Tray Gide&message=can i get gloves</tt>"). Note that strings sent by this device are not case-sensitive for the purposes of most inputs.


|- id="SensorPipe"
|- id="Sensor Pipe"
! Sensor Pipe Segment
! Sensor Pipe
| <center>[[Image:SensorPipe.png]]</center>
| <center>[[File:SensorPipeV2.png]]</center>
| Connects to other pipe systems and sends a signal when anything goes through it.
| Connects to other pipe systems and sends a signal when anything goes through it.


|- id="Doors"
|- id="Radio Scanner Component"
! Doors
! Radio Scanner Component
| <center>[[File:Airlock64.png]]</center>
| <center>[[File:RadioScannerComponent.png]]</center>
| Doors are unique in that, in addition to serving as an input for machines, you can also route inputs into doors to open/close them. It's important to note that only general-access (available to everyone) doors can be opened or closed using MechComp machinery, though any door can serve as an input regardless of access level.
| Monitors a radio frequency of choice and sends a output containing the speaker and the words they said. Frequency monitored is set via clicking on it with a [[multitool]]. This cannot analyze the "secure frequencies", e.g. Security, and can identify a speaker even if they are disguised, unless they are capable of some sort of voice-changing.
 
|- id="PaymentComponent"
! Payment Component
| <center>[[Image:PaymentComponent.png]]</center>
| Accepts an amount of money, configurable as the "price". Only cash is accepted, not ID card payments. If the required money is given then the send-signal is sent on the output and the thanks-string is spoken as sound. If more than the specified amount of money is given, then the extra is returned, and "Here is your change!" is spoken instead of the thanks-string (no matter what the thanks-string is). Clicking with a multitool on the component and choosing "eject money" will ask for a code, and if this is correctly entered then all money taken by the unit is ejected. The code can be set as an option. There is an ''eject money'' input that will eject the stored money when given the correct code as a signal.
|}
|}


Line 88: Line 131:
! OR Component
! OR Component
| <center>[[Image:ORComponent.png]]</center>
| <center>[[Image:ORComponent.png]]</center>
| Sends a signal when a specified signal is sent to it. Can have up to 10 trigger machines connected to it, but the OR component only activates when it receives an input matching a specific send-signal, specified by the user. It then sends that send-signal.
| The OR component only activates when it receives an input matching a signal specified by the user. It then forwards that signal. The 10 inputs are cosmetic, like all devices, you can connect as many devices per-input as you like.


|- id="Toggle"
|- id="Toggle"
! Toggle Component
! Toggle Component
| <center>[[Image:ToggleComponent.png]]</center>
| <center>[[Image:ToggleComponent.png]]</center>
| Stores a single binary value. Has four inputs. Any message on the ''activate'' input will turn the toggle on, make the symbol on the component light up, and send the "On-signal" to the output (even if it was already off). Any message on the ''deactivate'' input will turn the toggle off, make the symbol on the component fade, and send the "Off-signal" to the output (even if the toggle was already off). Any message on the ''toggle'' input will toggle the state, sending the signal as appropriate. Any message on the ''output state'' input will send the on-signal or the off-signal as appropriate to the current state, without changing it.
| Stores a single binary value. Has four inputs. Any message on the ''activate'' input will turn the toggle on, and make the symbol on the component light up.. Any message on the ''deactivate'' input will turn the toggle off, and make the symbol on the component fade. Any message on the ''toggle'' input will toggle the state. Any message on the ''output state'' input will send the on-signal or the off-signal as appropriate to the current state, without changing it.
 
|- id="Arithmetic"
! Arithmetic Component
| <center>[[Image:ArithmeticComponent.png]]</center>
| Used to do arithmetic. Has three inputs, ''Set A'', ''Set B'', and ''Evaluate''. Set A and Set B take only numbers, and Evaluate executes the currently-set operation upon receiving any signal. The values of A, B, and the mathematical-operation can be set as options. Has an auto-evaluate toggle that will output the signal any time A or B change.


|- id="Selection"
|- id="Selection"
! Selection Component
! Selection Component
| <center>[[Image:SelectionComponent.png]]</center>
| <center>[[Image:SelectionComponent.png]]</center>
| Stores a list of items. Items can be added or removed to the list via appropriate channels or via the right-click menu. An item can be selected by sending its value as a signal on the selection channel, and then ''any'' signal on the "send selected" channel will cause that item to be sent on the output connection. Items can also be selected by moving through the list in order, or at random. Turning on "annoucements" via the right-click menu will cause the selection component to announce everything it is doing.
| Stores a list of items. Items can be added or removed to the list via appropriate channels or via the right-click menu. An item can be selected by sending its value as a signal on the selection channel, and then ''any'' signal on the "send selected" channel will cause that item to be sent on the output connection. Items can also be selected by moving through the list in order, or at random. Turning on "announcements" via the right-click menu will cause the selection component to announce everything it is doing.


|- id="Delay"
|- id="Delay"
! Delay Circut
! Delay Component
| <center>[[Image:DelayComponent2.png]]</center>
| <center>[[Image:DelayComponent2.png]]</center>
| Used to delay a signal. Has one input, ''delay''; any message received on this input is sent by the machine to whatever it is set to trigger after a certain amount of time has passed which can be set on the device. The send-signal of the Delay Circuit seems to be ignored. The delay time is measured in tenths of a second, and cannot go under one second.
| Used to delay a signal. Has one input, ''delay''; any message received on this input is sent by the machine to whatever it is set to trigger after a certain amount of time has passed which can be set on the device. The send-signal of the Delay Circuit seems to be ignored, unless you want to replace the signal's contents. The delay time is measured in tenths of a second, and cannot go under one second.
 
|- id="Counter"
! Counter Component
| <center>[[Image:ArithmeticComponent.png]]</center>
| Used to... count things. Also capable of ad-hoc addition/subtraction. The current value, amount to change per ''Count'', and value to reset on ''Reset'' can be configured. Has several inputs: ''Count'' (adds ''change'' to ''count''), ''Count Immediate'' (adds the value of the signal directly to ''count''), ''Set Value'' (directly sets ''count'' and outputs a signal), ''Reset'' (resets ''count'' without outputting a signal), etc. Outputs the current value of ''count'' on most signals. You can make it emit the current count on demand by sending ''Count Immediate'' with a value of zero.
 
|- id="Clock"
! Clock Component
| <center>[[Image:ArithmeticComponent.png]]</center>
| Acts as a clock and a stopwatch. Can be triggered to output the current round time, record the current time, and output the difference between now and the recorded time. Can output times in deciseconds, seconds, minutes, or hours.


|- id="SignalCheck"
|- id="SignalCheck"
Line 114: Line 172:
| <center>[[Image:SignalBuilderComponent.png]]</center>
| <center>[[Image:SignalBuilderComponent.png]]</center>
| Builds a message, typically a machine signal with key-value pairs, by appending send strings together with configurable start and end strings.
| Builds a message, typically a machine signal with key-value pairs, by appending send strings together with configurable start and end strings.
|- id="Textmanipulator"
! Text Manipulation Component
| <center>[[File:TextManipulationComponent.png]]</center>
| When given text as an input this component can clean it in several ways. It can manually be set to convert the case of the text, capitalize the first letter, remove trailing whitespaces, impose a length limit, or and combination of these.
|- id="Signal Splitter Component"
! Signal Splitter Component
| <center>[[Image:WifiSignalSplitterComponent.png]]</center>
| Decomposes machine signals sent in key1=value1&key2=value2&key3=value3&.. format. Set the trigger field to the part you want to extract, and the text of that value (only) will be sent on the output connection.  [[Mechanic Components And You]] refers to this by its old name "Wifi Signal Splitter Component", even though it doesn't actually interact with wifi.


|- id="RegExFind"
|- id="RegExFind"
! RegEx Find Component
! RegEx Find Component
| <center>[[Image:RegExFindComponent.png]]</center>
| <center>[[Image:RegExFindComponent.png]]</center>
| Behaves like the Signal Check component, but instead of matching raw strings, it matches regular expressions in the RegEx language. RegEx is its own separate language that you can learn more about on external sites.
| Behaves like the Signal Check component, but instead of matching raw strings, it matches regular expressions in the RegEx language. RegEx is its own separate language that you can learn more about on external sites. The variant of RegEx used is described [http://www.byond.com/docs/ref/#/{notes}/regex here].


|- id="RegExReplace"
|- id="RegExReplace"
! RegEx Replace Component
! RegEx Replace Component
| <center>[[Image:RegExReplaceComponent.png]]</center>
| <center>[[Image:RegExReplaceComponent.png]]</center>
| Behaves like the Signal Check component, but instead of matching raw strings, it matches regular expressions and then forwards a message modified using the regular expression replacement syntax. RegEx is its own separate language that you can learn more about on external sites.
| Behaves like the Signal Check component, but instead of matching raw strings, it matches regular expressions and then forwards a message modified using the regular expression replacement syntax. RegEx is its own separate language that you can learn more about on external sites. The variant of RegEx used is described [http://www.byond.com/docs/ref/#/{notes}/regex here].
 
|- id="Dispatch"
! Dispatch Component
| <center>[[Image:DispatchComponent.png]]</center>
| Similar to the Signal Check Component, but it allows filters to be set on a per-connection basis. When creating an outgoing connection from the Dispatch Component, you have the option to add a comma-delimited list of filters. The incoming signal must contain at least one of these filters or it will not be passed to the connected component. The filter list can be left blank to allow all messages to pass. There is also an exact mode toggle - when exact mode is on, the incoming signal must match a filter exactly (case insensitive). Connections with no filter will still fire for all messages in exact mode. If Single Output Mode is set, then only the first connection with a matching filter will fire.
 
|- id="File Component"
! File Component
| <center>[[File:FileComponent-32x32.png]]</center>
| Some machines, such as the [[Engineering Objects#Ruckingenur Kit|ruckingenur]] and [[Telescience|Telescience machines]], send signals that include a  file. This component lets you intercept, save, and send these files.
 
|- id="Association Component"
! Association Component
| <center>[[File:AssociationComponent-32x32.png]]</center>
| Rather than a list, this stores input as a map, with key-value pairs. This has three modes: mutable, immutable, and list. In mutable mode, if you try to add a key/value pair that already exists, the old value will be replace by the new value. In immutable mode, values cannot be replaced. In list mode, any new values for a key will be added to the existing value as a comma-delimited list. Can also output all key-value pairs as a signal. Values are added to the device in the following syntax when sending from another component: keyname=keyvalue. Example: Your button should add the value 'cheese' under 'tastyfood' and 'toasted' as the type of 'buns', so you will send the following signal: cheese=tastyfood&buns=toasted
|}
|}


===Machines===
===Machines===
These are the devices that have physical outputs. In other words, these are the machines that actually do things as opposed to merely sending signals to other components.
These are the devices that have physical outputs when they receive a signal from wiring or triggers. In other words, these are the machines that actually do things as opposed to merely sending signals to other components.
{| class="wikitable" style="text-align: left"
{| class="wikitable" style="text-align: left"
!scope = "col" style="width: 15%" | Item
!scope = "col" style="width: 15%" | Item
Line 137: Line 220:
| <center>[[Image:GravitonAccelerator2.png]]</center>
| <center>[[Image:GravitonAccelerator2.png]]</center>
| The Holy Grail of MechComp. Has one input, and when received, the Gravitron will activate, flinging anything on its tile in the chosen direction at high velocities.
| The Holy Grail of MechComp. Has one input, and when received, the Gravitron will activate, flinging anything on its tile in the chosen direction at high velocities.
|- id="Letter"
! Letter Display
| <center>[[Image:LetterDisplay.png]]</center>
| Used to create letters, numbers, and symbols on its screen. The configurable ''letter index'' determines what letter from the ''input'' is shown; negative numbers will right-align. Has two inputs: ''input'', the text that should be shown, and ''color'', one of ''red, green, blue, gray''.
|- id="Message"
! Message Sign
| <center>[[File:MessageSign.png]]</center>
| A rather wide sign that can display text. Can typically fit three rows by default. Has two inputs, ''set text'' (the text to display) and ''set color'' (an HTML color, like <tt>#FFFFFF</tt>). Using a multitool on it lets you change the font and text alignment as well.
|- id="Pixel"
! Pixel Display
| <center>[[File:PixelDisplay.png]]</center>
| A digital canvas! Offers two inputs, ''reset canvas'', which resets it, and ''draw pixel'', which takes a signal formatted like <tt>x=0&y=0&color=#FFFFFF</tt>. ''x'' and ''y'' range from 0 to 25, from bottom left to top right. Includes two optional parameters, ''x2'' and ''y2'', which can be used to draw straight lines or filled rectangles.


|- id="Sound"
|- id="Sound"
! Sound Synthesizer
! Sound Synthesizer
| <center>[[Image:SoundSynthesizerComponent.png]]</center>
| <center>[[Image:SoundSynthesizerComponent.png]]</center>
| Used to produce sound. Has one input, ''input''; any send-signal sent to this by another machine will be spoken. Oddly, it behaves as if it has an output, but this is never used.
| More like a speech synthesizer, kinda. Has one input, ''input'', and upon receiving a send-signal from another machine, it displays it as a message in the chat (e.g. Sound Synthesizer beeps, "Around the world. Around the world.") and as text above the component. This has a 2 second cooldown, and the speech it produces differs from speech spoken by people and the like (for example, microphones can't pick it up.) Oddly, it behaves as if it has an ''output'', but this is never used. Great for debugging signals as they pass through your setups.


|- id="Wifi"
|- id="Wifi"
Line 147: Line 245:
| <center>[[Image:WifiComponent.png]]</center>
| <center>[[Image:WifiComponent.png]]</center>
| Sends or receives messages on a radio channel of your choice. By default it recieves only PDA messages and filters the routing information out of them, but this can be modified. Note that, as with real wifi, you need to be in ''mutual'' range of the target you want to communicate with (in other words, even if you only want to send, you must be in receiving range. It's the underlying protocol or something)
| Sends or receives messages on a radio channel of your choice. By default it recieves only PDA messages and filters the routing information out of them, but this can be modified. Note that, as with real wifi, you need to be in ''mutual'' range of the target you want to communicate with (in other words, even if you only want to send, you must be in receiving range. It's the underlying protocol or something)
|- id="WifiSplitter"
! Wifi Signal Splitter Component
| <center>[[Image:WifiSignalSplitterComponent.png]]</center>
| Decomposes machine signals sent in key1=value1&key2=value2&key3=value3&.. format. Set the trigger field to the part you want to extract, and the text of that value (only) will be sent on the output connection.


|- id="ThermalPrinter"
|- id="ThermalPrinter"
Line 157: Line 250:
| <center>[[Image:ThermalPrinterComponent.png]]</center>
| <center>[[Image:ThermalPrinterComponent.png]]</center>
| Has one input, ''print''. Whenever a message is sent to this input the content of the message is printed out on a sheet of paper. The name of the paper object can be set as an option. This seems to behave as if it has an output and a send-signal, but neither appear to be used.
| Has one input, ''print''. Whenever a message is sent to this input the content of the message is printed out on a sheet of paper. The name of the paper object can be set as an option. This seems to behave as if it has an output and a send-signal, but neither appear to be used.
|- id="PaymentComponent"
! Payment Component
| <center>[[Image:PaymentComponent.png]]</center>
| Accepts an amount of money, configurable as the "price". Only cash is accepted, not ID card payments. If the required money is given then the send-signal is sent on the output and the thanks-string is spoken as sound. If more than the specified amount of money is given, then the extra is returned, and "Here is your change!" is spoken instead of the thanks-string (no matter what the thanks-string is). Right clicking on the component and choosing "eject money" will ask for a code, and if this is correctly entered then all money taken by the unit is ejected. The code can be set as an option. There is an ''eject money'' input but it seems to be ignored; sending the code or anything else as a message does nothing.


|- id="LED"
|- id="LED"
! LED Component
! LED Component
| <center>[[Image:LEDComponent.png]]</center>
| <center>[[Image:LEDComponent.png]]</center>
| Used to produce a variety of wonderful colors. Has four inputs, ''toggle'', ''activate'', ''deactivate'', and ''set rgb''. Toggle, Activate, and Deactivate will have the appropriate effect on the LED when any message is sent. Set RGB presumably allows the color of the light to be configured but the format of the required message is not known. Behaves as if it has an output, but never sends any.
| Used to produce a variety of wonderful colors. Has four inputs, ''toggle'', ''activate'', ''deactivate'', and ''set rgb''. Toggle, Activate, and Deactivate will have the appropriate effect on the LED when any message is sent. Set RGB allows the color of the light to be configured, when a hex color code (eg. #99ffbb) is sent. Behaves as if it has an output, but never sends any.
 
|- id="Gun Component"
! Gun Component
| <center>[[Image:GunComponent3.png]]</center>
| Upon receiving an input, these components fires a projectile in the given direction. It's not a gun in and of themselves; you must insert the firearm of your choosing into the component in order for the machine to function. This only accepts [[Murder#Kinetic Weapons|ballistic guns]], as well as  [[Murder#Flamethrower|flamethrowers]], [[Syndicate Items#Syringe Gun|syringe guns]], and [[Medical Objects#NT Syringe Gun|NT syringe guns]].


|- id="Gun"
|- id="E-Gun Component"
! Gun Components
! E-Gun Component
| <center>[[Image:GunComponent3.png]] [[Image:ChargeableGunComponent2.png]]</center>
| <center>[[Image:ChargeableGunComponent2.png]]</center>
| Upon receiving an input, these components fire a projectile in the given direction. These machines are not guns in and of themselves; you must insert the firearm of your choosing into the component in order for the machine to function. There are two varieties: The default gun component only accepts ballistic guns, whereas chargeable gun components accept energy-based firearms.
| Basically, the energy counter part to the kinetic [[#Gun Component|gun component]]. Upon receiving a signal, this fires the energy weapon inside in the direction the component's facing. Make sure you have an energy weapon inserted into the component first; it's nonfunctional without one. In addition to the basic command to fire the weapon, it also has a mode to recharge it.


|- id="Teleporter"
|- id="Teleporter"
! Teleport Component
! Teleport Component
| <center>[[Image:TeleportComponent.png]]</center>
| <center>[[Image:TeleportComponent.png]]</center>
| When activated, moves anything standing on it to the teleporter with the same ID.
| When activated, moves anything standing on it to a teleporter with the same ID when activated. Can also be set up to send to a specific ID given by the input rather than making the two teleporters have to share the same ID.


|- id="ControlUnit"
|- id="ControlUnit"
! [[Control Unit]]
! [[Control Unit]]
| <center>[[Image:ProgrammableControlUnit.png]]</center>
| <center>[[File:ProgrammableControlUnitV2.png]]</center>
| Can be programmed in a simple assembly language to transform inputs to outputs. Unfortunately, it only works with one-digit binary numbers. This is also the only mechanic component which can't be picked up - it must be pulled around.
| Can be programmed in a simple assembly language to transform inputs to outputs, as well as having a RAM cache it can use to store these between operations. Works based on hexadecimal ROM.


|- id="Powernet"
|- id="Powernet"
! Powernet-networking Component
! Powernet-networking Component
| <center>[[Image:Powernet-networkingComponent.png]]</center>
| <center>[[File:Powernet-networkingComponentV2.png]]</center>
| When connected to the wired [[DWAINE]] network, this component can take incoming commands as inputs and send commands as outputs. For a guide on how to work the operating system, refer to the wiki article on the subject.
| When connected to the [[DWAINE|wired network]], this component can take incoming MechComp signals from machines and output wired packets onto the network, and vice-versa. For a guide on how to work the operating system, refer to [[Packets|packets]] for more information.


|- id="Flusher"
|- id="Flusher"
Line 193: Line 286:
| When placed on top of a disposal pipe trunk segment and activated, anything on top of this component is sent through the connecting pipe system. Build your own disposal system!
| When placed on top of a disposal pipe trunk segment and activated, anything on top of this component is sent through the connecting pipe system. Build your own disposal system!


|- id="ControlledPipeJunction"
|- id="Controlled Pipe Junction"
! Controlled Pipe Junction
! Controlled Pipe Junction
| <center>[[Image:ControlledPipeJunction.png]]</center>
| <center>[[File:ControlledPipeJunctionV2.png]]</center>
| When an input is received, the direction that incoming objects will be sent in switches between the two paths.
| When an input is received, the direction that incoming objects will be sent in switches between the two paths.
|- id="Instrument"
! Instrument Player
| <center>[[Image:InstrumentPlayer.png]]</center>
| Has one input, ''play'', which when received will play the instrument inserted inside this component.
|- id="Movement"
! Movement Component
| <center>[[File:MovementComponent.png]]</center>
| When deployed inside a component cabinet, it will allow the cabinet to move on its own. This can be done through two ways, its step or walk input. Step will make it step one tile into the direction given (north, east, northwest, etc.) whereas walk will make it move in this direction indefinitely. It is also possible to set the speed of movement manually.
|- id="Tesla Coil"
! Tesla Coil
| <center>[[File:TeslaCoil-32x32.png]]</center>
| Shoots electricity upon activation. This is not the kind of electricity from the [[Power Grid]], but rather the kind released from breaking lights and used in the [[Murder#Special Attacks|special attack]] of the [[multitool]], the kind that can travel through water and does light {{BURN}} and Disorient, a slight stun with slowed and confused movement. Has a "Power" setting that goes from 1-3. Restricted to one per tile and has a range of 1-3 tiles. Due to the design of both the tesla coil and the electric arc, it is not possible to stunlock people with coils.
|- id="Hangman Game"
! Hangman Game
| <center>[[File:HangmanGame.png]]</center>
| A playable version of Hangman. You can set a configurable word to guess, and guesses are automatically made by receiving send-signals that include letters used in the puzzle. It has one "''guess''" input, and outputs for if it's solved, the amount of total guesses, the amount of total bad guesses, the last guessed letter, the count of multiple of the same letters, and the actual puzzle "game", which automatically fills the field out when guesses are made. The puzzle has to be reset manually at the component.
|}
===Signal-compatible Station Machinery===
A lot of machines you can find in the station are MechComp-compatible, here are some examples!
{| class="wikitable" style="text-align: left"
!scope = "col" style="width: 15%" | Item
!scope = "col" style="width: 10%" | Image
!scope = "col" style="width: 75%" | Description
|- id="Doors"
! Doors
| <center>[[File:AirlockNew.png]]</center>
| Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state. It's important to note that only general-access (available to everyone) doors can be opened or closed through MechComp [[Packets|on its own]].
|- id="Fire Alarm"
! Fire Alarm
| <center>[[File:FireAlarmNew.png]]</center>
| Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state.
|- id="Light Switch"
! Light Switch
| <center>[[File:LightSwitch-32x32.png]]</center>
| Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state.
|- id="Conveyor Switch"
! Conveyor Switch
| <center>[[File:ConveyorSwitchOff-32x32.png]]</center>
| Sends a signal when triggered. Accepts a signal to toggle its current state.
|- id="Slot Machine"
! Slot Machine
| <center>[[File:SlotMachine.png]]</center>
| Sends a signal when triggered. Some slot machines also accept a signal input.
|- id="Experimental Long-range Teleporter"
! Experimental Long-range Teleporter
| <center>[[File:LongRangeTeleporterV2.png]]</center>
| Accepts a signal to send or receive. The entirety of the signal must only be the name of the target destination.
|- id="Vending Machines"
! Vending Machines
| <center>[[File:GenericVendingMachine2.png]]</center>
| When dispensing normally, all generic vending machines output a signal stating which product was dispensed. They also accept signals for forcing a vend (but it will not output a compliment signal).
|- id="Health Scanners"
! [[Medical Objects#Floor Health Scanner|Health Scanners]]
| <center>[[Image:In-floorHealthScanner.png]]</center>
| Will output a signal when someone passes over it, triggering a scan. Signal format: <tt>health=100&oxy=0&tox=0&burn=0&brute=0</tt>"; use a Wifi Signal Splitter component to get what you want. ''(Note: to start linking, you may need to click on the scanner with a multitool, click-drag may not work.)''
|- id="Hydroponics Trays"
! [[Guide to Botany#Hydroponics Tray|Hydroponics Tray]]
| <center>[[File:HydroponicsTrayV2.png]]</center>
| Outputs various signals when a seed is planted, harvested, killed, etc. Has one input, ''scan plant'', which will send a signal with the plant's various statistics.
|- id="Meter"
! Meter
| <center>[[File:Meter-0-15.2kPa-V2.png]]</center>
| Those gas/pipe meters in [[Engineering]] can output pressure, temperature, and amount, in moles, of whatever [[gases]] are in the pipe. You can use this to build a pipe burst warning system or just show people a number going up.
|- id="Power Transmission Laser"
! Power Transmission Laser
| <center>[[File:PowerTransmissionLaser.png]]</center>
| The [[Power Grid#Power Transmission Laser|power transmission laser]] outputs signals indicating how much energy it's outputting, whether it's on, how it's earned across its lifetime, and how money is current stored inside it. It can accept signals to Toggle Power Input, Set Power Input, Toggle Power Output, and Set Power Output. These signals are one-to-one with the [[Power Grid#PTL UI|PTL's control panel]], so you can potentially automate PTL setup if you wish.
|- id="Gas Turbine"
! Gas Turbine
| <center>[[File:Gasturbine.png]]</center>
| The [[Power Grid#Gas Turbine|turbine used in the nuclear generator]] can output signals indicating its RPM, Stator Load, and power generated, both in its full form and in engineering notation. It can accept signals to "Set Stator Load" and "Set Flow Rate", allowing you to adjust Stator Load automatically to optimize RPM.
|}
|}


Line 206: Line 388:


===Teleport Hub===
===Teleport Hub===
A popular installation by station mechanics, this involves placing multiple teleport pads in the same area, such as the [[Market]], and placing other teleport pads in various spots around the station, such as the [[Bar]], [[Medbay]], and so on. Match the IDs of the pads at your hub to the IDs of the pads at the target destination, give each teleport pad a simple activation device such as a button or a pressure plate, and voila! Fast and easy transportation.
A popular project of choice for [[Engineer]]s, this involves placing multiple teleport pads in the same area, such as the [[Market]], and placing other teleport pads in various spots around the station, such as the [[Bar]], [[Medbay]], and so on. Match the IDs of the pads at your hub to the IDs of the pads at the target destination, give each teleport pad a simple activation device such as a button or a pressure plate, and voila! Fast and easy transportation.


===Graviton Launchers===
===Graviton Launchers===
The simple combination of a pressure plate and a Graviton Accelerator on the same tile is almost ubiquitous in the world of MechComp, and can be added onto or chained from one another to provide all sorts of zany shenanigans.
The simple combination of a pressure plate and a Graviton Accelerator on the same tile is almost ubiquitous in the world of MechComp, and can be added onto or chained from one another to provide all sorts of zany shenanigans.


==Putting the "Rude" in Rude Goldberg==
===Alarm System===
Trip wires can be configured to output a message to a Wifi Component. This can then be sent on to a PDA to secretly alert you or somebody else, such as the AI. The message to be sent should be in the send-signal of the Trip Wire, not the WiFi Component, and the WiFi needs to be set to the correct frequency.
 
==Putting the "Rude" in Rube Goldberg==
If you're fortunate enough to be a [[traitor]] with access to MechComp, you have access to one of the most wide-reaching methods of instigating mass murder, rivaling the likes of [[Chemistry]] and [[Toxins]] in potential. Gun components can be used in conjunction with a [[Murder#Guns|wide assortment of firearms]], including your own special gear, to remotely blast crew members, Graviton Accelerators can catch people unawares and launch them into deathtraps, teleport pads can teleport people away as well as teleporting things like bombs and dangerous critters, the list goes on and on. If you are a traitor working in mechanics, it is also extremely worthwhile to consider buying the [[Syndicate Items#Cloaking Field Generator|cloaking field generator]] when using MechComp for traitorous purposes, as it renders all of your nearby machinery completely invisible to most crew members. Get creative, the possibilities are just about endless!
If you're fortunate enough to be a [[traitor]] with access to MechComp, you have access to one of the most wide-reaching methods of instigating mass murder, rivaling the likes of [[Chemistry]] and [[Toxins]] in potential. Gun components can be used in conjunction with a [[Murder#Guns|wide assortment of firearms]], including your own special gear, to remotely blast crew members, Graviton Accelerators can catch people unawares and launch them into deathtraps, teleport pads can teleport people away as well as teleporting things like bombs and dangerous critters, the list goes on and on. If you are a traitor working in mechanics, it is also extremely worthwhile to consider buying the [[Syndicate Items#Cloaking Field Generator|cloaking field generator]] when using MechComp for traitorous purposes, as it renders all of your nearby machinery completely invisible to most crew members. Get creative, the possibilities are just about endless!


[[Category:Tutorial]]
==Supplementary Video==
<youtube>KxaWvJ-ziXA</youtube>
----
{{Department Guides}}

Latest revision as of 06:50, 30 November 2024

The mechanics lab already allows mass production of fancy toys such as energy guns, vending machines, and even more dangerous things if you are in possession of a particularly traitorous piece of gear. What more could there possibly be to share wondrous and/or terrifying contraptions with the crew? Well, as it ends up, the ruckingeur kit is only the beginning of arsenal of gadgets that is the mech lab, and diving deeper into its depths unveils a new dimension of supermachines. Want to set up automatic defense systems that can blast intruders to bits? How about making custom pipe systems to deliver items with more efficiency and flexibility than the mail system? Making your own intercom systems? Death traps activated with a secret spoken password? This, ladies and gentlemen, is the power of MechComp.

Where To Start

All the parts you need to begin your journey into the world of signals and Graviton traps can be found inside of the humble MechComp vending machine located inside of the mechanics lab. You have an effectively infinite number of supplies, (technically there's a finite number, but you'd need to be making something impossibly huge to use them all) so the only limit to the size of your machines is defined by your workspace and your patience.

Basic Machines

There are a few terms that are frequently used both in-game and in this guide that are essential to understanding the MechComp system, so before we dive into all the fun toys you have available, it is important to review them.

Inputs are the various functions that a machine can perform, such as the printing of a paper or the changing of the color of a light. Machines that send inputs to other machines are called triggers.

Outputs are the signals that a machine sends and are consequentially accepted by other machines. Machines that receive outputs are called receivers. Note that it is possible for a machine to be both a trigger AND a receiver if there are multiple machines in a process.

To connect two or more mechanic components, do the following:

  1. Place parts in the desired locations.
  2. Use the wrench on them to bolt them to the floor, activating them and allowing them to be interacted with and connected to other components. You can use the wrench again to unbolt them.
  3. Begin linking the components together by clicking and dragging one part the desired part (which can be anywhere within view) with your mouse while holding a multitool.
  4. From the prompt, choose whether the first item (the one you clicked on and dragged to the other one) is to be the trigger or the receiver. Whichever one you choose, the second machine will be given the opposite role. The trigger machine is set to activate the receiver machine when an input is given to the trigger.
  5. If applicable, choose what input the receiving component will receive, i.e. what the receiver does/outputs when it gets the input. What specific options are available depends on the component, but for most receivers, this will usually be "activate".

If you want to alter the options or send-signals (more on this later) of a machine, just walk over to it and click it with a multitool in hand to bring up a list of options. For basic contraptions, this usually isn't needed, but more complex,flexible machines, some of which use the station's computer network, you do need to concerned about signals. You could also use the "Connect Component" option here to connect two components rather than having to click drag.

A crowbar can be used to rotate most components if you don't like the way it is facing. Mesons allow you to see links between MechComp components and devices that accept them, allowing you to check if you connected the parts correctly.

More on Signals

There are two types of signals, referred to as fixed signals and send signals for the purposes of this guide. Fixed signals either aren't editable by any means or only have a predetermined selection of signal values. Notable examples include the microphone, which can only send whatever is spoken into it as a signal. Fixed signals can be altered through use of other machines, but not on their own.

Send signals, on the other hand, can be edited. When you right-click something like a button or a pressure plate, you will notice under their menus an option saying "[Set Send-Signal]". Send Signals are signals that can be customized, and are important for various machines. For example, buttons have a default send-signal of 1; a synthesizer connected to this button would say "1" every time the button is pressed. However, altering the button's send-signal would consequentially change the message of the synthesizer. Changing the button's send-signal to "Hello!" would make the sound synthesizer say "Hello!", for instance.

Your (Metaphorical) Toolbox

MechComp devices can be separated into four categories: Triggers, wiring, machinery, and other station objects.

Containers

These are machines capable of storing and using MechComp Components.

Item Image Description
MechComp Cabinet
MechCompCabinet.png
Used to hold up to 23 active MechComp components at once.
Device Frame
DeviceFrameComponent.png
Used to hold up to 6 active MechComp components at once. Has a unremovable button trigger inside which can be connected to devices within and used when the Frame has its cover screwed closed.

Triggers

Machines meant to send a signal to other machines, namely machinery, through user input. All triggers with the exception of doors cannot function as receivers and consequentially cannot be activated by other signals.

Item Image Description
Button
BigRedButton.png
Used to send a signal when the button is pressed. When the button is pressed, the value of the "send-signal" (by default 1) is sent on the output. It can be placed on walls.
Button Panel
ButtonPanel-32x32.png
Like the button above, but can configured to have multiple buttons, each with a different signal being output when activated. It too can be placed on walls.
Pressure Sensor
PressureSensor2.png
Used to send a signal when stepped on. When the pad is stepped on, the value of the "send-signal" (by default 1) is sent on the output.
Trip Laser
TripLaserV2.png
Has one input, toggle, which when received will toggle the laser on and off. When the laser's beam is obstructed, the send-signal is sent on the output.
Automatic Signaler
AutomaticSignallerComponent.png
Automatically outputs a signal on regular, configurable intervals. The interval can be set between 0.5 and 60 seconds, and it can be set to repeat the signal a certain number of times before stopping. A more stable version of the Control Unit.
Hand Scanner Component
HandScannerComponent.png
Used to send a signal when interacted with by a player. When clicked on with an empty hand, sends either the user's name or their hex fingerprint - determined by the "signal type" setting - to the output. Note that Hand Scanner Components are able to detect fingerprints through any kind of gloves, and always read the user's actual name regardless of the name on their ID card.
Paper Scanner Component
PaperScannerComponent.png
Used to send a signal when given a paper. When a paper object is dropped on it, anything written on the paper is sent to its output. By default it accepts only thermal paper and the paper object is consumed when placed in the scanner, but both of these can be altered via settings.
Microphone Component
MicrophoneComponent.png
Sends anything spoken verbally within range as a signal. The "send-signal" value is ignored. If "Show-source" is enabled (by default it is not) then the output will be in the form of a signal, with the sender's name included (e.g. "name=Tray Gide&message=can i get gloves"). Note that strings sent by this device are not case-sensitive for the purposes of most inputs.
Sensor Pipe
SensorPipeV2.png
Connects to other pipe systems and sends a signal when anything goes through it.
Radio Scanner Component
RadioScannerComponent.png
Monitors a radio frequency of choice and sends a output containing the speaker and the words they said. Frequency monitored is set via clicking on it with a multitool. This cannot analyze the "secure frequencies", e.g. Security, and can identify a speaker even if they are disguised, unless they are capable of some sort of voice-changing.
Payment Component
PaymentComponent.png
Accepts an amount of money, configurable as the "price". Only cash is accepted, not ID card payments. If the required money is given then the send-signal is sent on the output and the thanks-string is spoken as sound. If more than the specified amount of money is given, then the extra is returned, and "Here is your change!" is spoken instead of the thanks-string (no matter what the thanks-string is). Clicking with a multitool on the component and choosing "eject money" will ask for a code, and if this is correctly entered then all money taken by the unit is ejected. The code can be set as an option. There is an eject money input that will eject the stored money when given the correct code as a signal.

Wiring

Wiring used to make more complicated machines.

Item Image Description
Relay Component
RelayComponent.png
Simply passes on a signal. Any message sent to this component is immediately repeated on the output, letting you send signals both across long distances and to non-MechComp machines, such as doors. This also lets you effectively make one machine send multiple different inputs if routed through different relay components. If "signal changing" is switched on then instead of repeating the message, the send-signal of the Relay Component is sent to the output no matter what the input was.
AND Component
ANDComponent2.png
Sends a signal when 2 signals are sent to it within a set period of each other. Unique in that it requires two machines to be connected to it as triggers. Has two inputs, input 1 and input 2. If messages arrive on both inputs within a certain time of each other (set as the "time frame"), then the AND component's send-signal is sent to its output. The content of the actual messages sent to the AND component is ignored.
OR Component
ORComponent.png
The OR component only activates when it receives an input matching a signal specified by the user. It then forwards that signal. The 10 inputs are cosmetic, like all devices, you can connect as many devices per-input as you like.
Toggle Component
ToggleComponent.png
Stores a single binary value. Has four inputs. Any message on the activate input will turn the toggle on, and make the symbol on the component light up.. Any message on the deactivate input will turn the toggle off, and make the symbol on the component fade. Any message on the toggle input will toggle the state. Any message on the output state input will send the on-signal or the off-signal as appropriate to the current state, without changing it.
Arithmetic Component
ArithmeticComponent.png
Used to do arithmetic. Has three inputs, Set A, Set B, and Evaluate. Set A and Set B take only numbers, and Evaluate executes the currently-set operation upon receiving any signal. The values of A, B, and the mathematical-operation can be set as options. Has an auto-evaluate toggle that will output the signal any time A or B change.
Selection Component
SelectionComponent.png
Stores a list of items. Items can be added or removed to the list via appropriate channels or via the right-click menu. An item can be selected by sending its value as a signal on the selection channel, and then any signal on the "send selected" channel will cause that item to be sent on the output connection. Items can also be selected by moving through the list in order, or at random. Turning on "announcements" via the right-click menu will cause the selection component to announce everything it is doing.
Delay Component
DelayComponent2.png
Used to delay a signal. Has one input, delay; any message received on this input is sent by the machine to whatever it is set to trigger after a certain amount of time has passed which can be set on the device. The send-signal of the Delay Circuit seems to be ignored, unless you want to replace the signal's contents. The delay time is measured in tenths of a second, and cannot go under one second.
Counter Component
ArithmeticComponent.png
Used to... count things. Also capable of ad-hoc addition/subtraction. The current value, amount to change per Count, and value to reset on Reset can be configured. Has several inputs: Count (adds change to count), Count Immediate (adds the value of the signal directly to count), Set Value (directly sets count and outputs a signal), Reset (resets count without outputting a signal), etc. Outputs the current value of count on most signals. You can make it emit the current count on demand by sending Count Immediate with a value of zero.
Clock Component
ArithmeticComponent.png
Acts as a clock and a stopwatch. Can be triggered to output the current round time, record the current time, and output the difference between now and the recorded time. Can output times in deciseconds, seconds, minutes, or hours.
Signal Check Component
SignalCheckComponent.png
Checks if an input signal matches a particular string, and if it does, sends another signal on. The signal sent on can either be a copy of the original string or a different signal.
Signal Builder Component
SignalBuilderComponent.png
Builds a message, typically a machine signal with key-value pairs, by appending send strings together with configurable start and end strings.
Text Manipulation Component
TextManipulationComponent.png
When given text as an input this component can clean it in several ways. It can manually be set to convert the case of the text, capitalize the first letter, remove trailing whitespaces, impose a length limit, or and combination of these.
Signal Splitter Component
WifiSignalSplitterComponent.png
Decomposes machine signals sent in key1=value1&key2=value2&key3=value3&.. format. Set the trigger field to the part you want to extract, and the text of that value (only) will be sent on the output connection. Mechanic Components And You refers to this by its old name "Wifi Signal Splitter Component", even though it doesn't actually interact with wifi.
RegEx Find Component
RegExFindComponent.png
Behaves like the Signal Check component, but instead of matching raw strings, it matches regular expressions in the RegEx language. RegEx is its own separate language that you can learn more about on external sites. The variant of RegEx used is described here.
RegEx Replace Component
RegExReplaceComponent.png
Behaves like the Signal Check component, but instead of matching raw strings, it matches regular expressions and then forwards a message modified using the regular expression replacement syntax. RegEx is its own separate language that you can learn more about on external sites. The variant of RegEx used is described here.
Dispatch Component
DispatchComponent.png
Similar to the Signal Check Component, but it allows filters to be set on a per-connection basis. When creating an outgoing connection from the Dispatch Component, you have the option to add a comma-delimited list of filters. The incoming signal must contain at least one of these filters or it will not be passed to the connected component. The filter list can be left blank to allow all messages to pass. There is also an exact mode toggle - when exact mode is on, the incoming signal must match a filter exactly (case insensitive). Connections with no filter will still fire for all messages in exact mode. If Single Output Mode is set, then only the first connection with a matching filter will fire.
File Component
FileComponent-32x32.png
Some machines, such as the ruckingenur and Telescience machines, send signals that include a file. This component lets you intercept, save, and send these files.
Association Component
AssociationComponent-32x32.png
Rather than a list, this stores input as a map, with key-value pairs. This has three modes: mutable, immutable, and list. In mutable mode, if you try to add a key/value pair that already exists, the old value will be replace by the new value. In immutable mode, values cannot be replaced. In list mode, any new values for a key will be added to the existing value as a comma-delimited list. Can also output all key-value pairs as a signal. Values are added to the device in the following syntax when sending from another component: keyname=keyvalue. Example: Your button should add the value 'cheese' under 'tastyfood' and 'toasted' as the type of 'buns', so you will send the following signal: cheese=tastyfood&buns=toasted

Machines

These are the devices that have physical outputs when they receive a signal from wiring or triggers. In other words, these are the machines that actually do things as opposed to merely sending signals to other components.

Item Image Description
Graviton Accelerator
GravitonAccelerator2.png
The Holy Grail of MechComp. Has one input, and when received, the Gravitron will activate, flinging anything on its tile in the chosen direction at high velocities.
Letter Display
LetterDisplay.png
Used to create letters, numbers, and symbols on its screen. The configurable letter index determines what letter from the input is shown; negative numbers will right-align. Has two inputs: input, the text that should be shown, and color, one of red, green, blue, gray.
Message Sign
MessageSign.png
A rather wide sign that can display text. Can typically fit three rows by default. Has two inputs, set text (the text to display) and set color (an HTML color, like #FFFFFF). Using a multitool on it lets you change the font and text alignment as well.
Pixel Display
PixelDisplay.png
A digital canvas! Offers two inputs, reset canvas, which resets it, and draw pixel, which takes a signal formatted like x=0&y=0&color=#FFFFFF. x and y range from 0 to 25, from bottom left to top right. Includes two optional parameters, x2 and y2, which can be used to draw straight lines or filled rectangles.
Sound Synthesizer
SoundSynthesizerComponent.png
More like a speech synthesizer, kinda. Has one input, input, and upon receiving a send-signal from another machine, it displays it as a message in the chat (e.g. Sound Synthesizer beeps, "Around the world. Around the world.") and as text above the component. This has a 2 second cooldown, and the speech it produces differs from speech spoken by people and the like (for example, microphones can't pick it up.) Oddly, it behaves as if it has an output, but this is never used. Great for debugging signals as they pass through your setups.
Wifi Component
WifiComponent.png
Sends or receives messages on a radio channel of your choice. By default it recieves only PDA messages and filters the routing information out of them, but this can be modified. Note that, as with real wifi, you need to be in mutual range of the target you want to communicate with (in other words, even if you only want to send, you must be in receiving range. It's the underlying protocol or something)
Thermal Printer Component
ThermalPrinterComponent.png
Has one input, print. Whenever a message is sent to this input the content of the message is printed out on a sheet of paper. The name of the paper object can be set as an option. This seems to behave as if it has an output and a send-signal, but neither appear to be used.
LED Component
LEDComponent.png
Used to produce a variety of wonderful colors. Has four inputs, toggle, activate, deactivate, and set rgb. Toggle, Activate, and Deactivate will have the appropriate effect on the LED when any message is sent. Set RGB allows the color of the light to be configured, when a hex color code (eg. #99ffbb) is sent. Behaves as if it has an output, but never sends any.
Gun Component
GunComponent3.png
Upon receiving an input, these components fires a projectile in the given direction. It's not a gun in and of themselves; you must insert the firearm of your choosing into the component in order for the machine to function. This only accepts ballistic guns, as well as flamethrowers, syringe guns, and NT syringe guns.
E-Gun Component
ChargeableGunComponent2.png
Basically, the energy counter part to the kinetic gun component. Upon receiving a signal, this fires the energy weapon inside in the direction the component's facing. Make sure you have an energy weapon inserted into the component first; it's nonfunctional without one. In addition to the basic command to fire the weapon, it also has a mode to recharge it.
Teleport Component
TeleportComponent.png
When activated, moves anything standing on it to a teleporter with the same ID when activated. Can also be set up to send to a specific ID given by the input rather than making the two teleporters have to share the same ID.
Control Unit
ProgrammableControlUnitV2.png
Can be programmed in a simple assembly language to transform inputs to outputs, as well as having a RAM cache it can use to store these between operations. Works based on hexadecimal ROM.
Powernet-networking Component
Powernet-networkingComponentV2.png
When connected to the wired network, this component can take incoming MechComp signals from machines and output wired packets onto the network, and vice-versa. For a guide on how to work the operating system, refer to packets for more information.
Flusher Component
FlusherComponent.png
When placed on top of a disposal pipe trunk segment and activated, anything on top of this component is sent through the connecting pipe system. Build your own disposal system!
Controlled Pipe Junction
ControlledPipeJunctionV2.png
When an input is received, the direction that incoming objects will be sent in switches between the two paths.
Instrument Player
InstrumentPlayer.png
Has one input, play, which when received will play the instrument inserted inside this component.
Movement Component
MovementComponent.png
When deployed inside a component cabinet, it will allow the cabinet to move on its own. This can be done through two ways, its step or walk input. Step will make it step one tile into the direction given (north, east, northwest, etc.) whereas walk will make it move in this direction indefinitely. It is also possible to set the speed of movement manually.
Tesla Coil
TeslaCoil-32x32.png
Shoots electricity upon activation. This is not the kind of electricity from the Power Grid, but rather the kind released from breaking lights and used in the special attack of the multitool, the kind that can travel through water and does light BURN and Disorient, a slight stun with slowed and confused movement. Has a "Power" setting that goes from 1-3. Restricted to one per tile and has a range of 1-3 tiles. Due to the design of both the tesla coil and the electric arc, it is not possible to stunlock people with coils.
Hangman Game
HangmanGame.png
A playable version of Hangman. You can set a configurable word to guess, and guesses are automatically made by receiving send-signals that include letters used in the puzzle. It has one "guess" input, and outputs for if it's solved, the amount of total guesses, the amount of total bad guesses, the last guessed letter, the count of multiple of the same letters, and the actual puzzle "game", which automatically fills the field out when guesses are made. The puzzle has to be reset manually at the component.

Signal-compatible Station Machinery

A lot of machines you can find in the station are MechComp-compatible, here are some examples!

Item Image Description
Doors
AirlockNew.png
Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state. It's important to note that only general-access (available to everyone) doors can be opened or closed through MechComp on its own.
Fire Alarm
FireAlarmV2.png
Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state.
Light Switch
LightSwitch-32x32.png
Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state.
Conveyor Switch
ConveyorSwitchOff-32x32.png
Sends a signal when triggered. Accepts a signal to toggle its current state.
Slot Machine
SlotMachine.png
Sends a signal when triggered. Some slot machines also accept a signal input.
Experimental Long-range Teleporter
LongRangeTeleporterV2.png
Accepts a signal to send or receive. The entirety of the signal must only be the name of the target destination.
Vending Machines
GenericVendingMachine2.png
When dispensing normally, all generic vending machines output a signal stating which product was dispensed. They also accept signals for forcing a vend (but it will not output a compliment signal).
Health Scanners
In-floorHealthScanner.png
Will output a signal when someone passes over it, triggering a scan. Signal format: health=100&oxy=0&tox=0&burn=0&brute=0"; use a Wifi Signal Splitter component to get what you want. (Note: to start linking, you may need to click on the scanner with a multitool, click-drag may not work.)
Hydroponics Tray
HydroponicsTrayV2.png
Outputs various signals when a seed is planted, harvested, killed, etc. Has one input, scan plant, which will send a signal with the plant's various statistics.
Meter
Meter-0-15.2kPa-V2.png
Those gas/pipe meters in Engineering can output pressure, temperature, and amount, in moles, of whatever gases are in the pipe. You can use this to build a pipe burst warning system or just show people a number going up.
Power Transmission Laser
PowerTransmissionLaser.png
The power transmission laser outputs signals indicating how much energy it's outputting, whether it's on, how it's earned across its lifetime, and how money is current stored inside it. It can accept signals to Toggle Power Input, Set Power Input, Toggle Power Output, and Set Power Output. These signals are one-to-one with the PTL's control panel, so you can potentially automate PTL setup if you wish.
Gas Turbine
Gasturbine.png
The turbine used in the nuclear generator can output signals indicating its RPM, Stator Load, and power generated, both in its full form and in engineering notation. It can accept signals to "Set Stator Load" and "Set Flow Rate", allowing you to adjust Stator Load automatically to optimize RPM.

Machines and Gizmos

So what can you do with all of this stuff? Well, the possible applications of MechComp are limited only by what you have available and what you can think of, but here are some basic mechanisms to get you started:

Voice-Activated Machines

You'll need a Microphone Component, a Signal Checker Component, and the output of your choice. Choose a specific codeword that you'll use to activate the machine, such as "Alakazam!" Then, configure the Signal Checker Component so it only accepts that precise signal. Connect the Microphone Component to your Signal Checker, then connect the Signal Checker to your device, and whenever the word is spoken, whatever machine you have connected will activate.

Teleport Hub

A popular project of choice for Engineers, this involves placing multiple teleport pads in the same area, such as the Market, and placing other teleport pads in various spots around the station, such as the Bar, Medbay, and so on. Match the IDs of the pads at your hub to the IDs of the pads at the target destination, give each teleport pad a simple activation device such as a button or a pressure plate, and voila! Fast and easy transportation.

Graviton Launchers

The simple combination of a pressure plate and a Graviton Accelerator on the same tile is almost ubiquitous in the world of MechComp, and can be added onto or chained from one another to provide all sorts of zany shenanigans.

Alarm System

Trip wires can be configured to output a message to a Wifi Component. This can then be sent on to a PDA to secretly alert you or somebody else, such as the AI. The message to be sent should be in the send-signal of the Trip Wire, not the WiFi Component, and the WiFi needs to be set to the correct frequency.

Putting the "Rude" in Rube Goldberg

If you're fortunate enough to be a traitor with access to MechComp, you have access to one of the most wide-reaching methods of instigating mass murder, rivaling the likes of Chemistry and Toxins in potential. Gun components can be used in conjunction with a wide assortment of firearms, including your own special gear, to remotely blast crew members, Graviton Accelerators can catch people unawares and launch them into deathtraps, teleport pads can teleport people away as well as teleporting things like bombs and dangerous critters, the list goes on and on. If you are a traitor working in mechanics, it is also extremely worthwhile to consider buying the cloaking field generator when using MechComp for traitorous purposes, as it renders all of your nearby machinery completely invisible to most crew members. Get creative, the possibilities are just about endless!

Supplementary Video


Department Guides
Engineering Making and Breaking · Construction · Gas · Power Grid · Thermoelectric Generator · Singularity Generator · Geothermal Generator · Catalytic Generator · Nuclear Generator · Mining · Materials and Crafting · Wiring · Hacking · MechComp · Mechanic components and you · Control Unit · Ruckingenur Kit · Reactor Statistics Computer · Cargo Crates
Medsci Doctoring · Genetics · Robotics · Telescience · Plasma Research · Artifact Research · Chemistry · Chemicals · ChemiCompiler · Decomposition
Security Security Officer · Contraband · Forensics · Space Law
Service Foods and Drinks · Botany · Writing · Piano Song Dump · Instruments
The AI Artificial Intelligence · AI Laws · Chain of Command · Guide to AI · Humans and Nonhumans · Killing the AI
Computers Computers · TermOS · ThinkDOS · Packets