TiktaalikDreaming / KOOSE

Kerbal Out Of Space Easiest (Cheapest)
Other
3 stars 7 forks source link

CLS and RT for KooSE.cfg #2

Open zer0Kerbal opened 6 years ago

zer0Kerbal commented 6 years ago

just something I just threw together - might be helpful. Needs to be error checked, and will do that next time I start KSP.

I have personal real world experience with lifeboats, and am a certified SOLAS LB Captain with the IMO. Don't forget the motion-sickness pills!

Also - am finding it difficult to stick that chute in. Looks good so far.

CLS and RT for KooSE .cfg.txt

Gordon-Dry commented 6 years ago

@zer0Kerbal I guess you mismatched that thing.

Yours is

// FILE: CLS (Connected Living Space) for Koose
// Author: zer0Kerbal
// SGEx (StarGuise Experimental)
// v.0.1.0.0

@PART[KooSEpod]:AFTER[KOOSE]:NEEDS[RemoteTech]
{
    %MODULE[ConnectedLivingSpace]
    {
        %passable = true
        %surfaceAttachmentsPassable = true
    }
}

@PART[KooSEpod]:AFTER[KOOSE]:NEEDS[ConnectedLivingSpace]
{
    !MODULE[ModuleDataTransmitter]{}

    @MODULE[ModuleAnimateGeneric]
    {
        %allowManualControl = false
    }

    %MODULE[ModuleRTAntenna] 
    {
        // I upped these to represent the standard for emergency beacons - ie they need to be able to reach
        %Mode0OmniRange =  3500     // 3.5 km
        %Mode1OmniRange = 75000     // 75 km (so low orbit)
        %EnergyCost = 0.05
        %DeployFxModules = 0

        // offset increased emergency range / low power with slower data transmission (which also helps concerve EC)

        %TRANSMITTER 
        {
            %PacketInterval = 1.50
            %PacketSize = 1
            %PacketResourceCost = 2.0
        }
    }

    %MODULE[ModuleSPUPassive] {}
}
}

imho should be

// FILE: CLS (Connected Living Space) for Koose
// Author: zer0Kerbal
// SGEx (StarGuise Experimental)
// v.0.1.0.0

@PART[KooSEpod]:AFTER[KOOSE]:NEEDS[ConnectedLivingSpace]
{
    %MODULE[ConnectedLivingSpace]
    {
        %passable = true
        %surfaceAttachmentsPassable = true
    }
}

@PART[KooSEpod]:AFTER[KOOSE]:NEEDS[RemoteTech]
{
    !MODULE[ModuleDataTransmitter]{}

    @MODULE[ModuleAnimateGeneric]
    {
        %allowManualControl = false
    }

    %MODULE[ModuleRTAntenna] 
    {
        // I upped these to represent the standard for emergency beacons - ie they need to be able to reach
        %Mode0OmniRange =  3500     // 3.5 km
        %Mode1OmniRange = 75000     // 75 km (so low orbit)
        %EnergyCost = 0.05
        %DeployFxModules = 0

        // offset increased emergency range / low power with slower data transmission (which also helps concerve EC)

        %TRANSMITTER 
        {
            %PacketInterval = 1.50
            %PacketSize = 1
            %PacketResourceCost = 2.0
        }
    }

    %MODULE[ModuleSPUPassive] {}
}
}

and I also think that . inside the file name are not okay.

zer0Kerbal commented 6 years ago

good catch.

oops - you are correct. tired + rush = mistakes.

Amusing thing is, if one has both CLS and RT installed, it won't show up as an error.

the inside the file name? spaces? I defer to you; and am sure you are correct about part.cfg's, however Module Manager AFAIK doesn't seem to care about spaces in the MM.cfg file.

Seems I also forgot to include the KooSECradle in CLS, and have corrected that oversight.

Updated:

KooSE_CLS_RT.txt

Also - do you want to add mechjeb to the pod? hibernation (lower power mode) for the command module in the pod? Easy to add to the same file.

@PART[KooSEpod]:AFTER[KOOSE]
{
    @cost += 7.5 // cost of budget friendly (ie salvaged from busted up old AR202's) inclusion of life-saving MechJeb2 (including SGEx's markup of course).

    @mass += .001 // mass of additional hardware.

    @MODULE[ModuleCommand]
    {
        %hasHibernation = true
        %hibernateOnWarp = true
        %hibernation = true
        %hibernationMultiplier = 0.001
    }

    @MODULE[MechJebCore]:NEEDS[MechJeb2] {}
}
zer0Kerbal commented 6 years ago

