sarbian

[1.8.x-1.9.x] Module Manager 4.1.3 (November 30th 2019) - Right To Ludicrous Speed

Recommended Posts

Hi people.

I have a question on patching the UPGRADES.

Say I have this upgrade in a part:

UPGRADE
{

   name = A-upgrade
   UPGRADES
   {  name__ = UpgradeActual
      techRequired__ = specializedConstruction
      stuff that gets upgraded
   }

}

But with a new tech tree I want to patch the techRequired to a different node, how would I achieve this?

Would the best way be to remove the Upgrade completely and start again in the patch file for the tech tree?

Thanks for taking time to look at this!

 

EDIT - I think I have it.  Sorry for the ping.

Edited by theJesuit

Share this post


Link to post
Share on other sites
Posted (edited)

Hi @sarbian, I am having a problem with Module Manager where at the end of the loading screen, it says " Verifying making history." In addition to the making history expansion, I also have RasterPropMonitor and Docking Port Alignment, both mods that are updated to 1.8, and I am running the latest version of module manager, so I don't know what is causing the problem. Additionally, it appears that if I delete all the mods, it loads perfectly fine. Do you know what is happening here?

Thanks,

Wildcat111

Edited by Wildcat111

Share this post


Link to post
Share on other sites
1 hour ago, Wildcat111 said:

Hi @sarbian, I am having a problem with Module Manager....

@Wildcat111, can you upload your logs after a hung game load to a file sharing site and post the link?  There's troubleshooting info at the link in my sig, but it may not be updated for the changes in KSP 1.8.x.

You want to upload these two files (location for Player.log for Windows)

C:/Users/<username>/AppData/LocalLow/Squad/Kerbal Space Program/Player.log

GameData/ModuleManager.ConfigCache

 

Share this post


Link to post
Share on other sites

Trying to update the large truss but not getting something right.  The idea is to add the ability to attach a node to the middle of the truss, not just its ends.  

I added a file: DansMod.cfg which looks like this but I get a missing part error when trying to load:  

@PART[trussPiece3x]
{    
    node_stack_front = 0.1287344‬, 0.737619, 0.0, 0.0, 1.0, 0.0, 1
    node_stack_back = -0.1287344‬, -0.737619, 0.0, 0.0, -1.0, 0.0, 1
}

Share this post


Link to post
Share on other sites

@peteletroll, that will prob do the trick but for others - the answer to my question was a malformed number caused the part to vanish.  I had too many digits.  In addition, my values were not at center but they work once I truncated a couple decimal values.

Share this post


Link to post
Share on other sites

I want all command modules in game to have science containers for convenience.

I made this patch 

@PART[*]:HAS[@MODULE[ModuleScienceContainer]]
{
    @MODULE[ModuleScienceContainer] 
    {
        canBeTransferredToInVessel = True
        canTransferInVessel = True
        showStatus = True
    }
}

 

Problem is that kerbals have science containers to but I do not want that. I was thinking that if it has ModuleCommand and ModulesScienceContainer it would remove the issue. (All Crewed Parts have ModulesScienceContainer and ModuleCommand) My question is how do I apply a patch so it require 2 modules. 

.@PART[*]:HAS[@MODULE[ModuleScienceContainer????????ModuleCommand]] or something total different? 

Share this post


Link to post
Share on other sites
18 hours ago, dave1904 said:

@PART[*]:HAS[@MODULE[ModuleScienceContainer????????ModuleCommand]]

You are close.  Replace the questionmarks with a comma

Share this post


Link to post
Share on other sites
6 minutes ago, linuxgurugamer said:

You are close.  Replace the questionmarks with a comma

Tryed both 

@PART[*]:HAS[@MODULE[ModuleScienceContainer,ModuleCommand]]

@PART[*]:HAS[@MODULE[ModuleScienceContainer|ModuleCommand]]

It will not work. The patch is simply not being applied. Its driving me insane. 

Share this post


Link to post
Share on other sites
19 minutes ago, dave1904 said:

Tryed both 

@PART[*]:HAS[@MODULE[ModuleScienceContainer,ModuleCommand]]

@PART[*]:HAS[@MODULE[ModuleScienceContainer|ModuleCommand]]

It will not work. The patch is simply not being applied. Its driving me insane. 

Try this.  Not sure about it, not at a computer right now.  Have you looked at the wiki?

@PART[*]:HAS[@MODULE[ModuleScienceContainer],@MODULE[ModuleCommand]]

Share this post


Link to post
Share on other sites
10 minutes ago, linuxgurugamer said:

Try this.  Not sure about it, not at a computer right now.  Have you looked at the wiki?

