安裝 Steam
登入
|
語言
簡體中文
日本語(日文)
한국어(韓文)
ไทย(泰文)
Български(保加利亞文)
Čeština(捷克文)
Dansk(丹麥文)
Deutsch(德文)
English(英文)
Español - España(西班牙文 - 西班牙)
Español - Latinoamérica(西班牙文 - 拉丁美洲)
Ελληνικά(希臘文)
Français(法文)
Italiano(義大利文)
Bahasa Indonesia(印尼語)
Magyar(匈牙利文)
Nederlands(荷蘭文)
Norsk(挪威文)
Polski(波蘭文)
Português(葡萄牙文 - 葡萄牙)
Português - Brasil(葡萄牙文 - 巴西)
Română(羅馬尼亞文)
Русский(俄文)
Suomi(芬蘭文)
Svenska(瑞典文)
Türkçe(土耳其文)
tiếng Việt(越南文)
Українська(烏克蘭文)
回報翻譯問題
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.