Jump to content

[1.3.x] Kerbin Side GAP


Keniamin

Recommended Posts

1 hour ago, Keniamin said:

I answered about Skyways pack some posts above:

If you have Skyways and Side GAP both installed and experiencing some difficulties, you can describe the details of your problems and I'll have a look whether I can do something to fix them.

I've released those CC extensions I mentioned on Tuesday in Kerbin-Side Jobs. You'd find the BaseExists requirement very useful Keniamin. Documentation is here.

Link to comment
Share on other sites

On ‎28‎.‎04‎.‎2016 at 0:37 AM, Wolfox said:

I have several installs on separate machines, sending my save files around via clouds so I can continue playing where I left off, but because of this any mod update management would be a horror to do manually, this keeps my games compatible with saves. Do you think that you would consider making the mod dependancy to kerbinside complete OR skyways in CKAN library if I´ll find no problems? 

Wow! I like your automatization system, sounds cool :)
What about a dependency, the problem is that CKAN does not support OR condition for dependencies. The only (as far as I know) way to do it is to create special virtual package, which would be provided by more than one package, and would be a dependency for my package (so any installed package would satisfy it). As I can see, for KSP 1.1 @AlphaAsh made exactly this thing, so I can change a dependency, but I'm afraid this brakes backwards compatibility with 1.0.5...

And another point – as far as I understand in this case you can have one and ONLY one of the packages, that is or Kerbin-Side complete or some other package, but still only one. For example, you can not install both Skyways and KSC2. @AlphaAsh, am I right? Why it is so, they really installs the same files? May be you can move common (conflicting) parts into the new separate "KerbinSide common" package, and make all other packages depend on it and install only the bases themselves, with no intersections with each other?

Link to comment
Share on other sites

2 minutes ago, Keniamin said:

Wow! I like your automatization system, sounds cool :)
What about a dependency, the problem is that CKAN does not support OR condition for dependencies. The only (as far as I know) way to do it is to create special virtual package, which would be provided by more than one package, and would be a dependency for my package (so any installed package would satisfy it). As I can see, for KSP 1.1 @AlphaAsh made exactly this thing, so I can change a dependency, but I'm afraid this brakes backwards compatibility with 1.0.5...

And another point – as far as I understand in this case you can have one and ONLY one of the packages, that is or Kerbin-Side complete or some other package, but still only one. For example, you can not install both Skyways and KSC2. @AlphaAsh, am I right? Why it is so, they really installs the same files? May be you can move common (conflicting) parts into the new separate "KerbinSide common" package, and make all other packages depend on it and install only the bases themselves, with no intersections with each other?

Aye, the CKAN limitation is annoying as all get out.

I'd recommend making Complete your dependency. That has Kerbal Konstructs as a dependency, AFAIK, so hopefully CKAN at least 'chains' dependencies.

Skyways has most of the airbases and helipads that are in Complete but yes, there's a few you may reference in KSGAP that are missing. The new KKCCExtensions in Kerbin-Side Jobs might be a good way to solve these problems (BaseExists is your friend), but that makes KSJobs a dependency for KSGAP.

I had considered your solution but this would result in unused assets bloating out RAM, which is why 32 bit users were asking for Skyways in the first place.