@PART[*]:HAS[@MODULE[ModuleScienceContainer],@MODULE[ModuleCommand]]

could have sworn I tried that yesterday but it is working. Thanks man!!!

Share this post


Link to post
Share on other sites

Hi, I could use a hand:

I am trying to select all items that have at least the tag 'cck-eva-items', but the code below only selects parts which ONLY have the tag.

@PART[*]:HAS[#tags[cck-eva-items]]:NEEDS[KIS]:FINAL
{
    @category = none
}

What is the wildcard token I need to add?

Share this post


Link to post
Share on other sites
4 hours ago, The-Grim-Sleeper said:

What is the wildcard token I need to add?

*

*cck-eva-items* will match anything that has "cck-eva-items" anywhere in it

Share this post


Link to post
Share on other sites

Why am I getting a warning on this MM patch?

@PART[*]:HAS[@MODULE[ModuleCommand],#CrewCapacity[>0]]:FINAL
{
 MODULE
 {
 name = ModuleScienceExperiment
 showUpgradesInModuleInfo = True
 experimentID = deltemp
 experimentActionName = #autoLOC_502067 //#autoLOC_502067 = Log Temperature
 resetActionName = #autoLOC_502064 //#autoLOC_502064 = Delete Data
 reviewActionName = Review Temperature Data
 useStaging = False
 useActionGroups = False
 hideUIwhenUnavailable = True
 xmitDataScalar = 0.5 
 collectActionName = #autoLOC_238018 //#autoLOC_238018 = Take Data
 dataIsCollectable = True
 rerunnable = True
 usageReqMaskInternal = 1
 usageReqMaskExternal = 8
 hideFxModuleUI = False

 UPGRADES
 {
  UPGRADE
  {
  name__ = adtemperatureScan
  experimentID = temperatureScan
  useActionGroups = True
  hideUIwhenUnavailable = False
  techRequired__ = engineering101
  }
 }
 }

 MODULE
 {
 name = ModuleScienceExperiment
 showUpgradesInModuleInfo = True
 experimentID = delbaro
 experimentActionName = #autoLOC_502065 //#autoLOC_502065 = Log Pressure Data
 resetActionName = #autoLOC_502064 //#autoLOC_502064 = Delete Data
 reviewActionName = Review Presure Data
 useStaging = False
 useActionGroups = False
 hideUIwhenUnavailable = True
 xmitDataScalar = 0.5
 collectActionName = #autoLOC_238018 //#autoLOC_238018 = Take Data
 dataIsCollectable = True
 rerunnable = True
 usageReqMaskInternal = 1
 usageReqMaskExternal = 8
 hideFxModuleUI = False

 UPGRADES
 {
  UPGRADE
  {
  name__ = adsensorBarometer
  experimentID = barometerScan
  useActionGroups = True
  hideUIwhenUnavailable = False
  techRequired__ = survivability

  }
 }
 }

 MODULE
 {
 name = ModuleScienceExperiment
 showUpgradesInModuleInfo = True
 experimentID = delseismic
 experimentActionName = #autoLOC_502063 //#autoLOC_502063 = Log Seismic Data
 resetActionName = #autoLOC_502064 //#autoLOC_502064 = Delete Data
 reviewActionName = Review Seismic Data
 useStaging = False
 useActionGroups = False
 hideUIwhenUnavailable = True
 xmitDataScalar = 0.45
 collectActionName = #autoLOC_238018 //#autoLOC_238018 = Take Data
 dataIsCollectable = True
 rerunnable = True
 usageReqMaskInternal = 1
 usageReqMaskExternal = 8
 hideFxModuleUI = False

 UPGRADES
 {
  UPGRADE
  {
  name__ = adsensorAccelerometer
  experimentID = seismicScan
  useActionGroups = True
  hideUIwhenUnavailable = False
  techRequired__ = electronics

  }
 }
 }

 MODULE
 {
 name = ModuleScienceExperiment
 showUpgradesInModuleInfo = True
 experimentID = delgrav
 experimentActionName = #autoLOC_502066 //#autoLOC_502066 = Log Gravity Data 
 resetActionName = #autoLOC_502064 //#autoLOC_502064 = Delete Data   
 reviewActionName = Review Gravity Data
 useStaging = False
 useActionGroups = False
 hideUIwhenUnavailable = True
 xmitDataScalar = 0.4
 collectActionName = #autoLOC_238018 //#autoLOC_238018 = Take Data
 dataIsCollectable = True
 rerunnable = True
 usageReqMaskInternal = 1
 usageReqMaskExternal = 8
 hideFxModuleUI = False

 UPGRADES
 {
  UPGRADE
  {
  name__ = adsensorGravimeter
  experimentID = gravityScan
  useActionGroups = True
  hideUIwhenUnavailable = False
  techRequired__ = advScienceTech

  }
 }
 }

 MODULE
 {
 name = ModuleScienceExperiment
 showUpgradesInModuleInfo = True
 experimentID = delatmo
 experimentActionName = #autoLOC_502048 //#autoLOC_502048 = Run Atmosphere Analysis
 resetActionName = #autoLOC_502049 //#autoLOC_502049 = Discard Data
 reviewActionName = Review Atmosphere Analysis Data
 useStaging = False
 useActionGroups = False
 hideUIwhenUnavailable = True
 xmitDataScalar = 0.6
 collectActionName = #autoLOC_238018 //#autoLOC_238018 = Take Data
 dataIsCollectable = True
 rerunnable = True
 usageReqMaskInternal = 1
 usageReqMaskExternal = 8
 hideFxModuleUI = False

 UPGRADES
 {
  UPGRADE
  {
  name__ = adsensorAtmosphere
  experimentID = atmosphereAnalysis
  useActionGroups = True
  hideUIwhenUnavailable = False
  techRequired__ = scienceTech

  }
 }
 }

 MODULE
 {
 name = ModuleScienceExperiment
 showUpgradesInModuleInfo = True
 experimentID = delgoo
 experimentActionName = #autoLOC_502053 //#autoLOC_502053 = Observe Mystery Goo
 resetActionName = #autoLOC_502054 //#autoLOC_502054 = Reset Goo Canister
 reviewActionName = Review Goo Data
 useStaging = False
 useActionGroups = False
 hideUIwhenUnavailable = True
 xmitDataScalar = 0.3
 rerunnable = False
 usageReqMaskInternal = 1
 hideFxModuleUI = False
 collectActionName = #autoLOC_6004057 //#autoLOC_6004057 = Collect Data
 dataIsCollectable = True
 usageReqMaskInternal = 1
 usageReqMaskExternal = 8

 UPGRADES
 {
  UPGRADE
  {
  name__ = adGooExperiment
  experimentID = mysteryGoo
  useActionGroups = True
  hideUIwhenUnavailable = False
  techRequired__ = start

  }
 }
 }

 MODULE
 {
 name = ModuleScienceExperiment
 showUpgradesInModuleInfo = True
 experimentID = delmatlab
 experimentActionName = #autoLOC_502061 //#autoLOC_502061 = Observe Materials Bay
 resetActionName = #autoLOC_502062 //#autoLOC_502062 = Reset Materials Bay
 reviewActionName = Review MatLab Data
 useStaging = False
 useActionGroups = False
 hideUIwhenUnavailable = True
 xmitDataScalar = 0.35
 rerunnable = False
 usageReqMaskInternal = 1
 hideFxModuleUI = False
 collectActionName = #autoLOC_6004057 //#autoLOC_6004057 = Collect Data
 dataIsCollectable = True
 usageReqMaskInternal = 1
 usageReqMaskExternal = 8

 UPGRADES
 {
  UPGRADE
  {
  name__ = adMatLabExperiment
  experimentID = mobileMaterialsLab
  useActionGroups = True
  hideUIwhenUnavailable = False
  techRequired__ = basicScience

  }
 }
 }
}

this is the warning :

zzzz_JPatches/Stock_PATCHES/@PART[*]:HAS[@MODULE[ModuleCommand],#CrewCapacity[>0]]:FINAL to Squad/Parts/Command/mk3CockpitShuttle/mk3CockpitShuttle.cfg/PART[mk3Cockpit_Shuttle]
[LOG 01:41:12.402] Done patching
[WRN 01:41:12.403] 1 warning related to GameData/zzzz_JPatches/Stock_PATCHES.cfg
[LOG 01:41:12.403] Saving Cache
[LOG 01:41:12.590] Saving cache
[LOG 01:41:13.168] ModuleManager: 772 patches applied, found <color=yellow>1 warning</color>

 

Share this post


Link to post
Share on other sites
42 minutes ago, Jiraiyah said:

Why am I getting a warning on this MM patch?

I don't immediately see what's wrong, however the real warning should be farther up in the log (what you posted is just the error/warning counts it prints at the end).  If you can't find it just post the full log and I'll look through.

Share this post


Link to post
Share on other sites

can anyone help me? I'm trying to change the color of the light in Future Suit that comes with the latest expansion pack via MM patch, here is what I tried :

@Part[kerbal*Future]:HAS[@MODULE[ModuleColorChanger]]:FINAL
{
	@Module[ModuleColorChanger]
	{
		redColor = 0.15
		greenColor = 0.79
		blueColor = 0.0
	}
}

But it fails not sure why, the color in game is still orange on the suit

Share this post


Link to post
Share on other sites
52 minutes ago, Jiraiyah said:

I'm trying to change the color of the light in Future Suit that comes with the latest expansion pack via MM patch, here is what I tried

The colors are stored with the Kerbal in the save's "ROSTER" section. I don't think they can be changed with an MM patch but I would like to know, too.

I vaguely remember seeing a mod that could do that. I don't remember its name, though.

Share this post


Link to post
Share on other sites
23 minutes ago, HansAcker said:

The colors are stored with the Kerbal in the save's "ROSTER" section. I don't think they can be changed with an MM patch but I would like to know, too.

I vaguely remember seeing a mod that could do that. I don't remember its name, though.

It might be this one

I think it only works per occupation. So, all pilots would get one colour, all engineers another, all scientists another

Share this post


Link to post
Share on other sites

well, that won't be helpful for me, I am trying to add suits for texture replacer, it would be nice if i could handle the light color from module manager without needing to tweak the squad folder numbers (even that is not working on my instance for time being, not sure why)

Share this post


Link to post
Share on other sites

I"m trying to extend the following MM script:

@PART[*]:HAS[!MODULE[ModuleGenerator],@MODULE[ModuleA]]:FOR[WarpPlugin]
{
	MODULE
	{
		name = ModuleGenerator
		isAlwaysActive = false

		OUTPUT_RESOURCE
		{
			name = ElectricCharge
			rate = 0
		}
	}
}

 

This scipt basicly add a partmodule ModuleGenerator when a specific parmodule ModuleA is present and there isn't an existing part module present already. The question is, how to make it the required partmodule be one of several partmodules?

I tried the following which doesn't seem to work:

@PART[*]:HAS[!MODULE[ModuleGenerator],@MODULE[ModuleA|ModuleB]]:FOR[WarpPlugin]
{
	MODULE
	{
		name = ModuleGenerator
		isAlwaysActive = false

		OUTPUT_RESOURCE
		{
			name = ElectricCharge
			rate = 0
		}
	}
}

 

Edited by FreeThinker

Share this post


Link to post
Share on other sites
On 11/8/2019 at 1:39 AM, Jognt said:

You can’t use OR or | in a HAS block. Though it should work but be limited to only the first entry, in this case: Machinery. 

I guess this explains why | doesn't work

Share this post


Link to post
Share on other sites
On 1/30/2020 at 5:31 AM, Jiraiyah said:

can anyone help me? I'm trying to change the color of the light in Future Suit that comes with the latest expansion pack via MM patch, here is what I tried :


@Part[kerbal*Future]:HAS[@MODULE[ModuleColorChanger]]:FINAL
{
	@Module[ModuleColorChanger]
	{
		redColor = 0.15
		greenColor = 0.79
		blueColor = 0.0
	}
}

But it fails not sure why, the color in game is still orange on the suit

@Module should be @MODULE

Share this post


Link to post
Share on other sites

@FreeThinker If the multiple modules you're targeting are siblings or otherwise a family (have a major commonality in spelling) you can use ? as placeholder for "X character here." And you can use that in combination with * for "any characters, any number of characters here".

This example will work assuming you have parts with any of these four modules scattered across them:

@PART:HAS[@MODULE[Module???Feature*]]
{
	@MODULE[ModuleABCFeatureGenerator]
	{
		// operations
	}
	@MODULE[ModuleENBFeatureResourceConverter]
	{
		// operations
	}
	@MODULE[ModuleGNCFeatureTransmission]
	{
		// operations
	}
	@MODULE[ModulePQSFeatureResource]
	{
		// operations
	}	
}

 

Share this post


Link to post
Share on other sites
9 minutes ago, JadeOfMaar said:

@FreeThinker If the multiple modules you're targeting are siblings or otherwise a family (have a major commonality in spelling) you can use ? as placeholder for "X character here." And you can use that in combination with * for "any characters, any number of characters here".

This example will work assuming you have parts with any of these four modules scattered across them:


@PART:HAS[@MODULE[Module???Feature*]]
{
	@MODULE[ModuleABCFeatureGenerator]
	{
		// operations
	}
	@MODULE[ModuleENBFeatureResourceConverter]
	{
		// operations
	}
	@MODULE[ModuleGNCFeatureTransmission]
	{
		// operations
	}
	@MODULE[ModulePQSFeatureResource]
	{
		// operations
	}	
}

 

Thanks, that helps. If only there was a way to target all partmodules that inherited from the same class.

Share this post


Link to post
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.