Jump to content

[0.20] ModuleManager 1.3 - for all your stock-modding needs


ialdabaoth

Recommended Posts

I'm trying to add IonCross to Fusty's Station parts and Munox. However almost all of his parts have names with spaces in them, ex. Universal Karmony Node and Karmony Node Mk II, and I'm guessing that's why it won't select.

I tried [*Karmony*] ['Karmony Node Mk II'] and ["Karmony Node Mk II"] No luck, any advice?

Is the space in the name, or the title?

Can you paste a part.cfg into this thread, surrounded by

 blocks? I'd download Karmony but I'm in the middle of writing DeadlyReentry2.0 (r4m0n handed me the project)
Link to comment
Share on other sites

I can confirm that it doesn't handle spaces well.


@PART[xenonTank Medium]:Final
{
@RESOURCE[XenonGas]
{
@amount = 2200
@maxAmount = 2200
}
}

This is attempting to change:

PART
{
name = xenonTank Medium
module = Part
author = NovaSilisko

mesh = model.mu

...
}

It doesn't do anything. I tried even putting a %20 in there, no go.

This is why you don't use spaces in code, people :)

Link to comment
Share on other sites

ialdabaoth - my plugin woes seem to have fixed themselves. All is working as it should.

Thank you once again :)

Now I just need to figure out if I can get a plugin-less method of making ASAS / SAS drain power... doesn't look like it'll happen though.

If I'm reading this all right, you'll want to make ASASPowerDrain.cfg and put this in it:

@PART[advSasModule]
{
@RESOURCE[ElectricCharge]
{
@rate = 0.055
}

}

@PART[asasmodule1-2]
{
@RESOURCE[ElectricCharge]
{
@rate = 0.11
}

}

@PART[sasModule]
{
@RESOURCE[ElectricCharge]
{
@rate = 0.007
}

}

If you have other ASAS or SAS modules, you'll want to copy that format. Put this file and ModuleManager.dll in GameData/ASASPowerDrain/Plugins and you should be good to go!

Edit: As far as the modular fuel tanks go...If I reduce the amount of fuel in a tank and hit update, the volume remaining doesn't change. This is especially problematic because clicking on a fuel type fills the tank completely with that fuel. Hitting Remove does work as intended for me, though, as does Remove All Tanks, and the various Configure Remaining Volume for Engine buttons. I'm working with a ship consisting of the Mk. I cockpit, an R-32 tank, MJ2, and an engine. I've been swapping the engine around to test various settings, all of which have resulted in the bug above.

Edited by Hremsfeld
Link to comment
Share on other sites

PART {
name = Universal Karmony Node
module = CommandPod
author = Fusty

mesh = model.mu

rescaleFactor = 1.25
scale = 1

node_stack_right = 0.8546, 0.0, 0, -1, 0, 0, 1
node_stack_left = -0.8546, 0.0, 0, 1, 0, 0, 1

node_stack_back = 0, 0.0, 0.8546, 0, 0,-1, 1
node_stack_front = 0, 0.0,-0.8546, 0, 0, 1, 1

node_stack_bottom = 0.0, -1.501, 0.0, 0.0, -1.0, 0.0, 2
node_stack_top = 0.0, 1.501, 0.0, 0.0, 1.0, 0.0, 2


cost = 400
category = Pods
subcategory = 0
title = Kamony Node 2.5m

vesselType = Station

description = Kamony 2.5m Pod

attachRules = 1,0,1,1,0

mass = 6.5
dragModelType = default
maximum_drag = 0.25
minimum_drag = 0.25
angularDrag = 0.5
crashTolerance = 10
maxTemp = 2900
breakingForce = 280
breakingTorque = 280
stackSymmetry = 3

// --- pod/rcs parameters ---

rotPower = 15
linPower = 15

Kp = 1.0
Kd = 1.0

CrewCapacity = 6

INTERNAL
{
name = UniKarmony
}

MODULE
{
name = ModuleCommand
minimumCrew = 1
}

RESOURCE
{
name = ElectricCharge
amount = 100
maxAmount = 100
}

RESOURCE
{
name = MonoPropellant
amount = 180
maxAmount = 180
}
}

And my cfg override


//Karmony Node Mk II crew capacity 6
//Universal Karmony Node crew capacity 6

@PART[Karmony Node Mk II]
{
MODULE
{
name = IonModuleLifeSupport
}

RESOURCE
{
name = Oxygen
amount = 600
maxAmount = 600
//set to enough for ~4 days (144/day)
}

RESOURCE
{
name = CarbonDioxide
amount = 0
maxAmount = 70
//set to ~12h worth of Carbon Dioxide (144/day)
}

}
@PART[Universal Karmony Node]
{
MODULE
{
name = IonModuleLifeSupport
}

RESOURCE
{
name = Oxygen
amount = 600
maxAmount = 600
//set to enough for ~4 days (144/day)
}

RESOURCE
{
name = CarbonDioxide
amount = 0
maxAmount = 70
//set to ~12h worth of Carbon Dioxide (144/day)
}

}

Link to comment
Share on other sites

Alright I have a question.

The latest release of KAS has a mechanism inside it that allows ANY part to be radially attached in EVA to another craft. This is obviously pretty revolutionary to say the least, as we can now actually effect proper repairs or even construct vessels straight up.

However his way of doing this requires the addition of a couple chunks of code. Is there any way to use this to add that to ALL parts with minimal effort? They way I understood it based on the examples is that you define it as @part [whatever] {code} but is it possible to just have it do that as a blanket change to everything?

