Difference between revisions of "MechComp"
Studenterhue (talk | contribs) (→Signal-compatible Station Machinery: Add meter interactions, added when PR #16850 was merged) |
Studenterhue (talk | contribs) (→Signal-compatible Station Machinery: Note meters report concentration of gases too, as introduced when PR #20500 was merged) |
||
Line 367: | Line 367: | ||
! Meter | ! Meter | ||
| <center>[[File:Meter-0-15.2kPa-V2.png]]</center> | | <center>[[File:Meter-0-15.2kPa-V2.png]]</center> | ||
| Those gas/pipe meters in [[Engineering]] can output pressure and | | 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. | ||
|} | |} |
Latest revision as of 06:42, 26 October 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:
- 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".
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.
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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Connects to other pipe systems and sends a signal when anything goes through it. | |
Radio Scanner Component | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | When an input is received, the direction that incoming objects will be sent in switches between the two paths. | |
Instrument Player | Has one input, play, which when received will play the instrument inserted inside this component. | |
Movement Component | 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 | 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 | 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 | 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 | Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state. | |
Light Switch | Sends a signal when triggered, stating new state. Accepts a signal to toggle its current state. | |
Conveyor Switch | Sends a signal when triggered. Accepts a signal to toggle its current state. | |
Slot Machine | Sends a signal when triggered. Some slot machines also accept a signal input. | |
Experimental Long-range Teleporter | Accepts a signal to send or receive. The entirety of the signal must only be the name of the target destination. | |
Vending Machines | 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 | 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 | 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 | 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. |
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 |