Jump to content

[1.8.x-1.12.x] Module Manager 4.2.3 (July 03th 2023) - Fireworks season


sarbian

Recommended Posts

Looking for some help.I'm trying to get the octo2 to detect 100% anomalies. Detection % appears to be a number between 0 and 1. Where am I going wrong?


@PART[probeCoreOcto2]
{
    @MODULE[ModuleKerbNetAccess]
    { 
        @AnomalyDetection = 1
    }
}

Link to comment
Share on other sites

8 minutes ago, Red Shirt said:

Looking for some help.I'm trying to get the octo2 to detect 100% anomalies. Detection % appears to be a number between 0 and 1. Where am I going wrong?


@PART[probeCoreOcto2]
{
    @MODULE[ModuleKerbNetAccess]
    { 
        @AnomalyDetection = 1
    }
}

It looks fine. Did you check the cache (ModuleManager.ConfigCache) to see if the part is properly patched ?

Link to comment
Share on other sites

12 minutes ago, sarbian said:

It looks fine. Did you check the cache (ModuleManager.ConfigCache) to see if the part is properly patched ?

I believe so, but maybe not, here is an edited version of what I found...

        MODULE
        {
            name = ModuleKerbNetAccess
            MinimumFoV = 13
            MaximumFoV = 72
            AnomalyDetection = 0.18
            DISPLAY_MODES
            {
                Mode = Biome
                Mode = Terrain
            }
        }
   
        �
        {
            AnomalyDetection = 1
        }

The first AnomalyDetection line is the original setting. My revision attempt is listed a couple sections down and after the question mark in a diamond. In game I am seeing 2-3 anomalies on Mun, none of which are the arches that I know their locations from previous landings.

Link to comment
Share on other sites

1 hour ago, sarbian said:

 

This works fine here. Are you sure you did not sneak a special char somewhere ?

 

Thank you sir. I used notepad but I did cut and paste from the original Squad cfg - because I thought it would prevent spelling errors. Looks like that just created a problem I would never have found.

Link to comment
Share on other sites

Question: Should I remove the caché after several updates? Does it save old not needed information or something? Or should I leave those 4 (.ConfigCache     .configSHA         .Physics      &    .TechTree) files untouched?
Sorry form my basic question but I am running sume bugs and I'm trying to eliminate possibilities...) 

Edited by Agustin
Link to comment
Share on other sites

2 hours ago, Agustin said:

Question: Should I remove the caché after several updates? Does it save old not needed information or something? Or should I leave those 4 (.ConfigCache     .configSHA         .Physics      &    .TechTree) files untouched?
Sorry form my basic question but I am running sume bugs and I'm trying to eliminate possibilities...) 

I've heard of a few cases of the cache not being invalidated correctly, but they're pretty rare.  In almost every case, MM will correctly detect any .cfg changes and decide to use/not use the cache based on that.

Link to comment
Share on other sites

3 hours ago, Agustin said:

Question: Should I remove the caché after several updates? Does it save old not needed information or something? Or should I leave those 4 (.ConfigCache     .configSHA         .Physics      &    .TechTree) files untouched?
Sorry form my basic question but I am running sume bugs and I'm trying to eliminate possibilities...) 

There is no harm in deleting them, moduleManger will simply regenerate them. I have on occasion deleted them when debugging. Can't say for sure that helped, but I think it might in some cases.

Link to comment
Share on other sites

