Bug #27203
Contract "Attach new part to satellite in orbit of..." Fails to tell the player the target vessel.
0%
Description
The three screenshots show what I mean. I took the contract "Attach new part to satellite in orbit of Kerbin".
The contract spawns a new satellite you're supposed to attach a part to.
But the contract never displays to the player anything about which vessel that is, so the player has to guess (Mostly by going, "Oh that vessel doesn't look like one I made, I guess it's that one.")
History
#1 Updated by Dunbaratu almost 4 years ago
- File quicksave.sfs quicksave.sfs added
More Information - actually that vessel did NOT allow the contract to work. The contract is still using the wrong vessel ID so the contract is impossible to finish.
This is from the save file - notice the contract vessel in the game save has this as its perisstent ID:
VESSEL { pid = 2b279f03e4a44243a19e216a7364d6dc persistentId = 2975859883 name = Aging Kerbin CM-R Satellite G4-VK type = Probe
This is the contract - note the section for the PARAM with the vessel id = 1090049104
CONTRACT { guid = 6c9b3f59-0c29-43ee-a6bc-c0588b28d387 type = OrbitalConstructionContract prestige = 0 seed = 2083280414 state = Active viewed = Read agent = Rockomax Conglomerate agentName = Rockomax Conglomerate deadlineType = Floating expiryType = Floating values = 77263.5842981471,16457143.4555053,19966.1530512736,65513.9367243029,20764.7984802246,0,1.024133,2,1870803.07266182,1857631.28189065,18314774.737396,0 bodyName = Kerbin constructionCraftDef = D:/SteamLibrary_2/steamapps/common/Kerbal Space Program/KSP_x64_Data/../GameData/Squad/Contracts/PreBuiltCraft/OrbitalConstructionContract/Unfinished Contract Sat 6.craft constructionVslId = 1090049104 constructionPartName = HighGainAntenna5.v2 orbitEccentricity = 0.05000000074505806 orbitAltitudeFactor = 0.33000001311302185 orbitInclinationFactor = 0.25 vesselName = Aging Kerbin CM-R Satellite G4-VK PARAM { name = CrewTraitParameter state = Complete disableOnStateChange = False values = 0,0,0,0,0 targetTrait = Engineer targetCount = 1 vesselDescription = Active Vessel } PARAM { name = ConstructionParameter state = Incomplete values = 0,0,0,0,0 bodyName = Kerbin partName = HighGainAntenna5.v2 vesselPersistentId = 1090049104 } }
The Id number of the vessel the contract spawned was 2975859883. The vessel Id number the contract says I'm supposed to add the antenna to is 1090049104. Because they don't match, and furthermore there are no vessels with Id = 1090049104, the contract is impossible.
quicksave attached for reference.
I'd change the title but users no longer have permission to do that, it seems.
The real bug seems to be the vessel ID of the contract does not match the vessel actually spawned, so the contract is literally impossible.
#2 Updated by Anarchomine almost 4 years ago
- File persistent.sfs persistent.sfs added
Got the same bug:
CONTRACT { guid = 12296993-daf2-4215-8237-69ec1574fd8b type = OrbitalConstructionContract prestige = 0 seed = 1155645586 state = Active viewed = Read agent = Research & Development Department agentName = Research & Development Department deadlineType = Floating expiryType = Floating values = 43200,18403200,28800,90000,28800,0,2,2,2980658.06212168,2937476.34212169,21340676.3421217,0 bodyName = Kerbin constructionCraftDef = C:/Program Files (x86)/GOG Galaxy/Games/Kerbal Space Program/KSP_x64_Data/../GameData/Squad/Contracts/PreBuiltCraft/OrbitalConstructionContract/Unfinished Contract Sat 6.craft constructionVslId = 269795072 constructionPartName = rcsTankRadialLong orbitEccentricity = 0.05000000074505806 orbitAltitudeFactor = 0.33000001311302185 orbitInclinationFactor = 0.25 vesselName = Aging Kerbin AS-P Satellite X00TD PARAM { name = CrewTraitParameter state = Complete disableOnStateChange = False values = 0,0,0,0,0 targetTrait = Engineer targetCount = 1 vesselDescription = Active Vessel } PARAM { name = ConstructionParameter state = Incomplete values = 0,0,0,0,0 bodyName = Kerbin partName = rcsTankRadialLong vesselPersistentId = 269795072 } }
VESSEL { pid = e8c8e6d42e9140fc8849138b01560134 persistentId = 2074516608 name = Aging Kerbin AS-P Satellite X00TD type = Probe sit = ORBITING ...
Edit: Changing the vessel ID in the contract to that from the vessel entry let me complete the contract.
#3 Updated by Dunbaratu almost 4 years ago
Anarchomine wrote:
Edit: Changing the vessel ID in the contract to that from the vessel entry let me complete the contract.
Hmm - here's an interesting thing to test the next time this "can't see which vessel it means in the contract" thing happens: Exit the mission control building without taking the contract, save the game, edit the save to see if it has the vessel ID mismatch problem and if so fix the mismatch, then reload the save and go back to the mission control to look at the contract again.
If that's done, will the contract also show the vessel name to the player?
In other words, this would be a test to find out if the original problem I reported here (can't see the vessel name) might actually just a side-effect of the bigger problem. (That maybe it can't populate the vessel name in the contract text because it normally would find the name by looking it up from the vessel's ID, which is wrong?)
#4 Updated by [email protected] almost 4 years ago
I'm seeing the same problem, but it looks like the vessel doesn't get created until the contract is accepted
for example I have this contract and there is no matching "Aging Kerbin MLA Satellite M-J6Z" vessel.
CONTRACT { guid = 7ece60ab-5a2f-484b-a607-c3e5ad21e26c type = OrbitalConstructionContract prestige = 0 seed = 1425354744 state = Offered viewed = Read agent = Maxo Construction Toys agentName = Maxo Construction Toys deadlineType = Floating expiryType = Floating values = 64800,18403200,28800,90000,28800,0,2,2,24885906.1733801,0,0,0 bodyName = Kerbin constructionCraftDef = E:/Steam/steamapps/common/Kerbal Space Program/KSP_x64_Data/../GameData/Squad/Contracts/PreBuiltCraft/OrbitalConstructionContract/Unfinished Contract Sat 1.craft constructionPartName = mediumDishAntenna orbitEccentricity = 0.05000000074505806 orbitAltitudeFactor = 0.33000001311302185 orbitInclinationFactor = 0.25 vesselName = Aging Kerbin MLA Satellite M-J6Z PARAM { name = CrewTraitParameter state = Incomplete values = 0,0,0,0,0 targetTrait = Engineer targetCount = 1 vesselDescription = Active Vessel } PARAM { name = ConstructionParameter state = Incomplete values = 0,0,0,0,0 bodyName = Kerbin partName = mediumDishAntenna vesselPersistentId = 0 } }
And yeah, when I accept the contract and check the tracking station. The Aging Kerbin MLA Satellite M-J6Z is there with a mission elapsed time of a couple seconds. Then the save file now has the vessel entry and has a bad vessel id on the contract as seen above.