Jump to content

(1.12.x) Planes With Purposes (PWP)


Tudor Aerospace

Recommended Posts

On 1/12/2021 at 5:29 PM, 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.

That's indeed a CKAN metadata issue. When I indexed PWP initially, there was no "PWP" subfolder. So I made CKAN to create the "PlanesWithPurposes" folder to adhere to the ContractConfigurator standard and avoid conflicts with other contract pack mods (since they should all go into a mod-specific subfolder under "GameData/ContractPacks", not "GameData/ContractPacks" directly.

Now that the PlanesWithPurposes zip comes with a subfolder itself ("GameData/ContractPacks/PWP"), I can adjust the metadata to use that one, and the configs should work again.

Please make sure to report problems that you suspect are caused by CKAN on the CKAN thread in the future, don't bother mod authors with them.

Edit: fixed the metadata, if you refresh the registry now, CKAN should prompt you to reinstall PWP. If you click yes, it should be installed into the directory the config files expect.

Edited by DasSkelett
Link to comment
Share on other sites

14 hours ago, DasSkelett said:

That's indeed a CKAN metadata issue. When I indexed PWP initially, there was no "PWP" subfolder. So I made CKAN to create the "PlanesWithPurposes" folder to adhere to the ContractConfigurator standard and avoid conflicts with other contract pack mods (since they should all go into a mod-specific subfolder under "GameData/ContractPacks", not "GameData/ContractPacks" directly.

Now that the PlanesWithPurposes zip comes with a subfolder itself ("GameData/ContractPacks/PWP"), I can adjust the metadata to use that one, and the configs should work again.

Please make sure to report problems that you suspect are caused by CKAN on the CKAN thread in the future, don't bother mod authors with them.

Edit: fixed the metadata, if you refresh the registry now, CKAN should prompt you to reinstall PWP. If you click yes, it should be installed into the directory the config files expect.

Thanks for fixing the problem! I don't know why there was no PWP folder, since  it is in version 1.1. I guess I forgot to add it :/

Link to comment
Share on other sites

Speaking of CKAN metadata, the mod is listed as compatible with KSP 1.11 only. It probably works on earlier versions of KSP too, though, presumably on whatever version of KSP has a version of Contract Configurator that offers all the features PWP needs. I haven't tested, but the newest version of Contract Configurator is valid for 1.8.1 onward, so maybe the compatibility for PWP could be set to match.

Link to comment
Share on other sites

Hello! Small note about configs - each of the following configs has a mismatched number of curly braces, which appears mostly to be the result of a missing closing brace at the end of the file:

Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\100.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\2500m.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\AtlasII.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\AtlasIII.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\Gilly.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\Jool5.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\LandOnMinmus.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\ReachSpace.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\That'sOneSmallStep!.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Stunts\BarnstormRnDBridges.cfg

 

EDIT: Jool5.cfg in particular has *many* missing curly braces, such as on PARAMETER{}s - just a heads up.

Edited by AccidentalDisassembly
Link to comment
Share on other sites

On 1/19/2021 at 11:45 PM, AccidentalDisassembly said:

Hello! Small note about configs - each of the following configs has a mismatched number of curly braces, which appears mostly to be the result of a missing closing brace at the end of the file:

Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\100.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\2500m.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\AtlasII.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\AtlasIII.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\Gilly.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\Jool5.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\LandOnMinmus.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\ReachSpace.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Milestones\That'sOneSmallStep!.cfg
Check {} in C:\Games\KSP_win64\GameData\ContractPacks\PWP\Stunts\BarnstormRnDBridges.cfg

 

EDIT: Jool5.cfg in particular has *many* missing curly braces, such as on PARAMETER{}s - just a heads up.

Thanks for pointing that out! I'll make sure to fix that in the next update!

 

 

Link to comment
Share on other sites

  • 3 weeks later...
On 2/6/2021 at 9:14 PM, Caerfinon said:

the requirements for the first flight in career mode are that you've unlocked the tech necessary for elevons and air intakes.

I have supersonic parts unlocked already. Do I need other airplane part packs? I've been playing without them. Is this a milestone I'm missing? I am in career mode, and did fly a plane with an afterburner.

