Jump to content

(1.11.x) Planes With Purposes (PWP)


Recommended Posts

 

Planes With Purposes  v1.4

 

Hello! This is my first mod, Planes with Purposes.

 

The purpose of this mod is to make Aircraft useful.

 

Big thanks to @inigma for making the mod that inspired this one!

His mod:

Link to GAP

 

VdLrP8q.pngThu6Ae1.png

The mod is by no means finished or bug free, so please report any bugs encountered in the comments of this forum page, the Github issues thingy or my discord (Tudor#8762)

Known bugs:  

There are no bugs because I'm the best :cool:

(Anyone that says otherwise will be given an internship at the experimental rocket testing program)

 _______________________________________________________________________________________________________________________________________________________________  

                                              

 

To do:

Fix bugs

Add rescue contracts 

Add more distance/flight time contracts

Add KSC Airlines (transport passengers)

 

_______________________________________________________________________________________________________________________________________________________________

 

Changelog:

v1.0

  • Mod Released

----------------------------------------------------

v1.1

  • Fixed Bugs

----------------------------------------------------

v1.2

  • Added 1 stunt contract
  • Added 2 flight duration contracts

----------------------------------------------------

v1.3

  •  MADE SSTO CONTRACTS WORK!!!!!!
  • Also added 2 sunt contracts

----------------------------------------------------

v1.4

  • Added more SSTO contracts

 

_______________________________________________________________________________________________________________________________________________________________

 

Dependencies:

Module Manager

ContractConfigurator

_____________________________________________________________________________________________________________________________________________________________   

You can download the mod on:

SpaceDock

CurseForge

GitHub

CKAN:  (I don't think I can link to that, but you can find it by searching for PWP or Planes With Purposes) 

 

 

Edited by Tudor Aerospace
Fixed bar thingies
Link to post
Share on other sites

First, Thank for the mod, for planes i´ts super useful.
But please can you describe a bit more about your mod? like: what tipe of contract we are going to encounter, there are contracts for SSTO building? Contracts for rescuing kerbals on surface? SSTO deliver on a mun or planet besides kerbin? a bit more of info would be really good, or some pinctures with the contracts.



 

Link to post
Share on other sites

Thanks @Tudor Aerospace for improving the OP, it is now much clearer what the mod does.

Those missions sound somewhat familiar, were you inspired by another similar mod?

In any case many thanks, I cant get enough of those aircraft contracts.

Edit: btw... that airplane on the image.... so the blast goes right over the rudder hum? :o :confused:

Edited by Daniel Prates
Link to post
Share on other sites
2 hours ago, Daniel Prates said:

Thanks @Tudor Aerospace for improving the OP, it is now much clearer what the mod does.

Those missions sound somewhat familiar, were you inspired by another similar mod?

In any case many thanks, I cant get enough of those aircraft contracts.

Edit: btw... that airplane on the image.... so the blast goes right over the rudder hum? :o :confused:

Yes, they are inspired by another mod (first one), the rest are made so that the progression seems realistic/they don't progress too fast or too slow

The mod that inspired this mod was getting buggy (flags not showing up and other things) because it hadn't been updated since 1.5 or 1.6

Oh and it is named GAP

And yes, the blast goes right over the rudder because it makes the plane look cool

Edited by Tudor Aerospace
Forgot about the rudder
Link to post
Share on other sites
23 hours ago, Tudor Aerospace said:

Hello! This is my first mod, Planes with Purposes.

Welcome to the show! Planes are the best part of the game as far as I'm concerned. It's nice to see more people working on them. If you ever need any help or advice with it I'm just a mention away.

Link to post
Share on other sites
4 hours ago, Tudor Aerospace said:

Yes, they are inspired by another mod (first one), the rest are made so that the progression seems realistic/they don't progress too fast or too slow

The mod that inspired this mod was getting buggy (flags not showing up and other things) because it hadn't been updated since 1.5 or 1.6

Oh and it is named GAP

And yes, the blast goes right over the rudder because it makes the plane look cool

I am glad to see it back. If you are taking suggestions, consider adding some distance or flightime milestones too.

Link to post
Share on other sites
On 12/30/2020 at 6:59 AM, Nitojmg said:

First, Thank for the mod, for planes i´ts super useful.
But please can you describe a bit more about your mod? like: what tipe of contract we are going to encounter, there are contracts for SSTO building? Contracts for rescuing kerbals on surface? SSTO deliver on a mun or planet besides kerbin? a bit more of info would be really good, or some pinctures with the contracts.



 

First, you will encounter contracts that lead you to reaching Mach1,2.... and altitude contracts that will lead you to the edge of space, then you will get a contract that will require you to build a plane that can get to space and back, then are SSTO contracts to Kerbin orbit and to the surfaces of the Mun and Minmus, but those aren't working. There are also stunt contracts  but those also don't work. :( They will be fixed in the next update though!

Edit: The SSTO contracts were not fixed. Maybe next year :D

Edited by Tudor Aerospace
SSTOs still not fixed
Link to post
Share on other sites

Just a note about GAP code that I've run into that  you might run into as well.

Spoiler

When you use the following parameter checks in a GAP like contract;

//Recovery Parameter - Craft & Kerbal Safety Check
    PARAMETER
    {
        name = All
        type = All
        title = safely
        
        PARAMETER
        {
            name = VesselNotDestroyed
            type = VesselNotDestroyed
            title = without destroying your aircraft
            
            vessel = @/craft

        }
        
        PARAMETER
        {
            name = KerbalDeaths
            type = KerbalDeaths
            title = or killing anyone
            
            vessel = @/craft

        }

        completeInSequence = true
        disableOnStateChange = true

    }

It sets up a chain reaction of contract failures if you have multiple contracts active with this check code enabled.  This is because the "VesselNotDestroyed" and "KerbalDeaths" parameter fail the contracts immediately when triggered and nesting them in an ALL parameter doesn't stop this.  The trick is to set up the Vessel parameter that defines the craft very precisely so that a craft on one contract cannot fulfill the Vessel parameter of another contract at the same time.  This can be done with;  

  • Specific observer passengers that are boarded at launch and checked with "hasCrew"
  • Specific non-standard part(s) onboard

Another option is to remove the check from contracts that don't really require them. For milestone flights, a kerbal could achieve the specific milestone and be honoured for the achievement but still perish in a freak accident. That kerbal's glory would not be diminished. So is the check necessary? You could complete the contract when the deed is done... but what happens after that is just fate.

From a player's point of view (history with the original GAP) it's a little frustrating to fail one contract and have several other active contracts fail because the flight fulfilled multiple conditions at the same time which triggered this code in each active contract.

This segment of code is also responsible for "Tourist Spam".  If your flight is carrying tourist passengers and fails due to this code any tourists that survive the crash are returned to the Astronaut Complex as tourists unattached to any contract. They just sit there. Fail enough flights and it becomes an infestation.  The only way I've found to prevent this is to use the destroy vessel behaviour on contract failure. It kills the crew and the tourists, but it stops the overcrowding.   

 

 

Link to post
Share on other sites

Interesting set of contracts. =)

My suggestion would be to add plane contracts on other planets with an atmosphere, perhaps with electric motors for Duna and Eve.

Link to post
Share on other sites

[MOD - Moved to the main Add-on Releases subforum, as this is content that is directly used in-game rather than a standalone software tool.]

Link to post
Share on other sites

Hey @Tudor Aerospace, this mod is now indexed on CKAN.

A few things I've noticed while indexing your mod:

You are currently bundling a "MiniAVC.dll" in your releases. Since your mod doesn't have a AVC .version file, this isn't necessary and only adds more noise and increases loading times for KSP (although negligible).

There's also a ".gitignore" file included, which doesn't need to be in the release zip either,

The "README.txt" doesn't mention the "ContractConfigurator" dependency, only the forum thread does. You might also want to list the dependencies in the SpaceDock description, for people that directly download from SpaceDock without reading the forum thread first.

The GitHub repository is basically just a collection of release zips. Git and GitHub are supposed to be used as source code repositories though, i.e. the repo should  contain the contents of the zip, not the zip itself. This allows others to contribute and help you developing your mod.
Older versions of the mod don't have to be included side-by-side, that's what the commit history is for.
The release zips can be uploaded in the "Releases" section after you created a new release.
Here are a few links to help you getting started with Git(Hub):


Nothing major though, congrats on your first mod!

Link to post
Share on other sites
On 1/9/2021 at 4:47 AM, Hemco said:

Perhaps instead of saying "fly up to" say "to an altitude of".  I thought was saying fly up to a distance of X, not a height of X.

Noted! Will be changed in the next update, which should come out today

SSTO contracts not included

On 1/1/2021 at 11:21 PM, Urus28 said:

Interesting set of contracts. =)

My suggestion would be to add plane contracts on other planets with an atmosphere, perhaps with electric motors for Duna and Eve.

That's a good suggestion! It will be added after I make the SSTO contracts work, so probably never :(

 

On 12/31/2020 at 7:24 PM, Caerfinon said:

Just a note about GAP code that I've run into that  you might run into as well.

  Hide contents

When you use the following parameter checks in a GAP like contract;


//Recovery Parameter - Craft & Kerbal Safety Check
    PARAMETER
    {
        name = All
        type = All
        title = safely
        
        PARAMETER
        {
            name = VesselNotDestroyed
            type = VesselNotDestroyed
            title = without destroying your aircraft
            
            vessel = @/craft

        }
        
        PARAMETER
        {
            name = KerbalDeaths
            type = KerbalDeaths
            title = or killing anyone
            
            vessel = @/craft

        }

        completeInSequence = true
        disableOnStateChange = true

    }

It sets up a chain reaction of contract failures if you have multiple contracts active with this check code enabled.  This is because the "VesselNotDestroyed" and "KerbalDeaths" parameter fail the contracts immediately when triggered and nesting them in an ALL parameter doesn't stop this.  The trick is to set up the Vessel parameter that defines the craft very precisely so that a craft on one contract cannot fulfill the Vessel parameter of another contract at the same time.  This can be done with;  

  • Specific observer passengers that are boarded at launch and checked with "hasCrew"
  • Specific non-standard part(s) onboard

Another option is to remove the check from contracts that don't really require them. For milestone flights, a kerbal could achieve the specific milestone and be honoured for the achievement but still perish in a freak accident. That kerbal's glory would not be diminished. So is the check necessary? You could complete the contract when the deed is done... but what happens after that is just fate.

From a player's point of view (history with the original GAP) it's a little frustrating to fail one contract and have several other active contracts fail because the flight fulfilled multiple conditions at the same time which triggered this code in each active contract.

This segment of code is also responsible for "Tourist Spam".  If your flight is carrying tourist passengers and fails due to this code any tourists that survive the crash are returned to the Astronaut Complex as tourists unattached to any contract. They just sit there. Fail enough flights and it becomes an infestation.  The only way I've found to prevent this is to use the destroy vessel behaviour on contract failure. It kills the crew and the tourists, but it stops the overcrowding.   

 

 

I did notice the chain of failures, and that part of the contract will be removed.

Link to post
Share on other sites
18 hours ago, DasSkelett said:

Hey @Tudor Aerospace, this mod is now indexed on CKAN.

A few things I've noticed while indexing your mod:

You are currently bundling a "MiniAVC.dll" in your releases. Since your mod doesn't have a AVC .version file, this isn't necessary and only adds more noise and increases loading times for KSP (although negligible).

There's also a ".gitignore" file included, which doesn't need to be in the release zip either,

The "README.txt" doesn't mention the "ContractConfigurator" dependency, only the forum thread does. You might also want to list the dependencies in the SpaceDock description, for people that directly download from SpaceDock without reading the forum thread first.

The GitHub repository is basically just a collection of release zips. Git and GitHub are supposed to be used as source code repositories though, i.e. the repo should  contain the contents of the zip, not the zip itself. This allows others to contribute and help you developing your mod.
Older versions of the mod don't have to be included side-by-side, that's what the commit history is for.
The release zips can be uploaded in the "Releases" section after you created a new release.
Here are a few links to help you getting started with Git(Hub):


Nothing major though, congrats on your first mod!

Hello! First of all,  thanks for adding the mod to CKAN!

 

The MiniAVC.dll and .gitignore files will be removed with 1.3

 

I will also make sure to make a release in github.

 

Version 1.3 isn't coming out today because KSP doesn't want to start :(

Link to post
Share on other sites

I decide to launch a rocket instead of fly a plane after accepting some contracts.  I failed all three because I didn't "safely" land (for some reason, rocket parts blow up when they hit the ground).  Not sure if there's a way to fix that, but a warning needs to be there to say to not accept unless you are going to fly a plane next.

Link to post
Share on other sites
7 hours ago, Hemco said:

I decide to launch a rocket instead of fly a plane after accepting some contracts.  I failed all three because I didn't "safely" land (for some reason, rocket parts blow up when they hit the ground).  Not sure if there's a way to fix that, but a warning needs to be there to say to not accept unless you are going to fly a plane next.

Wait, that's illegal

 

Also, most land safely, don't kill anyone etc. parts of the contracts will be removed, as @Caerfinon pointed out that 

Quote

 A kerbal could achieve the specific milestone and be honoured for the achievement but still perish in a freak accident. That kerbal's glory would not be diminished. So is the check necessary? You could complete the contract when the deed is done... but what happens after that is just fate.

 

Link to post
Share on other sites

The 'get a plane to space' contract isn't working because the condition it checks for is 'Situation: FLYING' above 70000m. But in KSP you can't 'fly' above 70km because there's no atmosphere, the situations change to the 'in space' situations instead of 'flying' situations. If you change the contract to check for 'Situation: SUB_ORBITAL' it works.

Edited by musubk
Link to post
Share on other sites

There appears to be a problem with path to the flag images in Agencies.cfg, causing the image to not work in Mission Control:

    logoURL = ContractPacks/PWP/Assets/Flags/TA

However, at least when installed via CKAN, the actual path is ContractPacks/PlanesWithPurposes/PWP/Assets/Flags.

Edited by BTAxis
Link to post
Share on other sites
1 minute ago, BTAxis said:

There appears to be a problem with path to the flag images in Agencies.cfg, causing the image to not work in Mission Control:

    logoURL = ContractPacks/PWP/Assets/Flags/TA

However, at least when installed via CKAN, the actual path is ContractPacks/PlanesWithPurposes/PWP/Assets/Flags.

Hmm... That's weird... I'll see what I can do

Link to post
Share on other sites

Yay, glad to see someone wants to continue making planes a thing in Career. :D I heartily approve. Feel free to use anything from GAP! It's free and open source.

Link to post
Share on other sites

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