Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Check the detailed info. if it says not pressurised then there is abreach somewhewre. if it gives apercentage from 0 to 10% then it is sealed.
You could also have the vent triger an event when the o2 level drops to 0%, but that wont work on earth like oralien worlds, or anywhere there is an 02 atmosphere. this could be done without scripts, but is less reliable.
http://steamcommunity.com/sharedfiles/filedetails/?id=751662675
http://steamcommunity.com/sharedfiles/filedetails/?id=751663053
You have access to the description of the block through the detailed info variable.
It will change depending on whether O2 is disabled, or the room is open to exterior space, or closed off.
You can get that information through string parsing the detailed info.
There may be a beter way to check, but I can barly get O2 enabled worlds to load at all so it can be tricky to try anything out.
And on an unrelated detail I just spotted because of taking those snapshots, Steam tags uploaded screenshots with sequential IDs. I wonder if you can use that to snoop hidden screenshots... That would be why youtube doesn't use sequential IDs :p
Nope.
Only vents detect Air PResure. Sensors don't register anything to do with it.
Vents can opperate in a similar way to sensors but only trigger once when presure hits 100% or 0% and at no other times. (this could be an issue if you were on mars, or earth, or anywhere with a non-zero atmospheric pressure)
If you want to get a reliable reading of pressure between those values you need to have a script check the vents detailed info periodicly. once you do that you can easily see when you have a hull breach or an open exterior airlock.
I can write up a basic method to do it, but it would be up to you to apply it where you want it.
The airvent has a sensor on it. There are two input boxes just like the sensor block has.
The one on the left triggers if there is pressure and the other one triggers when pressure is lost.
You can prove this to yourself if you want.
I use Lone Survivor as a test world. Start it in creative (to make it easier) and build an enclosed room big enough for a oxygen generator and airvent. Also put a door on it.
Go into the control panel on the airvent and select "Set actions" then you will see the two command inputs. On the right one put the door and set it to close.
Now open the door. After the air escapes the airvent should close the door.
You can also use timer blocks for more actions like turning on red lights and sounding a warning plus closing doors.
I hope this helped you.
They also wont tell you if the event was caused by a breach or caused by being depresurised by another vent.
Using string parsing on the detailed info you can tell if an area is exposed to the exterior enviornment allowing you to detect breaches, and that will work on any planets, even ones with 100% atmosphere (avoiding nasty surpises when you leave that atmosphere).
The function of intrest is "int isAreaSealed( IMyTerminalBlock block )"
It returns an int which will be:
0 if O2 is turned of in the world,
1 if the room isexposed to exterior space,
2 if the room is sealed and thus the vent can presurise/depresurise it
It will also return a range of negative numbers depending on what kind of failure happens. basicly if it returns anything less than 0 something went wrong.
The terminal block to be passed into it must be a vent, ( possibly even a mod vent provided the detailed description of the mod vent follows the same format as the default vent )
I used regex string parsing to identify the difrent states, so people can feel free to poke fun at his monder: pattern = new System.Text.RegularExpressions.Regex( @"^[: a-zA-Z0-9]*[\n|\r\n]?[\\.: a-zA-Z0-9]*[\n|\r\n]?(([ a-zA-z]*)|([: a-zA-Z]*)|([\.%: a-zA-Z0-9]*))$" ); but doing so without providing at least an equaly functional alternative will at best only make me roll my eyes.
Sadly, string parsing can be language sensative so this may not work in all cases, but hey, with examples of the other language strings... //someone// that knows how to deal with the relavent font/special characters will likely be able to produce a working regex patern again
Edit: blast "i" parsing to italic even in code blocks X.x