Jump to content

[PLUGIN, 0.14.3] Multiversal Mechatronics - Miscellaneous Modules


r4m0n

Recommended Posts

I wonder if it is possible to make variable RCS engines? So that they can be grouped and enabled separately. If it is not possible with current release, can one expect an update with this feature?

I\'ve thought about it, but couldn\'t find a good reason to turn an RCS thruster off... Do you have a good reason? If you do, I may add it.

Link to comment
Share on other sites

Do you have a good reason? If you do, I may add it.

The same KOSMOS pack gave me this idea.

62UX8.png

In real space systems all three groups do not operate simultaneously. And the separation of RCS engines is well suited for future addons from CardBoardBoxProcessor. But, most importantly, the ability to disable some of the RCS blocks will help better control the rocket in terms of their location relative to the center of mass of the launch vehicle and spacecraft before and after their separation (or separation of spacecraft modules). Also, when there are many RCS blocks, when they work together, their force is superfluous and the rocket is shaking like mad - this concerns, first of all, the early stages of flight, when the RCS engines work both on the rocket and the spacecraft. And in addition, it looks ugly, when the jet streams from control engines of the spacecraft make their way through the nose fairing.

Link to comment
Share on other sites

With the new nozzle it should be possible to make solar sailers!!

Ideas:

Turnable expandable energy producing solar panel which produce energy only when in the sun (that´s much work i think)

you should get help with these!

I have problems with .cfg you should write the examples better explained because I tried it but it doesen´t work really. Sorry

Link to comment
Share on other sites

r4m0n, sorry for being a pest, but if you read this, I found a 'bug' (or at least missing feature), and have another request:

-First the request:

The keyboard in KSP is almost at capacity now(so is screen real estate, but meh), could you please look into adding a 'group =' parsable for the toggle family controlling the 'on' var, like with the variable engines and their box? I was planning on using 'o' for my air ram solar panel, but 'o' was already taken by some oxygen plugin, and I ended up using the semicolon, but it\'s really cramped in there. Also very helpful to activate solar panels without also opening the pod bay doors, air brakes, and underbody pimp lights/assorted bling; and helps keep track of what\'s on and what\'s not.

-Dïe Büg

MuMechVariableTank

<type = liquid> ;feels lonely and ignored.

MuMechVariableEngine

<fuelType = liquid> ;will only search for stock FuelTank parts, ignoring MuMech tanks assigned as standard 'liquid' type.