Catch 22 :(

Link to comment
Share on other sites

What about making secondary GAP version with only Skyways dependency and missing bases excluded? Sounds like easiest way to me, but a little bit extra work when updating since you would have to manage two builds, which I can imagine could be confusing.

Link to comment
Share on other sites

I am a bit in a confuse..

I picked a job to transport some kerbals, all fine, they loaded into my plane, but the contract told me I had to choose my take off point, I could use the runway, or the helipad, however I didn't see any actual way of making that choise, other than just taking off, but that did nothing to my "Choose starting point".. Am I doing something wrong?

Link to comment
Share on other sites

1 minute ago, KimKerman said:

I am a bit in a confuse..

I picked a job to transport some kerbals, all fine, they loaded into my plane, but the contract told me I had to choose my take off point, I could use the runway, or the helipad, however I didn't see any actual way of making that choise, other than just taking off, but that did nothing to my "Choose starting point".. Am I doing something wrong?

EDIT - Disregard. Misread the notification. I am getting old.

Edited by AlphaAsh
Link to comment
Share on other sites

4 hours ago, KimKerman said:

I picked a job to transport some kerbals, all fine, they loaded into my plane, but the contract told me I had to choose my take off point, I could use the runway, or the helipad, however I didn't see any actual way of making that choise, other than just taking off, but that did nothing to my "Choose starting point".. Am I doing something wrong?

What kind of contract it is (you loading tourists at the beginning of the flight or kerbals are waiting near the airfield)? Did you use runway of departure base as a launch point or transported your plane there from somewhere else?

Link to comment
Share on other sites

I just took the KerbalSpaceCentreOldKSCBusinessFlightContract contract and was confused when sitting on the runway with a pilot and an engineer, the "Has a flight engineer aboard" objective was not met.

I looked in the config file and saw that the requirement is actually for 2 Engineers.
Looking at the code that generates the contracts, I see that this line takes the requirement for 1 engineer and adds the number of engineer passengers to the minCrew requirement.

I can understand that the "Has engineer" requirement should not be met by the passenger, but there must be better ways to achieve this that do not result in this unintuitive user experience.

Link to comment
Share on other sites

22 hours ago, OminousPenguin said:

I can understand that the "Has engineer" requirement should not be met by the passenger, but there must be better ways to achieve this that do not result in this unintuitive user experience.

Yes, you're right. I know this unclearness, but as far as I know there is no useful way to get this around. @nightingale, how do you think, can I make this using current Contract Configurator possibilities? Or may be you can add some kind of "Exclude" option to HasCrew parameter with the meaning opposite to "kerbal" option (that is, player must have specified amount of crew except for those kerbals who are explicitly excluded)?

Link to comment
Share on other sites

22 hours ago, Keniamin said:

Yes, you're right. I know this unclearness, but as far as I know there is no useful way to get this around. @nightingale, how do you think, can I make this using current Contract Configurator possibilities?

Might an alternative to the exclude option be to have some sequential objectives requiring that before you start moving, you have a pilot and engineer aboard and not the passenger?

This is entirely untested and off the back of zero experience with contract configurator:

Spoiler

PARAMETER
{
	name = VesselParameterGroup
	type = VesselParameterGroup
	PARAMETER
	{
		name = All
		type = All
		title = Pre-flight checks
		disableOnStateChange = true
		
		PARAMETER
		{
			name = ReachState
			type = ReachState
			situation = PRELAUNCH
			maxSpeed = 0.1
			title = Remain stationary
			disableOnStateChange = true
		}

		PARAMETER
		{
			name = HasCrew
			type = HasCrew
			trait = Pilot
			minCrew = 1
			title = Have an aircraft commander aboard
			disableOnStateChange = false
			hideChildren = true
		}

		PARAMETER
		{
			name = HasCrew
			type = HasCrew
			trait = Engineer
			minCrew = 1
			title = Have a flight engineer aboard
			disableOnStateChange = false
			hideChildren = true
		}

		PARAMETER
		{
			name = Not
			type = Not
			hidden = true
			hideChildren = true

			PARAMETER
			{
				name = HasPassengers
				type = HasCrew
				disableOnStateChange = false
				kerbal = @/passengers
			}
		}
	}
	PARAMETER
	{
		name = HasPassengers
		type = HasCrew
		title = Pick up passengers
		disableOnStateChange = false
		completeInSequence = true
		kerbal = @/passengers
	}
	PARAMETER
	{
		name = VisitWaypoint
		type = VisitWaypoint
		index = 0
		distance = 35
		title = Land your plane to the runway of the Old KSC and drive it to the parking
		disableOnStateChange = false
		completeInSequence = true
	}
	PARAMETER
	{
		name = ReachState
		type = ReachState
		maxSpeed = 0.0
		situation = LANDED
		title = Stop your vessel completely
		disableOnStateChange = false
		completeInSequence = true
		hideChildren = true
	}
	PARAMETER
	{
		name = Duration
		type = Duration
		duration = 30s
		preWaitText = Wait for the passengers to exit
		waitingText = Waiting for the passengers to exit
		completionText = The passengers left the board
		disableOnStateChange = false
		completeInSequence = true
	}
}
PARAMETER
{
	name = KerbalDeaths
	type = KerbalDeaths
	title = Flight must be safe (avoid killing passengers)
	hideChildren = true
	kerbal = @/passengers
}

 

 

Edited by OminousPenguin
Link to comment
Share on other sites

22 hours ago, nightingale said:

@Keniamin - You put python on top of Contract Configurator?!?  Neat!

Yes, I think declarative languages (like a contract configuration description) are good for machines but are not so good to write them manually, especially when you have to write (and then maintain!) a lot of similar files :) So I preferred to have some high-level logic here.

 

1 hour ago, OminousPenguin said:

Might an alternative to the exclude option be to have some sequential objectives requiring that before you start moving, you have a pilot and engineer aboard and not the passenger?

I'm doing my best to allow player reuse his planes in further missions, so I don't like PRELAUNCH condition at all. But the idea itself sounds interesting, I'll perform a check in a few days, is it possible to implement reasonable logic on this way.

Link to comment
Share on other sites

