安装 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(越南语)
																													Українська(乌克兰语)
																									报告翻译问题
							
						
 
											 
													

 0
 0								 
					 
													




 举报此帖
 举报此帖


/************************************************************************************
EasyAPI - Documentation: http://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=381043
*************************************************************************************/
// This script was made for the LKS_Hydros but can be applied to similar ships
// That means just one group for outer doors, one for inner doors, and one for all the doors
// Feel free to rename the groups accordingly.
//
public static string AIRLOCK_DOORS = "HY 1- Doors"; // your doors group
public static string AIRLOCK_OUTER_DOORS = "HY 1- Doors (Outer)"; // your outer doors group
public static string AIRLOCK_INNER_DOORS = "HY 1- Doors (Inner)"; // your inner doors group
public static bool AIRLOCK_AUTOCLOSE = true; // set it to true if you want the door closing automaticaly after a delay
public static long AIRLOCK_AUTOCLOSEDELAY = 3 * EasyAPI.Seconds; // autoclose delay set to 3 seconds, change it if you want
public class Example : EasyAPI
{
public Example(IMyGridTerminalSystem grid, IMyProgrammableBlock me, Action<string> echo, TimeSpan elapsedTime) : base(grid, me, echo, elapsedTime)
{
// if an outer door is open we close all the other (outer/inner) doors
Blocks.InGroupsNamed(AIRLOCK_OUTER_DOORS).AddEvent(
delegate(EasyBlock thisdoor)
{
return thisdoor.Open();
},
delegate(EasyBlock thisdoor)
{
Blocks.InGroupsNamed(AIRLOCK_DOORS).Minus(thisdoor).ApplyAction("Open_Off");
if(AIRLOCK_AUTOCLOSE) // autoclose the outer door that was open, if any
{
In(AIRLOCK_AUTOCLOSEDELAY, delegate()
{
thisdoor.ApplyAction("Open_Off");
});
}
return true;
},
true
);
// if an inner door is open we close all the other (outer/inner) doors
Blocks.InGroupsNamed(AIRLOCK_INNER_DOORS).AddEvent(
delegate(EasyBlock thisdoor)
{
return thisdoor.Open();
},
delegate(EasyBlock thisdoor)
{
Blocks.InGroupsNamed(AIRLOCK_DOORS).Minus(thisdoor).ApplyAction("Open_Off");
if(AIRLOCK_AUTOCLOSE) // autoclose the inner door that was open, if any
{
In(AIRLOCK_AUTOCLOSEDELAY, delegate()
{
thisdoor.ApplyAction("Open_Off");
});
}
return true;
},
true
);
}
}
/*********************************************/
/*** Advanced users only beyond this point ***/
/*********************************************/
...
Enjoy,
LKS
LKS
By default it will auto close any door after 2-3sec.
If you name two or more doors with exactly same name this script will make sure only one door of the same name can be open at one time by turning off the other(s).
This is your code, not mine ;)
LKS