Jump to content

MM assistance needed -> USI: Modular Kolonization System converter patch


Recommended Posts

  

22 hours ago, DeepWaterDaz said:

I am trying to modify USI MKS conversion rates to balance with stock converters. The USI Module I am trying to change is "USI_ConverterSwapOption"

Would one of you Guru's care to point me in the right direction?

I am not achieving any effect with the following plugin:

@PART[MKS_Processor250]:FINAL
{
    @MODULE[USI_ConverterSwapOption],*
    {
        @INPUT_RESOURCE[MetallicOre,Uraninite,Substrate,Minerals,Karbonite,Commodities,MaterialKits,Metals,Polymers,Supplies,Ore,Machinery,Recyclables,SpecializedParts,Fertilizer,Hydrates,Gypsum,Dirt,Silicates,Silicon,RefinedExotics,ColonySupplies,Organics,Rock,Karborundum,XenonGas,ArgonGas,LiquidFuel,Oxidizer,Water,Chemicals,Mulch,LqdHydrogen,LiquidFuel,MonoPropellant],*
        {
            @Ratio *= 173
        }
        @OUTPUT_RESOURCE[MetallicOre,Uraninite,Substrate,Minerals,Karbonite,Commodities,MaterialKits,Metals,Polymers,Supplies,Ore,Machinery,Recyclables,SpecializedParts,Fertilizer,Hydrates,Gypsum,Dirt,Silicates,Silicon,RefinedExotics,ColonySupplies,Organics,Rock,Karborundum,XenonGas,ArgonGas,LiquidFuel,Oxidizer,Water,Chemicals,Mulch,LqdHydrogen,LiquidFuel,MonoPropellant],*
        {
            @Ratio *= 173
        }
    }
}

 

The config I am trying to modify is as follows (Credit to RoverDude): warning - large amount of text

Spoiler

 

