Jump to content

[PLUGIN, PARTS][0.17] EPS - Electric Power Standards 0.3 (12.09.27)


l00

Recommended Posts

Dear Fellow Kerbonauts!

After about a month of work, i present to you:

The Electric Power Standards plugin and parts.

Seeing what a confusion only 2 addons create that use some form of electricity,

standardisation in this area is a must. This addon attempts to do just that.

What EPS provides:

-Standard PartModule Classes you can use or derive from Power Sources, Batteries, Users calsses you can build upon.

-Standard calls to use Electric Power

-Highly cusomizable, and easy to implement to existing addons

Current parts:

-Battery to store Electricity in.

-Solar Panel that detects Sunlight

-Fuelcell that uses Liquid Fuel to power electric systems

-Nuclear Battery

-Laser Drill to mine for energy. Use 'U' to lower / raise.

Download: EPS_0.3

Source: EPS_0.3 Source

Folding Panels Guide:

1, Make sure that you are using at least PowerTech v0.2.6.1

2, Get a panel using the module SolarPanels_adv_PowerTech. These will be Standard DynaVolt (DynaSat) and Kosmos panels.

Note: Don't use the EPS specific panels, but the standard ones, except if the panel is specifically made for EPS 0.3!

3, Download this module, and attach it to the end of the part.cfg of the panel

4, If you find a line starting with 'ShowIndicators' make it false like so: ShowIndicators = false

If you don't find the line, add it as shown above!

5, Enjoy your new EPS compatible folding panels!

Note: I'll be contacting panel makers about permission to provide animated panels without this hassle...

Documentation: EPS_0.2 Documentation (PDF)

(outdated, will update soon)

PowerNodes (experimantal!):

-Nodes convert whatever part is directly attached to them to EPS users.

-If there is no power, the user is deactivated. When power returns, the user is restarted.

-Should be compatible with most mods / parts (Including ASAS, MechJeb, etc...)

-Power drain of each unit is 0.0075. If the nodes are put on via symmetry, the Sum drain of the nodes is 0.0075.

-They can be found in the Decals section.

-These are EXPERIMENTAL parts, they deactivate systems in an... unothodox way.

Use caution when using this. I recommend you back up your save file!

(even though i never broke saves with the nodes, better safe than sorry!)

[ATTACH=CONFIG]33898[/ATTACH]

PowerNodes: EPS_0.3 PowerNodes

Compatibility (will update based on testing and input from this forum):

RCS Thrusters: Compatible.

ASAS: Compatible.

Landing Gear: Compatible.

Liquid Fuel Engine: Compatible.

MechJeb: Compatible,throws errors to log when unpowered.

Canards, moving winglets: Semi-Compatible, they lose function when unpowered and throws NullReferenceExceptions.

Mods using this plugin:

-ZOxygene

Mods compatible with this plugin:

-Electric Energy Ion Engine

Others will hopefully follow. ;)

0.2:

-added new parts

-all code is now PartModule based

-Batteries use the PartResource "Energy".

0.3:

-KSP 0.17 compatible

-rewrote Source user management, users now take demanded power and intelligently find the best source of power

-new battery management by sources

-added PowerNodes

-lots and lots of bugfixes

Credits

-Yorik: Part models and textures

-l00: coding & the rest :)

Announcement:

I am very pleased to announce that i am now working with rocket2guns, the original

creator of the Component Space Shuttle! Expect new awesome Models for the parts in the future!

Cheers!

88x31.png

This work by l00 is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Edited by l00
Link to comment
Share on other sites

Took me a bit to figure out. As far as I see what I can use as a part-developer are the modules etc.

I had to take a look into those part.cfg\'s to check what the parameters of EPS_BATT_default were and they are:

// --- EPS Battery parameters ---
// Battery Capacity
MaxBattLevel = 150
// Starting Power
BattLevel = 150

and for EPS_SOURCE_Spanel_default:

// --- EPS_SPanel ---
MaxPwrGain = 0.009

