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
I replaced the lines in question with the replacement, and see no difference. what have I don't wrong? Help a rookie scripter?
1.) Replace with Sunborns script edit:
Line 69:
Was until now: if (pair[0].Open && !pair[1].Open {
Which needs to be replaced by:
if (pair[0].Status == DoorStatus.Open && pair[1].Status == DoorStatus.Closed){
Line 77:
Was until now: if (pair[1].Open && !pair[0].Open {
Which needs to be replaced by:
if (pair[1].Status == DoorStatus.Open && pair[0].Status == DoorStatus.Closed) {
Line 85:
Was until now: if (pair[0].Open && pair[1].Open {
Which needs to be replaced by:
if (pair[0].Status == DoorStatus.Open && pair[1].Status == DoorStatus.Open) {
2.) In the timer block, in Setup Actions, set Toolbar 1 to Timer block - Trigger now and Program Block - Run in Toolbar slot 2
3.) Make absolutely sure (just do this) select everything connected to the ship (Ctrl+A) and set ownership to you.
So instead of doorname.Open, you need doorname.Status
In an IF, you would check :
if(doorname.Status == Sandbox.ModAPI.Ingame.DoorStatus.Open)
Here you have the different statuses [bloc97.github.io], for a piston you would compare to PistonStatus.Retracted, etc
I love this script and would hate to be without it :(
As already mentioned the script now throws a warning. I just had a look at the code and I think I fixed it (new DoorStatus enum).
If you want to manually apply the fix to make the script work again before it was updated by the author, modify the following three lines:
Line 69:
Was until now:
if (pair[0].Open && !pair[1].Open {
Which needs to be replaced by:
if (pair[0].Status == DoorStatus.Open && pair[1].Status == DoorStatus.Closed){
Line 77:
Was until now:
if (pair[1].Open && !pair[0].Open {
Which needs to be replaced by:
if (pair[1].Status == DoorStatus.Open && pair[0].Status == DoorStatus.Closed) {
Line 85:
Was until now:
if (pair[0].Open && pair[1].Open {
Which needs to be replaced by:
if (pair[0].Status == DoorStatus.Open && pair[1].Status == DoorStatus.Open) {
That's it, script should now be working again.
That dramatic video though XD
I definitively subt
One way to fix this would be to have an IsInitialized boolean outside the main loop - if !IsInitialized, check for airlocks, then set IsInitialized to true. You could also store airlock block names in an LCD and look them up again, or you could try to fathom the save/load code for programmable blocks (more power to you).
Again, nice script overall - gets the job done and negates the need for complex sensor/timer-block/vent malarky, which is always good.
So just two actions! The other two were for another program I had been working on.
I see in video 4 actions but its not clear what specific action are they.
Thanks for reply
How much time passes between when the door turns off and then turns on again? With stock settings it should be about as fast as it is in the video.
I will be using this for my future airlocks :)
But then, I am right away going to make suggestions to make it more complicated XD
Could there be an option to use an override function? For example, have a Button that opens both sides of the Airlock (e.g. when docked), but we then could also put the trigger into an airvent that activates/deactivates the override when it is at 100% / leaking.