Difference between revisions of "Guide to Circuits"

From /tg/station 13 Wiki
Jump to navigation Jump to search
m (Needs Revision)
(made the page actually useful)
Line 1: Line 1:
 
{{Needs revision
 
{{Needs revision
|reason = This looks more like a place-holder than an actual guide. Circuits in-game aren't explained well at all, so having an actual guide to these things would be great.
+
|reason = BCI section needs to be completed, Inputs and Outputs should be filled in, USB cable section should be completed.
 
}}
 
}}
  
== Integrated Circuit ==
+
'''Circuits''' are a way to automate different actions extensively and easily! You can make a circuit that opens a door when you say a secret code to it, or a circuit that follows anyone you want while yelling obscenities at them, or well, anything really!
The integrated circuit is the foundation for all circuits. Shells can be implanted with integrated circuits and removed with a screwdriver. You can't add components to an integrated circuit whilst it is in a shell, but you can rewire it with a multitool.
+
Before starting to code with circuits, you'll need a few things:
  
Batteries can be removed from an integrated circuit with screwdriver.
+
= Necessary Items =
Integrated Circuits are always off and do not process inputs when not in a shell.
 
You can interact with an integrated circuits by using it in your hand, and you can attach components to it by hitting it with a component.
 
  
Each component has ports that input and output information. The component acts as the processor and the ports act as the input/outputs.
+
==[[File:Integrated_circuit.png]] Integrated Circuit ==
An input can only be connected to one output but an output can be connected to many inputs.
+
The integrated circuit is the foundation for all circuits. Your entire build will we based around this little guy. However, it can't work by itself.
 +
First and foremost, it requires power, which you can provide to it via a [[File:Powercell.png]]'''Power Cell'''. Once you're sure that the power cell you're gonna use is charged, just {{Leftclick}} '''use it''' on the integrated circuit. If you ever want to change the power cell or take it out for charging, you may take out by using a [[File:Screwdriver tool.png]] '''Screwdriver''' on it.
 +
Power cells drain whenever a component activates. By clicking the little i on a component you can see how much power each activation uses. If you don't know what I'm talking about, keep reading.
 +