I suggest you put them in the documentation because it isn\'t really clear atm.

Also how do I make other parts use energy? For example I have a Satellite Dish which deploys and I want to use it energy to function. What do I need to put in the part.cfg?

Same counts for a Ion Engine.. how can I make a Ion Engine work with your plugin?

Link to comment
Share on other sites

Hi!

Took me a bit to figure out. As far as I see what I can use as a part-developer are the modules etc.

I had to take a look into those part.cfg\'s to check what the parameters of EPS_BATT_default were and they are:

// --- EPS Battery parameters ---
// Battery Capacity
MaxBattLevel = 150
// Starting Power
BattLevel = 150

and for EPS_SOURCE_Spanel_default:

// --- EPS_SPanel ---
MaxPwrGain = 0.009

I suggest you put them in the documentation because it isn\'t really clear atm.

Yepp, i\'ll need to do that, thaks noting it!

Also how do I make other parts use energy? For example I have a Satellite Dish which deploys and I want to use it energy to function. What do I need to put in the part.cfg?

Same counts for a Ion Engine.. how can I make a Ion Engine work with your plugin?

For the Dish, you can use the Buffer code. Put it in 'onPartFixedUpdate()'.

Than if 'Energy'>0, the dish is on. Else it is off.

Once you make the part, use the provided EPS parts to power the Dish!

Decide the size of the Buffer (think of it as an internal battery), i\'d use a small size, say, 0.1f.

The size of the Buffer is 'MaxEnergy', the current level of the buffer is 'Energy' in the example, but those are just floats, you can define and name them anything you like!

It may also be a good idea to have a bar in flight to show the buffer level!

Same goes basically for any other part using EPS electrcity.

Cheers!

Link to comment
Share on other sites

For the Dish, you can use the Buffer code. Put it in 'onPartFixedUpdate()'.

Than if 'Energy'>0, the dish is on. Else it is off.

Once you make the part, use the provided EPS parts to power the Dish!

Decide the size of the Buffer (think of it as an internal battery), i\'d use a small size, say, 0.1f.

The size of the Buffer is 'MaxEnergy', the current level of the buffer is 'Energy' in the example, but those are just floats, you can define and name them anything you like!

It may also be a good idea to have a bar in flight to show the buffer level!

Same goes basically for any other part using EPS electrcity.

Cheers!

That part is something I was afraid off. As pure part creator , I don\'t have much knowledge about this coding and it is extremely complicated compared to the basics of part.cfg. Currently there is sooooo much code for Buffer it actually scares me away from it and don\'t see it as worthwhile addition to my own parts. Isn\'t it possible to achieve the following and let the rest of the codes run in the background?:


Namehere what is needed (the clearer the better)
{
// Deactivate Part when It is not receiving Energy
DeactivateWhenEmpty = true/false
// Ability to Deactivate Manual with Right Mouse Click
DeactivateManual = true/false
// The amount of Energy it uses
EnergyConsumption = number
}

This wouldn\'t scare me away from using this plugin. Additional stuff could be added too ofcourse, but it isn\'t clear for me atm. (Also, what the hell do the 'Standard Calls' do/provide?)

Also currently on its own its very limited. You got something to store energy, you got something to gather with it but you don\'t have a module to actually use the energy (haven\'t noticed a filter to go along with your ZO2 plugin). I suggest you add some extra modules such as:

- EPS_IonEngine_Default

- EPS_Generator_Default (Generator Part is a Generator)

- EPS_Filter_Default (to go along with your zoxygen plugin)

And I would personally remove the miner cause it doesn\'t really make sense, specially if there is next to noting to use your energy on.

And my last piece of advice is this following image:

irmTO.png

I don\'t understand it why you made it so complicated. Isn\'t it just better to have:

SOURCE ---> BATTERY ---> PART

Or do you want to have the option to have only specific sources to energize specific parts?

Just my 2 cents. This is just a point of view of a regular part-creator.

