Space Engineers

Space Engineers

评价数不足
Desu Door (Automatic doors+airlock) 1.2.1
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
更新日期
2.236 KB
2015 年 5 月 11 日 下午 2:32
2015 年 5 月 21 日 下午 2:28
10 项改动说明 ( 查看 )

订阅以下载
Desu Door (Automatic doors+airlock) 1.2.1

描述
Well, another SE update, another problems.
Now you need to set your DesuDoor timer to 2sec and "start", not "activate".

No need specific named doors, if you want it.
Need one sensor in any place at base(must awrytime see the player)
Now can be used with two player in same zone(thnx to Vivalenta)

Support any number of doors and airlock rooms in same time.


Script open door when player come to it closer then 4 meters(default, can be changed) and close when player go out 4 meters area.
Script allow to make airlock rooms with more than two doors. Allow any number of airlock rooms.
Airlock use airvent to recive data about pressure of the room and the level of oxygen.
Inside door(s) open only if room pressured, outside only if oxygen level = 0, so the air is not lost.

To use DesuDoor, you need change doors name to some name or nothing + "DesuDoor" or another name you type in settings.
To change door activate distance for some or one door, you need to add ":" mark and distance in meters. For example DesuDoor:5

Airlock rooms must contain outside door(name must contain mark "Outside"), inside door(name must contain mark "Inside") and airvent named name or nothing + "AirLock" by default.
Also this objects must have area marks in |name| form, for exemple: DesuDoor Outside |RedArea| DesuDoor Inside |RedArea| AirLock |RedArea|
Airlock may be changed to simple mod(fast airlock) when airvent awery time depressure airlock room, so no need to wait until airvent pressurize room before open inside door.

Fixed some bugs with sensors.
====================================================
После обновления СЕ очередные проблемы. Теперь следует таймер DesuDoor установить на 2 секунды и "запустить", а не "активация" как ранее.

Не требует специфических названий для дверей, если указать это.
Требует наличие сенсора в любом месте базы, главное, чтобы сенсор все время видел игрока.
Теперь работает с двумя игроками в одной зоне(спасибо Vivalenta)

Поддерживает любое количество дверей и шлюзовых комнат одновременно.

Скрипт открывает дверь когда игрок подходит к ней ближе чем на 4 метра(по стандарту) и закрывает когда игрок отходит более чем на 4 метра.
Скрипт позволяет создавать шлюзовые комнаты более чем с двумя противоположными сторонами и дверьмию Поддерживает сколько угодно шлюзовых комнат.
Шлюзу необходим вентиль чтобы снимать данные о герметичности и давлении внутри комнаты.
Внутренние двери открываются только если комната герметична, внешняя только если давление кислорода в комнате равно 0, таким образом избегается потеря кислорода.

Чтобы использовать DesuDoor, необходимо добавить к названию двери маркер DesuDoor(или заменить название на DesuDoor) или любой другой маркер, какой Вы укажите в настройках.
Чтобы изменить расстояние активации двери для нескольких или одной, необходимо добавить к названию метку ":" и дистанцию в метрах.
Например DesuDoor:5

Шлюзовые комнаты должны содержать внешние двери маркированные как "Outside", внутренние, маркированные как "Inside" и вентиль, в названии которого должно содержаться "AirLock"
Так же эти объекты должны содержать в названиях спецпометки комнаты в форме |название|, например DesuDoor Outside |RedArea| DesuDoor Inside |RedArea| AirLock |RedArea|
Шлюз может быть переключен в скоросной режим, когда вентиль все время выкачивает воздух, так что не надо ждать пока вентиль закачает воздух прежде чем открыть внутренние двери.
14 条留言
Franco 2015 年 5 月 22 日 下午 7:13 
(my other scripts work just fine, so it's definetly a bug on this one)
Franco 2015 年 5 月 22 日 下午 12:06 
exactly the same exception
G̡̛r̀̀͞ę͝y̴h͟ù̕n͏̛t͞  [作者] 2015 年 5 月 22 日 上午 6:57 
well, try this:
char dist = '$';
char room = '-';
char mrk = '1'; //but don't use symbol "1" in door names

Also update script
Franco 2015 年 5 月 21 日 下午 7:41 
I tryed to change the symbol to a nomral char (Ñ, Z, ... etc... for testing purpose) and the exception keep appearing. I managed to copy paste the symbol | from the script menu (only place that I can write that) in the block names to define a zone, and it keep throwing the exception.
Franco 2015 年 5 月 21 日 下午 6:23 
I can't use @ # % | { } or \ in block names.... The game doesn't alow that, in english version. As I said before, the only simbols allowed are $ and -, but they thow exceptions on your code
G̡̛r̀̀͞ę͝y̴h͟ù̕n͏̛t͞  [作者] 2015 年 5 月 21 日 下午 2:29 
Don't forget to change this variables in script settings
G̡̛r̀̀͞ę͝y̴h͟ù̕n͏̛t͞  [作者] 2015 年 5 月 21 日 下午 2:05 
do not change variables type.
"|" is not "i" or "L", it's Shift+\
try @ or #
DesuDoor @main@
Franco 2015 年 5 月 21 日 下午 1:32 
The only symbol that the game let me use is $ and -. How can you write the other symbols? we have the same game... and it seems to be filtered for block names (I can in programming mode, but I can't on block name editing mode).

If I use $ or - I get the error mentioned earlier.

If I use double symbols, I have to change the var to string, and all the other code seems to stop working.
G̡̛r̀̀͞ę͝y̴h͟ù̕n͏̛t͞  [作者] 2015 年 5 月 21 日 上午 11:24 
thnx, try now
G̡̛r̀̀͞ę͝y̴h͟ù̕n͏̛t͞  [作者] 2015 年 5 月 21 日 上午 11:16 
Yes, I forget "e", but you can use any word.
If you can't use "|", you can use someone else, "%" or "$" for example.

"Index was outside the bounds of the array"
Some symbols can not be read, try to do double it. DesuDoor :6: or DesuDoor |airlock|