nightingale

[1.6.x+] Contract Configurator [v1.27.1] [2018-12-28]

Recommended Posts

Just now, DMagic said:

anomaly science does not conform to standard science in any way

Yeah, it's ignored in the fixed DMagicOrbitalScience.cfg  for this very reason.

Aside, wow, this ridiculous WYSI(S)WYG post editor still is super broken.

Share this post


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

Orbital Science does not use Contract Configurator and the anomaly survey science does, in fact, use the Flying Low situation for any results that are collected with the anomaly scanner while not landed on the surface. The anomaly science does not conform to standard science in any way, including this one.

I'm using the Anomaly Surveyor Contract Pack which should be using Contract Configurator. The problem I'm seeing is that I've had contracts on Minmus of the form:

  1. Collect Anomaly Data Landed
  2. Telescope Data Flying Low
  3. Multi-spectral Data Flying Low

Hovering 1m above the anomaly gets an error that I'm too far away and need to get closer. So do all DMagic instruments use Flying Low for in space on Minmus and the Mun? I didn't have a fix for this so I hadn't reported it.

Edited by Tonka Crash

Share this post


Link to post
Share on other sites

Earlier in this thread, a member of our moderation team sent a light warning in the form of a post. Since then, this thread has generated a few posts which were reported by other members because of personal attacks. Posts have been edited to ensure this thread follows the intent of the forum guidelines and the previously mentioned warning.

Please refrain from personal attacks and other inflammatory statements in the future. By all means, feel free to discuss game and mod issues - but without personal insults and provocation. Further need of moderator intervention may result in warning points being given.

Share this post


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

Yeah, it's ignored in the fixed DMagicOrbitalScience.cfg  for this very reason.

What fixed DMagicOrbitalScience.cfg? Is it something not in the CKAN release? 

Also, I didn't blame B&S for the mismatched experiment and situation, but I can see where you got that idea. I just pointed out how I get around these errors with the debug menu, where ever they came from. Debugging contracts is beyond the ability of a lot of players. Sometimes you just want to play the game instead of diving into .cfg files.

There is a bug in B&S that that when it's brought up in his thread LGG just refers to this thread. The post I was responding to did mention it. Contracts from B&S are refreshed and disappear before you can select them. It's discussed on the previous page before you jumped in. I first reported it 6 months ago and kludged around it for me, but it isn't a proper fix for the underlying problem. 

If I had a fix I'd share like I frequently do, check my history over the last week for some of the recent ones.

Share this post


Link to post
Share on other sites
42 minutes ago, Tonka Crash said:

I'm using the Anomaly Surveyor Contract Pack which should be using Contract Configurator. The problem I'm seeing is that I've had contracts on Minmus of the form:

  1. Collect Anomaly Data Landed
  2. Telescope Data Flying Low
  3. Multi-spectral Data Flying Low

Again, nothing to do with the contract pack. If you had looked in the files shipped by Anomaly Surveyor you would have see that there are no configs for Minmus at all, therefore it can have nothing to do with it.
Those are generic Contract Configurator "collect science"  contracts, and the changes to DmagicOrbitalScience.cfg I linked remove AnomalyScan from the list of valid experiments to avoid exactly this situation.

 

47 minutes ago, Tonka Crash said:

I didn't have a fix for this so I hadn't reported it

It's been fixed, it's just not packaged for release yet. Go get that file from master.

Share this post


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

It's been fixed, it's just not packaged for release yet. Go get that file from master.

If it's not released it doesn't exist as far as I'm concerned. Hopefully it will be released by the next time I run across one of these contracts.

Share this post


Link to post
Share on other sites

[snip]

 

1 hour ago, Tonka Crash said:

What fixed DMagicOrbitalScience.cfg?

The one in the github master tree, which contains the commit I linked.

 

1 hour ago, Tonka Crash said:

Is it something not in the CKAN release?

CKAN, right... Several mod authors say "CKAN: no support" for good reason.
In this case it's not there because CKAN pulls from the release zips not the master tree. If you want the fix you'll have to go download it.

 

52 minutes ago, Tonka Crash said:

If it's not released it doesn't exist as far as I'm concerned.