Link to comment
Share on other sites

EPS usage Examples

Sorry to put the examples seperately like this, but the Forum only allows 20000 characters to be in a post.

-Getting power from all sources (panels, drills...):

//EPS example code

//Getting power from all sources

//Get the current Warprate (get it this way to avoid a KSP bug)

float wr = EPS_Common.GetWR();

//This variable is what we will use to store the amount of power we get.

float get=0;

//This is the target amount we want to get

float Needed=0.2f

//Get the list of sources, and the number of sources, according to filter (in this case, all)

int[] sources=EPS_Common.GetSourceList(this.vessel,'');//the final argument is filter

int sourcecnt=EPS_Common.CountSources(this.vessel,'');

//get power from powersources if available; go through the sources that were identified in sources[]

for (int i = 0; i <= sourcecnt - 1; i++)

{

if (get>=Needed) break;//don\'t continue (or start) draining if we got enough

get += ( EPS_Common.GetSourcePwr(sources, (Part)this, this.vessel) * wr);//Get power from a panel / drill. Arg: 'The Sources element number in the vessel', 'the requesting PART'. Ret: (float) PwrGain of the Source / users of Source. Multiply by warprate!

}

//Note that while the 'get' variable is filled up, power consumption is handled by the EPS_Common.GetSourcePwr as well!

-Getting power from drills only:

//EPS example code

//Getting power from all types of drills eg.:EPS_SOURCE_LaserDrill_WHATEVER_TYPE

//to get power from a specific type, use a filter like 'EPS_SOURCE_LaserDrill_default' for the default for example.

//Get the current Warprate (get it this way to avoid a KSP bug)

float wr = EPS_Common.GetWR();

//This variable is what we will use to store the amount of power we get.

float get=0;

//This is the target amount we want to get

float Needed=0.2f

//Get the list of drills, and the number of drills, according to filter

int[] drills=EPS_Common.GetSourceList(this.vessel,'EPS_SOURCE_LaserDrill');//the final argument is filter

int drillcnt=EPS_Common.CountSources(this.vessel,'EPS_SOURCE_LaserDrill');

//get power from powersources if available; go through the sources that were identified in drills[]

for (int i = 0; i <= drillcnt - 1; i++)

{

if (get>=Needed) break;//don\'t continue (or start) draining if we got enough

get += ( EPS_Common.GetSourcePwr(drills, (Part)this, this.vessel) * wr);//Get power from a drill. Arg: 'The Sources element number in the vessel', 'the requesting PART'. Ret: (float) PwrGain of the Source / users of Source. Multiply by warprate!

}

//Note that while the 'get' variable is filled up, power consumption is handled by the EPS_Common.GetSourcePwr as well!

-Getting power from all Batteries in all stages, prioritised by stage:

//EPS example code

//Getting power from all batteries with priority on lower-stage batteries

//Get the current Warprate (get it this way to avoid a KSP bug)

float wr = EPS_Common.GetWR();

//This variable is what we will use to store the amount of power we get.

float get=0;

//This is the target amount we want to get

float Needed=0.2f

//Get the list and number of of all EPS Batteries

int[] battlist=EPS_Common.GetBattList(this.vessel);

int battcnt=EPS_Common.CountBatt(this.vessel);

//get power from batteries if available; go through the batteries that were identified in battlist[]

for (int i=(Staging.StageCount);i>=0;i--)

{

if (get>=Needed) break;//don\'t continue (or start) draining if we got enough

get+= ( EPS_Common.UseBattPwr(Needed, this.vessel, i, battlist, battcnt) ) ;//Try to use batteries to get power. Needed is the amount we want to take (if we already have enough, no matter, it will be excess and will be charged back to the battery)

}

//Note that while the 'get' variable is filled up, power consumption is handled by the EPS_Common.UseBattPwr as well!

-A Reactor, constantly generating power:

class EPS_SOURCE_Reactor : Part

