游戏《太空工程师》飞船辅助驾驶脚本


一切为了生产力!

适配范围:一般的手动矿船、货船或战舰。

功能说明:
一键启动。
一键关闭推进器。
一键关闭飞船。
自动平飞。
向前直飞。
星球重力圈内竖直上向飞。
星球重力圈内竖直向下飞。
一键将巡航速度限值设为1m/s。
一键将巡航速度限值设为最大值。
巡航速度限值增加5m/s。
巡航速度限值减少5m/s。
调节陀螺仪功率。

按键映射列表:
(序号. 按键名——按键说明)所有英文字母必须大写。
1——可用于刹车、复位,启动。按下时会取消气罐充气状态,电池充电状态;推进器改为启动状态,关闭推进器越级控制;远程控制器关闭自动驾驶状态,关闭防碰撞功能,清空远程控制块列表;关闭陀逻仪越级控制。按了1之后,可以像无程序时一样手动控制飞船飞行,所以可以近似认为是切换到手动模式。
2——仅关闭所有推进器,在太空驻留时,氢气罐可继续为发电机供气,氧气罐可继续为驾驶舱供氧。
3——关闭推所有推进器,将所有氢、氧气罐改为存储状态,将所有电池改为充电状态。
4——将速度限制设置为1m/s。限速功能以当前速度为基础,在加速至设定值后,会停止加速,当速度低于设定值时会继续加速,当速度高于设定值5m/s后会开始减速。速度会大致在5m/s的区间变动。
5——将速度限制设置为最大值。这个值可以在编程块的“自定义数据”当中修改,修改项为“Max Speed”。默认196。
6——将当前速度限制值减少5m/s。最低只能设置为0m/s。
7——将当前速度限制值增加5m/s。设置值无上限,实际飞行速度上限由游戏及MOD限制。
LF——保持水平飞行。适用于星球重力圈内,带姿态校正功能,同时定速巡航,速度限制可由前述按钮修改。该功能还附带一个传感器检测,当传感器检测到有物体时,该功能会将速度自动设置为1m/s,防止错踩油门造成事故。该传感器必须安装,以及命名为“SENSOR”,否程序将无法运行。(V2.0改了,详细看下面的说明)该状态下鼠标和键盘的输入仍然有效,但俯仰和滚转会被强制纠正,此时仍可调整转向和高度以更改飞行方向。
FA——向前直飞。可以重力圈内外使用,不带姿态校正功能,仍能定速巡航,速度限制的修改同上,该功能与前一功能共用一个传感器。该状态下鼠标和键盘的输入仍然有效,可任意更改方向。
AD——姿态校正。该状态下鼠标和键盘的输入仍然有效,但俯仰和滚转会被强制纠正。该功能必须安装一个远程控制块实现,最好只安装一个,多个可能会出现程序错乱,指向朝前。另外还需要陀逻仪的配合,陀逻仪的安装方式具体可以参考此文关于陀螺仪的安装。
UP——竖直向上飞。专用于出星球重力圈,出圈之后会自动刹停。该状态下鼠标和键盘的输入仍然有效,请勿翻转飞船,否则会快速坠机。紧急时请按1退出该状态。
DN——竖直向下飞。专用于晓星球内降落,在到达预设高度后悬停,最后悬停的高度会有误差,请先自行手动测试飞船刹车性能。该功能只能在星球上使用,无法在人工重力的空间站使用。此状态带姿态校正功能,鼠标和键盘的输入仍然有效,但俯仰和滚转会被强制纠正。紧急时请按1退出该状态。
这是目前我所使用的配置:


编程块内参数说明(V1.0):

