本帖最后由 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的推力,否则只能入低轨,发动机推力不够带不了太多燃料); 
 
 |