severedsolo

[1.7.1+] Earn Your Stripes 2.2 (16/06/2019) - Allowing Kerbals to earn an Orange Suit since 2017

Recommended Posts

1 minute ago, severedsolo said:

You must be running an old version of texture replacer, the orange suits were hard coded. It's fixed in newer builds of Texture Replacer Replaced though.

I can't be certain, but I think I may have got my version bundled with your mod. Is that a possibility?

Share this post


Link to post
Share on other sites
26 minutes ago, fowlplayuk said:

I can't be certain, but I think I may have got my version bundled with your mod. Is that a possibility?

Nope. I don't bundle anything. You may have saw me mention it earlier in the thread (cause I mentioned it wasn't working) but I do not bundle.

Share this post


Link to post
Share on other sites

No problem

Who knows where that came from then :)

I don't even know why I have it. Is it a dependancy? Thanks for the info, I'll check what version I've got

Share this post


Link to post
Share on other sites
3 minutes ago, fowlplayuk said:

No problem

Who knows where that came from then :)

I don't even know why I have it. Is it a dependancy? Thanks for the info, I'll check what version I've got

It's not a dependancy, although when they finish the suit work it will certainly enhance EYS

Share this post


Link to post
Share on other sites

Hi Severed solo,

very nice mod you have there, I LOVE the idea. I will install it tonight for sure.

There is something though that could not fit my play style, but I may miss something. If I do please correct me.

I commonly throw my Kerbals into space on a space station orbiting Kerbin in a "shuttle flight". From there, they will start new missions and come back to the space station. They can reside there for a while, complete few missions, then another "Shuttle Flight" will pick them up at some point to go back on Kerbin.

Question is:

In this case my guess is that I would need to set the number of flight to 0 and set the hours to whatever I want (example 20 hours). But what I would like to know is. Are the hours always calculated regardless of the ship used or I need to launch/land in the same ship to have the hours accumulated? If the hours are accumulated regardless, then I guess that my Kerbals could simply go back to Kerbin to collect their suit at the Astronaut Complex when they have the needed number of hours.

I watched Scot's video but it was not really clear on that subject.

Thanks! And again, wonderful mod :)

 

 

Share this post


Link to post
Share on other sites
On 18/10/2017 at 12:45 PM, nobodyhasthis2 said:

@politas could you take a look at the above please. Looks like a more complicated work around that is necessary. I think this a case for resetting MAX_KSP_VERSION on older release. Can you cap Earn Your Stripes version 1.1.1 to max KSP 1.3.0. Then that way the new release just needs one file as before with MIN KSP 1.3.1. to ensure compatability. Ckan will then know exactly what the original intention was here. People will only see the right version of the mod for the current install then. ckan will download the right one. Looking the above might also help with recent work on version control with other mods.

@severedsolo  sorry to intrude. Trying to help here. The issue of backward compatability recently came up on the ckan thread. Metadata in this case might require some fine tuning and by calling on @politas for help. I was hoping that it saves you time going back over the same ground. That causes a little bit of frustration especially when your not a ckan fan. With a bit of extra support here things could made easier for you long term.

Hi @nobodyhasthis2, I'm not entirely clear what the problem is? We currently have the following compatibilities:

EarnYourStripes version EarnYourStripes download KSP Compatibility
1.1.1 https://github.com/severedsolo/EarnYourStripes/releases/download/1.1.1/EarnYourStripes1.1.1.zip 1.3.0
1.2 https://github.com/severedsolo/EarnYourStripes/releases/download/1.2/EarnYourStripes1.2-1.3.0Backport.zip 1.3.0
1.2.0.1 https://github.com/severedsolo/EarnYourStripes/releases/download/1.2.0.1/EarnYourStripes1.2.zip 1.3.1

 

 

Share this post


Link to post
Share on other sites

@Frag2000 - the hours are calculated from the vessel that is being recovered's MET. In your case it probably wouldn't work properly, but thinking about it, this is probably not the best way to do it anyway, because any kerbal who had spent any long period of time on a station would not be credited properly.

Raised #1 to deal with this.

Share this post