still new to github. accidentally closed.

Gordon-Dry commented 6 years ago

@PART[KooSEpod|KooSECradle] doesn't work.

Should be @PART[KooSEpod,KooSECradle]

Gordon-Dry commented 6 years ago

Changed it, there were typos.

// FILE: CLS (Connected Living Space) for Koose
// Author: zer0Kerbal | Gordon-Dry
// SGEx (StarGuise Experimental)
// v.0.1.0.1

@PART[KooSECradle]:HAS[!MODULE[ModuleConnectedLivingSpace]]:NEEDS[ConnectedLivingSpace]:AFTER[KOOSE]
{
    MODULE[ModuleConnectedLivingSpace]
    {
        passable = true
    }
}

@PART[KooSEpod]:NEEDS[RemoteTech]:AFTER[KOOSE]
{
    !MODULE[ModuleDataTransmitter]{}

    @MODULE[ModuleAnimateGeneric] {
        %allowManualControl = false
    }

    %MODULE[ModuleRTAntenna] {
        // Adjusted values to represent KMO (Kerbal Maritime Organization) & SOKIS (Safety of Kerbals In Space) standards for emergency beacons in lifepods (a.ka. lifeboats) (i.e. how far they need to be able to reach).

        %Mode0OmniRange =  3500     // 3.5 km
        %Mode1OmniRange = 75000     // 75 km (so low orbit)
        %EnergyCost = 0.05
        %DeployFxModules = 0

        // offset increased emergency range / low power with slower data transmission (which also helps conserve  EC). Explanation: lower frequency allows for longer range, but also slows data rate.

        %TRANSMITTER {
            %PacketInterval = 1.50
            %PacketSize = 1
            %PacketResourceCost = 2.0
        }
    }

    %MODULE[ModuleSPUPassive] {}
}

// 覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧
// 覧・Version Log
// ・
// v 1.0.0.1
    // corrected transplanted NEEDS, thanks to Gordon-Dry.
    // adjusted MM patch filename.
    // inserted KooSECradle in CLS patch.
    // adjusted and corrected flavor text comments.
    // PS: SOLAS and IMO are real and are part of the United Nations maritime governing organization.

// v 1.0.0.0
    // intial creation
Gordon-Dry commented 6 years ago

scratch that, it's getting late.

This one is better ;-)

// FILE: CLS (Connected Living Space) for Koose
// Author: zer0Kerbal | Gordon-Dry
// SGEx (StarGuise Experimental)
// v.0.1.0.1

@PART[KooSECradle]:HAS[!MODULE[ModuleConnectedLivingSpace]]:NEEDS[ConnectedLivingSpace]:FINAL
{
    MODULE
    {
        name = ModuleConnectedLivingSpace
        passable = true
    }
}

@PART[KooSEpod]:NEEDS[RemoteTech]:FINAL
{
    !MODULE[ModuleDataTransmitter]{}

    @MODULE[ModuleAnimateGeneric] {
        %allowManualControl = false
    }

    %MODULE[ModuleRTAntenna] {
        // Adjusted values to represent KMO (Kerbal Maritime Organization) & SOKIS (Safety of Kerbals In Space) standards for emergency beacons in lifepods (a.ka. lifeboats) (i.e. how far they need to be able to reach).

        %Mode0OmniRange =  3500     // 3.5 km
        %Mode1OmniRange = 75000     // 75 km (so low orbit)
        %EnergyCost = 0.05
        %DeployFxModules = 0

        // offset increased emergency range / low power with slower data transmission (which also helps conserve  EC). Explanation: lower frequency allows for longer range, but also slows data rate.

        %TRANSMITTER {
            %PacketInterval = 1.50
            %PacketSize = 1
            %PacketResourceCost = 2.0
        }
    }

    %MODULE[ModuleSPUPassive] {}
}

// 覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧
// 覧・Version Log
// ・
// v 1.0.0.1
    // corrected transplanted NEEDS, thanks to Gordon-Dry.
    // adjusted MM patch filename.
    // inserted KooSECradle in CLS patch.
    // adjusted and corrected flavor text comments.
    // PS: SOLAS and IMO are real and are part of the United Nations maritime governing organization.

// v 1.0.0.0
    // intial creation
zer0Kerbal commented 6 years ago