So i wrote a config to make MechJeb available for all Command parts (Yes i'm aware of MechJeb 2 embedded and mine is just for practice ) and i can't seem to figure why it doesn't work

 

@PART[*]:HAS[@Module[ModuleCommand],!Module[MechJebCore]]:FINAL
{
 MODULE		
    {
        name = MechJebCore				
    }
}

Have tried both putting it directly inside my main mod directory "GameData\AstroK" and also in a subdirectory "GameData\AstroK\Tweaks\Mechjeb2Tweaks"

No luck either place , Looked into Mechjeb 2 embedded .cfg and didn't find anything different . Odd :confused::confused:

Link to comment
Share on other sites

3 hours ago, Alpha_Mike_741 said:

So i wrote a config to make MechJeb available for all Command parts (Yes i'm aware of MechJeb 2 embedded and mine is just for practice ) and i can't seem to figure why it doesn't work

Spoiler


@PART[*]:HAS[@Module[ModuleCommand],!Module[MechJebCore]]:FINAL
{
 MODULE		
    {
        name = MechJebCore				
    }
}

Have tried both putting it directly inside my main mod directory "GameData\AstroK" and also in a subdirectory "GameData\AstroK\Tweaks\Mechjeb2Tweaks"

No luck either place , Looked into Mechjeb 2 embedded .cfg and didn't find anything different . Odd :confused::confused:

The following is my ModuleManager config file to add MechJeb2 to all command pods.  You need MechJebLocalSettings as well.

Spoiler

// MMJ-MechJeb-ModuleCommand.<date-version>.cfg
//
// Powered by ialdabaoth and sarbian's ModuleManager
//      http://forum.kerbalspaceprogram.com/index.php?/topic/50533-/
// ModuleManager config coding by Jacke
//      http://forum.kerbalspaceprogram.com/index.php?/profile/103694-jacke/
// Licence Creative Commons Attribution-ShareAlike
//      http://creativecommons.org/licenses/by-sa/4.0/
//
// Include this file with mod MechJeb
//
// for MechJeb >= 2.1.1
//
// add MechJeb functions to all ModuleCommand
//
// Version 20160420a
//
// 2016 Apr 20 Wed  updated links for KSP new forum
// 2015 May 12 Tue  updated coding
// 2015 May 07 Thu  updated for KSP 1.0.2 and recent changes
// 2014 Aug 30 Sat  changed order of HAS tests
// 2014 Feb 20 Thu  MM coding by Jacke
//
// where    GameData/MechJeb2/
// what     MODULE MechJebCore
// file     all ModuleCommand files
// part     all ModuleCommand parts
//
// Standard Command Modules
//
@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[MechJebCore]]:FINAL
{
	MODULE
	{
		name = MechJebCore
		MechJebLocalSettings {
			MechJebModuleCustomWindowEditor { unlockTechs = start }		// flightControl
			MechJebModuleSmartASS { unlockTechs = start }			// flightControl
			MechJebModuleManeuverPlanner { unlockTechs = start }		// advFlightControl
			MechJebModuleNodeEditor { unlockTechs = start }			// advFlightControl
			MechJebModuleTranslatron { unlockTechs = start }		// advFlightControl
			MechJebModuleWarpHelper { unlockTechs = start }			// advFlightControl
			MechJebModuleAttitudeAdjustment { unlockTechs = start }		// advFlightControl
			MechJebModuleThrustWindow { unlockTechs = start }		// advFlightControl
			MechJebModuleRCSBalancerWindow { unlockTechs = start }		// advFlightControl
			MechJebModuleRoverWindow { unlockTechs = start }		// fieldScience
			MechJebModuleAscentGuidance { unlockTechs = start }		// unmannedTech
			MechJebModuleLandingGuidance { unlockTechs = start }		// unmannedTech
			MechJebModuleSpaceplaneGuidance { unlockTechs = start }		// unmannedTech
			MechJebModuleDockingGuidance { unlockTechs = start }		// avUnmannedTech
			MechJebModuleRendezvousAutopilotWindow { unlockTechs = start }	// advUnmannedTech
			MechJebModuleRendezvousGuidance { unlockTechs = start }		// advUnmannedTech
		}
	}
}
//
// END OF MMJ-MechJeb-ModuleCommand.<date-version>.cfg

 

 

Edited by Jacke
Link to comment
Share on other sites

3 hours ago, Alpha_Mike_741 said:

So i wrote a config to make MechJeb available for all Command parts (Yes i'm aware of MechJeb 2 embedded and mine is just for practice ) and i can't seem to figure why it doesn't work

It's MODULE, not Module. This is mine, it works.

Spoiler

@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[MechJebCore]]:NEEDS[MechJeb2]:Final
{    
    MODULE
    {
        name = MechJebCore
    }
}

 

 

Link to comment
Share on other sites

10 hours ago, Jso said:

It's MODULE, not Module. This is mine, it works.

  Reveal hidden contents


@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[MechJebCore]]:NEEDS[MechJeb2]:Final
{    
    MODULE
    {
        name = MechJebCore
    }
}

 

 