{

//EPS - These variables are mandaroty

public float MaxPwrGain = 0.013f,MinPwrGain = 0f, PwrGain = 0f;

public String Users='';

public uint nUsers=0;

int UpdCount=0;

//part internal

public VInfoBox _IndBar;

private float DispA=0.75f;

public string IndMsg='Reactor PWR';

public Color IndBgClr=XKCDColors.DarkYellow;

public Color IndBarClr=XKCDColors.Yellow;

public float IndBarLgth=2f;

public DefaultIcons PartIcon=DefaultIcons.FUEL_TANK;

protected override void onPartStart()

{

base.onPartStart();

this.stackIcon.SetIcon(PartIcon);

this.stackIcon.SetIconColor(IndBgClr);

this.stackIconGrouping = StackIconGrouping.SAME_MODULE;

}

protected override void onFlightStart()

{

base.onFlightStart();

_IndBar = this.stackIcon.DisplayInfo();

_IndBar.SetLength(IndBarLgth);

XKCDColors.NextColorAlpha = DispA;

_IndBar.SetMsgBgColor(IndBgClr);

_IndBar.SetMsgTextColor(IndBarClr);

_IndBar.SetMessage(IndMsg);

_IndBar.SetProgressBarBgColor(IndBgClr);

_IndBar.SetProgressBarColor(IndBarClr);

XKCDColors.NextColorAlpha = 1f;

}

protected override void onPartFixedUpdate()

{

base.onPartFixedUpdate();

//custom code starts here

if (this.state==PartStates.ACTIVE)

{

PwrGain=MaxPwrGain;

}

else

{

PwrGain=0;

}

UpdCount++; //This part is responsible for checking if users of the source are still using it. Just use as it is here!

if (UpdCount>=50)

{

UpdCount=0;

EPS_Common.UsersReScan(this);

}

_IndBar.SetValue(Mathf.Clamp01(PwrGain / MaxPwrGain));

//custom code ends here

}

protected override void onPartDeactivate()

{

base.onPartDeactivate();

this.stackIcon.ClearInfoBoxes();

}

}

-A Buffer (for engines and such)(only the FixedUpdate is important for the Buffer, no mandarory variables and such are needed for this):

protected override void onPartFixedUpdate()

{

base.onPartFixedUpdate();

float wr = EPS_Common.GetWR();// sometimes, TimeWarp.CurrentRate is 0 instead of 1... This always returns the correct rate.

//these get the sources and number of sources. These are needed for optimization. The string is for filtering, eg. use 'EPS_SOURCE_LaserDrill' to get laserdrills only.

//Use 'EPS_SOURCE_LaserDrill_default' to get default drills only

int[] sources=EPS_Common.GetSourceList(this.vessel,'');

int sourcecnt=EPS_Common.CountSources(this.vessel,'');

int[] battlist=EPS_Common.GetBattList(this.vessel);//get batterly list and number of batteries

int battcnt=EPS_Common.CountBatt(this.vessel);

float get=0;

float Needed=0.010f * wr;//this is the Drain rate of EPS parts. Compensating for warp rate is also handled here. Remember, the more \'Needed\' is, the more we try to take from the sources, batteries on each attemt to drain!

if (Energy>=MaxEnergy) Needed=0;

for (int i = 0; i <= sourcecnt - 1; i++)//get power from powersources if available; go through the sources that were identified in sources[]

{

if (get>=Needed) break;//don\'t continue (or start) draining if we got enough

//Get power from a panel / drill. Arg: 'The Sources element number in the vessel', 'the requesting PART'. Ret: (float) PwrGain of the Source / users of Source.

//Multiply by warprate!

get += ( EPS_Common.GetSourcePwr(sources, (Part)this, this.vessel) * wr);

}

for (int i=(Staging.StageCount);i>=0;i--)//Drain power from batteries

{

if (get>=Needed) break;//don\'t continue (or start) draining if we got enough already

get+= ( EPS_Common.UseBattPwr(Needed, this.vessel, i, battlist, battcnt) ) ;//Try to use batteries to get power. Needed is the amount we want to take

}

Energy+=get;

if (Energy>MaxEnergy) Energy=MaxEnergy;

}