I've been there. MM.cfg's can be interesting...

Issue with CLS is if you !CLS then you can't set anything either. So suggest :NEEDS only, and write it so it handles both instances (module installed or module not installed).

the Pod doesn't seem to have issues with CLS, but the Nest is, well, being stubborn.

I've also been working on TACS for it - just because I'm a glutton for punishment.

Also the flavor comments are just that - if you wish to remove them (or not use this at all) - I won't be offended. TWYLLTR (Take What You Like, Leave the Rest).

Also in the end, if you decide to use some/all, you can split out individual mods into their own cfg, but really no reason to IMHO.

I have installed another KSP just for testing - so it loads in under 90 seconds. Have some welded parts am working on that are being extremely recalcitrant and reluctant to fit together right. Makes it easy(ier) to also test MM patches.

Have a great day.

0K

so here's the changes, and more:

`// FILE: KooSE_MM.cfg
// ACTIONS: 
    // CLS (Connected Living Space) for KooSE
    // RT (RemoteTech) for KooSE
    // MJ (MechJeb) for KooSE
    // TACS (TacLifeSupport) for KooSe
// Author: zer0Kerbal | Gordon-Dry
// SGEx (StarGuise Experimental)
// v.0.1.0.6

@PART[KooSEPod,KooSECradle]:NEEDS[ConnectedLivingSpace]:FINAL
{
    @MODULE[ConnectedLivingSpace]
    {
        %passable = true
        %passableWhenSurfaceAttached = True
        %surfaceAttachmentsPassable = True
    }
}

@PART[KooSEPod]:NEEDS[RemoteTech]:FINAL
{
    !MODULE[ModuleDataTransmitter]{}

    @MODULE[ModuleAnimateGeneric] {
        %allowManualControl = false
    }

    %MODULE[ModuleRTAntenna] {
        // Adjusted values to represent KMO (Kerbal Maritime Organization) & SOKIS (Safety of Kerbals In Space) standards for emergency beacons in lifepods (a.ka. lifeboats) (i.e. how far they need to be able to reach).

        %Mode0OmniRange =  3500     // 3.5 km
        %Mode1OmniRange = 75000     // 75 km (so low orbit)
        %EnergyCost = 0.05
        %DeployFxModules = 0

        // offset increased emergency range / low power with slower data transmission (which also helps conserve  EC). Explanation: lower frequency allows for longer range, but also slows data rate.

        %TRANSMITTER {
            %PacketInterval = 1.50
            %PacketSize = 1
            %PacketResourceCost = 2.0
        }
    }

    %MODULE[ModuleSPUPassive] {}
}

@PART[KooSEPod,KooSECradle]:FINAL
{
    %MODULE[ModuleKISItem]
    {
        %stackable = true
    }   
}

@PART[KooSEPod]:FOR[KOOSE]
{
    @cost += 7.5 // cost of budget friendly (ie salvaged from busted up old AR202's) inclusion of life-saving MechJeb2 (including SGEx's markup of course).

    @mass += .001 // mass of additional hardware.

    @MODULE[ModuleCommand]
    {
        %hasHibernation = True
        %hibernateOnWarp = True
        %hibernation = Falso
        %hibernationMultiplier = 0.001
    }

    @MODULE[MechJebCore]:NEEDS[MechJeb2] {}
}

// 14 day supply for one Kerbal - NO snacks.
    // food         1.097       15.358
    // water            0.725       10.15
    // oxygen           111.038     1554.532
    // CarbonDioxide    95.913      1342.782
    // waste            0.1         1.4
    // wastewater       0.924       12.936
    + electrical

@PART[KooSEPod]:NEEDS[TacLifeSupport]
{
    @mass += 0.04
    @cost += 40

    // Add two hours of electricity (only accounting for life support needs)    
    @RESOURCE[ElectricCharge]
    {
        @amount = 100
        @amount *= #$/CrewCapacity$
        @amount += 150
        @amount += #$maxAmount$
        @maxAmount = #$amount$
    }

    @RESOURCE[ReservePower]
    {
        @amount = 50
        @amount *= #$/CrewCapacity$
        @amount += 75
        @amount += #$maxAmount$
        @maxAmount = #$amount$
    }

    // four decades old KPAM and stale air from a century old air compressor.
    RESOURCE
    {
        name = Food
        amount = 15.358
        maxAmount = 15.358
    }

    RESOURCE
    {
        name = Water
        amount = 10.15
        maxAmount = 10.15
    }

    RESOURCE
    {
        name = Oxygen
        amount = 1554.532
        maxAmount = 1554.532
    }

    RESOURCE
    {
        name = CarbonDioxide
        amount = 0
        maxAmount = 1342.782
    }

    RESOURCE
    {
        name = Waste
        amount = 0
        maxAmount = 1.4
    }

    RESOURCE
    {
        name = WasteWater
        amount = 0
        maxAmount = 12.936
    }

    MODULE
    {
        name = LifeSupportModule
    }
}

// ——————————————————————————————————————————————————
// ——— Version Log
// —
// v 1.0.0.5
    // adjusted for some typos (bad eggplant fingers)
    // Made KooSEPod KIS stackable to allow for mass shipment

// v 1.0.0.5
    // added lifesupportmodule for TACS
    // added EC/RP for TACS
    // added cost/mass adjustments for TACS
    // changed / to ,
    // added configuration to allow KIS stackable

// v 1.0.0.4
    // added snacks (14 days worth)
// V 1.0.0.3
    // fixed several minor typos.

// v 1.0.0.2
    // added hibernation and MechJeb2 to core.
    // added additional cost / mass because of hibernation / MechJeb2
    // @ instead of %

// v 1.0.0.1
    // corrected transplanted NEEDS, thanks to Gordon-Dry.
    // adjusted MM patch filename.
    // inserted KooSECradle in CLS patch.
    // adjusted and corrected flavor text comments.
    // PS: SOLAS and IMO are real and are part of the United Nations maritime governing organization.

// v 1.0.0.0
    // intial creation`

