本帖最后由 Showchen 于 2014-9-13 17:37 编辑
最近研究原版风格的航天飞机,原版没有货舱,就找来TT的MK3货舱,然后发现货舱在机库打不开,就找来Firespitter插件,一番折腾,终于实现目标。
发现如果能够把氧化剂和燃料分开装,重心就更容易调整,又不想修改原版配置文件,于是开始研究Module Manager+Firespitter的组合,又是一番折腾。
最终成果:
里面只有几个CFG文件,放在GameData下就好了,没有TTC7Mk3的货舱的话,把那个CFG删掉就好了,不删也不会出问题。需要插件Module Manager 和Firespitter最新版。
范例1,给FL-T400添加燃料选择功能
@PART[fuelTank]:BEFOR[Firespitter]
{
!RESOURCE[LiquidFuel] {} //移除燃料
!RESOURCE[Oxidizer] {} //移除燃料
!RESOURCE[MonoPropellant] {} //移除燃料
MODULE
{
name = FSfuelSwitch
resourceNames = Structural;LiquidFuel;LiquidFuel,Oxidizer;Oxidizer;MonoPropellant
resourceAmounts = 0;540;270,330;660;300
basePartMass = 0.25
tankMass = 0;0.0245;0.027;0.03;0.014
tankCost = 0;432;275.4;118.8;360
displayCurrentTankCost = false
}
}
范例2,舱门控制
@PART[TTC7Cargobay]:BEFOR[Firespitter]
{
!MODULE[ModuleAnimateGeneric] {} //'!'表示:移除模块[默认动画模块]
MODULE //MODULE{***}表示添加模块,同理可以添加RESOURCE{***}等等
{
name = FSanimateGeneric
animationName = Topdooranimation3 //动画名称由原CFG得知
startEventGUIName = Open //动作名称不知是否有统一规范,
endEventGUIName = Close //其他Mod可能会不同导致调用不了,"Open"只是显示名称。
toggleActionName = Toggle
availableInEVA = True
EVArange = 10
}
}
范例3,增大LV-T45的矢量范围
@PART[liquidEngine2]
{
//@MODULE[ModuleEngines]
//{
// @maxThrust =260
//}
@MODULE[ModuleGimbal] //'@'表示:修改模块[矢量模块]
{
@gimbalRange = 5 //修改矢量参数
}
}
ModuleManager还有逻辑判断、变量运算等功能,详细请看官网介绍(其实是还有些没弄懂)。这个插件的主要好处是不修改原文件就能添加功能,配合其他插件使用很有效。 官网的一个范例是给所有指令舱添加MJ模块
@PART[×]:HAS[@MODULE[ModuleCommand],!MODULE[MechJebCore]]:Final //'×'其实是*,显示不出来。。
{
MODULE
{
name = MechJebCore
}
}
可调的燃料箱:
入轨600KM的航天飞机(测试时用了两罐满油的橙罐,并增大了LV-T45的推力,否则只能入低轨,发动机推力不够带不了太多燃料);
|