3 minutes ago, Keniamin said:

I'm doing my best to allow player reuse his planes in further missions, so I don't like PRELAUNCH condition at all. But the idea itself sounds interesting, I'll perform a check in a few days, is it possible to implement reasonable logic on this way.

Maybe just LANDED then? I might have a play around this evening.

Link to comment
Share on other sites

On ‎12‎.‎05‎.‎2016 at 11:39 PM, OminousPenguin said:

Maybe just LANDED then? I might have a play around this evening.

Well, after all, no. The method that you suggested allows player to cheat in this manner: launch vessel with required crew (HasCrew parameter would be completed and disabled), then disembark crew, load passengers and perform a flight (without actually having requested crew aboard). May be this can be avoided playing with values of disableOnStateChange option in various  parameters, but anyway this improvement introduces some more or less obvious ways to cheat. The only way which guarantees the desired behavior with no side effects is an exclude option. I've created an issue in CC GitHub repo. Will track for it and implement your request as soon as it would be released.

 

Link to comment
Share on other sites

13 hours ago, Alshain said:

FYI, your 1.1 release renamed the folder from 'KerbinSideGAP' to 'Kerbin Side GAP', this broke the flags.

Oh, shame on me. Really stupid bug :( Released 1.2 hotfix.

Thanks for your feedback!

Edited by Keniamin
Link to comment
Share on other sites

@Wolfox I've just released v1.4 with lighter dependencies. This mean you can now install Kerbin Side GAP from CKAN having only KS-Skyways. Contracts that concern unavailable bases would be disabled automatically.

Edited by Keniamin
Link to comment
Share on other sites

  • 2 weeks later...

Interested in a merger of your pack with GAP itself? With Module Manager now required for GAP, offering KerbinSide GAP contracts within GAP is a matter of a NEEDS: statement. If interested, I can give you collaborator rights to GAP on github. Let me know!

Link to comment
Share on other sites

  • 2 weeks later...

Hey Keniamin, I'm having some trouble getting the contracts to load. Attached is a screenshot of my debug screen; looks like it's getting tripped up by the BaseExists and BaseOpen requirements. I have Kerbin-Side Complete installed and working, and I think the latest versions of Module Manager and Contract Configurator. Is there something I might be missing? Let me know if you need any more information, and thanks! :)

VRkJVjd.jpg

 

Link to comment
Share on other sites

8 hours ago, SpiralOut said:

Hey Keniamin, I'm having some trouble getting the contracts to load. Attached is a screenshot of my debug screen; looks like it's getting tripped up by the BaseExists and BaseOpen requirements. I have Kerbin-Side Complete installed and working, and I think the latest versions of Module Manager and Contract Configurator. Is there something I might be missing? Let me know if you need any more information, and thanks! :)

VRkJVjd.jpg

 

You need Kerbin-Side Jobs, which includes the plugin that extends CC.

Link to comment
Share on other sites

  • 4 weeks later...

Is there an easy way to reduce the number of contracts that are available from KSGAP at one time? I'd like there to be 2-3, but it seems like it's always at least 4-6.

Actually I think mainly what's happening is that I don't want the Kerbin Side Job contracts, but since it's a dependency, I'm getting them. I'll try to separate them from the KSGAP ones and turn them off.

Link to comment
Share on other sites

On ‎04‎.‎07‎.‎2016 at 6:52 AM, drhay53 said:

Is there an easy way to reduce the number of contracts that are available from KSGAP at one time? I'd like there to be 2-3, but it seems like it's always at least 4-6.

Really there must not be 6. I set global restriction to 5 (or this is a bug in the Contract Configurator, though I don't think this is that case). I don't know easy way to reduce it, but you can edit file GameData/ContractPacks/KerbinSideGAP/Groups.cfg and change value of maxSimultaneous = 5 (line 8) to everything you want. Note, however, that this is local solution (if you reinstall/upgrade mod via CKAN or manually, value will be reset to default).
 

On ‎04‎.‎07‎.‎2016 at 6:52 AM, drhay53 said:

Actually I think mainly what's happening is that I don't want the Kerbin Side Job contracts, but since it's a dependency, I'm getting them. I'll try to separate them from the KSGAP ones and turn them off.

Yes, it's a dependency, due to KKCCExt license restrictions. If you really don't want to see them at all you can turn them off via Contract Configurator menu (there must be an icon at the main KSC screen).

9 hours ago, Doc Shaftoe said:

If anyone's interested, I've reworked the Agency logos from this pack.

Oh, beautiful. Yep, I'm interested :) Would you mind if I'll add your KCJ and BlueSky logos to the main Kerbin Side GAP repo (and next release of mod, of course)?

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