PART
{
    name = MKS_Processor250
    module = Part
    author = RoverDude

     MODULE
    {
        name = USI_Converter

        GeneratesHeat = true
        AutoShutdown = true
        UseSpecialistBonus = false
        TemperatureModifier
        {
            key = 0 50000
            key = 500 20000
            key = 1000 5000
            key = 1500 2500
            key = 2000 500
            key = 3000 0
        }        
        ThermalEfficiency 
        {
            key = 0 0
            key = 500 0.15
            key = 1000 1.0
            key = 1500 0.25
            key = 2000 0.1
            key = 3000 0
        }
    }
    MODULE
    {
        name = USI_Converter

        GeneratesHeat = true
        AutoShutdown = true
        UseSpecialistBonus = false
        TemperatureModifier
        {
            key = 0 50000
            key = 500 20000
            key = 1000 5000
            key = 1500 2500
            key = 2000 500
            key = 3000 0
        }        
        ThermalEfficiency 
        {
            key = 0 0
            key = 500 0.15
            key = 1000 1.0
            key = 1500 0.25
            key = 2000 0.1
            key = 3000 0
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = LFO
        StartActionName = Start LFO
        StopActionName = Stop LFO
        INPUT_RESOURCE
        {
            ResourceName = Ore
            Ratio =  0.047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = LiquidFuel
            Ratio = 0.00423
            DumpExcess = False
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Oxidizer
            Ratio = 0.00517
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.0094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = LiquidFuel
        StartActionName = Start LiquidFuel
        StopActionName = Stop LiquidFuel
        INPUT_RESOURCE
        {
            ResourceName = Ore
            Ratio =  0.047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = LiquidFuel
            Ratio = 0.0094
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.0094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = MonoPropellant
        StartActionName = Start MonoPropellant
        StopActionName = Stop MonoPropellant
        INPUT_RESOURCE
        {
            ResourceName = Ore
            Ratio =  0.047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = MonoPropellant
            Ratio = 0.0094
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.0094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = Chemicals
        StartActionName = Start Chemicals
        StopActionName = Stop Chemicals
        INPUT_RESOURCE
        {
            ResourceName = Minerals
            Ratio =  0.0047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Chemicals
            Ratio = 0.00094
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.00094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = Metals
        StartActionName = Start Metals
        StopActionName = Stop Metals
        INPUT_RESOURCE
        {
            ResourceName = MetallicOre
            Ratio =  0.0047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Metals
            Ratio = 0.00094
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.00094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = Polymers
        StartActionName = Start Polymers
        StopActionName = Stop Polymers
        INPUT_RESOURCE
        {
            ResourceName = Substrate
            Ratio =  0.0047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Polymers
            Ratio = 0.00094
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.00094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = Fertilizer(G)
        StartActionName = Start Fertilizer(G)
        StopActionName = Stop Fertilizer(G)
        INPUT_RESOURCE
        {
            ResourceName = Gypsum
            Ratio =  0.003
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 4.5
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Fertilizer
            Ratio = 0.0015
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.000375
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = Fertilizer(M)
        StartActionName = Start Fertilizer(M)
        StopActionName = Stop Fertilizer(M)
        INPUT_RESOURCE
        {
            ResourceName = Minerals
            Ratio =  0.0047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Fertilizer
            Ratio = 0.00094
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.00094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_ConverterSwapOption
        ConverterName = Silicon
        StartActionName = Start Silicon
        StopActionName = Stop Silicon
        INPUT_RESOURCE
        {
            ResourceName = Silicates
            Ratio =  0.0047
        }
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 5.64
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Silicon
            Ratio = 0.00094
            DumpExcess = False
        }
        OUTPUT_RESOURCE:NEEDS[ART]
        {
            ResourceName = Rock
            Ratio =  0.00094
            DumpExcess = true
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
    }
    MODULE
    {
        name = USI_EfficiencyBoosterSwapOption
        ConverterName = [Crusher]
        StartActionName = Start [Crusher]
        StopActionName = Stop [Crusher]
        EfficiencyTag = Crusher
        EfficiencyMultiplier = 1.728
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 17.282
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
    }
    MODULE
    {
        name = USI_EfficiencyBoosterSwapOption
        ConverterName = [Smelter]
        StartActionName = Start [Smelter]
        StopActionName = Stop [Smelter]
        EfficiencyTag = Smelter
        EfficiencyMultiplier = 1.728
        INPUT_RESOURCE
        {
            ResourceName = ElectricCharge
            Ratio = 17.282
        }
        REQUIRED_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 650
        }
        INPUT_RESOURCE
        {
            ResourceName = Machinery
            Ratio = 0.00000325
        }
        OUTPUT_RESOURCE
        {
            ResourceName = Recyclables
            Ratio = 0.00000325
            DumpExcess = true
        }
    }
    RESOURCE
    {
        name = Machinery
        amount = 650
        maxAmount = 650
        isTweakable = True
    }
    RESOURCE
    {
        name = Recyclables
        amount = 0
        maxAmount = 650
        isTweakable = True
    }
}

 

  Hide contents

 

 

 

 

Link to comment
Share on other sites

first - KISS - maybe:

2nd: never name anything _ or [ ]  or even . (mod makers) . KSP is blind to those - so usually have to use a wildcard (in this case '?') to represent.

Spoiler

@PART[MKS?Processor250]:FINAL
{
    @MODULE[USI?ConverterSwapOption],*
    {
        @INPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
        @OUTPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
    }
}

 

hopefully this might help.

Link to comment
Share on other sites

Thanks zer0Kerbal, &)

I'll give it a test shortly. 

 

Would it be possible to exclude resources as below but still changing every instance of the INPUT_RESOURCE not excluded by using the following:

@INPUT_RESOURCE[* , !Exclusion1, !Exclusion2, !Exclusion3, ...etc] , *

{

stuff..

}

Quote
14 minutes ago, zer0Kerbal said:

first - KISS - maybe:

2nd: never name anything _ or [ ]  or even . (mod makers) . KSP is blind to those - so usually have to use a wildcard (in this case '?') to represent.

  Hide contents



@PART[MKS?Processor250]:FINAL
{
    @MODULE[USI?ConverterSwapOption],*
    {
        @INPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
        @OUTPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
    }
}

 

hopefully this might help.

 

 

Link to comment
Share on other sites

Hmmm, so in testing what you suggested Module Manager ConfigCache shows no change to MKS_Procesor250. There is no change reflected in the VAB part details either.

The patch I used was the following:

Spoiler

@PART[MKS?Processor250]:FINAL
{
    @MODULE[USI?ConverterSwapOption],*
    {
        @INPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
        @OUTPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
    }
}

If I use " !MODULE[USI?ConverterSwapOption],* {}"

It successfully deletes the modules as expected, but the catch is then having to manually redefine ALL the MKS converter part modules individually. Is there perhaps an elegant / streamlined manner in which to do this? 

Link to comment
Share on other sites

1 hour ago, DeepWaterDaz said:

Hmmm, so in testing what you suggested Module Manager ConfigCache shows no change to MKS_Procesor250. There is no change reflected in the VAB part details either.

The patch I used was the following:

  Reveal hidden contents

@PART[MKS?Processor250]:FINAL
{
    @MODULE[USI?ConverterSwapOption],*
    {
        @INPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
        @OUTPUT_RESOURCE[*],*
        {
            @Ratio *= 173
        }
    }
}

If I use " !MODULE[USI?ConverterSwapOption],* {}"

It successfully deletes the modules as expected, but the catch is then having to manually redefine ALL the MKS converter part modules individually. Is there perhaps an elegant / streamlined manner in which to do this? 

Update:

Spoiler

@PART[MKS?Processor250]:FINAL
{
    @MODULE[USI?ConverterSwapOption],*
    {
        @INPUT_RESOURCE:HAS[#ResourceName[Ore]],*
        {
            @Ratio *= 173
        }
        @OUTPUT_RESOURCE,*
        {
            @Ratio *= 173
        }
    }
}

What I am trying to achieve is to modify all INPUT_RESOURCES except for ElectricCharge and Machinery to be increased by factor 173.

I have succeeded in doing this for either all input-resources or only a single input_resource as shown above by " @INPUT_RESOURCE:HAS[#ResourceName[Ore]],* ".

I am struggling to combine a list of resources into the above patch.

I would appreciate any assistance.

Link to comment
Share on other sites

5 hours ago, DeepWaterDaz said:

Update:

  Reveal hidden contents

@PART[MKS?Processor250]:FINAL
{
    @MODULE[USI?ConverterSwapOption],*
    {
        @INPUT_RESOURCE:HAS[#ResourceName[Ore]],*
        {
            @Ratio *= 173
        }
        @OUTPUT_RESOURCE,*
        {
            @Ratio *= 173
        }
    }
}

What I am trying to achieve is to modify all INPUT_RESOURCES except for ElectricCharge and Machinery to be increased by factor 173.

I have succeeded in doing this for either all input-resources or only a single input_resource as shown above by " @INPUT_RESOURCE:HAS[#ResourceName[Ore]],* ".

I am struggling to combine a list of resources into the above patch.

I would appreciate any assistance.

its a kludge - but will work

three patches - one after another.

1. [*],* *= 173 :BEFORE[zzzMine]
2. [ElectricCharge],* /= 173 :AFTER[zzzMine]
3. [Machinery],* /= 173 :AFTER[zzzMine]

 

I did say it was a kludge - but I think it would work. put them in order (top to bottom) in same file - or can do

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...