KooSE_CLS_RT.cfg.txt

TiktaalikDreaming commented 6 years ago

OK, latest Git has the file. I've only tested the CLS so far as it's the easiest for me to test. On the nest not being passable: it actually is. But the decoupling nodes are somehow exempted. Right click properties in the VAB shows it's passable, but the decouplers segregate the craft into different "living spaces" is how I'm interpreting it. You can happily pass from top to bottom. When I have some time I'll try removing the decouple modules and see if that fixes. I stole the code from mechjeb and engineer for all to add extra to the MJ MM code. But seeing I typically use that "mod", I can't tell if it worked or not without disabling it (which I forgot to try while getting frustrated with CLS). I've never really used the TAC LS, or RT so I think I'll just believe everyone else as to whether that works.

zer0Kerbal commented 6 years ago

Good. I know the CLS patch is working because I welded a Pod and then a Nest to see what was actually getting through.

I do this often to (weld a single part) see exactly what is going on in a part. It also reorganizes the items inside, which I like.

So after welding POD/Next: CLS, GPOSpeedpump, MechJeb, and Engineer were there. KIS stack, and inventory, well didn't have KIS/KAS installed when I welded, but they always work. I didn't offer this to sidetrack you, and hopefully I can keep pushing it ahead (MM.cfg's) with mods I have experience with without sidetracking you from having fun finishing the KooSE; and its next to be built KooSIER.... ;p

Not stealing per say, since the MM code is in public domain. Heck, pretty much everything is for KSP, which is one of the reasons I like KSP.

was searching for answers and found this posting, link

good choice about TAC LS or RT.

I will keep plugging away at it. Meanwhile my KSS (Kerbal Space Station) Docking Node welded part cleanup is coming along fine. It saves 5+ parts, and now just to moving the parts around x,y,z to get them to fit right, and the nodes off course. but that is another topic.

I should have more in the next couple of days.

Be well.

zer0Kerbal commented 6 years ago

The rationale behind using dockPoint was only to have a unique identifier for the model and commonality with the other OTAV parts. I had not anticipated that it would cause issues with other mods (I never though that anything would have code which specifies a variable [KSPfield] have a fixed value. Which Is how CLS works I guess, it's reliant on mods using the stock identifier for the docking node (dockingNode). I feel that CLS should make it clear somewhere in its thread about this dependency.

What I can endeavour to do I. The next release is rename the dockingNode transform in the model itself. Hopefully this won't break it but should appear as no change to the user while making the OTAV CLS Compatible.

link

TiktaalikDreaming commented 6 years ago

I'll have to look at the details. Making the nodes normal (non decoupling) stack nodes didn't help, so presumably I'd have to mess with how the docking nodes connect or something. I think it's off to take a squiz at CLS code followed by taking a look at docking node API to see what can and can't be done on the nodes.