Jump to content

[1.0] EVAManager - Configurable Modules & Resources for EVA Kerbals


toadicus

Recommended Posts

EVAManager provides a config-based interface for adding, removing, and modifying PartModules and PartResources for EVA Kerbals. Also provided is a basic mechanism for "filling" resources from the origin pod, allowing for proper conservation across missions.

Someday soon I'll improve this thread to be more like a release thread. In the meantime, it's just a conversation moved over from another thread.

My first post on the subject:

toadicus said:

KerbMav, my EVAManager plugin (currently only used here and by TweakableEverything) already lets you do that. For example, if you wanted to add a thermometer experiment to a Kerbal, put something like this in a .cfg file in GameData:


EVA_MODULE
{
	name = ModuleScienceExperiment
	experimentID = temperatureScan
	experimentActionName = Log Temperature
	resetActionName = Delete Data
	useStaging = False
	useActionGroups = True
	hideUIwhenUnavailable = False
	xmitDataScalar = 0.5
	dataIsCollectable = False
	rerunnable = True
	usageReqMaskInternal = 1
	usageReqMaskExternal = 8
}

 

EVAManager is chiefly available within the TweakableEverything and AntennaRange archives, as those are the only official uses I am aware of.  If you'd like it for your own use, you can also get it at the links below.

SpaceDock: [zip]
Not A SpaceDock: [zip] [tar.gz] [tar.xz]

Edited by toadicus
Added SpaceDock link
Link to comment
Share on other sites