Cockpit 是主驾驶台的名称,主驾驶台的名称必须与该参数相同。其主要是影响坚直下降时的悬停高度设置。设置好之后如果发生改变,必须重新测试检查悬停高度。
Button Instructions 就是那块显示按钮提示的LCD,可以写也可以不写。
Thrust Power Correction Factor 是用来修正推进器的推力,程序会自动识别向下喷射的推进器的最大有效推力总和,然后计算出开始刹车的基准高度,得受限于算法,会出现刹车不急的问题,所以加入该参数用来调整刹车性能。当刹停高度与所设置的悬停高度的差距较大时,可以适当调小该值。0是最小值,1是不作调整,小于1会在基准的刹车高度之前开始刹车,大于1会在基准的刹车高度之后才开始刹车。默认为0.2,也就是说让程序将最大有效推力当原有的0.2倍来计算刹车距离。
Elevation Offset 用来设置悬停高度,该值与游戏界面当中显示的高度值一致。是对地面的高度。
Max Speed 最大速度限值,也就是功能键5按下时候所设置的值。假设游戏限速为200m/s,则将该速度限制设置在195和200之间即可,这可以按最省燃料的方式推进,如果设置成200,程序会为了保持200,一直保持推进器输出。如果低于195,速度有可能会超速,程序会为了保持速度不超出定速区间,启动推进器刹车从而浪费燃料。
Cargo Mass Ratio 该值与陀螺仪的功率有关。程序会自动根据飞船总重来调节陀螺仪的功率,防止在无负载时过于灵敏,导致飞船难以准确指向。陀螺仪的功率限制为简单的线性比例,即当前总重/飞船最大总重,所得的比例即为所有陀螺仪的功率值,最大值超过100%时,陀螺仪的功率会被设置到100%。飞船最大总重由飞船网格自身总重+货舱总容量*某一个比值,而这个比值正是 Cargo Mass Ratio 的设置值。该值的设置与飞船的设计有关,是确保飞船装满某一类货物时,仍能准确操控飞船指向为基准。默认的2.7为矿石的密度值,即当所有货箱装满时,程序会将陀螺仪的功率设置为100%,以确保仍能准确操控飞船,如果此时操控仍有问题,可以适当增删陀螺仪。关于某些块的容量较大,且不用于装货的问题,这里给出一个临时补救办法,就是在这个块的“自定义选项”里输入一个大写的“X”,程序在计算飞船货舱总容量时,会忽略该块的容量。
[Mission] 项里显示的都是一些飞船状态的参数,可以在驾驶舱里的显示屏看到。

编程块内参数说明(V2.0):

Sensor:设置传感器名称,近地警告,防止在物体附近点了飞行,飞船向前撞向物体。当传感器检测到时,会将最大速度强制限制为1m/s。
Camera:设置测距相机名称。
Button Instructions:就是那块显示按钮提示的LCD,可以写也可以不写。
Thrust Power Correction Factor 是用来修正推进器的推力,程序会自动识别向下喷射的推进器的最大有效推力总和,然后计算出开始刹车的基准高度,得受限于算法,会出现刹车不急的问题,所以加入该参数用来调整刹车性能。当刹停高度与所设置的悬停高度的差距较大时,可以适当调小该值。0是最小值,1是不作调整,小于1会在基准的刹车高度之前开始刹车,大于1会在基准的刹车高度之后才开始刹车。默认为0.2,也就是说让程序将最大有效推力当原有的0.2倍来计算刹车距离。
Elevation Offset:这里和 V1.0 里的设置不同,是用来设置相机相对飞船底部的距离,单位是米。相机自身的测量点是在块的中心,小块边长0.5m,大块边长2.5m。如果相机和飞船最底部的块同一高度层,距离的飞船底部的尺寸就是块的二分之一长度。算出来之后,需要自己测几次稍微修正一下,系统默认30是为了安全。我这里根据自己的飞船经过测试大致调了一个 0.3 的值。
Detection Range:相机最远的测量距离。距离越长,测出来的值刷新就越慢。单位是米。
Final Range:飞船在降到这个参数设定的离地距离后,会以 Final Range Speed 里设定的参数降落。单位米。
Final Range Speed:设定飞船最后降落阶段的速度,实际运行时会有误差。单位m/s。
余下的和 V1.0 的一样。




V2.0 的降落效果:
