Jump to content

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


sarbian

Recommended Posts

I’m having some problems with ModuleManger’s dependency checking i.e. PART:NEEDS[MyMod]. It seems to be detecting RemoteTech when it’s not there. This problem seems to affect various different mods. ModuleManger detects mods based on mod.dll and mod folder which makes sense. However, it also detects installed mods using FOR[mod]: and I don’t get why this is.

Having a config file with FOR[RemoteTech] doesn’t seem to be a reasonable way of detecting the presence of a mod. You can have :FOR[mod]: without that particular mod being installed.

I have confirmed this is the problem I the log file:

[ModuleManager] compiling list of loaded mods...
Mod DLLs found:
    Assembly-CSharp v1.0.0.0                         SHA256 eb5b74097af27ee46027e4f831df119ff21995f9087a83e7df43112db8db566f
    ModuleManager.2.6.20 v2.6.20.0                   SHA256 5c4aa337f0001bf79eeb2ddfd70bf4eaaed541e32fcf8f53ebc91977481b751d
    aaa_Toolbar v1.0.0.0 / v1.7.10.0                 SHA256 4061829658b34b5de161a3f2016894e577e09b991f7356bd9e2ab1ed48fec378
    ActiveTextureManagement v1.0.0.0                 SHA256 91f726c3d1db5beda9a65a02852961e3ba8c8fd4362cc5aed35ac073574018c2
    LibSquishPort v1.0.0.0                           SHA256 25d13923eba685bece70039c0415160cdcc60d655bba7cba2039acbd47a38aeb
    NvidiaTextureTools v1.0.0.0                      SHA256 2a241b82200fe822a4be560ae5c3617b0e8f4c73cbee0b4bfd093b830af1c392
    SolverEngines v1.15.0.0                          SHA256 3a9bc59cda0805761603075fbfb4255341b768bad73fb40a0381e3612a17c821
    AJE v2.6.1.0                                     SHA256 c5752f0083de87b7711507f040fdd44fbf1db4a5ba3b45cd1751012d276d553f
    BetterBuoyancy v1.4.0.0                          SHA256 20fad5724de581e96f2c017e2291ebbe2c1a13d8ba20c51f13abd7aa96962465
    CrossFeedEnabler v0.3.5609.39332 / v0.3.3.0      SHA256 2a383ac2297140fd64a11010c6102960109a916d8f2721b1f9af315bda67586c
    EngineGroupController v1.0.0.0                   SHA256 aa8add95b62b79ea356a44a177b2a01eead3558dd1fc959c714fbd82066229cf
    UnityGUIFramework v1.0.0.0                       SHA256 c3d1f2bce0aa42ca94c59c99a7028b5d876a2bf82adc4133fc5fefbfd4b79642
    ModularFlightIntegrator v1.0.0.0 / v1.1.2.0      SHA256 2ebd4574f9570674c1990f453d5db19368d9b69968922baec5b66c983b5a6011
    FerramAerospaceResearch v0.15.5.7                SHA256 4e60f5b8ebe50e1969caeca855bf974dd886f94a67006d0d2555567a76ff3533
    ferramGraph v1.3.0.0                             SHA256 a4bc79e9a2fed81a0ba13d938533305f95e8c17be856f8ec58cb2315259f0534
    Scale_Redist v1.0.0.0                            SHA256 dab723459654573f4eb11ba5672856d616a683ab30d22547ee0f6edc91b507a8
    KerbalJointReinforcement v3.1.4.0                SHA256 9f8b4b1bead2dbfa47fe59d1a0a44c84621cb1d559b91dc4b3cadbacc8603e75
    km_Gimbal v3.0.5.0 / v3.0.7.0                    SHA256 844ef5af8d195e98aade2b4127107479713f7fcdaa113b4be8c8687e99d33493
    Kopernicus.Components v1.0.0.0                   SHA256 f58a3876ea2907edb83322123b12ee8aeb7e6e263ea192a28b2e85d24c2fb8f4
    Kopernicus.OnDemand v1.0.0.0                     SHA256 dba54a01a8690910e0180bab434e1fae4223087f80ea1ad9521452f8637f5c5e
    Kopernicus v1.0.0.0                              SHA256 07e52073e92a65f44342509a63fa083211cacf34166e8f0dff8a0a043055622d
    KSCSwitcher v1.0.5617.28422                      SHA256 ff7fd0737390d86b8cf9806e1b03aa29cd3f57ec70ffba7896717276a8b00445
    KSP-AVC v1.1.5.0                                 SHA256 e7754f6d7c878a18af7dbad5e048b41f8f18abcffaf222cf082c78df3ba8e65e
    ModuleRCSFX v0.4.5713.33871 / v0.4.2.0           SHA256 56bd508e057b936bbfb1d8c2d9c753be170325833c4d1cc1c9008d15ed2bc764
    RealChute v1.3.5878.4668 / v1.3.2.7              SHA256 754cb83eabf989a3a76ae976515c11e6981f926428a7da32dfffe1b0e03c5915
    KSPAPIExtensions v1.7.5.0                        SHA256 426ede61f65241ad57aa6ac0998d5e5024d87e867dd5dcf493b36e7b6f62aa28
    RealFuels v0.10.8.4809 / v0.10.8.5               SHA256 d806f426fa1894e65c90f9d01c0497424b638ac78ed5bab7845d9127524ce4d6
    Scale_Redist v1.0.0.0                            SHA256 dab723459654573f4eb11ba5672856d616a683ab30d22547ee0f6edc91b507a8
    TweakScale_RealFuels v0.0.0.0                    SHA256 d16007176aac06d2d6ad76040455b1c011a8b7fbfab77140572fcd24fdc5dd53
    RealHeat v0.3.0.0                                SHA256 edc3d636329c2a54ecf025e7173d368d716c0e5632ea5bcd3909899c9c00984f
    MiniAVC v1.0.3.0                                 SHA256 3a74237363b4c9739208c0420ecc04ead93f10bed39e82acad822317ffe04cc3
    RealismOverhaul v0.10.6.0                        SHA256 f03d766a2262d31e459932a5d36a8f6576b724dd458a762dfe9e0b71738a300c
    RealSolarSystem v0.10.6.2                        SHA256 a7bdb9913e50395b55ca38f2df37db4df98bc214d09798eb0ead64d6fdbceeaf
    System.Core v2.0.5.0 / v3.0.40818.0              SHA256 7dc2fa1eb3f1ee31f6732f93ada6a67058d21bab7c00cd682ae4fbd3639f427a
    System v2.0.5.0 / v3.0.40818.0                   SHA256 9b4ea8a0b7ed5aafc4532f7964434b6fd29a76e57e51d8712e6e47764ae2e35f
    SmokeScreen v2.6.13.0                            SHA256 0ecb7778d4fb79195d495220bff79c60b0e9fe471bc9bed08a341e5c5337b482
    ModuleAnimateEmissive v1.0.0.0                   SHA256 523570ea252d53862ab5bd62b0a7da79f27e59125e71b9875ac4d417e2104080
    KSPSteamCtrlr v0.0.1.26                          SHA256 8876e843f666921615bac364f6ba8d32718a64a78c9a4f7b1308463e13731206
    Steamworks.NET v8.0.0.0 / v8.0.0                 SHA256 b4fa7e94456ecde38d86855364b5b957796ac67c210c44b1782243884247b90e
