Difference between revisions of "MechComp"

From Space Station 13 Wiki
Jump to navigation Jump to search
Line 164: Line 164:
! Association Component
! Association Component
| <center>[[File:AssociationComponent-32x32.png]]</center>
| <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.
| 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
|}
|}



Revision as of 04:00, 11 May 2023

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 right-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. A crowbar can be used to rotate most components if you don't like the way it is facing.

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 three 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.
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.

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.
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.
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.
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)
Wifi 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.
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.
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). 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.
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 (flamethrowers count).
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.
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.
Automatic Signaler
x
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.
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.
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.
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.
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.
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.

Signal-compatible Station Machinery

Machines you can find in the station that are MechComp-compatible.

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.
Fire Alarm
File:FireAlarm-32x32.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.


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 Videos


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