Thanks! Changing Module to MODULE did the trick . So does that mean MM is case sensitive ?

Also what happens if I omit '@' from :HAS[@MODULE[x]]?

 

10 hours ago, Jacke said:

The following is my ModuleManager config file to add MechJeb2 to all command pods.  You need MechJebLocalSettings as well.

  Reveal hidden contents


// MMJ-MechJeb-ModuleCommand.<date-version>.cfg
//
// Powered by ialdabaoth and sarbian's ModuleManager
//      http://forum.kerbalspaceprogram.com/index.php?/topic/50533-/
// ModuleManager config coding by Jacke
//      http://forum.kerbalspaceprogram.com/index.php?/profile/103694-jacke/
// Licence Creative Commons Attribution-ShareAlike
//      http://creativecommons.org/licenses/by-sa/4.0/
//
// Include this file with mod MechJeb
//
// for MechJeb >= 2.1.1
//
// add MechJeb functions to all ModuleCommand
//
// Version 20160420a
//
// 2016 Apr 20 Wed  updated links for KSP new forum
// 2015 May 12 Tue  updated coding
// 2015 May 07 Thu  updated for KSP 1.0.2 and recent changes
// 2014 Aug 30 Sat  changed order of HAS tests
// 2014 Feb 20 Thu  MM coding by Jacke
//
// where    GameData/MechJeb2/
// what     MODULE MechJebCore
// file     all ModuleCommand files
// part     all ModuleCommand parts
//
// Standard Command Modules
//
@PART[*]:HAS[@MODULE[ModuleCommand],!MODULE[MechJebCore]]:FINAL
{
	MODULE
	{
		name = MechJebCore
		MechJebLocalSettings {
			MechJebModuleCustomWindowEditor { unlockTechs = start }		// flightControl
			MechJebModuleSmartASS { unlockTechs = start }			// flightControl
			MechJebModuleManeuverPlanner { unlockTechs = start }		// advFlightControl
			MechJebModuleNodeEditor { unlockTechs = start }			// advFlightControl
			MechJebModuleTranslatron { unlockTechs = start }		// advFlightControl
			MechJebModuleWarpHelper { unlockTechs = start }			// advFlightControl
			MechJebModuleAttitudeAdjustment { unlockTechs = start }		// advFlightControl
			MechJebModuleThrustWindow { unlockTechs = start }		// advFlightControl
			MechJebModuleRCSBalancerWindow { unlockTechs = start }		// advFlightControl
			MechJebModuleRoverWindow { unlockTechs = start }		// fieldScience
			MechJebModuleAscentGuidance { unlockTechs = start }		// unmannedTech
			MechJebModuleLandingGuidance { unlockTechs = start }		// unmannedTech
			MechJebModuleSpaceplaneGuidance { unlockTechs = start }		// unmannedTech
			MechJebModuleDockingGuidance { unlockTechs = start }		// avUnmannedTech
			MechJebModuleRendezvousAutopilotWindow { unlockTechs = start }	// advUnmannedTech
			MechJebModuleRendezvousGuidance { unlockTechs = start }		// advUnmannedTech
		}
	}
}
//
// END OF MMJ-MechJeb-ModuleCommand.<date-version>.cfg

 

 

Thanks for your reply!

 Though from what I've seen  I believe that adding MechJebLocalSettings is necessary when you want to impose carrer tech limits 

Link to comment
Share on other sites

is there a way to make it so that no other patches can affect a part?

So that you could make a patch for a part that blocks a patch in another mod from affecting it. 

Say mod Z has a patch like this

@PART[*]:HAS[@MODULE[ModuleEngines]]

{

   %MODULE[something]

   {

      %key = value

   }

}

And you have a part that has ModuleEngines, but you don't want Mod Z's patch to add something to it. You also don't want any other patches messing with this part.

Link to comment
Share on other sites

1 hour ago, Nnimrod said:

is there a way to make it so that no other patches can affect a part?

So that you could make a patch for a part that blocks a patch in another mod from affecting it. 

Say mod Z has a patch like this

@PART[*]:HAS[@MODULE[ModuleEngines]]

{

   %MODULE[something]

   {

      %key = value

   }

}