Non-DLL mods added (:FOR[xxx]):
  aaa_AJE
  RealPlume
  EngineGroupContoller
  aaa
  zRORescaleDragCubes
  zTestFlight
  RealismOverhaulEngines
  RO-EngineConfigs
  RP-0
  zzRealPlume
  StockRealismPLUS
  RO-RCS
  SSTU
  RemoteTech    <------------------RemoteTech detected when not installed
  zRealPlume
  RSSConfig
Mods by directory (sub directories of GameData):
  000_Toolbar
  BritishRockets
  CommunityResourcePack
  Klockheed_Martian_Gimbal
  RSS-Textures
  Squad

This is a real problem If you have Realism Overhaul installed because RemoteTech is not a dependency only a recommended mod but RO comes with many FOR[RemoteTech] in its configs. Mods with NEEDS[RemoteTech] then remove stock antenna functionality with:

!MODULE[ModuleDataTransmitter]
 {
 }

Link to comment
Share on other sites

Quick question with, hopefully, a quick answer - what is the correct syntax to remove an Agent ?
I've tried this, to no avail :

 

-AGENT[agency name]  {}

If the agent has spaces in it's name, should I use an escape character of some kind?
The following shows up in my logs, even with quotes around the agent name
 

[LOG 08:17:09.968] Config(-AGENT["Tst) testmod/changes/-AGENT["Tst



The name of the agency is "Tst Agnt"

 

Edited by tjsnh
Link to comment
Share on other sites

25 minutes ago, tjsnh said:

Quick question with, hopefully, a quick answer - what is the correct syntax to remove an Agent ?
I've tried this, to no avail :

 


-AGENT[agency name]  {}

If the agent has spaces in it's name, should I use an escape character of some kind?
The following shows up in my logs, even with quotes around the agent name
 


[LOG 08:17:09.968] Config(-AGENT["Tst) testmod/changes/-AGENT["Tst



The name of the agency is "Tst Agnt"

 

if there are spaces in the name try replacing them with question marks (?)

Link to comment
Share on other sites

18 minutes ago, Sigma88 said:

if there are spaces in the name try replacing them with question marks (?)

No error, but doesn't remove the agency. This is how it looks in the log:

[LOG 08:56:34.256] Config(-AGENT["Tst?Agnt"]) testmod/changes/-AGENT["Tst?Agnt"]

 

Link to comment
Share on other sites

Just now, tjsnh said:

No error, but doesn't remove the agency. This is how it looks in the log:


[LOG 08:56:34.256] Config(-AGENT["Tst?Agnt"]) testmod/changes/-AGENT["Tst?Agnt"]

 

I have no idea what the original config looks like so I cannot help you :)

Link to comment
Share on other sites

2 minutes ago, Sigma88 said:

I have no idea what the original config looks like so I cannot help you :)

I realized my problem right after I hit post and couldnt figure out how to delete my post.
I still had quotation marks around the agency name. Using ? , without the quotes, seems to have worked - thanks!

Link to comment
Share on other sites

1 minute ago, tjsnh said:

I realized my problem right after I hit post and couldnt figure out how to delete my post.
I still had quotation marks around the agency name. Using ? , without the quotes, seems to have worked - thanks!

oh I didn't realize you were using quotation marks :D

Link to comment
Share on other sites

I need a bit of help on scripting. I'm preparing myself for 1.1 and I would like to set all science at 100% value and tranmit 100% on most of them (except surface sample, goo and lab)

Which nodes do I have to tweak ?

Thx for the help.

Link to comment
Share on other sites

On 3/22/2016 at 10:49 AM, Warzouz said:

I need a bit of help on scripting. I'm preparing myself for 1.1 and I would like to set all science at 100% value and tranmit 100% on most of them (except surface sample, goo and lab)

Which nodes do I have to tweak ?

Thx for the help.

To change experiments to give 100% value the first time:

It's basically:

@EXPERIMENT_DEFINITION[*]
	{
		%baseValue = #$scienceCap$
	}

 

To get 100% transmit:

It's basically:

@PART[*]
{
	@MODULE[ModuleScienceExperiment]
	{
		@xmitDataScalar = 1.0
	}
}

 

Link to comment
Share on other sites

Ok, I thought I knew how to write ModuleManager configs, but I've run into a problem that has stumped me. Can someone point out the obvious mistake I'm making?

I'm trying to write a config that adds the Water resource to asteroids if it is absent, or modifies the existing resource if already present (e.g., from Community Resource Pack). My first attempt was:

Spoiler

@PART[PotatoRoid]
{
    %MODULE[ModuleAsteroidResource]:HAS[#resourceName[Water]]
    {
        %resourceName = Water
        %presenceChance = 25
        %lowRange = 25
        %highRange = 50
    }
}

Testing with Community Resource Pack installed finds that the patch always adds a new ModuleAsteroidResource, ignoring the water resource that already exists (even though an @ operator with the same syntax lets me update the existing resource, as expected). My second attempt was:

Spoiler

@PART[PotatoRoid]:HAS[@MODULE[ModuleAsteroidResource]:HAS[#resourceName[Water]]]
{
    @MODULE[ModuleAsteroidResource]:HAS[#resourceName[Water]]
    {
        %presenceChance = 25
        %lowRange = 25
        %highRange = 50
    }
}
@PART[PotatoRoid]:HAS[!MODULE[ModuleAsteroidResource]:HAS[#resourceName[Water]]]
{
    MODULE
    {
        name = ModuleAsteroidResource
        resourceName = Water
        presenceChance = 25
        lowRange = 25
        highRange = 50
    }
}

As written, the first patch does not match (when it should), while the second matches (when it shouldn't). I've confirmed that removing the redundant :HAS clause on the first patch's @PART causes it to match, while removing the :HAS[#resourceName] clause from the second patch causes it to not match.

Can anybody tell me what I'm doing wrong? The manual does not list :HAS as a forbidden option with the % operator (it only rules out wildcards and indexes), and while I can't find any documentation on the allowed contents of :HAS blocks, what I'm trying to do seems similar to the examples (e.g., "engine using a specific fuel").

Link to comment
Share on other sites

@Starstrider42 if you don't need to save anything from the previous module you could just delete it and make  brand new one.

 

@PART[PotatoRoid]

{

!MODULE:HAS[#name[moduleasteroidresource],#resourcename[water]] {}

MODULE

{

...

}

}

 

It's badly witten because I'm on a phone, but you should get the idea

Link to comment
Share on other sites

10 minutes ago, Sigma88 said:

@Starstrider42 if you don't need to save anything from the previous module you could just delete it and make  brand new one.

I consider that the solution of last resort, because then the MM patch wouldn't preserve the order in which resources are declared. Since KSP save files don't record which numbers go with which resource, the effects on an existing save game would be... amusing.

Link to comment
Share on other sites

23 minutes ago, Starstrider42 said:

I consider that the solution of last resort, because then the MM patch wouldn't preserve the order in which resources are declared. Since KSP save files don't record which numbers go with which resource, the effects on an existing save game would be... amusing.

Wait what?

Does the order influence the ingame behaviour?

Link to comment
Share on other sites

Hi, I'm new to the whole Modual Manager stuff, and the wiki provided is very... cryptic. Can someone help me out?

 

I'm working on an extension for DangIt, and I want to have a module that kills kerbals, and a module that activates when CLS is installed.

Link to comment
Share on other sites

I seem to be getting a bug with the new 1.1 pre-release version (note that I have MechJeb and Protractor installed, and those are the only two that MM affects): when I'm in the VAB or SPH, any part that uses particle effects (engines, decouplers, RCS, etc.) will play its effect ad infinitum, and I won't be able to stage any part at all, nor lift off from the launchpad.

Someone on Reddit also has the same bug, and it stopped for both of us when we re-installed the 1.0.5 version of MM.

Any ideas on what's wrong?

Link to comment
Share on other sites

9 minutes ago, Rekthor said:

I seem to be getting a bug with the new 1.1 pre-release version (note that I have MechJeb and Protractor installed, and those are the only two that MM affects): when I'm in the VAB or SPH, any part that uses particle effects (engines, decouplers, RCS, etc.) will play its effect ad infinitum, and I won't be able to stage any part at all, nor lift off from the launchpad.

Someone on Reddit also has the same bug, and it stopped for both of us when we re-installed the 1.0.5 version of MM.

Any ideas on what's wrong?

Not sure what the problem is, but it probably isn't ModuleManager's fault.  Check the log and see if something on the part is throwing an exception somewhere.

And welcome to the forums :D

Link to comment
Share on other sites

I'm getting an NRE and freeze on load while trying to create a new part based on a different one and then re-texturing it using something like this:

$[originalPart]{
	@name = myPart
	@MODEL{
		%texture = originalTexture, myFolder/myTexture
	}
	//other stuff...
}

It loads up until this part, then gives "NullReferenceException: Object reference not set to an instance of an object"

The relevant log entry is enclosed:

Spoiler

[LOG 15:46:53.113] DragCubeSystem: Creating drag cubes for part

[LOG 15:46:53.311] PartLoader: Compiling Part...

[EXC 15:46:53.317] NullReferenceException: Object reference not set to an instance of an object
    PartLoader.ReplaceTextures (UnityEngine.GameObject model, System.Collections.Generic.List`1 textureNames, System.Collections.Generic.List`1 newTextures)
    PartLoader.CompileModel (.UrlConfig cfg, .ConfigNode partCfg, Single scaleFactor, .AvailablePart partInfo)
    PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node)
    PartLoader+.MoveNext ()

The original part uses MODEL{} to define its mesh so that shouldn't be a problem (although it doesn't have a 'texture' line). Am I doing this right? Could it be because my .cfg is in a different folder than the original part/model/texture? Thanks for any help you can give!

Link to comment
Share on other sites

14 minutes ago, Booots said:

I'm getting an NRE and freeze on load while trying to create a new part based on a different one and then re-texturing it using something like this:


$[originalPart]{
	@name = myPart
	@MODEL{
		%texture = originalTexture, myFolder/myTexture
	}
	//other stuff...
}

It loads up until this part, then gives "NullReferenceException: Object reference not set to an instance of an object"

The relevant log entry is enclosed:

  Reveal hidden contents

[LOG 15:46:53.113] DragCubeSystem: Creating drag cubes for part

[LOG 15:46:53.311] PartLoader: Compiling Part...

[EXC 15:46:53.317] NullReferenceException: Object reference not set to an instance of an object
    PartLoader.ReplaceTextures (UnityEngine.GameObject model, System.Collections.Generic.List`1 textureNames, System.Collections.Generic.List`1 newTextures)
    PartLoader.CompileModel (.UrlConfig cfg, .ConfigNode partCfg, Single scaleFactor, .AvailablePart partInfo)
    PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node)
    PartLoader+.MoveNext ()

The original part uses MODEL{} to define its mesh so that shouldn't be a problem (although it doesn't have a 'texture' line). Am I doing this right? Could it be because my .cfg is in a different folder than the original part/model/texture? Thanks for any help you can give!

This isn't really MM related, but make sure the model actually has originalTexture and that myFolder/myTexture exists.

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