Your loss. Getting a single file from github (or fixing it yourself for that matter) isn't all that hard, but if you want to keep experiencing this bug knock yourself out.

Edited by Vanamonde

Share this post


Link to post
Share on other sites

Last notice, folks. If the personal and argumentative comments don't stop, we're going to be handing out warnings. 

Share this post


Link to post
Share on other sites

@Inqie

 

Maybe something like this:

 

PARAMETER
{
	name = all
	type = All
	
	PARAMETER
	{
		name = PartValidation
		type = PartValidation

		title = Do warp engine stuff
		hideChildren = true

		FILTER
		{
			partModule	 = USI_ModuleWarpEngine
		}
		
		VALIDATE_ALL
		{
			isEnabled = True
			IsDeployed = True				
		}
	}
}

 

Edited by Grigetio

Share this post


Link to post
Share on other sites
10 hours ago, Grigetio said:

@Inqie

Maybe something like this:

Spoiler


PARAMETER
{
	name = all
	type = All
	
	PARAMETER
	{
		name = PartValidation
		type = PartValidation

		title = Do warp engine stuff
		hideChildren = true

		FILTER
		{
			partModule	 = USI_ModuleWarpEngine
		}
		
		VALIDATE_ALL
		{
			isEnabled = True
			IsDeployed = True				
		}
	}
}

 

 

Thank you for the suggestion @Grigetio :) . Can I ask if you know where I can find documentation of the syntax which FILTER / VALIDATE_ALL / NONE etc. nodes are a part of?

Apart from that, the solution you presented works, with a slight edit in code, if your ship matches at launch:

FILTER
{
	partModule = USI_ModuleWarpEngine
}

VALIDATE_ALL
{
	MODULE
	{
		isEnabled = True
		IsDeployed = True
	}
}

But unfortunately, once a validation check fails once (ie. at launch), it won't detect a change in it mid-flight, even with "disableOnStateChange = false". Another problem is that using operators like < <= => > instead of = cause the contract to just ignore the argument, immediately causing the parameter to succeed. 

Edit: I forgot to mention "completeInSequence = true" doesn't affect when the validation occurs (it will still happen at launch)

I hope someone or yourself can clear things up. 

Edited by Inqie

Share this post


Link to post
Share on other sites

I used the documentation on the wiki and examples, but ultimately came here and saw you were having the same problem (including the weird spacing in the module name). After looking at the code, Nightingale's GAP pack that he just updated and a couple of other's I got the part validation to work.  https://github.com/jrossignol/ContractConfigurator/wiki/Parameters

 

 

Anyway, can you put that in a vessel parameter group, which is checked afterward, using define and such. This should delay the check:

	DATA
	{
		type = string
		craft = HM_Test
		name = Test
	}

	PARAMETER
	{
		name = @/craft
		type = VesselParameterGroup
		title = Launch the @/name satellite into orbit
		
		define = @/craft
		dissassociateVesselsOnContractCompletion = true
		disableOnStateChange = true

		PARAMETER
		{
			name = NewVessel
			type = NewVessel
			title = Vessel must be new
		}

		PARAMETER 
		{
			name = Crewmembers
			type = HasCrew 
			minCrew = 0
			maxCrew = 0
			title = Vessel must be unmanned
			hideChildren = true
		}
		PARAMETER
		{
			name = Orbit
			type = Orbit
			targetBody = HomeWorld()
			minPeA  = @/minAlt
		}
	}

	PARAMETER
	{	
		type = VesselParameterGroup
		name = HM_VesselParameterGroup
		vessel = @/craft
		hideVesselName = true
		completeInSequence = true
		hideChildren = false
		disableOnStateChange = true
		title = Get the @/mnMass kG @/name into space with a periapsis of at least @/minAlt meters
		
		PARAMETER
		{
			name = PartValidation
			type = PartValidation
			
			FILTER
			{
				partModule	 = ModuleDeployableSolarPanel
			}
		}
		
		PARAMETER
		{
			name = VesselMass
			type = VesselMass

			// Default:   0.0 (minMass),float.MaxValue (maxMass)
			minMass = @/mnMass / 1000
			//maxMass = 10.0
			title = Have an orbital mass greater than @/mnMass kg
			completeInSequence = true
		}
	}

 

 

 