Link to comment
Share on other sites

Hi Everyone!

Some replies:

As pure part creator , I don\'t have much knowledge about this coding and it is extremely complicated compared to the basics of part.cfg. Currently there is sooooo much code for Buffer it actually scares me away from it and don\'t see it as worthwhile addition to my own parts. Isn\'t it possible to achieve the following and let the rest of the codes run in the background?:

Well, for a pure part creator, this has not much use, as the calls for power must be managed by the plugins to make EPS versatile.

For the Buffer, all you need to do is to define the 2 floats 'Energy' and 'MaxEnergy' in your class and CTRL+C / CTRL+V the code to the beginning of your 'onPartFixedUpdate()' override!

Now, if you have no idea what the last line meant, than, with all respect, you will need to learn about coding plugins before EPS is any use to you.

Again, i meant no disrespect by this at all.

Of course, if you want to make a model, like a battery or a panel, simply do it like you would with any other part, and use the part.cfg in the EPS parts to see what module

you need to use and parameters you have to define.

what the hell do the 'Standard Calls' do/provide?

Those are what you use to get power, get the warprate, charge the batteries, etc...

Also currently on its own its very limited. You got something to store energy, you got something to gather with it but you don\'t have a module to actually use the energy (haven\'t noticed a filter to go along with your ZO2 plugin).

Yes, it is 'limited', because you don\'t install this mod on it\'s own. The goal of this mod is to make a standard system plugin creators can use in their mods, and than all those mods created

would be compatible. An example: You make the Sat-dish. It drains power. If you make the panels and batteries that support it\'s power needs, that will work fine. But than, when your mod

is released, and someone has the (pre-0.6) Zoxygen mod and you mod too, the Zoxygen cannot be refilled from your mods batteries/panels, and your mod won\'t use the sources from

Zoxygen. So than, the player has to put 2 types of panels and batteries on his/her craft to use both mods. And the part creators have to make 2 types of panels, batteries, etc...

Now imagine the same scenario with 10 mods, all using their own form of elecricity! -> Chaos...

So, with EPS, every plugin creator can say: 'Ok, i don\'t have to make my own code for the elecricity stuff, i can just use the ones provided by EPS, i can also modify them using the templates

in the documentation, write my plugin using EPS, and it will be compatible with every other plugin using EPS!'

Than part creators can make their own versions of EPS parts, add animations and such (if they want), and know their parts will work with all EPS powered plugins.

And than the player, who has 10 things that use EPS electric power can simply put the appropriate number of panels, batteries, drills on their craft, and everything will work with

everything else.

Of course, this only applies if the plugin mod creators use EPS in their mods. :)

Also, the Filter was made by Kreuzung in his mod, to be able to use the Electrical Energy type of energy as Zoxygen type of energy. The Zo2 Main System has the filters 'built in'.

EPS poweres the Zo2 Main System directly.

I suggest you add some extra modules such as:

- EPS_IonEngine_Default

- EPS_Generator_Default (Generator Part is a Generator)

- EPS_Filter_Default (to go along with your zoxygen plugin)

Those are in Kreuzung\'s mod. If he will use the EPS (from what i hear, yes!), than both the IonEngine and the Reactor will be compatible with Zoxygen too. The filter will probably be outdated.

Isn\'t it just better to have:

SOURCE ---> BATTERY ---> PART

Or do you want to have the option to have only specific sources to energize specific parts?

I most definiatly want the option for selective powering! For ex.: an IRSU must be able to get fuel from the Drills only, but not Batteries or Panels!

An even simpler scenario where 'SOURCE ---> BATTERY ---> EpsUsingPART' would not work: What if the player doesn\'t want Batteries at all? EPS would just stop working.