Link to post
Share on other sites
21 minutes ago, politas said:

Hi @nobodyhasthis2, I'm not entirely clear what the problem is? We currently have the following compatibilities:

EarnYourStripes version EarnYourStripes download KSP Compatibility
1.1.1 https://github.com/severedsolo/EarnYourStripes/releases/download/1.1.1/EarnYourStripes1.1.1.zip 1.3.0
1.2 https://github.com/severedsolo/EarnYourStripes/releases/download/1.2/EarnYourStripes1.2-1.3.0Backport.zip 1.3.0
1.2.0.1 https://github.com/severedsolo/EarnYourStripes/releases/download/1.2.0.1/EarnYourStripes1.2.zip 1.3.1

 

 

It's ok I think I fixed it.

The original issue was that I put a zip for 1.3.0 and another for 1.3.1 in the same release. CKAN was picking up the first zip in the release, which happened to be the 1.3.0 one, and was offering it to 1.3.1 users. I wouldn't really call this a bug, as I guess CKAN had no way of knowing I'd put two zips in the same release.

I pushed a new release with only a 1.3.1 zip, (which was 1.2.0.1)  - this should offer the correct release now, as the AVC was properly marked.

Share this post


Link to post
Share on other sites
15 hours ago, Frag2000 said:

In this case my guess is that I would need to set the number of flight to 0 and set the hours to whatever I want (example 20 hours). But what I would like to know is. Are the hours always calculated regardless of the ship used or I need to launch/land in the same ship to have the hours accumulated? If the hours are accumulated regardless, then I guess that my Kerbals could simply go back to Kerbin to collect their suit at the Astronaut Complex when they have the needed number of hours.

Going to release this a bit quicker than I intended, as while I was testing I found a nasty bug that meant things weren't getting saved properly.

Earn Your Stripes 1.3.0 Released

  • Changed flight time tracking to track a kerbal whereever he goes, rather than by his vessels MET.
  • Fixed bug in the ScenarioModule that was causing some stuff to not be saved properly.
  • Better logging.

KSP 1.3.0 users, I have published a separate pre-release so the CKAN doesn't accidentally pick it up again.

Regarding the changes to flight time tracking - a kerbals hours will now be logged from launch to recovery. Where the kerbal doesn't have a launch time recorded (ie he was launched before this update) it will fall back on the old system.

Edited by severedsolo

Share this post


Link to post
Share on other sites
1 hour ago, severedsolo said:

Going to release this a bit quicker than I intended, as while I was testing I found a nasty bug that meant things weren't getting saved properly.

Earn Your Stripes 1.3.0 Released

  • Changed flight time tracking to track a kerbal whereever he goes, rather than by his vessels MET.
  • Fixed bug in the ScenarioModule that was causing some stuff to not be saved properly.
  • Better logging.

KSP 1.3.0 users, I have published a separate pre-release so the CKAN doesn't accidentally pick it up again.

Regarding the changes to flight time tracking - a kerbals hours will now be logged from launch to recovery. Where the kerbal doesn't have a launch time recorded (ie he was launched before this update) it will fall back on the old system.

Hey Thanks for the quick reply Severedsolo!

Wow that was quick! LOLL

So just confirm me that I understood correctly. So for now on, a Kerbal hour sheet is calculated from the time he leaves Kerbin in a flight, to later the time he is recovered on Kerbin (regardless of the ship he used).

Example: If in one playing session I:

1. Launch my Kerbal in space at noon (Real Word Time)

2. Dock at a space station orbiting Kerbin.

3. Take a different spaceship to complete a Mission on Minmus.

4. Come back to the space station after the mission.

5. Take an escape pod for the re-entry to Kerbin.

6. Land and get Recovered at 18h00 (Real World Time)

Then my Kerbal should have 6 hours accumulated. Did I get it right?

Thanks Severedsolo! Can't wait to try it out!

 

Edited by Frag2000

Share this post


Link to post
Share on other sites
12 minutes ago, Frag2000 said:

So just confirm me that I understood correctly. So for now on, a Kerbal hour sheet is calculated from the days he leaves Kerbin in a flight, to later the days he is recovered on Kerbin (regardless of the ship he used).