Share this post


Link to post
Share on other sites
On 2/11/2019 at 3:21 AM, Grigetio said:

Anyway, can you put that in a vessel parameter group, which is checked afterward, using define and such. This should delay the check:

Unfortunately for me, putting it all in a VesselParameterGroup hasn't affected when the check occurs. 

Spoiler

	PARAMETER // Define craft parameters
	{
		name = @/craft
		type = VesselParameterGroup
		title = Your craft must
		
		define = @/craft
		dissassociateVesselsOnContractCompletion = true
		disableOnStateChange = false

		PARAMETER // be Manned by atleast 1 Kerbal
		{
			name = HasCrew
			type = HasCrew
			title = be manned by atleast 1 Kerbal
			
			minCrew = 1
		
			disableOnStateChange = false
			hideChildren = true
		}
		
		PARAMETER // and be fitted with a warp-capable engine
		{
			name = PartValidation
			type = PartValidation
			title = and be fitted with a warp-capable engine

			part = USI_WarpDrive
			part = USI_WarpDrive_625
			part = ZWarpDrive25
			part = ZWarpDrive125
			part = ZWarpDrive375
			
			disableOnStateChange = false
			hideChildren = true
		}
	}

... other parameters like matching target's orbit etc. ...


	PARAMETER // limit thrust to 25%
	{
		name = thrustVesselParameterGroup
		type = VesselParameterGroup
		title = Limit your warp engine thrust to 25%
		
		vessel = @/craft
		hideVesselName = true
		disableOnStateChange = true // doesn't affect check
		completeInSequence = true // "
		
		PARAMETER
		{
			name = PartValidation
			type = PartValidation
			
		//	hidden = true
		//	hideChildren = true
			
			FILTER
			{
				partModule = ModuleEngines
			}
			
			VALIDATE_ALL
			{
				MODULE
				{
					thrustPercentage = 25
				}
			}
		}
	}
	
	PARAMETER // activate warp engine
	{
		name = activateVesselParameterGroup
		type = VesselParameterGroup
		title = Activate your warp-capable engine
		
		vessel = @/craft
		hideVesselName = true
		disableOnStateChange = true // doesn't affect check
		completeInSequence = true // "
		
		PARAMETER
		{
			name = PartValidation
			type = PartValidation
			
		//	hidden = true
		//	hideChildren = true
			
			FILTER
			{
				partModule = USI_ModuleWarpEngine
			}
			
			VALIDATE_ALL
			{
				MODULE
				{
					IsDeployed = True
				}
			}
		}
	}

 

I honestly don't know if I'll have to resort to just giving the player a 10sec timer telling them to do it manually and just hoping they do it. 

Edited by Inqie

Share this post


Link to post
Share on other sites

I'm still playing with writing contracts so as I get deeper I'll let you know if I find anything.

Share this post


Link to post
Share on other sites

I don't mean to be too much of a bother but this is the final sequence of the contract I'm working on.

Spoiler

	PARAMETER // distance check
	{
		name = DistanceCheck
		type = Rendezvous
		
		vessel = @/craft
		vessel = Derelict Ship O75A
		
		distance = 15000.0
		
		disableOnStateChange = true
		hidden = true
	}

	PARAMETER
	{
		name = Any
		type = Any
		title = (Optional)
		
		disableOnStateChange = true
		completeInSequence = true
		
		PARAMETER
		{
			name = TargetDestroyed
			type = TargetDestroyed
			title = and destroy the target before its sensors detect you!
			
			vessel = Derelict Ship O75A
				
		//	disableOnStateChange = true
			rewardFunds = Random(80000.0, 95000.0)
		}
		
		PARAMETER // Destroy timer
		{
			name = Timer2
			type = Duration
			startCriteria = PARAMETER_COMPLETION
			parameter = DistanceCheck
			duration = 15s
			preWaitText = Target's sensors need calibration
			waitingText = Target's sensors calibrated in
			completionText = Target's sensors have detected you
		//	disableOnStateChange = true
		}
	}

 