I\'d like to make it possible for the players to 'screw around' with EPS stuff as 'flexibly' as stock parts.

This is a great step towards unifying electricity and parts that require electricity! I\'m hope the coders can work together to standardise this, document it and make KSP wickedly cool. 8)

Here\'s to hoping! :cheers:

Does this also allow to store energy as part resource, like my plugin does right now?

You really managed to confuse me with this right now, hopefully it makes sense for me after I\'m back from school...

It does not store the energy as part resource, i thought about it, but i think it\'s better not to do that, at least for the time being, as the part resource system is a new thing, and if

something is changed in later KSP versions, that might mean a major rewrite of the mod. Also, i find it more flexible to use my own system :)

Ask any question, i will try my best to answer it! I am also working on expanding the documentation!

Well, i seem to have managed to write a nice wall of text! :)

Thank you all for your replies, fell free ot ask any questions!

Cheers!

Link to comment
Share on other sites

Well, I store all energy with system now:


using UnityEngine;

public class EL_API
{
//------------------------------------------------------
//Consumes amount of energy in vessel
public static bool Consume(float Amount, Vessel vessel)
{
if (GetVesselEnergy(vessel) < Amount) return false;//Runs faster and prevents lag with batteries empty
foreach (Part p in vessel.parts)//Check each part
{
//Part resource
Amount-=p.RequestResource('Energy', Amount);
if(Amount <= 0.0001) return true;
}
return false;
}
//---------------------------------------------------
//Load the vessel with amount of energy, returns energy that couldn\'t be stored
public static float Load(float Amount, Vessel vessel)
{
if (Amount < 0) return Amount;
foreach (Part p in vessel.parts)
{
if (p.Resources.Contains('Energy'))
{
if (p.Resources['Energy'].maxAmount - p.Resources['Energy'].amount >= Amount)//Battery can store amount, do so and return 0
{
p.Resources['Energy'].amount += Amount;
return 0;
}
else//Battery can\'t store amount completely
{
Amount -= p.Resources['Energy'].maxAmount - p.Resources['Energy'].amount;
p.Resources['Energy'].amount = p.Resources['Energy'].maxAmount;
}
}
}
return Amount;
}
//-----------------------------------------------
//Because nobody needs it
public static void RemoveAllEnergy(Vessel vessel)
{
foreach (Part p in vessel.parts)
{
p.Resources['energy'].amount = 0;
}
}
//------------------------------------------------
//Cheating?
public static void RestoreAllEnergy(Vessel vessel)
{
foreach (Part p in vessel.parts)
{
p.Resources['energy'].amount = p.Resources['energy'].maxAmount;
}
}

public static float GetVesselEnergy(Vessel vessel)
{
float r = 0;
foreach (Part p in vessel.parts)
{
if (p.Resources.Contains('Energy')) r += p.Resources['Energy'].amount;
}
return r;
}
}
using System;

It works well, every part can store energy, and I think I can make it interact with your system too.

I\'d like to have part modules as sources, is that possible? For some reason, I\'m not coding parts anymore, just modules.

Link to comment
Share on other sites

I like the concept of direct requesting power directly from the sources, but here are some suggestions:

1) KSPField interface. Fields marked as [KSPField] are accessible through part.Fields[Fieldname]. That should be less problematic (and probably much less laggy) than part.GetType().GetField(Fieldname). And at least there\'s a way to check if the field exists before running into null reference. Why not to use this interface? Even more: because you easily can check the fields it can remove naming requirements - you can check all parts and part modules if they are power sources.

2) PartResource system. In fact, this is the ultimate answer to 'Stop making new tank types!'. The system is accessible from any part without referencing any other plugins - it\'ll be accessible even by parts that have no EPS interface. So, any part with some capacity for energy resource becomes the battery.

