TheWire Posted March 18, 2016 Share Posted March 18, 2016 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] { } Quote Link to comment Share on other sites More sharing options...
blowfish Posted March 18, 2016 Share Posted March 18, 2016 @TheWire correct, FOR[X] is not a way to detect a mod. FOR[X] tells MM that X is installed. If RO comes with configs it shouldn't, you should probably let the RO people know ... pinging @NathanKell Quote Link to comment Share on other sites More sharing options...
NathanKell Posted March 18, 2016 Share Posted March 18, 2016 Yeah, we should switch to AFTER[RemoteTech]. EDIT: I looked through all RO and there is one patch that does it, everything else is sane. Fixed for next RO. Quote Link to comment Share on other sites More sharing options...
tjsnh Posted March 20, 2016 Share Posted March 20, 2016 (edited) 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 March 20, 2016 by tjsnh Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted March 20, 2016 Share Posted March 20, 2016 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 (?) Quote Link to comment Share on other sites More sharing options...
tjsnh Posted March 20, 2016 Share Posted March 20, 2016 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"] Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted March 20, 2016 Share Posted March 20, 2016 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 Quote Link to comment Share on other sites More sharing options...
tjsnh Posted March 20, 2016 Share Posted March 20, 2016 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! Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted March 20, 2016 Share Posted March 20, 2016 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 Quote Link to comment Share on other sites More sharing options...
Warzouz Posted March 22, 2016 Share Posted March 22, 2016 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. Quote Link to comment Share on other sites More sharing options...
hab136 Posted March 23, 2016 Share Posted March 23, 2016 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 } } Quote Link to comment Share on other sites More sharing options...
Starstrider42 Posted March 26, 2016 Share Posted March 26, 2016 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"). Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted March 26, 2016 Share Posted March 26, 2016 @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 Quote Link to comment Share on other sites More sharing options...
Starstrider42 Posted March 26, 2016 Share Posted March 26, 2016 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. Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted March 26, 2016 Share Posted March 26, 2016 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? Quote Link to comment Share on other sites More sharing options...
Andem Posted March 29, 2016 Share Posted March 29, 2016 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. Quote Link to comment Share on other sites More sharing options...
sarbian Posted March 30, 2016 Author Share Posted March 30, 2016 @Andem ModuleManager won't create module. It is just a tool to edit the game cfg file. A version for the 1.1 prerelease is out : https://ksp.sarbian.com/jenkins/job/ModuleManager/lastSuccessfulBuild/artifact/ModuleManager-2.6.21.zip Quote Link to comment Share on other sites More sharing options...
RA3236 Posted March 31, 2016 Share Posted March 31, 2016 @sarbian I believe I have found your little joke for this April. Quote Link to comment Share on other sites More sharing options...
sarbian Posted March 31, 2016 Author Share Posted March 31, 2016 43 minutes ago, RA3236 said: @sarbian I believe I have found your little joke for this April That code is more than a year old. Welcome to 2015 April 1st joke. Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted March 31, 2016 Share Posted March 31, 2016 50 minutes ago, sarbian said: That code is more than a year old. Welcome to 2015 April 1st joke. I had no idea it was an april 1st joke, I keep it on by default Quote Link to comment Share on other sites More sharing options...
Rekthor Posted April 1, 2016 Share Posted April 1, 2016 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? Quote Link to comment Share on other sites More sharing options...
blowfish Posted April 1, 2016 Share Posted April 1, 2016 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 Quote Link to comment Share on other sites More sharing options...
Booots Posted April 1, 2016 Share Posted April 1, 2016 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! Quote Link to comment Share on other sites More sharing options...
blowfish Posted April 1, 2016 Share Posted April 1, 2016 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. Quote Link to comment Share on other sites More sharing options...
guitarxe Posted April 2, 2016 Share Posted April 2, 2016 Where do .cfg files that edit parts need to be located to work? at the root of GameData? 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.