Almost right. It's calculated in In-Game time rather than real world time. If you launched him, played for 10 minutes, and left the game paused for 6 hours, he'd only get 10 minutes credit. but if you play for an hour and time warp 3 years, he'd get 3 years credit.

Please let me know hows its working for you. I realised after release that I have a horrible feeling that onLaunch fires every time a vessel stages, so if thats the case it might mess things up, in which case I'll need to move it to onVesselRollout. (I may do that anyway actually, but if it's working for now I won't rush)

Edited by severedsolo

Share this post


Link to post
Share on other sites
15 minutes ago, severedsolo said:

Almost right. It's calculated in In-Game time rather than real world time. If you launched him, played for 10 minutes, and left the game paused for 6 hours, he'd only get 10 minutes credit. but if you play for an hour and time warp 3 years, he'd get 3 years credit.

Please let me know hows its working for you. I realised after release that I have a horrible feeling that onLaunch fires every time a vessel stages, so if thats the case it might mess things up, in which case I'll need to move it to onVesselRollout. (I may do that anyway actually, but if it's working for now I won't rush)

Ok it does make perfect sense. It is way better to accumulate Kerbal time (game time). However, in that case, could you set the slider to higher than 100. My feeling is that 10 000 hours would be enough. A year is 8760 hours and long trip in space can take a LOOONNGGG time, so the 100 hours will be fast too fast to achieve. I am pretty sure its trivial to do but I may be wrong...

Share this post


Link to post
Share on other sites
4 minutes ago, Frag2000 said:

I am pretty sure its trivial to do but I may be wrong...

You are right it is trivial. I just didn't specify in the code, so KSP used the default (it assumed it's a percentage). Fixed for next release.

Share this post


Link to post
Share on other sites
6 minutes ago, severedsolo said:

You are right it is trivial. I just didn't specify in the code, so KSP used the default (it assumed it's a percentage). Fixed for next release.

You're the man :)

I will play around and let you know. As I said I did not test it yet (I am at the office right now). Is there an area where I can see the hours accumulated so far (in the UI directly or  in a file somewhere on disk) so I can test it out deeply for you?

Share this post


Link to post
Share on other sites
4 minutes ago, Frag2000 said:

Is there an area where I can see the hours accumulated so far (in the UI directly or  in a file somewhere on disk) so I can test it out deeply for you?

Easiest place is in your save. If you look for "StripesData" it's all stored in there. It should look something like this (hours will only be logged on recovery, but if the launch time is changing without a new launch, then I have a problem):

	SCENARIO
	{
		name = StripesData
		scene = 5, 7, 8
		EarnYourStripes
		{
			KERBAL
			{
				Name = Jebediah Kerman
				Flights = 1
				LaunchTime = 0
				TimeLogged = 530.77301025380279
				Promoted = True
				WorldFirst = True
			}
			KERBAL
			{
				Name = Berbrett Kerman
				Flights = 1
				LaunchTime = 1048.2426564022428
				TimeLogged = 0
				Promoted = False
				WorldFirst = False
			}
			KERBAL
			{
				Name = Hayfield Kerman
				Flights = 2
				LaunchTime = 0
				TimeLogged = 11.299999999989723
				Promoted = False
				WorldFirst = False
			}
		}
	}

 

Edited by severedsolo

Share this post


Link to post
Share on other sites

Ok make sense. I will play around with it over the weekend and let you know. I am software engineer myself so I know how to corner the system to try to break it. I did not look at the API yet though, so its difficult for me at this point to make any recommendations.

 

Just as a quick question, what is the "worldfirst" property?

 

 

Share this post


Link to post
Share on other sites
7 minutes ago, Frag2000 said:

Just as a quick question, what is the "worldfirst" property?

If you have "do something amazing" turned on in the settings, it requires a world-first to be completed before it will consider them for veteran-hood. It was introduced in the 1.2 release.

Share this post


Link to post
Share on other sites
17 hours ago, Frag2000 said:

Ok make sense. I will play around with it over the weekend and let you know. I am software engineer myself so I know how to corner the system to try to break it. I did not look at the API yet though, so its difficult for me at this point to make any recommendations.

Managed to get a chance to play with it myself today and I was right. onLaunch fires if you stage after switching back to the vessel, which is no good for this mod.

So:

Earn Your Stripes 1.3.1 released! (the fact that this is also for KSP 1.3.1 is purely coincidental)

  • Moved onLaunch to onVesselRollout to stop KSP from resetting launch times after staging following a scene change
  • Increase the maximum slider value of Flight Hours in the difficulty settings to 10000 as a few players have requested this.

1.3.0 backport has been put into a separate pre-release again.

Edited by severedsolo

Share this post


Link to post
Share on other sites

Hi SeveredSolo,

here is the section of your mod data in my save game . Few things I noticed:

  1. Only two of my pilots shows in your section, but not my engineers, no scientist and one pilot is missing. I doubled checked and here are my difficulty settings in your options:

- Allow Pilot Veteran : True

-Allow Engineer Veteran: True

-Allow Scientist Veteran: True

-Remove Existing Honours: True

- Number of flights: 0

- Number of hours: 3002

- Do something Amazing : False

 

2. As you see the TimeLogged entry of Jeb is 586333 ... what is the unit of this number so I could validate?

 

 

 SCENARIO
    {
        name = StripesData
        scene = 5, 7, 8
        EarnYourStripes
        {
            KERBAL
            {
                Name = Jebediah Kerman
                Flights = 28
                LaunchTime = 1371407.4286979812
                TimeLogged = 586333.20192216442
                Promoted = False
                WorldFirst = False
            }
            KERBAL
            {
                Name = Valentina Kerman
                Flights = 4
                LaunchTime = 1063505.9291311954
                TimeLogged = 526416.98454623949
                Promoted = False
                WorldFirst = False
            }
        }
    }

 

Share this post


Link to post
Share on other sites
49 minutes ago, Frag2000 said:

As you see the TimeLogged entry of Jeb is 586333 ... what is the unit of this number so I could validate?

46 minutes ago, Frag2000 said:

  1. Only two of my pilots shows in your section, but not my engineers, no scientist and one pilot is missing. I doubled checked and here are my difficulty settings in your options:

Ah yes, that's a bug. It only saves kerbals who get recovered, if you happen to close the game before you recover them it won't get saved. Easily fixed.

The time logged is in seconds, and the launch time is raw universal time (seconds since the save was started)

 

Share this post


Link to post
Share on other sites
3 hours ago, severedsolo said:

Ah yes, that's a bug. It only saves kerbals who get recovered, if you happen to close the game before you recover them it won't get saved. Easily fixed.

The time logged is in seconds, and the launch time is raw universal time (seconds since the save was started)

 

Mmmm the hours logged in the save file does not seem to be representative. When exactly the time is added to that counter?

Share this post


Link to post
Share on other sites
16 minutes ago, Frag2000 said:

Mmmm the hours logged in the save file does not seem to be representative. When exactly the time is added to that counter?

It's added at recovery. The code is here: https://github.com/severedsolo/EarnYourStripes/blob/master/EarnYourStripes/EarnYourStripes/FlightTracker.cs#L108 - it may be your save got caught up in the issue with saving that I had before the 1.3.1 (of EarnYourStripes) release

Share this post


Link to post
Share on other sites
On 26/10/2017 at 1:26 PM, Frag2000 said:

  1. Only two of my pilots shows in your section, but not my engineers, no scientist and one pilot is missing. I doubled checked and here are my difficulty settings in your options:

I've fixed this now by just adding blank data to a kerbal who is on their first launch, so the ScenarioModule will pick it up. Will push a release tonight (hopefully) - will probably be the first 1.3.1 only release, as I think ScrapYard was the last mod I was waiting for and has been updated.

Share this post


Link to post
Share on other sites

Earn Your Stripes 1.3.2 Released

  • Fixed new kerbals not being added to the ScenarioModule until we try to recover them.
  • Minor code cleanup
  • Improved Logging

This and future releases will be for KSP 1.3.1 only

 

Share this post


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.