Once you have a powercell you may place your integrated circuit into a [[File:Shell_bot.png]][[Guide_to_Circuits#Shell|Shell]].
  
Whenever an input receives a value, it drains 1 unit of energy from the attached battery cell
+
==[[File:Shell_bot.png]] Shell ==
There are currently no components that can interact with the physical world except a built-in component for the drone shell that allows it to move.
+
The shell will make it possible for you to add components to the integrated circuit, it'll let you access the circuitry, and it'll add input options for you to interface with your circuit with.
 +
Depending on the shell, you might need to use a [[File:Screwdriver tool.png]] '''Screwdriver''' on it to assemble it before you're able to {{Leftclick}} '''use''' the [[File:Integrated_circuit.png]][[Guide_to_Circuits#Integrated Circuit|Integrated Circuit]] on said shell to add it.
 +
If you ever want to remove the Integrated Circuit from it, just use a [[File:Screwdriver tool.png]] '''Screwdriver''' on it.
  
Signal ports are number ports, but are used to trigger the execution of a component. Each component will usually have an input signal port and an output signal port.
+
Different shells have varying size. Size represents how many components you're able to place inside a shell. There are four sizes:
 +
* '''Small''': Allows up to 25 components
 +
* '''Medium''': Allows up to 50 components
 +
* '''Large''': Allows up to 100 components
 +
* '''Very large''': Allows up to 500 components
  
== Circuit Multitool ==
+
There are many kinds of circuits, each with their special features:
The circuit multitool is used to mark entities. Using it in hand will clear the current marked entity, allowing you to mark another entity.
+
(If you're confused by what "output signals" or "entities" are, go down to [[Guide_to_Circuits#Signal types|Signal types]])
A marked entity can then be uploaded to a circuit port with the "any" or "entity" type by pressing the upload button on it.
+
{| class="wikitable"
 +
|-
 +
! Name || Description || Size || Required Research || Requires assembly
 +
|-
 +
| Compact Remote || The simplest handheld shell out there. Has one output signal that activates when you {{Leftclick}} '''use''' it on your hand.|| Small || None || No
 +
|-
 +
| Bot || The simplest stationary shell. Has one output signal that activates when you {{Leftclick}} '''use''' it. || Large || Advanced Shell Research || Yes
 +
|-
 +
| Airlock || A circuit-controllable airlock. '''To insert an integrated circuit, {{Leftclick}} Left click while on {{Combat Mode}}'''. Has many input signals that let you open it, close it, bolt it, and unbolt it. Also has output signals that notify you when said actions are performed, plus two output numbers that return 1 or 0 if they're closed/bolted depending on the output.|| Large || Advanced Shell Research || Yes
 +
|-
 +
| Controller || Another handheld shell like the Compact Remote, but unlike the Compact Remote this one has multiple buttons: {{Leftclick}} Use it on your hand to activate the primary button (Known as "Signal" in the circuit), Alt-{{Leftclick}}Click it on your hand to activate the alternative button, and {{Rightclick}} Right click it on your hand to activate the extra button. || Medium || Advanced Shell Research || No
 +
|-
 +
| Money Bot || Stationary like the Bot component, but allows taking and dispensing credits! Has output signals that tell you when money has been inserted, how much money has been inserted and how much money the machine has in general.|| Large || Advanced Shell Research || Yes
 +
|-
 +
| Scanner Gate || Very simple shell that returns any entity that walks through it. || Large || Advanced Shell Research || Yes
 +
|-
 +
| Scanner || Another handheld shell. {{Leftclick}} Use it on anything to output that thing as an entity. || Large || Advanced Shell Research || No
 +
|-
 +
| Drone || This little guy is able to move around just like you! Has many signal inputs, with each representing each direction in which it can go.|| Large || Movable Shell Research || Yes
 +
|-
 +
| Brain-Computer Interface || Circuits, but in your BRAIN! For more information on Brain-Computer Interfaces (Also known as BCI), go [[Guide_to_Circuits#Brain-Computer Interfaces|here]]|| Small || Brain-Computer Interfaces || Yes
 +
|-
 +
| Server || Basically the same as the Bot shell, but bigger and better || Very large || Server Technology Research || Yes
 +
|}
  
== Shells ==
+
Once you have a shell with an integrated circuit in it, you may access the circuit in it by using a [[File:Multitool.png]] '''Multitool''' on it, and you may also begin to add [[File:Circuit_component.png]][[Guide_to_Circuits#Components|Components]] to your circuit.
* Compact Remote - A remote with one button. Click on it to trigger it.
+
 
* Controller - Remote with 3 buttons. Normal clicking, alt-clicking, and right-clicking when in your hand will trigger one of the three ports.
+
=[[File:Circuit_component.png]] Components =
* Bot - A structure that cannot be picked up but is not dense. The most generic container as it has no special inputs or outputs.
+
 
* Drone - A mob that moves about when fed input commands by the circuit.
+
== Signal types ==
* Server - A structure that cannot be picked up and only operates when anchored. Can hold an enormous amount of components.
+
Every single thing in circuits revolves around these signal types. They send either information or triggers, which is the bases of circuits. There are 7 types of signals:
 +
* '''Signal''': Think of these as a pulse of electricity or a shockwave. They are NOT binary, when you activate one a chain reaction begins throughout the rest. Can easily be turned into numbers but you should only do so for checking whether its 0 or not, since the value itself makes no sense.
 +
* '''Number''': Any number your heart desires. Can also be used as a signal component, with any number above 0 activating a signal. You can also connect them to a string input.
 +
* '''String''': Any ascii character. If you try to write numbers in this, they will not be classified as numbers, so you can't do arithmetic equations with them.
 +
* '''Entity''': If you know DM, this is the equivalent to an atom. Can be any single item or living thing.
 +
* '''List''': Any of the above data types, joined into a single element. You access said data types by indexing the list. You cannot make a list of lists, that's what tables are for.
 +
* '''Table''': A list of lists, usually used in databases such as the security arrests one. If a component provides a Table, you'll usually be able to see what each entry in said table is by clicking the information icon in the component.
 +
* '''Any''': Usually used in inputs, signifies that it can take any of the signal types above.
 +
* '''Options''': Changes what the component does, or what inputs it takes in. Can be changed with a string signal type.
 +
 
 +
== Available Components ==
 +
You might need to research specific things to unlock some of thse components.
 +
{| class="wikitable"
 +
|-
 +
! Name || Description || Inputs || Outputs
 +
|-
 +
| Arithmetic || When triggered performs basic mathematical operations: Adding, substracting, multiplying, getting the minimum and getting the maximum.||
 +
* Options (Options)
 +
** Add
 +
** Subtract
 +
** Multiply
 +
** Divide
 +
** Minimum
 +
** Maximum
 +
* A (Number)
 +
* B (Number)
 +
* C (Number)
 +
* D (Number)
 +
* Trigger (Trigger)
 +
||
 +
* Output (Number)
 +
* Triggered (Trigger)
 +
|-
 +
| Clock || When the input is any number above 0, it'll begin sending the output signal every 0.9 seconds. ||
 +
* On (Number)
 +
||
 +
* Signal (Signal)
 +
|-
 +
| Comparison || When triggered checks two of the inputs to see if they're equal, not equal, lesser than or bigger than the other. The Result output returns either 0 or 1 depending on if the comparison is true or not.||
 +
* Options (Options)
 +
** =
 +
** !=
 +
** >
 +
** <
 +
** >=
 +
** <=
 +
* A (Any)
 +
* B (Any)
 +
* Compare (Signal)
 +
||
 +
* True (Signal)
 +
* False (Signal)
 +
* Result (Number)
 +
|-
 +
| Concatenation || Combines up to four strings into one string. ||
 +
* A (String)
 +
* B (String)
 +
* C (String)
 +
* D (String)
 +
* Trigger (Signal)
 +
||
 +
* Output (String)
 +
* Triggered (Signal)
 +
|-
 +
| Concatenate List || Turns a list into a string by adding a specified separator between the items. For example, we have a list that has two items, "Item1" and "Item2". If we set the separator as "," then we get "Item1,Item2". If we set the separator as " " (a space), we get "Item1 Item2". ||
 +
* List (List)
 +
* Separator (String)
 +
* Trigger (Signal)
 +
||
 +
* Output (String)
 +
* Triggered (Signal)
 +
|-
 +
| Delay || When triggered, waits the specified amount of time in seconds, then triggers the output || TBA || TBA
 +
|-
 +
| Direction || When triggered, will output the direction towards the target entity from the point of view of the shell as either a string or a signal. || TBA || TBA
 +
|-
 +
| Get Column || Gets the column of a table and returns it as a list. || TBA || TBA
 +
|-
 +
| GPS || When triggered, outputs the current position of the shell the Integrated Circuit is in || TBA || TBA
 +
|-
 +
| Health || When triggered, gets the health and damage amounts of the entity input. || TBA || TBA
 +
|-
 +
| Voice Activator || Triggers itself whenever it can hear a message, may this message be oral or through a radio. Returns information about said message and the speaker. If the message comes from a radio, you wont be able to get who said the original message. || TBA || TBA
 +
|-
 +
| Index || When triggered, indexes a list to get the value of an item in it. For example, let's say you have a list with the following items: Item1, Item2, Item3 and Item4. If you index the list by 1, you'll get "Item1" as the output. || TBA || TBA
 +
|-
 +
| Length || When triggered, gets the length of an input. If the input is a list or table, gets how many items it has. If it's a string, gets how many characters it has. If it's a number, retunrs 0. || TBA || TBA
 +
|-
 +
| Light || Emits light. The "On" input will make the light turn on if the number is anything above 0, and it'll turn off if it is 0. || TBA || TBA
 +
|-
 +
| List Literal || Basically, let's you create lists. If you use it on your hand, the amount of inputs increases. If you right click it on your hand, the amount of inputs decreases. When triggered, joins the inputs into a list. || TBA || TBA
 +
|-
 +
| Logic || When triggered, checks whether if: its inputs are all true (AND), one of its inputs is true (OR), ONLY one of its inputs is true (XOR) || TBA || TBA
 +
|-
 +
| MMI || Let's you add an [[Research_items#MMI|MMI]] to the Integrated Circuit. The "Message" and "Send Message" inputs let you send the MMI inside the shell a message that only it can hear. The outputs correspond to the keys in the player controlling the MMI's brain's keyboard: North is Up/W, East is Right/D, South is Down/S, West is Left/A, Attack is Left click and Secondary Attack is Right click. || TBA || TBA
 +
|-
 +
| Module || If you know programming, this is basically the equivalent of a function. If you don't know programmming, think of it as an integrated circuit inside an integrated circuit. Useful for making circuits look way less messy. You can duplicate these using the Module Duplicator. || TBA || TBA
 +
|-
 +
| Multiplexer || When triggered, checks to see if the number input is a number from 1 to 4, and if so, chooses the respective input of that number. For example, If I type "Test1" in the "Input 1" Input, and "Test2" in the "Input 2" Input, then change the value in the Input selector to 2, it'll return "Test2". It's as confusing as it sounds. || TBA || TBA
 +
|-
 +
| Not || If it receives anything other than 1, outputs 0. If it receives 0, outputs 1. || TBA || TBA
 +
|-
 +
| NTNet Transmitter || Transmits any kind of data through the NTNet network, if Tcomms is destroyed then tough luck. Data can only be recieved by the NTNet Receiver. || TBA || TBA
 +
|-
 +
| NTNet Receiver || Recieves data sent through the NTNet network, if Tcomms is destroyed then tough luck. || TBA || TBA
 +
|-
 +
| Pressure Sensor || When triggered, outputs the sensor of the exact tile in which the shell is at that time. || TBA || TBA
 +
|-
 +
| Radio || Sends and receives frequencies from radios or other radio components. || TBA || TBA
 +
|-
 +
| Random || When triggered, outputs a random number between the minimum and maximum numbers you set as inputs. || TBA || TBA
 +
|-
 +
| Router || TBA || TBA || TBA
 +
|-
 +
| Select Query || For use with USB cables. Gets you the table that matches the column name and comparison input you provide it. For example: You connect it to the security arrests console, and from the arrests database you want to get the info of your friend, Mops-The-Floors. On the Input value, you connect the database output. On the Column Name you type "Name", and on the comparison input you type "Mops-The-Floors". It'll get you the table who's "Name" value matches "Mops-The-Floors". From there you can index it and get its arrest status, its crimes, etc. || TBA || TBA
 +
|-
 +
| Self || Returns the current shell as an entity. || TBA || TBA
 +
|-
 +
| Sound emitter || Emits a sound. You can choose what sound to emit from the options menu, and you can change both frequency and volume || TBA || TBA
 +
|-
 +
| Get species || When triggered, returns the species of the entity input as a string. || TBA || TBA
 +
|-
 +
| Speech || When triggered, says what you inputted in the string input out loud. || TBA || TBA
 +
|-
 +
| Split || Splits a string by its separator, turning it into a list. For example, you have a string that "Looks like this". By setting the string input to that string, and its separator to a space (" "), you'll get a list that "Looks", "like", "this" || TBA || TBA
 +
|-
 +
| String || When triggered, checks whether the string you set in the "needle" input is in the string you set in the "haystack" input. For example, if you put "in" as the needle, and "You are in my room" as the haystack, it'll return true, since "in" is in the sentence "You are in my room".|| TBA || TBA
 +
|-
 +
| Temperature Sensor || When triggered, returns the current temperature in the tile the shell currently is in. || TBA || TBA
 +
|-
 +
| Textcase || When triggered, makes it so that its string input is either all in lowercase or all in UPPERCASE. || TBA || TBA
 +
|-
 +
| To Number || When triggered, converts a string that's only numbers into a number signal. || TBA || TBA
 +
|-
 +
| To String || When triggered, converts its output into a string component. If it's output is an entity, it'll return the name of the entity. If the output is a list or table, it'll return "/list". For actually turning a list into a string, look at Concatenate List. || TBA || TBA
 +
|-
 +
| Typecast || If the input value is the Signal type you set in the options, returns the input value. If not, returns nothing. || TBA || TBA
 +
|-
 +
| Typecheck || When triggered, returns what Signal type the inputted signal is. || TBA || TBA
 +
|-
 +
| Pathfinder || When triggered, will calculate a path towards the X and Y coordinates you set as inputs. Once calculated, will return a "step" (aka where it has to go next to continue said path). If triggered again when the shell arrived at the step, will output the next step, and so on and so forth. If used with the Direction component, can be used to make a Drone that moves by itself. || TBA || TBA
 +
|-
 +
| Pull component || When triggered, will start pulling the entity input if its right besides it. Only works on Drone shells. || TBA || TBA
 +
|}
 +
 
 +
=Machines and Items=
 +
==[[File:Circuit_fab.png]]Machines==
 +
===[[File:Circuit_fab.png]] Circuit Fabricator ===
 +
Found on the Circuit Lab. Used for printing out Components, Integrated Circuits, Shells, USB-Cables, Circuit multitools and BCI Manipulation Chambers.
 +
===[[File:Module_fab.png]] Module duplicator ===
 +
Does not duplicate Integrated Circuits. Rather, it duplicates Modules components, which basically are Integrated Circuits. For more component info, look at the table above.
 +
===[[File:Bci_implanter.png]] Brain-Computer Interface Manipulation Chamber===
 +
Check [[Guide_to_Circuits#Brain-Computer Interfaces|here]].
 +
==Items==
 +
=== Circuit Multitool ===
 +
Let's you mark entities, which can later be uploaded to entity inputs by clicking the arrow pointing up when you have a circuit multitool in your hand. Can also be used to see circuits by double clicking them with it, but a normal [[File:Multitool.png]] '''Multitool''' should do fine.
 +
=== USB Cables ===
 +
Let's you interface with a few select computers:
 +
{| class="wikitable"
 +
|-
 +
! Name || Description || Inputs/Outputs
 +
|-
 +
| Security Records Console || Let's you see the current legal status of every crewmember, and even let's you change them. || TBA
 +
|-
 +
| Crew Monitoring Console || Let's you see the current health status of every crewmember that has turned on their suit sensors. || TBA
 +
|-
 +
| Teleporter Control Console || TBA || TBA
 +
|-
 +
| Bluespace Launchpad Console || TBA || TBA
 +
|-
 +
| Fire Alarms || TBA || TBA
 +
|}
 +
 
 +
=[[File:bci.png]]Brain-Computer interfaces=
 +
TBA
  
 
[[Category: Guides]]
 
[[Category: Guides]]

Revision as of 21:43, 27 August 2021

Pen.png This page needs revising!

The following page is out of date and/or needs to be revised. If the page's guide needs revision, see here for an example.
The revision reason is: "BCI section needs to be completed, Inputs and Outputs should be filled in, USB cable section should be completed."


Circuits are a way to automate different actions extensively and easily! You can make a circuit that opens a door when you say a secret code to it, or a circuit that follows anyone you want while yelling obscenities at them, or well, anything really! Before starting to code with circuits, you'll need a few things:

Necessary Items

Integrated circuit.png Integrated Circuit

The integrated circuit is the foundation for all circuits. Your entire build will we based around this little guy. However, it can't work by itself. First and foremost, it requires power, which you can provide to it via a Powercell.pngPower Cell. Once you're sure that the power cell you're gonna use is charged, just Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. use it on the integrated circuit. If you ever want to change the power cell or take it out for charging, you may take out by using a Screwdriver tool.png Screwdriver on it. Power cells drain whenever a component activates. By clicking the little i on a component you can see how much power each activation uses. If you don't know what I'm talking about, keep reading. Once you have a powercell you may place your integrated circuit into a Shell bot.pngShell.

Shell bot.png Shell

The shell will make it possible for you to add components to the integrated circuit, it'll let you access the circuitry, and it'll add input options for you to interface with your circuit with. Depending on the shell, you might need to use a Screwdriver tool.png Screwdriver on it to assemble it before you're able to Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. use the Integrated circuit.pngIntegrated Circuit on said shell to add it. If you ever want to remove the Integrated Circuit from it, just use a Screwdriver tool.png Screwdriver on it.

Different shells have varying size. Size represents how many components you're able to place inside a shell. There are four sizes:

  • Small: Allows up to 25 components
  • Medium: Allows up to 50 components
  • Large: Allows up to 100 components
  • Very large: Allows up to 500 components

There are many kinds of circuits, each with their special features: (If you're confused by what "output signals" or "entities" are, go down to Signal types)

Name Description Size Required Research Requires assembly
Compact Remote The simplest handheld shell out there. Has one output signal that activates when you Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. use it on your hand. Small None No
Bot The simplest stationary shell. Has one output signal that activates when you Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. use it. Large Advanced Shell Research Yes
Airlock A circuit-controllable airlock. To insert an integrated circuit, Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. Left click while on Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. . Has many input signals that let you open it, close it, bolt it, and unbolt it. Also has output signals that notify you when said actions are performed, plus two output numbers that return 1 or 0 if they're closed/bolted depending on the output. Large Advanced Shell Research Yes
Controller Another handheld shell like the Compact Remote, but unlike the Compact Remote this one has multiple buttons: Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. Use it on your hand to activate the primary button (Known as "Signal" in the circuit), Alt-Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not.Click it on your hand to activate the alternative button, and Rightclick.pngOrdinary right-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. Right click it on your hand to activate the extra button. Medium Advanced Shell Research No
Money Bot Stationary like the Bot component, but allows taking and dispensing credits! Has output signals that tell you when money has been inserted, how much money has been inserted and how much money the machine has in general. Large Advanced Shell Research Yes
Scanner Gate Very simple shell that returns any entity that walks through it. Large Advanced Shell Research Yes
Scanner Another handheld shell. Leftclick.pngOrdinary left-click. It doesn't matter if Combat Mode Combat 32.pngEnable with 4, disable with 1 or toggle with F by default. Left-clicking people with an empty hand will Harm Harm 32.png them if on, or Help Help 32.png them if off. Prevents you from switching places or being pushed when colliding with people. is on or not. Use it on anything to output that thing as an entity. Large Advanced Shell Research No
Drone This little guy is able to move around just like you! Has many signal inputs, with each representing each direction in which it can go. Large Movable Shell Research Yes
Brain-Computer Interface Circuits, but in your BRAIN! For more information on Brain-Computer Interfaces (Also known as BCI), go here Small Brain-Computer Interfaces Yes
Server Basically the same as the Bot shell, but bigger and better Very large Server Technology Research Yes

Once you have a shell with an integrated circuit in it, you may access the circuit in it by using a Multitool.png Multitool on it, and you may also begin to add Circuit component.pngComponents to your circuit.

Circuit component.png Components

Signal types

Every single thing in circuits revolves around these signal types. They send either information or triggers, which is the bases of circuits. There are 7 types of signals:

  • Signal: Think of these as a pulse of electricity or a shockwave. They are NOT binary, when you activate one a chain reaction begins throughout the rest. Can easily be turned into numbers but you should only do so for checking whether its 0 or not, since the value itself makes no sense.
  • Number: Any number your heart desires. Can also be used as a signal component, with any number above 0 activating a signal. You can also connect them to a string input.
  • String: Any ascii character. If you try to write numbers in this, they will not be classified as numbers, so you can't do arithmetic equations with them.
  • Entity: If you know DM, this is the equivalent to an atom. Can be any single item or living thing.
  • List: Any of the above data types, joined into a single element. You access said data types by indexing the list. You cannot make a list of lists, that's what tables are for.
  • Table: A list of lists, usually used in databases such as the security arrests one. If a component provides a Table, you'll usually be able to see what each entry in said table is by clicking the information icon in the component.
  • Any: Usually used in inputs, signifies that it can take any of the signal types above.
  • Options: Changes what the component does, or what inputs it takes in. Can be changed with a string signal type.

Available Components

You might need to research specific things to unlock some of thse components.

Name Description Inputs Outputs
Arithmetic When triggered performs basic mathematical operations: Adding, substracting, multiplying, getting the minimum and getting the maximum.
  • Options (Options)
    • Add
    • Subtract
    • Multiply
    • Divide
    • Minimum
    • Maximum
  • A (Number)
  • B (Number)
  • C (Number)
  • D (Number)
  • Trigger (Trigger)
  • Output (Number)
  • Triggered (Trigger)
Clock When the input is any number above 0, it'll begin sending the output signal every 0.9 seconds.
  • On (Number)
  • Signal (Signal)
Comparison When triggered checks two of the inputs to see if they're equal, not equal, lesser than or bigger than the other. The Result output returns either 0 or 1 depending on if the comparison is true or not.
  • Options (Options)
    • =
    • !=
    • >
    • <
    • >=
    • <=
  • A (Any)
  • B (Any)
  • Compare (Signal)
  • True (Signal)
  • False (Signal)
  • Result (Number)
Concatenation Combines up to four strings into one string.
  • A (String)
  • B (String)
  • C (String)
  • D (String)
  • Trigger (Signal)
  • Output (String)
  • Triggered (Signal)
Concatenate List Turns a list into a string by adding a specified separator between the items. For example, we have a list that has two items, "Item1" and "Item2". If we set the separator as "," then we get "Item1,Item2". If we set the separator as " " (a space), we get "Item1 Item2".
  • List (List)
  • Separator (String)
  • Trigger (Signal)
  • Output (String)
  • Triggered (Signal)
Delay When triggered, waits the specified amount of time in seconds, then triggers the output TBA TBA
Direction When triggered, will output the direction towards the target entity from the point of view of the shell as either a string or a signal. TBA TBA
Get Column Gets the column of a table and returns it as a list. TBA TBA
GPS When triggered, outputs the current position of the shell the Integrated Circuit is in TBA TBA
Health When triggered, gets the health and damage amounts of the entity input. TBA TBA
Voice Activator Triggers itself whenever it can hear a message, may this message be oral or through a radio. Returns information about said message and the speaker. If the message comes from a radio, you wont be able to get who said the original message. TBA TBA
Index When triggered, indexes a list to get the value of an item in it. For example, let's say you have a list with the following items: Item1, Item2, Item3 and Item4. If you index the list by 1, you'll get "Item1" as the output. TBA TBA
Length When triggered, gets the length of an input. If the input is a list or table, gets how many items it has. If it's a string, gets how many characters it has. If it's a number, retunrs 0. TBA TBA
Light Emits light. The "On" input will make the light turn on if the number is anything above 0, and it'll turn off if it is 0. TBA TBA
List Literal Basically, let's you create lists. If you use it on your hand, the amount of inputs increases. If you right click it on your hand, the amount of inputs decreases. When triggered, joins the inputs into a list. TBA TBA
Logic When triggered, checks whether if: its inputs are all true (AND), one of its inputs is true (OR), ONLY one of its inputs is true (XOR) TBA TBA
MMI Let's you add an MMI to the Integrated Circuit. The "Message" and "Send Message" inputs let you send the MMI inside the shell a message that only it can hear. The outputs correspond to the keys in the player controlling the MMI's brain's keyboard: North is Up/W, East is Right/D, South is Down/S, West is Left/A, Attack is Left click and Secondary Attack is Right click. TBA TBA
Module If you know programming, this is basically the equivalent of a function. If you don't know programmming, think of it as an integrated circuit inside an integrated circuit. Useful for making circuits look way less messy. You can duplicate these using the Module Duplicator. TBA TBA
Multiplexer When triggered, checks to see if the number input is a number from 1 to 4, and if so, chooses the respective input of that number. For example, If I type "Test1" in the "Input 1" Input, and "Test2" in the "Input 2" Input, then change the value in the Input selector to 2, it'll return "Test2". It's as confusing as it sounds. TBA TBA
Not If it receives anything other than 1, outputs 0. If it receives 0, outputs 1. TBA TBA
NTNet Transmitter Transmits any kind of data through the NTNet network, if Tcomms is destroyed then tough luck. Data can only be recieved by the NTNet Receiver. TBA TBA
NTNet Receiver Recieves data sent through the NTNet network, if Tcomms is destroyed then tough luck. TBA TBA
Pressure Sensor When triggered, outputs the sensor of the exact tile in which the shell is at that time. TBA TBA
Radio Sends and receives frequencies from radios or other radio components. TBA TBA
Random When triggered, outputs a random number between the minimum and maximum numbers you set as inputs. TBA TBA
Router TBA TBA TBA
Select Query For use with USB cables. Gets you the table that matches the column name and comparison input you provide it. For example: You connect it to the security arrests console, and from the arrests database you want to get the info of your friend, Mops-The-Floors. On the Input value, you connect the database output. On the Column Name you type "Name", and on the comparison input you type "Mops-The-Floors". It'll get you the table who's "Name" value matches "Mops-The-Floors". From there you can index it and get its arrest status, its crimes, etc. TBA TBA
Self Returns the current shell as an entity. TBA TBA
Sound emitter Emits a sound. You can choose what sound to emit from the options menu, and you can change both frequency and volume TBA TBA
Get species When triggered, returns the species of the entity input as a string. TBA TBA
Speech When triggered, says what you inputted in the string input out loud. TBA TBA
Split Splits a string by its separator, turning it into a list. For example, you have a string that "Looks like this". By setting the string input to that string, and its separator to a space (" "), you'll get a list that "Looks", "like", "this" TBA TBA
String When triggered, checks whether the string you set in the "needle" input is in the string you set in the "haystack" input. For example, if you put "in" as the needle, and "You are in my room" as the haystack, it'll return true, since "in" is in the sentence "You are in my room". TBA TBA
Temperature Sensor When triggered, returns the current temperature in the tile the shell currently is in. TBA TBA
Textcase When triggered, makes it so that its string input is either all in lowercase or all in UPPERCASE. TBA TBA
To Number When triggered, converts a string that's only numbers into a number signal. TBA TBA
To String When triggered, converts its output into a string component. If it's output is an entity, it'll return the name of the entity. If the output is a list or table, it'll return "/list". For actually turning a list into a string, look at Concatenate List. TBA TBA
Typecast If the input value is the Signal type you set in the options, returns the input value. If not, returns nothing. TBA TBA
Typecheck When triggered, returns what Signal type the inputted signal is. TBA TBA
Pathfinder When triggered, will calculate a path towards the X and Y coordinates you set as inputs. Once calculated, will return a "step" (aka where it has to go next to continue said path). If triggered again when the shell arrived at the step, will output the next step, and so on and so forth. If used with the Direction component, can be used to make a Drone that moves by itself. TBA TBA
Pull component When triggered, will start pulling the entity input if its right besides it. Only works on Drone shells. TBA TBA

Machines and Items

Circuit fab.pngMachines

Circuit fab.png Circuit Fabricator

Found on the Circuit Lab. Used for printing out Components, Integrated Circuits, Shells, USB-Cables, Circuit multitools and BCI Manipulation Chambers.

Module fab.png Module duplicator

Does not duplicate Integrated Circuits. Rather, it duplicates Modules components, which basically are Integrated Circuits. For more component info, look at the table above.

Bci implanter.png Brain-Computer Interface Manipulation Chamber

Check here.

Items

Circuit Multitool

Let's you mark entities, which can later be uploaded to entity inputs by clicking the arrow pointing up when you have a circuit multitool in your hand. Can also be used to see circuits by double clicking them with it, but a normal Multitool.png Multitool should do fine.

USB Cables

Let's you interface with a few select computers:

Name Description Inputs/Outputs
Security Records Console Let's you see the current legal status of every crewmember, and even let's you change them. TBA
Crew Monitoring Console Let's you see the current health status of every crewmember that has turned on their suit sensors. TBA
Teleporter Control Console TBA TBA
Bluespace Launchpad Console TBA TBA
Fire Alarms TBA TBA

Bci.pngBrain-Computer interfaces

TBA