3) 'Power Demanded' (or may be better undemanded?) field for the sources. When taking power directly from a source, a consumer should not only add itself to its user list, but also mark how much power was actually routed to that user. This will stop the situations when old consumers already took all the energy, but then a new one adds itself to the list and gets its share out of nowhere (the new consumer should check how much is already taken this turn and not take more that actually left. it may also not take its share fully if it needs less). That will also allow perfect control for the Energy that goes to batteries: the power source will check this field next frame, if something left (a user didn\'t requested or requested less or no such users at all) the source will transfer that to the batteries (so that it can be used by users that don\'t have EPS interface or didn\'t get what it needed through direct power sharing). Then the source sets it\'s new power gain value (it might change between the frames) and resets the field.

What does this give:

1) compatibility with anything PartResource-compatible, while still preserving the direct source-user routing for EPS.

2) more careful power management (the current scheme may waste rather much of it)

3) possibly even less lag

Link to comment
Share on other sites

Has there been any recent progress on this? As a player I would love to have only one kind of panel and one kind of battery fuel everything. I love zoxygene and ion engines, but so far I\'ve only found engines that don\'t use ESP, which makes me have to haul up two kinds of batteries, complicating ship design a bit. I hope development continues.

Link to comment
Share on other sites

Hi Everyone!

I just want to make a quick update on what to expect from EPS 0.2:

-All EPS Batteries and Sources converted to PartModules.

-Solar Panel Modules detect if they are attached to Powertech adv. panels, and can use any of the panels using them (dynasat, kosmos...).

-EPS Batteries now contain PartResource, so EPS can now be used that way too! This results in SRC-->BATT-->Consumer power flow.

-EPS Reactor module.

-A powerful but really simple interface to make your plugin compatible with EPS.

-An EPS_User module that needs to be attached to the consuming part. This handles all EPS functions, you only need to tell it what to do.

-A "Dumb Mode" for the EPS_User module that enables parts that have nothing to do with EPS to consume power and be deactivated if it runs out and reactivated if power is back(!).

Release should be this week.

Cheers!

Edited by l00
Link to comment
Share on other sites

...deactivated if it runs out and reactivated if power is back(!).

Very nice.

I guess it's safe to assume that means batteries to will be able to be recharged once empty. Not to mention there will be dual fuel capability.

Link to comment
Share on other sites

I know it has already been asked, but I am still confused to whether or not you can fuel ion engines with EPS. Preferably with a simple .cfg edit. If you can fuel ion engines with it could you please post a sample code of Mechanical Mouse industries's satellite pack's ion engine, highlighting the difference between the original and the edited? If it is not possible at the moment will it be possible after the next update to this mod?

Link to comment
Share on other sites

  • 3 weeks later...

I'm trying to test out how the "dumb mode" module works. The example given in the documentation is that this should work to power a LiquidFuelEngine part, because it can be turned on and off. So I've attached the following to the end of the part.cfg file for a liquid fuel engine:

MODULE
{
name = EPS_User_DEF
MaxConsumption = 0.10
DeactivateUnpowered = 0
}

I've purposefully set the consumption high to test how it works. However in game the engine works exactly as in vanilla, and does not consume any energy, nor does it deactivate if there is no energy available. Right clicking shows EPS Pwr Cons:: 0, and it never changes from 0. What am I missing?

Link to comment
Share on other sites

  • 2 weeks later...
Does anyone have any problem attaching the batteries to my rocket, because when I try to attach an type of battery except the fuel cells, it would break the rocket creator's snap capabilities and I cant put new parts in and its really ticking me off.

I'm the same boat. Game makes a really awful buzzing sound, then I can't connect parts anymore. And no more parts will attach after that, either..

Link to comment
Share on other sites

Hi

The same situation as above. Place part of my report for test zoxydene parts in 0.17.

"

all modules have inside as follow make a problems with connect parts:

// --- general parameters ---

name = EPS xxxxxxxxxx

module = GenericEPS

Thanks for Kreuzung for idea, but problem not solved

"Posted by Kreuzung

Try changing that to module = Strut ....."

I try to make it but - the same problem. :(

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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