blowfish Posted April 18, 2017 Share Posted April 18, 2017 (edited) 28 minutes ago, toric5 said: i would like to edit every key, regardless of the numbers. this is for engines ISP curves, whitch usually have 3 or 4 keys. Unfortunately there's no general way to edit float curves that way. You have to know whether it has tangents to begin with. Edited April 18, 2017 by blowfish Quote Link to comment Share on other sites More sharing options...
Warezcrawler Posted April 18, 2017 Share Posted April 18, 2017 1 hour ago, blowfish said: I think it actually is. You'd want @key,*[1, ] *= 1.1 Since you want to edit every key, then edit the item at index 1 (separated by spaces). The shape of the curve would get messed up if tangents (3rd and 4th values) are specified though @blowfish I feel like I've read the documentation of MM 100 times over, but have never come across this (or I've been blind). But is there a resource where this is documented that you know of? Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted April 18, 2017 Share Posted April 18, 2017 50 minutes ago, blowfish said: Unfortunately there's no general way to edit float curves that way. You have to know whether it has tangents to begin with. actually, this is possible to do, but it's a tad complicated so unless it's truly necessary I would avoid it Quote Link to comment Share on other sites More sharing options...
blowfish Posted April 18, 2017 Share Posted April 18, 2017 1 hour ago, Warezcrawler said: @blowfish I feel like I've read the documentation of MM 100 times over, but have never come across this (or I've been blind). But is there a resource where this is documented that you know of? I looked earlier and didn't find anything. I could swear it was documented somewhere though... 51 minutes ago, Sigma88 said: actually, this is possible to do, but it's a tad complicated so unless it's truly necessary I would avoid it Out of curiosity, how would you do this? At least without giving errors when MM looks for the 3rd and 4th values but doesn't find them? Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted April 18, 2017 Share Posted April 18, 2017 Just now, blowfish said: Out of curiosity, how would you do this? At least without giving errors when MM looks for the 3rd and 4th values but doesn't find them? it depends on how paranoid thorough you want to be with your code the base idea is: you append " 0 0 X" at the end of each key, then do the math you want, then remove " 0 0 X" from the end of each key Quote Link to comment Share on other sites More sharing options...
sarbian Posted April 18, 2017 Author Share Posted April 18, 2017 29 minutes ago, blowfish said: I looked earlier and didn't find anything. I could swear it was documented somewhere though... It s in the changelog. (I know, the doc is a mess...) Version 2.6.14/15/16 @key,* = xxx applies to all presents key value @key[1] += 1 will apply the math to the 2nd component in a comma separated vector. "key = 0,1,0,1" will be " key = 0,2,0,1" @key[*] += 1 will add 1 to all elements of the vector. "key = 1,2,3,4" will be changed to "key = 2,3,4,5" @key,*[1, ] += 1 will do it on all the key Quote Link to comment Share on other sites More sharing options...
toric5 Posted April 18, 2017 Share Posted April 18, 2017 2 hours ago, Sigma88 said: actually, this is possible to do, but it's a tad complicated so unless it's truly necessary I would avoid it every engine ive looked at has 3 entries for the atmospherecurve. and for multiplying the curve, if i multiply everything by 1.1, than any point in the curve will be 1.1 higher than it was perviously, right? or will the slope change? (with 3 keys) Quote Link to comment Share on other sites More sharing options...
blowfish Posted April 18, 2017 Share Posted April 18, 2017 (edited) 39 minutes ago, toric5 said: every engine ive looked at has 3 entries for the atmospherecurve. and for multiplying the curve, if i multiply everything by 1.1, than any point in the curve will be 1.1 higher than it was perviously, right? or will the slope change? (with 3 keys) What do you mean 3 entries? It should either be x y or x y iTan oTan (2 or 4). If you just multiply y, you won't get the shape you want, you need to multiply the tangents too, since they control the slope. Edited April 18, 2017 by blowfish Quote Link to comment Share on other sites More sharing options...
toric5 Posted April 18, 2017 Share Posted April 18, 2017 (edited) @blowfish atmosphereCurve { key = 0 800 key = 1 185 key = 2 0.001 } i would like to make it so i multiply by x, the curve will be atmosphereCurve { key = 0 800x key = 1 185x key = 2 0.001x } Edited April 19, 2017 by toric5 Quote Link to comment Share on other sites More sharing options...
blowfish Posted April 19, 2017 Share Posted April 19, 2017 @toric5 Do you know whether any of the curves you're dealing with have tangents? (3rd and 4th numbers on each line) Quote Link to comment Share on other sites More sharing options...
toric5 Posted April 19, 2017 Share Posted April 19, 2017 Just now, blowfish said: @toric5 Do you know whether any of the curves you're dealing with have tangents? (3rd and 4th numbers on each line) ahh, i thought you meant more than 2 key entries. no, none of them have that. Quote Link to comment Share on other sites More sharing options...
nathan1 Posted April 19, 2017 Share Posted April 19, 2017 If you're looking for an example of an atmo curve with tangents, the aerospike has the most complicated one that I know of: atmosphereCurve { key = 0 340 -50 -73.71224 key = 1 290 -21.23404 -21.23404 key = 5 230 -10.54119 -10.54119 key = 10 170 -13.59091 -13.59091 key = 20 0.001 } Quote Link to comment Share on other sites More sharing options...
toric5 Posted April 19, 2017 Share Posted April 19, 2017 16 hours ago, nathan1 said: If you're looking for an example of an atmo curve with tangents, the aerospike has the most complicated one that I know of: atmosphereCurve { key = 0 340 -50 -73.71224 key = 1 290 -21.23404 -21.23404 key = 5 230 -10.54119 -10.54119 key = 10 170 -13.59091 -13.59091 key = 20 0.001 } i see. what would i do to keep the shape of the curve the same? as i said, i want to either make it so that at any given altitude, the engine has 15 pecent (or any other value.) more ISP. failing that, i want it so that it has 15% more vac ISP, not caring too mutch about what it does to the curve, as long as nothing too strange happens to it. (read: as long as it doesn't have a dip anywhere.) Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted April 19, 2017 Share Posted April 19, 2017 16 minutes ago, toric5 said: i see. what would i do to keep the shape of the curve the same? as i said, i want to either make it so that at any given altitude, the engine has 15 pecent (or any other value.) more ISP. failing that, i want it so that it has 15% more vac ISP, not caring too mutch about what it does to the curve, as long as nothing too strange happens to it. (read: as long as it doesn't have a dip anywhere.) if you multiply the first term by a certain number, you need to divide the third and fourth term by the same number if you multiply the second term by a certain number, you need to multiply the third and fourth term by the same number Quote Link to comment Share on other sites More sharing options...
toric5 Posted April 19, 2017 Share Posted April 19, 2017 (edited) on a second note, this time something that is actually documented, i have this peice of code: @PART[*]:HAS[@Module[ModuleDockingNode]:HAS[~snapRotation[True]]]:FINAL { @MODULE[ModuleDockingNode] { %captureMinRollDot = .999 %snapRotation = True %snapOffset = 45 %acquireForce = 2 %acquireTorque = 2 %acquireTorqueRoll = } } this *should* add a 45 degree snap to any docking port that has no angle snap, correct? (MM wiki says ~ is the NOT version of #.) however, it is apparent that it is not being applied to any docking ports, both by looking at the MM cache and game play testing. 8 minutes ago, Sigma88 said: if you multiply the first term by a certain number, you need to divide the third and fourth term by the same number if you multiply the second term by a certain number, you need to multiply the third and fourth term by the same number so i would multiply the second term for ISP, as the first term is the atmospheric pressure. ok. do you know if MM will shoot errors if the terms do not exist? (if the curve on one of the targeted configs does not have tangents?) (other than the rediculosly complicated way you hinted at?) if so, i can just assume that most engines dont, and manually patch engines that do have tangents. and also, can i multiply every key by the same constant in a genral form, so it works regardless of the number of keys? if it helps, im trying to complete the reqested improvements to this pull request. Edited April 19, 2017 by toric5 Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted April 19, 2017 Share Posted April 19, 2017 (edited) 10 minutes ago, toric5 said: on a second note, this time something that is actually documented, i have this peice of code: @PART[*]:HAS[@Module[ModuleDockingNode]:HAS[~snapRotation[True]]]:FINAL { @MODULE[ModuleDockingNode] { %captureMinRollDot = .999 %snapRotation = True %snapOffset = 45 %acquireForce = 2 %acquireTorque = 2 %acquireTorqueRoll = } } this *should* add a 45 degree snap to any docking port that has no angle snap, correct? (MM wiki says ~ is the NOT version of #.) however, it is apparent that it is not being applied to any docking ports, both by looking at the MM cache and game play testing. try this one @PART:FINAL { @MODULE[ModuleDockingNode]:HAS[~snapRotation[True]] { %captureMinRollDot = 0.999 %snapRotation = True %snapOffset = 45 %acquireForce = 2 %acquireTorque = 2 } } keep in mind that KSP is not case sensitive about "True" but MM is so for KSP true = True, but for MM true != True also, your acquireTorqueRoll doesn't have a value so I removed it Edited April 19, 2017 by Sigma88 Quote Link to comment Share on other sites More sharing options...
toric5 Posted April 19, 2017 Share Posted April 19, 2017 Just now, Sigma88 said: try this one @PART:FINAL { @MODULE[ModuleDockingNode]:HAS[~snapRotation[True]] { %captureMinRollDot = .999 %snapRotation = True %snapOffset = 45 %acquireForce = 2 %acquireTorque = 2 } } keep in mind that KSP is not case sensitive about "True" but MM is so for KSP true = True, but for MM true != True also, your acquireTorqueRoll doesn't have a value so I removed it so that will just try to do this to most parts, and fail (gracefully?) on most parts? also, the aqquire roll part was meant to have a value of 2, must have borked something. trying this one now. Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted April 19, 2017 Share Posted April 19, 2017 Just now, toric5 said: so that will just try to do this to most parts, and fail (gracefully?) on most parts? also, the aqquire roll part was meant to have a value of 2, must have borked something. trying this one now. depends on what you consider "trying to do this" and "fail" your code would have gone through all the parts, checked if they had a certain node, checked if that node had a certain value, and then applied the changes only if all the conditions were met frontloading :HAS checks has proven to be a bit unreliable for me in the past, so whenever I can I will avoid doing that I doubt the difference in computing power is relevant (there was a discussion some time ago, which I initiated, and the conclusion was that the difference would most likely be irrelevant in the grand scheme of KSP loading times) Quote Link to comment Share on other sites More sharing options...
toric5 Posted April 19, 2017 Share Posted April 19, 2017 well, got the atmospherecurve working, and the docking ports working. thanks a ton for all your help! Quote Link to comment Share on other sites More sharing options...
theJesuit Posted April 21, 2017 Share Posted April 21, 2017 Heyho, I need some help please in writing a patch config - I've been looking through the documentation, but haven't found what I am looking for. Google also isn't pointing me to the answer either! I am wanting to change the ISRU config to need Ore, with my own resource, HydrateOre. Can someone please point me in the right direction?! What I think I am stuck with is the Input_Resource node has no 'name' associated with it - only ResourceName = Ore. Is there a straight forward way of changing the whole thing? Peace. Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted April 21, 2017 Share Posted April 21, 2017 1 hour ago, theJesuit said: Heyho, I need some help please in writing a patch config - I've been looking through the documentation, but haven't found what I am looking for. Google also isn't pointing me to the answer either! I am wanting to change the ISRU config to need Ore, with my own resource, HydrateOre. Can someone please point me in the right direction?! What I think I am stuck with is the Input_Resource node has no 'name' associated with it - only ResourceName = Ore. Is there a straight forward way of changing the whole thing? Peace. I don't remember the structure of the nodes in question, but once you can get inside of the node you just need to do: @ResourceName = HydrateOre if you can post the ISRU config I can give you the whole patch Quote Link to comment Share on other sites More sharing options...
theJesuit Posted April 21, 2017 Share Posted April 21, 2017 (edited) EDIT - copy and paste and then forum issues @Sigma88 so the post is rewritten Spoiler ISRU Config: PART { name = ISRU module = Part author = RoverDude mesh = ISRU.mu scale = 1 rescaleFactor = 1 node_stack_top = 0.0, 1.5, 0.0, 0.0, 1.0, 0.0, 2 node_stack_bottom = 0.0, -1.5, 0.0, 0.0, -1.0, 0.0, 2 TechRequired = advScienceTech entryCost = 24000 cost = 8000 category = Utility subcategory = 0 title = Convert-O-Tron 250 manufacturer = Kerbodyne description = This mobile processing plant can take raw materials containing even trace amounts of oxygen and hydrogen, and crack them into useful fuel products. When operated by a skilled engineer, you will be able to operate with better efficiency. These modules operate best at their ideal operating temperatures, and features auto-shutdown in the event of excessive overheating. Radiators can be used to help manage excessive heat. attachRules = 1,1,1,0,0 // --- standard part parameters --- mass = 4.25 dragModelType = default maximum_drag = 0.2 minimum_drag = 0.2 angularDrag = 2 crashTolerance = 7 maxTemp = 2000 // = 3500 bulkheadProfiles = size2, srf tags = conver isru mine )mining (ore process resource MODULE { name = ModuleOverheatDisplay } MODULE { name = ModuleResourceConverter ConverterName = Lf+Ox StartActionName = Start ISRU [Lf+Ox] StopActionName = Stop ISRU [Lf+Ox] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.5 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = LiquidFuel Ratio = 0.45 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } OUTPUT_RESOURCE { ResourceName = Oxidizer Ratio = 0.55 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleResourceConverter ConverterName = Monoprop StartActionName = Start ISRU [Monoprop] StopActionName = Stop ISRU [Monoprop] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.5 } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = MonoPropellant Ratio = 1 DumpExcess = false } } MODULE { name = ModuleResourceConverter ConverterName = LiquidFuel StartActionName = Start ISRU [LqdFuel] StopActionName = Stop ISRU [LqdFuel] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.45 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = LiquidFuel Ratio = 0.9 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleResourceConverter ConverterName = Oxidizer StartActionName = Start ISRU [Ox] StopActionName = Stop ISRU [Ox] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.55 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = Oxidizer Ratio = 1.1 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleAnimationGroup deployAnimationName = activeAnimationName = ProcessorLarge_running moduleType = Converter autoDeploy = true } MODULE { name = ModuleCoreHeat CoreTempGoal = 1000 //Internal temp goal - we don't transfer till we hit this point CoreToPartRatio = 0.1 //Scale back cooling if the part is this % of core temp CoreTempGoalAdjustment = 0 //Dynamic goal adjustment CoreEnergyMultiplier = 0.1 //What percentage of our core energy do we transfer to the part HeatRadiantMultiplier = 0.05 //If the core is hotter, how much heat radiates? CoolingRadiantMultiplier = 0 //If the core is colder, how much radiates? HeatTransferMultiplier = 0 //If the part is hotter, how much heat transfers in? CoolantTransferMultiplier = 0.01 //If the part is colder, how much of our energy can we transfer? radiatorCoolingFactor = 1 //How much energy we pull from core with an active radiator? >= 1 radiatorHeatingFactor = 0.01 //How much energy we push to the active radiator MaxCalculationWarp = 1000 //Based on how dramatic the changes are, this is the max rate of change CoreShutdownTemp = 4000 //At what core temperature do we shut down all generators on this part? MaxCoolant = 500 //Maximum amount of radiator capacity we can consume - 50 = 1 small } } Thanks for this, I spent a couple of hours last night and most of my free time today on it. Peace. Edited April 21, 2017 by theJesuit Copy and Paste issues, then forum issues Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted April 21, 2017 Share Posted April 21, 2017 (edited) 1 hour ago, theJesuit said: Reveal hidden contents MODULE { name = ModuleOverheatDisplay } MODULE { name = ModuleResourceConverter ConverterName = Lf+Ox StartActionName = Start ISRU [Lf+Ox] StopActionName = Stop ISRU [Lf+Ox] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.5 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = LiquidFuel Ratio = 0.45 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } OUTPUT_RESOURCE { ResourceName = Oxidizer Ratio = 0.55 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleResourceConverter ConverterName = Monoprop StartActionName = Start ISRU [Monoprop] StopActionName = Stop ISRU [Monoprop] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.5 } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = MonoPropellant Ratio = 1 DumpExcess = false } } MODULE { name = ModuleResourceConverter ConverterName = LiquidFuel StartActionName = Start ISRU [LqdFuel] StopActionName = Stop ISRU [LqdFuel] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.45 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = LiquidFuel Ratio = 0.9 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleResourceConverter ConverterName = Oxidizer StartActionName = Start ISRU [Ox] StopActionName = Stop ISRU [Ox] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.55 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = Oxidizer Ratio = 1.1 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleAnimationGroup deployAnimationName = activeAnimationName = ProcessorLarge_running moduleType = Converter autoDeploy = true } MODULE { name = ModuleCoreHeat CoreTempGoal = 1000 //Internal temp goal - we don't transfer till we hit this point CoreToPartRatio = 0.1 //Scale back cooling if the part is this % of core temp CoreTempGoalAdjustment = 0 //Dynamic goal adjustment CoreEnergyMultiplier = 0.1 //What percentage of our core energy do we transfer to the part HeatRadiantMultiplier = 0.05 //If the core is hotter, how much heat radiates? CoolingRadiantMultiplier = 0 //If the core is colder, how much radiates? HeatTransferMultiplier = 0 //If the part is hotter, how much heat transfers in? CoolantTransferMultiplier = 0.01 //If the part is colder, how much of our energy can we transfer? radiatorCoolingFactor = 1 //How much energy we pull from core with an active radiator? >= 1 radiatorHeatingFactor = 0.01 //How much energy we push to the active radiator MaxCalculationWarp = 1000 //Based on how dramatic the changes are, this is the max rate of change CoreShutdownTemp = 4000 //At what core temperature do we shut down all generators on this part? MaxCoolant = 500 //Maximum amount of radiator capacity we can consume - 50 = 1 small } } Code in spoiler Thanks for such a quick reply. This has taken up all today's free time in trying to sort such a SMALL thing! Peace. If you want to edit all parts that have a "ModuleResourceConverter" and change all "INPUT_RESOURCE" from ResourceName = Ore to ResourceName = HydrateOre this is the patch you want to use: @PART:FINAL { @MODULE:HAS[#name[ModuleResourceConverter]] { @INPUT_RESOURCE:HAS[#ResourceName[Ore]] { @ResourceName = HydrateOre } } } I'm assuming you are doing this for your own game, hence the :FINAL if you are making a mod, don't use :FINAL Edited April 21, 2017 by Sigma88 Quote Link to comment Share on other sites More sharing options...
theJesuit Posted April 21, 2017 Share Posted April 21, 2017 1 minute ago, Sigma88 said: If you want to edit all parts that have a "ModuleResourceConverter" and change all "INPUT_RESOURCE" from ResourceName = Ore to ResourceName = HydrateOre this is the patch you want to use: @PART:FINAL { @MODULE:HAS[#name[ModuleResourceConverter]] { @INPUT_RESOURCE:HAS[#ResourceName[Ore]] { @ResourceName = HydrateOre } } } Thank you so much! This has been a mission! Peace. Quote Link to comment Share on other sites More sharing options...
Warezcrawler Posted April 21, 2017 Share Posted April 21, 2017 2 hours ago, theJesuit said: Heyho, I need some help please in writing a patch config - I've been looking through the documentation, but haven't found what I am looking for. Google also isn't pointing me to the answer either! I am wanting to change the ISRU config to need Ore, with my own resource, HydrateOre. Can someone please point me in the right direction?! What I think I am stuck with is the Input_Resource node has no 'name' associated with it - only ResourceName = Ore. Is there a straight forward way of changing the whole thing? Peace. something like this, part of an MM I have for MKS @PART[MKS_Processor*]:AFTER[MKS] { @MODULE[ModuleResourceConverter]:HAS[#ConverterName[Fertilizer?G?]] { @ConverterName = Fertilizer @INPUT_RESOURCE:HAS[#ResourceName[Gypsum]] { @ResourceName = Ore } } } It is the HAS[] arguments that are important for modding nodes without names. That or reference to the instance on the nodes you want to target. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.