In VariableEngine.cs

    } else if (type.ToLowerInvariant() == 'liquid') {
if (liquidSeekAnywhere) {
Dictionary<int, List<FuelTank>> cand = new Dictionary<int, List<FuelTank>>();
int maxStage = -1;

foreach (Part p in vessel.parts) {
if (p is FuelTank) {

MuMechSolarPanel

<fuelType = liquid> ,This time, only searches MuMechVariableTank, ignoring FuelTank parts, but as above, the circle of fuel breaks down completely here.

In SolarPanel.cs

      foreach (Part p in vessel.parts) {
if (p is MuMechVariableTank) {

It hurts when I do <this>:Don\'t do <this>. Unfortunately, I need to use the SolarPanel to 'refund' fuel to keep a specific Isp for an altitude var engine under 30km; and I need to use the MuMech tanks as the vanilla tanks don\'t have caps(assuming old overfill bug still present); bug shows up when the MuMech engines engage, and immediately die as they only look for vanilla tanks for 'liquid' fuelType. There\'s an easy solution to this on my end, but I was trying to release a more stock compatible version, as the tanks are what make up the actual rocket body.

First, for the request: Maybe. I could make an UI to toggle the modules else than just use buttons, but that also adds to the UI clutter, which I guess is a little better than the keyboard clutter we have right now.

As for the 'bug': All is working as intended. Solar panels aren\'t meant to produce Liquid or RCS fuel, VariableTanks aren\'t meant to store Liquid or RCS fuel (use the default tanks for that), and the engine code can\'t look for real Liquid and fake 'liquid' fuel at once. If you want to use the Solar Panels, then go all the way, you can\'t keep compatibility with stock and use that.

Link to comment
Share on other sites

  • 2 weeks later...

I finally figured out why I couldn\'t read tank class template out of MuMechLib. Could you please add public before

class MuMechVariableTank : MuMechPart {

And also possibly VariableEngine.cs at least, when you release next time? It will also require at least Part.cs, as subclasses can\'t upscale access in C#.

I\'ve been trying to code a general purpose reactor module, but to make it able to read VariableTanks, it needs to reference MuMechLib for the templates. Without the public access modifier before the class, C# defaults to internal, and the class isn\'t usable outside it\'s own assembly. Without being able to tell my code what a VariableTank is, I can\'t even count them, much less find out what type of fuel they hold. I don\'t have any need right now to reference the engines, but that would seem to be the other main thing someone might find they need to read.

Best wishes, Kellven.

Link to comment
Share on other sites

I finally figured out why I couldn\'t read tank class template out of MuMechLib. Could you please add public before

class MuMechVariableTank : MuMechPart {

And also possibly VariableEngine.cs at least, when you release next time? It will also require at least Part.cs, as subclasses can\'t upscale access in C#.

I\'ve been trying to code a general purpose reactor module, but to make it able to read VariableTanks, it needs to reference MuMechLib for the templates. Without the public access modifier before the class, C# defaults to internal, and the class isn\'t usable outside it\'s own assembly. Without being able to tell my code what a VariableTank is, I can\'t even count them, much less find out what type of fuel they hold. I don\'t have any need right now to reference the engines, but that would seem to be the other main thing someone might find they need to read.

Best wishes, Kellven.

I\'ll have to promote all classes to public, but that is alright. I\'ll try to do that for the next release.

Link to comment
Share on other sites

r4m0n, how to use toggling colliders? Can you explain me, what name they should have? I want to make cargo module with door, but i don\'t know how to call toggling collider.

Are you talking about using the toggle_collision flag? If so, don\'t, it doesn\'t work well... If you are talking about using the new servo class for making proper doors, I\'ll document them soon.

Link to comment
Share on other sites

Servo class is in the code already up, check the source link. It\'s the robotic motor joints.

I finally wrote a simple alt/atm pressure checker plugin, so I got some real data this time.

Fixed MM Engine Altitude Solver V2

Atm pressure data is on second page, this has graphs, and can show 0-10km or 0-100km on main graph. Use to set your engine specs.

Edit: Could I just remind you, r4m0n, to promote the VariableTank and part classes so I can read them if you would? I\'m going to need that soon if my fuelmatrix is going to be able to read your tanks, though I\'m going to have to code a new tank class anyway for ones that don\'t die when empty.

Link to comment
Share on other sites

Another question, are we allowed to include MuMechLib in our downloads?

(If yes, please set a rule to add 'If this asks you to overwrite MuMechLib.dll, choose the newer one!' for install instructions)

Yes, you can include the latest version of MuMechLib.dll (always found here).

It is already included in half a dozen packs, so always using the newer one is a must.

Link to comment
Share on other sites

hi R4M0N, could I use your toggle model code in my plugin ? Since i don\'t like having two plugins for one part...

And just what may I ask is wrong with two plugins for one part? If we\'re already at 1 plugin per part(which we are very near), 2 makes little difference.

Link to comment
Share on other sites

Hm, I made a centrifuge, it worked good in previous version of MuMech, but rotate speed was wrong. In new version centrifuge rotates around Z-axis regardless of the settings which in config, with right speed. WTF?

I may have broken it with all the joint stuff I added for the servo class. I\'ll take a look at it.

Link to comment
Share on other sites

Hi, I have a problem with the fuel tank, I want to override the GetFuel() function but it is not virtual, only thing I could do now is dropping MJ compatibility but that whould be stupid.

Link to comment
Share on other sites

A virtual method might be preferable, but as long as the parameter passed in the GetFuel call is not cast as a MuMechVariableTank, you can just use 'new' to specify method name hiding.

It will call the derived 'new' method as long as the compiler sees the method call as being of your derived type. If it sees the method call as the base MuMechVariableTank type, it will only call the base method.


derivedTank tank = new derivedTank();
tank.GetFuel(); //calls derived method
foreach(baseTank t in listOtanks)
{
t.GetFuel();//calls base method, even if listOtanks has a member that\'s a derivedTank ref
}

It\'s a workaround, not a fix, and I haven\'t looked at the engine code to see how/if casts are being done, but it might work for now. I\'m sure r4m0n really doesn\'t want to kick out a new lib revision when .15 is (possibly) so close.

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