Link to comment
Share on other sites

19 minutes ago, Caerfinon said:
  • Do you have the contract pack installed correctly? It should be located in your GameData/ContractPacks/PWP.
  • Do you have the dependency mods installed? It requires both Contract Configurator and Module Manager to be installed to work.  

Thanks for following up with me :)

 

Going by ckan, I have

  • PWP1.4. Verified files in "C:\Program Files (x86)\GOG Galaxy\Games\Kerbal Space Program\GameData\ContractPacks"
  • Module manager 4.1.4
  • Contract Configurator 1.30.5, with waypoint manager and contracts window plus.

I have neither airplane plus nor kerbal aircraft expansion. Not sure if that matters.

Took some screenshots of my techtree, offered contracts and ckan if it helps.
https://1drv.ms/u/s!AvXc-3ExDKsvqn42U__xH2WhsecC?e=udbhmM

 

 

Link to comment
Share on other sites

18 minutes ago, beomagi said:

I have neither airplane plus nor kerbal aircraft expansion. Not sure if that matters.

These are not required. but add additional parts to make aircraft

18 minutes ago, beomagi said:

offered contracts

I do not see the "Build and Fly your First Airplane" as an offered contract in your picture. Can you check your PWP directory and insure that the file FirstFlight.cfg is in the Milestones directory?

1PqLRbJ.png

I installed the mod in my test system to check, and the version 1.4 loaded correctly and  offered the first contract.  To determine anything further I would need to see your KSP.log file and possibly have you turn on Contract Configurator debugging.

If the file is present it my be corrupt and just needs to be replaced from a fresh install of PWP.

Link to comment
Share on other sites

14 hours ago, Caerfinon said:

If the file is present it my be corrupt and just needs to be replaced from a fresh install of PWP.

I can see the file there. I dropped it into the onedrive folder.

I can see the contract for build your first airplane.

I turned on verbose logging and tried to get that contract. There's a contractconfigurator\log\pwp\FirstFlight.log file

Error reported at the end of it.

Output log:
[INFO] ContractConfigurator.ContractType: Loading CONTRACT_TYPE: 'FirstFlight'
[WARNING] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'FirstFlight'
 

Link to comment
Share on other sites

1 hour ago, beomagi said:

Output log:
[INFO] ContractConfigurator.ContractType: Loading CONTRACT_TYPE: 'FirstFlight'
[WARNING] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'FirstFlight'

Can you add your ksp.log file to the one drive folder?  Should be in C:\Program Files (x86)\GOG Galaxy\Games\Kerbal Space Program directory

Link to comment
Share on other sites

1 hour ago, Caerfinon said:

Can you add your ksp.log file to the one drive folder?  Should be in C:\Program Files (x86)\GOG Galaxy\Games\Kerbal Space Program directory

done

ignore the part about duplicate stuff, I backed up the file thinking i'd remove requirements and parts until it worked, then add back bit by bit :P