edit: without having to actually write out a segment for every part that is

Link to comment
Share on other sites

OMG! You are now in charge of Deadly Reentry? Do you know what this means? Proper FAR integration!

Already solved this part! Right now I'm working on a few fiddly bits, like having DeadlyReentry tell when the Shielded Clamp-O-Tron is open or closed.

Link to comment
Share on other sites

For the stock wing and control surface parts instead of their main module being equal to "Part" they use "Winglet" or "ControlSurface"; is there an easy way to force them over to "Part" instead to prevent the Winglet and ControlSurface code from running at all? Or is what I'm asking for not supported yet?

edit: Wait, I think I found what I'm looking for... it's @module = Part. This is what I get for only taking a quick look at the unofficial ModuleManaged FAR. :P

Edited by ferram4
Link to comment
Share on other sites

For the stock wing and control surface parts instead of their main module being equal to "Part" they use "Winglet" or "ControlSurface"; is there an easy way to force them over to "Part" instead to prevent the Winglet and ControlSurface code from running at all? Or is what I'm asking for not supported yet?

edit: Wait, I think I found what I'm looking for... it's @module = Part. This is what I get for only taking a quick look at the unofficial ModuleManaged FAR. :P

Yes, theoretically you should be able to do @module = Part, but because of how I'm interfacing with KSP changing the base type of a Part isn't likely to work. If it works anyway, awesome, but I would be VERY surprised (might be something to put into 0.20.1)

Link to comment
Share on other sites

On top of support for spaces in filenames, would a more robust "load priority" format be possible? Instead of :part change it to :1, :2, etc. The newest version of KAS for example needs to have a patch for EVERY PART to support deconstruction. So if I have KAS and Remotetech AND my own mod, I'd have to combine some manually which kind of defeats the point. If I could instead just change the load order number appendix it would allow me to maintain multiple modpaths with minimal micromanaging.

Link to comment
Share on other sites

"load priorities" and "wildcards" are a bit out of spec, I'm afraid.

However, note that if you have multiple mods, the system WILL roll the patch files together before applying them. Is there a particular reason why you need to specify the order that that occurs in?

Link to comment
Share on other sites

You're right, especially in regards to KAS which just adds a module and doesn't actually *change* anything. I guess I wouldn't. Derp :)

I'm just wondering what would happen if I had three .cfg files, named 1.cfg, 2.cfg, and 3.cfg, none of which use :Final, and all of which change the mass of a part, if the mass change in 3.cfg would be loaded last and thus be the overriding one. I'll try this later.

Link to comment
Share on other sites

It's not unique to FusTek, just that most of their parts use spaces (wrongly) in the name. Hopefully we'll snag an update before long. The work ialdabaoth's putting in, managing three plugin mods at once, is nothing short of admirable.

Link to comment
Share on other sites

I noticed a couple bugs: one in the Remote Module and a couple features missing in the Fuel module:

In remoteTech, you've designated the large (2.5m) probe stack as only a remote control module, when it is a remote command module in the official release.

@PART[probeStackLarge]

The line: isRemoteCommand = false

should be: isRemoteCommand = true

In the fuel module, you're missing definitions for the LVT-30 engine (liquidEngine). OR, at least, it only has the stock fuel configuration available.

Also, if you select the default engine fuel configuration (Normal LiquidFuel and Oxidizer) you don't get the option to load the correct ratios into the fuel tanks for the engine that you get for the other fuel types.

Link to comment
Share on other sites

I noticed a couple bugs: one in the Remote Module and a couple features missing in the Fuel module:

In remoteTech, you've designated the large (2.5m) probe stack as only a remote control module, when it is a remote command module in the official release.

@PART[probeStackLarge]

The line: isRemoteCommand = false

should be: isRemoteCommand = true

In the fuel module, you're missing definitions for the LVT-30 engine (liquidEngine). OR, at least, it only has the stock fuel configuration available.

Also, if you select the default engine fuel configuration (Normal LiquidFuel and Oxidizer) you don't get the option to load the correct ratios into the fuel tanks for the engine that you get for the other fuel types.

Wow, yeah. Heh.

I'm starting to wonder if I can find someone to volunteer to maintain my cfg files for me, so I can focus on the C# coding? This is getting overwhelming.

Link to comment
Share on other sites

Any thoughts on the problems with Fustek parts? @fusty has a lot of parts the need life support, and I'm reluctant to mod his configs if this will work.

Talked with various mod authors in IRC; we agreed that having spaces in the names is Bad and Wrong.

Keep in mind that the Unity GameObject name is derived from the name= key - so while spaces somehow magically works, it really REALLY shouldn't, and who knows what it might make blow up in the future.

Link to comment
Share on other sites

BUG: When I reload all assets in the debug the modulemanager edits disapppears, it needs KSP to restart

:( Yeah, that's because KSP won't tell me that it reloaded all assets, so I don't know to reapply the cfg patches.

Link to comment
Share on other sites

I apologize if I've missed something, but I see no real instructions on how to set this up. I know very little about coding and I'm wondering if this is just for developers rather than users. If it is for users, do I just put the downloaded file in the Gamedata folder or something?

Link to comment
Share on other sites

I apologize if I've missed something, but I see no real instructions on how to set this up. I know very little about coding and I'm wondering if this is just for developers rather than users. If it is for users, do I just put the downloaded file in the Gamedata folder or something?

Yeah, this one's for developers; developers have permission to redistribute the dll, so the only time you as a user need to get it is if you grabbed a mod with an older version or something (which shouldn't happen since it's stable now).

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...