Destroying the target is optional and nets bonus funds, and if the player decides to do it, they'll have to do it in 15s. 

However with my current code, when the TargetDestroyed parameter (and thus the Any) completes, it sometimes appears in the UI as failed, and whether or not it visually shows as failed, it must internally fail because the timer does not stop (which it should as Any contains disableOnStateChange = true) and the contract does not complete immediately.

Weirdly though, you immediately get the bonus funds when TargetDestroyed completes, suggesting it in fact hasn't failed.
Anyone know whats going on here?

Full contract (above code near bottom): https://pastebin.com/1i00y2XU

Edited by Inqie

Share this post


Link to post
Share on other sites

I have an issue where a contract is locked, and the mod just be bugged (Probes before Crew) so it isn't releasing the contract as it thinks I didn't meet the prerequisites (even though I have). As such, is there a way to manually edit a file to tell it those prereqs are met?

I can find the missions I can accept in my save file, but can't seem to find the locked missions anywhere, so not sure were that data is tracked to release them.

 

EDIT: Nevermind, I realized I needed to modify a couple parameters in my save file:

    SCENARIO
    {
        name = PersistentDataStore
        scene = 7, 8, 5
        DATA
        {
            MoonsCounter = Double:4
            DunaVisit = Double:1
            EvnaLanded = Double:2
            EveVisit = Double:1
        }

 

Had to add the  "EveVisit = Double:1" and change the  "EvnaLanded = Double:2" from a 1 to 2. I'll go mention it to the PBC author.

Edited by MechBFP

Share this post


Link to post
Share on other sites
Posted (edited)

Hi there, longtime user of Contract Configurator / first-time poster RE: Contract Configurator.

I've been seeing an error message in my logs recently and wondering if someone could provide context? Is this something I need to worry about, or is it negatively impacting my game?

[ERR 11:09:37.132] Input is null for field 'agent' in config node 'CONTRACT'
   at System.Environment.get_StackTrace()
   at ConfigNode.AddValue(System.String name, System.String value)
   at Contracts.Contract.Save(.ConfigNode node)
   at ContractConfigurator.ContractPreLoader.OnSave(.ConfigNode node)
   at ScenarioModule.Save(.ConfigNode node)
   at ProtoScenarioModule..ctor(.ScenarioModule module)
   at ScenarioRunner.UpdateModules()
   at ScenarioRunner.GetUpdatedProtoModules()
   at Game.Updated(GameScenes startSceneOverride)
   at GamePersistence.SaveGame(System.String saveFileName, System.String saveFolder, SaveMode saveMode, GameScenes startScene)
   at GamePersistence.SaveGame(System.String saveFileName, System.String saveFolder, SaveMode saveMode)
   at SpaceCenterBuilding.UpgradeFacility(Boolean deduceFunds)
   at SpaceCenterBuilding.OnContextMenuDismissed(DismissAction dma)
   at KSP.UI.Screens.KSCFacilityContextMenu.Dismiss(DismissAction dma)
   at KSP.UI.Screens.KSCFacilityContextMenu.OnUpgradeButtonInput()
   at UnityEngine.Events.InvokableCall.Invoke()
   at UnityEngine.Events.UnityEvent.Invoke()
   at UnityEngine.UI.Button.Press()
   at UnityEngine.UI.Button.OnPointerClick(UnityEngine.EventSystems.PointerEventData eventData)
   at UnityEngine.EventSystems.ExecuteEvents.Execute(IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData)
   at UnityEngine.EventSystems.ExecuteEvents.Execute(UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor)
   at UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress(UnityEngine.EventSystems.MouseButtonEventData data)
   at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent(Int32 id)
   at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent()
   at UnityEngine.EventSystems.StandaloneInputModule.Process()
   at UnityEngine.EventSystems.EventSystem.Update()

Thanks for any and all assistance in tracking down this contract-related error message! Also, please let me know if this is not in fact Contract Configurator-related.

A little background:

  • I've been trying to optimize this current 1.6.1 install, but I keep seeing a lot of the debugging messages on screen and then in my logs
  • Overall, my current game feels moderately unstable so I'm trying to eliminate things that are causing ERRORS and EXCEPTIONS
  • Most of my mods are up-to-date althought AVC is telling me a few of these are for 1.5.x but otherwise I'm only running mods that I've confirmed via the forums are for the most part working in 1.6.1

For reference, here's my most recent log file: KSP 031219 Time 1111.log

And my current mod list:

Spoiler

Flight Manager for Reusable Stages (FMRS) Continued (FMRSContinued 1.2.7.4)
[x] Science! Continued (xScienceContinued 5.20)
Action Groups Extended (AGExt 1:2.3.3.8)
B9 Part Switch (B9PartSwitch v2.6.0)
BetterTimeWarpContinued (BetterTimeWarpCont 2.3.11.2)
Bluedog Design Bureau (BluedogDB v1.5.2)
ClickThrough Blocker (ClickThroughBlocker 0.1.7.1)
CollisionFX-Updated (CollisionFXUpdated 0.8.3.1.1)
CommNet Constellation (CommNetConstellation 1.3.1)
Community Category Kit (CommunityCategoryKit 4.1.0.0)
Community Resource Pack (CommunityResourcePack 1.1.0.0)
Community Tech Tree (CommunityTechTree 1:3.3.6)
Community Terrain Texture Pack (CommunityTerrainTexturePack 1:1.0.4)
Community Trait Icons (CommunityTraitIcons v1.0.2)
Contract Configurator (ContractConfigurator 1.27.1)
Contract Pack: Bases and Stations Reborn (ContractConfigurator-KerbinSpaceStation 2:3.7.1.3)
Contract Pack: Field Research (ContractConfigurator-FieldResearch 1.2.1)
Contract Pack: Kerbal Academy (ContractConfigurator-KerbalAcademy 1.1.10)
Contract Pack: Tourism Plus (ContractConfigurator-Tourism 1.5.2)
Contract Parser (ContractParser 8.0)
Contracts Window + (ContractsWindowPlus 9.2)
Craft Manager (CraftManager 1.1.5)
Decoupler Shroud (DecouplerShroud 0.6.1)
Distant Object Enhancement (DistantObject v1.9.1.1)
Distant Object Enhancement default config (DistantObject-default v1.9.1.1)
DMagic Orbital Science (DMagicOrbitalScience 1.4.2)
DMModuleScienceAnimateGeneric (DMagicScienceAnimate v0.21)
Docking Port Alignment Indicator (DockingPortAlignmentIndicator 6.8.3)
Draggable Altimeter (DraggableAltimeter v1.0.1)
Draggable Navball (DraggableNavball v1.0.1)
Dynamic Battery Storage (DynamicBatteryStorage 2:1.4.0.0)
Easy Vessel Switch (EVS) (EasyVesselSwitch 1.10)
Editor Extensions Redux (EditorExtensionsRedux 3.3.19.10)
Environmental Visual Enhancements (EnvironmentalVisualEnhancements 2:EVE-1.4.2-2)
Environmental Visual Enhancements - Stock Planet Config files (EnvironmentalVisualEnhancements-HR 2:EVE-1.2.2-1)
Feline Utility Rovers (FelineUtilityRovers 1.2.9)
HangerExtender (HangerExtenderExtended 3.5.3.5)
Heat Control (HeatControl 0.4.10)
Hide Empty Tech Tree Nodes (HideEmptyTechNodes 1.1.0)
HyperEdit (HyperEdit 1.5.8.0)
IndicatorLights (IndicatorLights 1.4.2)
IndicatorLights Community Extensions (IndicatorLightsCommunityExtensions 1.4)
Interstellar Fuel Switch (InterstellarFuelSwitch 3.6.18.3)
Interstellar Fuel Switch Core (InterstellarFuelSwitch-Core 3.6.18.3)
Keep It Straight (KeepItStraight 1.0.5)
Kerbal Alarm Clock (KerbalAlarmClock v3.10.0.0)
Kerbal Engineer Redux (KerbalEngineerRedux 1.1.5.7)
Kerbal Improved Save System (KerbalImprovedSaveSystem v2.4.0)
KerbalJointReinforcement (recent version that works with KSP 1.6.1)
Kerbal Planetary Base Systems (KerbalPlanetaryBaseSystems v1.6.8)
Kerbalism (Kerbalism 2.1.2)
Kopernicus Planetary System Modifier (Kopernicus 2:release-1.6.1-2)
KSP AVC (KSP-AVC 1.2.0.7)
KW Rocketry Rebalanced (KWRocketryRebalanced 3.2.6.1)
KXAPI (KXAPI 1.1.0)
Making Less History (MakingLessHistory 1.0)
MechJeb 2 (MechJeb2 2.8.3.0)
MechJeb and Engineer for all! (MechJebForAll 1.3.0.5)
MemGraph (MemGraph 1:1.1.1.5)
MissingHistory (MissingHistory 1.7.2)
Mk2 Stockalike Expansion (Mk2Expansion 2:1.8.3.5)
Mk3 Stockalike Expansion (Mk3Expansion 1.4.7.5)
ModularFlightIntegrator (ModularFlightIntegrator 1.2.6.0)
Module Manager (ModuleManager 4.0.2)
MSP-3000 Material Science Pod (MSP3000 v1.1)
NavHud (NavHudRenewed 1.3.6.2)
Near Future Construction (NearFutureConstruction 1.0.6)
Near Future Electrical (NearFutureElectrical 0.10.6)
Near Future Electrical Core (NearFutureElectrical-Core 0.10.6)
Near Future IVA Props (NearFutureProps 1:0.5.0)
Near Future Launch Vehicles (NearFutureLaunchVehicles 1.1.10)
Near Future Propulsion (NearFuturePropulsion 1.0.7)
Near Future Solar (NearFutureSolar 0.8.15)
Near Future Solar Core (NearFutureSolar-Core 0.8.15)
Near Future Spacecraft (NearFutureSpacecraft 1.0.3)
Outer Planets Mod (OuterPlanetsMod 2:2.2.2)
Patch Manager (PatchManager 0.0.16.4)
PlanetShine (PlanetShine 0.2.6.1)
PlanetShine - Default configuration (PlanetShine-Config-Default 0.2.6.1)
Portrait Stats (PortraitStats 17.0)
Precise Node (PreciseNode 1.2.10)
Progress Parser (ProgressParser 10.0)
RCS Build Aid Continued (RCSBuildAidCont 1:0.9.7.4)
Real Plume (RealPlume 2:v11.1.0)
Real Plume - Stock Configs (RealPlume-StockConfigs v1.3.1)
Realistic Atmospheres (RealisticAtmospheres 1.3.0)
RecoveryController (RecoveryController 0.0.3.7)
Reentry Particle Effect (ReentryParticleEffect 1.4)
RLA Reborn (RLAReborn 0.15.1.7)
scatterer (Scatterer 2:v0.0336)
scatterer - default config (Scatterer-config 2:v0.0336)
scatterer - sunflare (Scatterer-sunflare 2:v0.0336)
Science Relay (ScienceRelay 5.1)
SmokeScreen - Extended FX Plugin (SmokeScreen 2.8.1.0)
Stockalike Mining Extension (StockalikeMiningExtension 0.99.2)
Stockalike Station Parts Expansion Redux (StationPartsExpansionRedux 1.1.0)
Surface Mounted Lights (surfacelights 1.12)
TAC Fuel Balancer (TacFuelBalancer v2.20)
The Janitor's Closet (JanitorsCloset 0.3.4.6)
Toolbar (Toolbar 1.7.18)
Toolbar Controller (ToolbarController 1:0.1.6.20)
Tracking Station Evolved (TrackingStationEvolved 4.1)
Trajectories (Trajectories v2.2.2)
Transfer Window Planner (TransferWindowPlanner v1.6.3.0)
TriggerAu Flags (TriggerAu-Flags v2.9.3.0)
TRP-Hire (TRPHire 0.6.8.9)
TweakScale - Rescale Everything! (TweakScale v2.4.1.0)
Tweakscale Configs for Making History (TweakscaleMakingHistoryConfigs 1.0e)
Ven's Stock Revamp (latest version)
Universal Storage II (UniversalStorage2 1.6.0.9)
WorldStabilizer (WorldStabilizer 0.9.3)

 

 

Edited by scottadges

Share this post


Link to post
Share on other sites

@scottadges Somewhere you have an agent definition missing the line "title = some_agent_name I've seen a few of these from older mods. Below is a snippet of  of an agent definition config. The format appears to have changed at some point where name and title are required. Almost every file I've seen they are just duplicates of each other. The simplest way to find them is to search through the ModuleManager.ConfigCache to see which agent definition is missing a title line. I then post a message to the mod maintainer here and fix it myself locally while I wait for the mod maintainer to get around to updating the mod. 

AGENT
{
	name = Munar Industries
	title = Munar Industries // If this is missing it throws an error

	...
}

 

Share this post


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

@scottadges Somewhere you have an agent definition missing the line "title = some_agent_name I've seen a few of these from older mods. Below is a snippet of  of an agent definition config. The format appears to have changed at some point where name and title are required. Almost every file I've seen they are just duplicates of each other. The simplest way to find them is to search through the ModuleManager.ConfigCache to see which agent definition is missing a title line. I then post a message to the mod maintainer here and fix it myself locally while I wait for the mod maintainer to get around to updating the mod.

Thanks for this.  So, something like:

UrlConfig
{
	parentUrl = RealChute/Agencies/Agents
	AGENT
	{
		name = RealChute
		description = A division of Wenkel Corporation, RealChutes was the result of an Industry-Government-Academia Joint Research project undertaken in conjunction with the Kerbal Space Administration (KSA) and the University of Kerbin to develop improved spacecraft recovery systems.
		logoURL = RealChute/Flags/RealChute
		logoScaledURL = RealChute/Agencies/RealChute_scaled
		standing = Wenkel Corporation, 2
		mentality = Startup
		mentality = Cooperative
		mentality = Pioneer
		mentality = Stern 0.5
	}
}

is missing the title parameter and causes exceptions?  I've found this discrepancy in my career game with Real Chutes, Indicator Lights and Strategia.

How does one fix it locally?  Even with my limited knowledge, changing the .ConfigCache wouldn't be a permanent fix.

Share this post


Link to post
Share on other sites

@BrigadierGo the file pointed to in the parent URL and edit that, but be warned this will get overwritten when the mod updates. Hopefully the mod would be repaired by the maintainer by then. Another fix would be a patch file addressing the specific agent.

Share this post


Link to post
Share on other sites
Posted (edited)
7 minutes ago, Tonka Crash said:

Go the file pointed to in the parent URL and edit that

Thanks @Tonka Crash for your insight into this issue. I've looked at my 'ModuleManager.ConfigCache' and found a few instances where there isn't a title. 

Here's what I found:

Example code with a ' title = some_agent_name ' 

UrlConfig
{
	parentUrl = ContractConfigurator/Agencies/Explore
	AGENT
	{
		name = Exploration
		title = Exploration
		description = What drives a Kerbal to push their limits and explore new boundaries?  These contracts.
		logoURL = ContractConfigurator/Agencies/Explore
		logoScaledURL = ContractConfigurator/Agencies/Explore_scaled
		mentality = NoRandomContractMentality
	}
}

Example code for 5 instances in my file that lack the a ' title = some_agent_name ' tag:

UrlConfig
{
	parentUrl = ContractPacks/FieldResearch/Agencies/Agents
	AGENT
	{
		name = Field Research Team
		description = The field research team are a part of the research and development department, and thus report up to Wernher von Kerman.
		logoURL = ContractPacks/FieldResearch/Agencies/FieldResearch
		logoScaledURL = ContractPacks/FieldResearch/Agencies/FieldResearch_scaled
		mentality = NoRandomContractMentality
	}
}

Specific UrlConfig instances lacking ' title = '

  • ContractPacks/FieldResearch/Agencies/Agents
  • ContractPacks/KerbalAcademy/Agent/KerbalAcademyAgency
  • ContractPacks/KerbinSpaceStation/Agents/StationAgent
  • ContractPacks/Tourism/Agencies/Agents
  • IndicatorLights/Agencies/Agents

So for most of these, they're the Contract Packs (i.e. Field Research above) that are lacking the title in the UrlConfig bit there. The other is IndicatorLights, which I'm not sure if this is the same thing, but anyway it's missing a 'title = some_agent_name' in the 'ModuleManager.ConfigCache' file.

I'd like to make sure we have the right information then I'll look at pining LGG the mod owners who maintains the Contract Pack mods.

Edited by scottadges

Share this post


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

@BrigadierGo the file pointed to in the parent URL and edit that, but be warned this will get overwritten when the mod updates. Hopefully the mod would be repaired by the maintainer by then. Another fix would be a patch file addressing the specific agent.

Ok, I'll give that a shot.

The errors I'm getting in the KSP.log file that I think are because of this are like this one:

[ERR 21:19:55.790] Input is null for field 'agent' in config node 'CONTRACT'
   at System.Environment.get_StackTrace()
   at ConfigNode.AddValue(System.String name, System.String value)
   at Contracts.Contract.Save(.ConfigNode node)
   at Contracts.ContractSystem.OnSave(.ConfigNode gameNode)
   at ScenarioModule.Save(.ConfigNode node)
   at ProtoScenarioModule..ctor(.ScenarioModule module)
   at ScenarioRunner.UpdateModules()
   at ScenarioRunner.GetUpdatedProtoModules()
   at Game.Updated(GameScenes startSceneOverride)
   at GamePersistence.SaveGame(System.String saveFileName, System.String saveFolder, SaveMode saveMode, GameScenes startScene)
   at GamePersistence.SaveGame(System.String saveFileName, System.String saveFolder, SaveMode saveMode)
   at KerbalAlarmClock.KerbalAlarmClock.JumpToVessel(.Vessel vTarget)
   at KerbalAlarmClock.KerbalAlarmClock.DrawAlarmActionButtons(KerbalAlarmClock.KACAlarm tmpAlarm, Int32 ByRef NoOfDoubleLineButtons)
   at KerbalAlarmClock.KerbalAlarmClock.FillEditWindow(Int32 WindowID)
   at UnityEngine.GUILayout+LayoutedWindow.DoWindow(Int32 windowID)
   at UnityEngine.GUI.CallWindowDelegate(UnityEngine.WindowFunction func, Int32 id, Int32 instanceID, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style)

Is that right or do I have another problem :P?  It's curious that KAC is generating the error but I suspect that's because it's referencing the contract to set an alarm.

Share this post


Link to post
Share on other sites
Posted (edited)

this post can be ignored .... / deleted

Hi there,  is there some way how to disable configurator button in  fly in game GUI ? I constantly click there by mistake and I might break some settings mods set there. I believe this settings should   be either hidden in options or only in config file not in game  at all. It just clusters and screen and confuses people.  Not sure why kerbal mods have this habit sticking all advanced options or debug buttons right at the gameplay screen. I get that if dev. is doing debugging but otherwise it should be not there in carer mode.  

 

thanks you for the mod

Edited by Kozzy

Share this post


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

Hi there,  is there some way how to disable configurator button in  fly in game GUI ? I constantly click there by mistake and I might break some settings mods set there. I believe this settings should   be either hidden in options or only in config file not in game  at all. It just clusters and screen and confuses people.  Not sure why kerbal mods have this habit sticking all advanced options or debug buttons right at the gameplay screen. I get that if dev. is doing debugging but otherwise it should be not there in carer mode.  

 

thanks you for the mod

Can you attach a screen shot of what your talking about? Off hand I cant determine what your talking about. AFAIK Contract Configuator is only visible in Mission Control and has no settings buttons.

So a screen shot showing what your having problems with will help ID the problem.

Share this post


Link to post
Share on other sites

sorry I feel bad for misleading post. I have posted this on wrong mod topic.  This configuration buttons are from other mods: Remote Tech, Deadly reentry, reallchute , science params modifier.  This mod has no mentioned problem. 

I was referring to mods that are spamming buttons on the GUI with vagarious parameters that should be hidden in config files only or options menu and should be locked out from easy tampering.

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.