[ERR 14:51:33.475ContractConfigurator.PartModuleUnlockedRequirement: CONTRACT_TYPE 'FirstFlight', REQUIREMENT 'PartModuleUnlocked' of type 'PartModuleUnlocked': A validation error occured while loading the key 'partModule' with value 'System.Collections.Generic.List`1[System.String]'.
Edited by beomagi
Link to comment
Share on other sites

12 minutes ago, beomagi said:

done

A couple of things;

You have two FirstFlight files in your directory  that are trying to load. And then  one blows up trying to validate the "FARControllableSurface"

[LOG 14:50:50.284] Config(CONTRACT_TYPE) ContractPacks/PWP/Milestones/FirstFlight/FirstFlight
[LOG 14:50:50.284] Config(CONTRACT_TYPE) ContractPacks/PWP/Milestones/FirstFlight.cfgbackup/FirstFlight
[ERR 14:51:32.905] ContractConfigurator.ContractConfigurator: Couldn't load CONTRACT_TYPE 'FirstFlight' due to a duplicate name.

[LOG 14:51:33.471] [INFO] ContractConfigurator.ContractType: Loading CONTRACT_TYPE: 'FirstFlight'
[ERR 14:51:33.475] ContractConfigurator.PartModuleUnlockedRequirement: CONTRACT_TYPE 'FirstFlight', REQUIREMENT 'PartModuleUnlocked' of type 'PartModuleUnlocked': A validation error occured while loading the key 'partModule' with value 'System.Collections.Generic.List`1[System.String]'.

[EXC 14:51:33.480] ArgumentException: No PartModule class for 'FARControllableSurface'.
	ContractConfigurator.Validation.ValidatePartModule (System.String name) (at <ef0243a06f2841fe9bf57034a334902e>:0)
	System.Linq.Enumerable.All[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) (at <fbb5ed17eb6e46c680000f8910ebb50c>:0)
	ContractConfigurator.PartModuleUnlockedRequirement+<>c.<LoadFromConfig>b__1_1 (System.Collections.Generic.List`1[T] x) (at <ef0243a06f2841fe9bf57034a334902e>:0)
	ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Action`1[T] setter, ContractConfigurator.IContractConfiguratorFactory obj, T defaultValue, System.Func`2[T,TResult] validation) (at <ef0243a06f2841fe9bf57034a334902e>:0)
	UnityEngine.DebugLogHandler:LogException(Exception, Object)
	ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
	UnityEngine.Debug:LogException(Exception)
	ContractConfigurator.LoggingUtil:LogException(Exception)
	ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
	ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
	ContractConfigurator.PartModuleUnlockedRequirement:LoadFromConfig(ConfigNode)
	ContractConfigurator.ContractRequirement:GenerateRequirement(ConfigNode, ContractType, ContractRequirement&, IContractConfiguratorFactory)
	ContractConfigurator.ContractRequirement:GenerateRequirement(ConfigNode, ContractType, ContractRequirement&, IContractConfiguratorFactory)
	ContractConfigurator.ContractType:Load(ConfigNode)
	ContractConfigurator.<LoadContractTypeConfig>d__31:MoveNext()
	ContractConfigurator.<FinalizeContractTypeLoad>d__30:MoveNext()
	UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[WRN 14:51:33.481] ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'FirstFlight'

Do you have the latest version of FerramAerospaceResearch installed? The contract is trying to trying to validate that you have unlocked the FerramAerospaceResearch part module FARControllableSurface

  1. You should remove ContractPacks/PWP/Milestones/FirstFlight.cfgbackup/FirstFlight
  2. You should upgrade FerramAerospaceResearch if possible.
  3.  If one and two do not work, you can edit out the requirement in the FirstFlight.cfg file. The stanza to remove is:
		REQUIREMENT:NEEDS[FerramAerospaceResearch]
		{
			name = PartModuleUnlocked
			type = PartModuleUnlocked
			title = Aileron or Elevon
			
			partModule = FARControllableSurface

		}

 

 

Link to comment
Share on other sites

3 minutes ago, Caerfinon said:
  • You should upgrade FerramAerospaceResearch if possible.

This was it.

had FAR installed at some point. It was removed, but it leaves .cfg files.

I finally got the first flight contract only after deleting those.

Much thanks for sticking with this :D

 

Link to comment
Share on other sites

So, having another problem progressing. I've been trying the "reach space" mission, but it doesn't register that I went higher than 70k meters.

https://1drv.ms/u/s!AvXc-3ExDKsvqn42U__xH2WhsecC?e=udbhmM

I've gone higher than 70k, landed safely, and I believe the plane met the requirements. I've dropped my ksp.log in the folder linked above.

Flights started at lines 11717 and 12509.

f1.jpg?psid=1

 

 

Edit: I'm seeing some exceptions concerning joints - perhaps it thinks it didn't land safely? Still that happens before the flight.

[ERR 20:38:50.931Exception handling event onPartJointBreak in class VesselNotDestroyed:System.NullReferenceException: Object reference not set to an instance of an object
  at ContractConfigurator.Parameters.VesselNotDestroyed.OnPartJointBreak (PartJoint p, System.Single breakForce) [0x00014] in <ef0243a06f2841fe9bf57034a334902e>:0 
  at EventData`2[T,U].Fire (T data0, U data1) [0x000b0] in <2afc64dea36946459d4707808bdac511>:0 
 
[EXC 20:38:50.932NullReferenceException: Object reference not set to an instance of an object
  ContractConfigurator.Parameters.VesselNotDestroyed.OnPartJointBreak (PartJoint p, System.Single breakForce) (at <ef0243a06f2841fe9bf57034a334902e>:0)
  EventData`2[T,U].Fire (T data0, U data1) (at <2afc64dea36946459d4707808bdac511>:0)
  UnityEngine.DebugLogHandler:LogException(Exception, Object)
  ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
  UnityEngine.Debug:LogException(Exception)
  EventData`2:Fire(PartJoint, Single)
  PartJoint:DestroyJoint()
  Part:ReleaseAutoStruts()
  Part:onDetach(Boolean)
  Part:onDetach(Boolean)
  Part:onDetach(Boolean)
  EditorLogic:detachPart(Part)
  EditorLogic:<SetupFSM>b__190_21()
  KerbalFSM:RunEvent(KFSMEvent)
  KerbalFSM:updateFSM(KFSMUpdateMode)
  KerbalFSM:UpdateFSM()
  EditorLogic:Update()
Edited by beomagi
Link to comment
Share on other sites

1 hour ago, beomagi said:

I've been trying the "reach space" mission, but it doesn't register that I went higher than 70k meters

It can't complete. There is an error in the file ReachSpace.cfg that chains "fly above 70,000m" with "and then land and stop anywhere" and "safely" steps.

in the code segment below there is a missing "}"  which should line up with the  "{" under the first PARAMETER.  If you edit the file and add the brace where I indicated you should be able to do the mission. You will likely need to cancel the existing mission as it is saved with the error in your persistent.sfs. You will need to reload your game to pick up the change in the ReachSpace.cfg  file.     

//Contract Goals
	PARAMETER
	{
		name = All
		type = All
		title = get to space
		
		PARAMETER
		{
			name = VesselParameterGroup
			type = VesselParameterGroup
			title = fly above 70,000m
			
			vessel = @/craft
			
			PARAMETER
			{
				name = ReachState
				type = ReachState
				
				targetBody = Kerbin
				situation = FLYING
				minAltitude = 69999
				

				disableOnStateChange = false
				hideChildren = true
				hidden = true
				
			}
		
			completeInSequence = false
			disableOnStateChange = false
			hideChildren = true	

		}
		
      // < -- no closing brace on this line

@Tudor Aerospace FYI on this bug.

Link to comment
Share on other sites

FYI, all of these configs still have a mismatched number of curly braces in the most recent version 1.4 uploaded to Spacedock (the one that appeared updated today):

GameData\ContractPacks\PWP\Milestones\100.cfg
GameData\ContractPacks\PWP\Milestones\2500m.cfg
GameData\ContractPacks\PWP\Milestones\AtlasII.cfg
GameData\ContractPacks\PWP\Milestones\AtlasIII.cfg
GameData\ContractPacks\PWP\Milestones\Gilly.cfg
GameData\ContractPacks\PWP\Milestones\Jool5.cfg
GameData\ContractPacks\PWP\Milestones\LandOnMinmus.cfg
GameData\ContractPacks\PWP\Milestones\ReachSpace.cfg
GameData\ContractPacks\PWP\Milestones\That'sOneSmallStep!.cfg
GameData\ContractPacks\PWP\Stunts\BarnstormRnDBridges.cfg

EDIT: Jool5.cfg is particularly egregious in this respect; especially near the end of the file. Many of the parameters/groups are nested in ways that look incorrect at first glance...

Edited by AccidentalDisassembly
Link to comment
Share on other sites

On 1/12/2021 at 11:00 AM, Tudor Aerospace said:

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.

Perhaps you could add a reputation bonus for safe recovery of crew and science bonus for safe recovery of craft.

BTW, the mod sounds pretty interesting, will give it a try in near future.

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