EVA_MODULE
{
name = ModuleEngines...

I'm so tempted....

I'm not sure what all transforms exist on EVA Kerbals, so writing that might be tough. If you find one, though, it should work. :P

Link to comment
Share on other sites

I'm not sure what all transforms exist on EVA Kerbals, so writing that might be tough. If you find one, though, it should work. :P

Funny you should say that.

(I know for sure that KAS and KIS use a reference to some kind of transform to place parts with respect to the Kerbal who is carrying them. Helmet, hand, and jetpack are the main options, if I recall correctly.)

Link to comment
Share on other sites

KerbMav, my EVAManager plugin (currently only used here and by TweakableEverything) already lets you do that. For example, if you wanted to add a thermometer experiment to a Kerbal, put something like this in a .cfg file in GameData:

You can get it from the AntennaRange and TweakableEverything archives, or from KerbalStuff. Someday maybe I'll release that more officially.

Sorry to interrupt, but since you havent released it officially in its own thread yet ... :wink:

Am I doin it right, cause it aint workin ...

@EVA_MODULE[ModuleScienceExperiment]:HAS[#experimentID[surfaceSample]]
{
@xmitDataScalar = 0.0
}

Link to comment
Share on other sites

KerbMav, that's a ModuleManager patch, which only applies to configs already in the database. KerbalEVA parts are not in the database as such, and certainly not in the way you're accessing them; that patch would change an EVA_MODULE config for use by EVAManager before EVAManager processes it, which would be useful if what you were trying to do is change an EVAManager config in response to the existence of other mods, etc.

Since you're trying to change a module already on the EVA Kerbal parts, and not patch a patch, you need to use the (admittedly entirely undocumented) EVAManager syntax. This is intentionally separate from ModuleManager syntax to avoid conflicts. That said... I'm not actually sure we can do what you want, because I don't have HAS matching or indexing yet, and the EVA part has two ModuleScienceExperiment modules on it. I didn't need those things for what I was doing, so I just haven't written them yet!

For the sake of interest, here's basically what you would do, and might get lucky:

EDIT_EVA_MODULE[ModuleScienceExperiment]
{
xmitDataScalar = 0
}

If you're not lucky, that would change xmitDataScalar for EVA reports instead.

At this point, I don't have operators to distinguish between editing an existing field or adding a new one like MM does, so you don't need "@" or "%". I'm probably not ever going to do it in quite the same way, both because for what we're doing here, in general, it shouldn't be necessary, and because I want to try to keep EVA_MODULE nodes generally patchable by ModuleManager itself. I'll probably require indexing for things like that, and delimit indexing differently.

Link to comment
Share on other sites

CKAN forces me to install EVAManager if I want to install AntennaRange. Why? I just want AntennaRange. I cant even understand what is this EVAManager for. This is what I know: going for a rescue mission I've found the kerbal out of EVA propellant. I had to slap the door of my command pod in his face to rescue him. Could not find any way to refill his jetpack and he had to rest inside the pod all the mission long. That's not funny.

*A quick note on AntennaRange also: I cannot selectively pick which data to send anymore (the blue -send- button on experiments is not giving any response), is it intended?

Link to comment
Share on other sites

CKAN forces me to install EVAManager if I want to install AntennaRange. Why? I just want AntennaRange. I cant even understand what is this EVAManager for. This is what I know: going for a rescue mission I've found the kerbal out of EVA propellant. I had to slap the door of my command pod in his face to rescue him. Could not find any way to refill his jetpack and he had to rest inside the pod all the mission long. That's not funny.

AntennaRange applies a little transmitter module and electricity to EVA kerbals. This is done via EVAManager. As for running out of EVA propellant, that is unrelated to EVAManager - you just ran out of EVA propellant. However, it should be noted that kerbals automatically get their packs refuelled every time they enter a crew pod (this is stock behaviour).

Link to comment
Share on other sites

[...] - you just ran out of EVA propellant. However, it should be noted that kerbals automatically get their packs refuelled every time they enter a crew pod (this is stock behaviour).

Sorry for my bad english, but that was a rescue mission contract, i never saw or used that kerbal before. I've found him out of fuel already. Also, entering the command pod didnt refill his jetpack.

I first thought it was becouse of EVAManager.

Link to comment
Share on other sites

... that is unrelated to EVAManager - you just ran out of EVA propellant.

I'm confirming Metanolo's report here. EVAManager seems to delete EVA prop from pods spawned by rescue contracts. Is that some sick joke? I deleted EVAManager(forced install with Tweakable Everything), landed on Mun, and my pilot had no EVA prop outside the pod, even though the pod had the resource. I deleted all Toadicus mods, and will not use them again until this nonsense is fixed.

Link to comment
Share on other sites

Metanolo, symmeclept, it looks like I inadvertently packaged an in-house testing .cfg with EVAManager last time it went to CKAN, which requires you to track EVA propellant and fill it from pods. Since Squad starts rescue contract ships with zero resources, this means you don't have any EVA propellant. Personally, I like that change, but it's true that it doesn't play very nicely with Rescue contracts. To remove this functionality, remove EVAManager.cfg from the EVAManager folder.

I've re-uploaded EVAManager to KerbalStuff, so future versions will not include that cfg in an active format by default. I really should go put a caveat in there to make it work better with rescue contracts, because I really like it as a mechanic. :)

rhoark, it should be able to do that once I add the ability to select specific existing modules for editing. That's the biggest thing missing at this point.

Metanolo, I tested AR just now with sending an individual experiment via the blue button and nothing went wrong. Can you please try to isolate your issue and, if successful, report it with reproduction steps and a log over in the AntennaRange thread? Link is in my sig if you need it.

Link to comment
Share on other sites

Is EVAManager able to edit fields other than modules and resources? For example, could I change the maxTemp of EVA Kerbals?

Edited by Fraz86
Link to comment
Share on other sites

Is EVAManager able to edit fields other than modules and resources? For example, could I change the maxTemp of EVA Kerbals?

I don't know why toadicus says kerbalEVA isn't in the part database (it is; but you also have to edit kerbalEVAfemale), but you can do just about anything you want with the part in code so yeah. (There may be a few issues getting it to stick, but a simple module can change that).

I'm on edge with dependencies though; most of this you can easily do in code, but if you're bringing things to cfg files it makes things nicer for everyone all around.

- - - Updated - - -

Metanolo, symmeclept, it looks like I inadvertently packaged an in-house testing .cfg with EVAManager last time it went to CKAN, which requires you to track EVA propellant and fill it from pods. Since Squad starts rescue contract ships with zero resources, this means you don't have any EVA propellant. Personally, I like that change, but it's true that it doesn't play very nicely with Rescue contracts. To remove this functionality, remove EVAManager.cfg from the EVAManager folder.

Are you saying that the kerbalEVA starts with no resources? I have code laying around that (well, 0.20) forced the kerbal to initialize the resource array and allow me to add in resources.

Link to comment
Share on other sites

I don't know why toadicus says kerbalEVA isn't in the part database (it is; but you also have to edit kerbalEVAfemale), but you can do just about anything you want with the part in code so yeah. (There may be a few issues getting it to stick, but a simple module can change that).

I've never had any success using ModuleManager to edit "@PART[kerbalEVA]" in the past. If you're saying it can be easily done using a plugin, well, I'm afraid that's outside the scope of my knowledge. Basically, I just want ModuleManager-like ability to edit the properties of EVA Kerbals.

Link to comment
Share on other sites

Well, if you do get the chance to implement that functionality, I would be forever grateful!

Consider it on the roadmap. :)

I don't know why toadicus says kerbalEVA isn't in the part database (it is; but you also have to edit kerbalEVAfemale), but you can do just about anything you want with the part in code so yeah. (There may be a few issues getting it to stick, but a simple module can change that).

I'm on edge with dependencies though; most of this you can easily do in code, but if you're bringing things to cfg files it makes things nicer for everyone all around.

I've never had any success using ModuleManager to edit "@PART[kerbalEVA]" in the past. If you're saying it can be easily done using a plugin, well, I'm afraid that's outside the scope of my knowledge. Basically, I just want ModuleManager-like ability to edit the properties of EVA Kerbals.

The Kerbal EVA parts aren't a part of the "GameDatabase" funcitonality that is parsed from config files during startup, ergo ModuleManager cannot be used to add or edit modules on the Kerbal EVA parts. The intent of this mod is to fill that gap.

- - - Updated - - -

Are you saying that the kerbalEVA starts with no resources? I have code laying around that (well, 0.20) forced the kerbal to initialize the resource array and allow me to add in resources.

EVAManager lets you define a special flag for EVA resources that require them to be filled from a pod when the EVA part is spawned instead of magically creating them from nothing. My proof-of-concept EVA Propellant patch sets that flag, so the kerbal EVA part will start with 0 EVA Propellant if he is removed from a pod containing 0 EVA Propellant. During Rescue contracts, Squad intentionally starts the parts with 0 resources, so in this case, the EVA Kerbal has no propellant and can't rescue him/herself. That's why it's not distributed by default. ;)

Link to comment
Share on other sites

The Kerbal EVA parts aren't a part of the "GameDatabase" funcitonality that is parsed from config files during startup, ergo ModuleManager cannot be used to add or edit modules on the Kerbal EVA parts. The intent of this mod is to fill that gap.

Oh, using PartLoader made it a single line of code to get the prefab, haven't taken a look at module manager for sometime so... yeah.

EVAManager lets you define a special flag for EVA resources that require them to be filled from a pod when the EVA part is spawned instead of magically creating them from nothing. My proof-of-concept EVA Propellant patch sets that flag, so the kerbal EVA part will start with 0 EVA Propellant if he is removed from a pod containing 0 EVA Propellant. During Rescue contracts, Squad intentionally starts the parts with 0 resources, so in this case, the EVA Kerbal has no propellant and can't rescue him/herself. That's why it's not distributed by default. ;)

Honestly, I just like tinkering in sandbox more than career; but the issue here would seem that you would have to isolate contract vessels and provide a minor supply of propellant. Doesn't seem terribly difficult but yes, it is out of the goal of this particular mod.

Link to comment
Share on other sites

  • 2 weeks later...

Can EVAManager be used to accelerate the repacking of nearby spent/cut parachutes by an Engineer? As in possibly a button available in a right-clicked Kerbal offering "Repack all chutes in range" ?

Link to comment
Share on other sites

EVAManager only adds and changes modules to/on the EVA Kerbal "part". If someone wrote a "pack all chutes" module, they could use EVAManager to add that module to EVA Kerbals to enable its use. On its own, EVAManager provides very little user-facing functionality.

Link to comment
Share on other sites

I want to use this to have Nitrogen gas from RealFuels be converted to EVAprop upon going EVA. So I have to have N2 in my pod to get my packs filled otherwise I would have 0. How would I go about doing this? Also can I tweak the isp for the eva thrusters yet? Thanks!

Link to comment
Share on other sites

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