And you have a part that has ModuleEngines, but you don't want Mod Z's patch to add something to it. You also don't want any other patches messing with this part.

No, MM doesn't support blocking others from patching something.

Link to comment
Share on other sites

3 hours ago, Nnimrod said:

ok, thanks

You can however change the part so that said patch will fail targetting it, then restore the part after the patch failed

In your example just Change the module name to be something like ModuleEnginez

And then change it back after the patch hit

Edited by Sigma88
Link to comment
Share on other sites

Tried to find documentation for the HAS block but can't find any.  Wondering if it's possible to do an OR in a HAS block, like this.

@PART[*]:HAS[@MODULE[ModuleCommand]|@MODULE[KerbalSeat]]:HAS[!MODULE[MechJebCore]]:NEEDS[MechJeb2]:FINAL
{
	// coding
}

 

Link to comment
Share on other sites

16 hours ago, Phineas Freak said:

@Jacke the multiple "HAS" checks only work for sub-nodes (for example: checking a ModuleEngines for a specific propellant). For MODULE checking you have to enter them as a pseudo-code:


@PART[*]:HAS[@MODULE[ModuleCommand]|@MODULE[KerbalSeat],!MODULE[MechJebCore]]:NEEDS[MechJeb2]:FINAL
{
    .
    .
    .
}

 

Thanks for the quick response and clarifying the use of multiple :HAS.  I also wanted to be sure that the '|' can be used in a :HAS as an OR operator.

Link to comment
Share on other sites

Got a weird one...

Simply adding an ablator surface to anything that has a lifting surface and changing the resource drawn to electrical charge

@PART[*]:HAS[@MODULE[ModuleLiftingSurface]]
{
	MODULE
	{
		name = ModuleAblator
		ablativeResource = ElectricCharge
		lossExp = -750
		lossConst = 0.1
		pyrolysisLossFactor = 6000
		reentryConductivity = 0.01
		ablationTempThresh = 500
		
	}
}

Double checked, triple checked...module itself works fine on its own. but not the patch part.

Link to comment
Share on other sites

3 hours ago, Esquire42 said:

Got a weird one...

Simply adding an ablator surface to anything that has a lifting surface and changing the resource drawn to electrical charge


@PART[*]:HAS[@MODULE[ModuleLiftingSurface]]
{
	MODULE
	{
		name = ModuleAblator
		ablativeResource = ElectricCharge
		lossExp = -750
		lossConst = 0.1
		pyrolysisLossFactor = 6000
		reentryConductivity = 0.01
		ablationTempThresh = 500
		
	}
}

Double checked, triple checked...module itself works fine on its own. but not the patch part.

did you check the mm cache to see if the module is correctly installed?

 

edit:

you say you checked and the module works so I suppose this is not the issue, but you are missing two lines that stock heat shields have:

		useChar = True
		charModuleName = shieldChar

 

I have no idea if those are required, but since you say the module itself works I suppose they are not.

 

edit2:

as far as I can tell all heat shields have the resource ablator, you might need to add the resource you want to consume to the wing. I don't think the module on the wing can ablate electric charge from other parts

 

edit3:

also, some heat shields have a ModuleLiftingSurface module, so you might want to change the patch to

@PART:HAS[@MODULE[ModuleLiftingSurfac],!MODULE[ModuleAblator]]
{
     // stuff
}

 

Edited by Sigma88
Link to comment
Share on other sites

Is there a more detailed documentation of usage and examples than the GitHub wiki?

Anyway I have a question about multiple nodes with the same name such as the keys in atmosphereCurve.

Is there an easy way to replace it with my own list of keys? I tried -atmosphereCurve{} to remove it and add a new atmosphereCurve afterwards but it doesn't seem to work very well. In some cases it worked as I intended but in other cases I got an Isp of 0 in game.

Link to comment
Share on other sites

So for pressure fed engines, I want an engine to consume a pressurant during operation, and not have to mess with the Isp/propellant consumption. If I add it in as a PROPELLANT node in ModuleEngines, it does mess with Isp. Would this work?

 

MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = Helium, 300 bar
            rate = (and then put a negative value here to make to consume it rather than generate it)
        }
    }

Clearly not

Edited by Nnimrod
Link to comment
Share on other sites

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...