This bug might be affecting the *Bring helmets (or stuff) to the guy on Mars* I delivered the 5 helmets I looted at an outpost but it still says I need to bring more.
(Sorry for not remembering the exact mission name)
I have been bumping into a glitch where the missions stall just before completing. I thought there might have been a priority so one mission had to complete before the next would, but I have two missions stalled. I assume they are on different variables because one is a manufactured good (Tasine Superconductor) which stalled at 85/90 and the other is just Chlorine which stalled at 310/500. I have waited about a week in game for things to start moving again but nothing. Just thought I would bring this to your attention as you seem to be the one with knowledge about how this all works. If you could find a fix for this to add to your mod that would be awesome.
Yes, I have seen similar. I don't know if it's a bug or just the way the system works. Sometimes just going to the outpost that is shipping the material for a while can make it start processing again. Sleeping and waiting do not seem to speed things up.
My problem is that I can't see what's going on with all the parameters while "In Game". I need to add some functions to the diagnostic tool to show me more data.
I figured it out. I started having the problem but it only seemed to happen when the outpost was in Alpha Centauri. The cargo ship actually loses it's AI package somehow. So it's out there somewhere in space, not moving... I haven't found a way to actually get it back working again so I did the next best thing. When it finds the ship has lost it's mind it ends the supply mission and pays you for what you've shipped already.
I'm still play-testing the fix but should have it ready very soon.
I didn't know that this bug existed. Thanks for the hint so far.
However, I don't really like the idea of adding an object to my build menu for a mission bug. There's already so much stuff in there anyway.
I've had a closer look at the mod and the MissionSupplyScript. You've probably looked at the MissionSupplyScript very closely, probably more than I have.But I wonder why you don't just delete the global variable at the end of the MissionComplete() and MissionFailed() functions. And thats it.
This would have several advantages:
1. no new object in the builder menu 2. no problem running multiple supply missions at the same time. 3. the only thing that is changed is the vanilla MissionSupplyScript. No new.esm or additional script. 4. Runs silently without you having to worry about anything. 5. A bug fix, not a workaround.
But you probably have your reasons why you chose this path and not that path. I once tested this way, here is the code:
Spoiler:
Show
; override parent function Function MissionComplete() CleanupMission() Parent.MissionComplete()
;------------------ Reset Resourcenamount GlobalVar ---------------- Function MissionAmountReset()
;--------------------- Only for Debugging ---------------- ; Int QuestRef = Parent.GetFormID() as Int ; Quest QuestForm = Game.GetForm(QuestRef) as Quest ; If QuestForm.Isrunning() ; Debug.Notification("Quest (" + QuestForm + ")\nAmount: " + MissionIntValue02.GetValue()) ; Endif ;---------------------------------------------------------
MissionIntValue02.setvalue(0)
Endfunction
[/code]
I've tested this and it works fine for me. The global variable for the resource amount is deleted after the quest is completed.
This refers to the first version, I just saw that there is V1.2.
There is also the Mission Rejected function which has to handle the possibility that you shipped a partial amount then rejected it. They all call the cleanup function so that is where I put it. I suppose it could have been at the beginning of the mission. Initialize the variable...
There are a few reasons why I added the fixer tool. 1. If you have been playing for a while and have been doing the missions even though they are buggy, there will be a lot of left over junk spread across 13 possible variables. It wouldn't "look" like the bugs were fixed unless they were all cleared. A tool to fix it seemed like a good idea. 2. As far as I know you can't load just compiled scripts up to the Creations site for PC and Xbox. The tool is expecting an .esm and an archive...
I added an optional file that contains just the compiled scripts onto the Nexus. That way the .esm is optional. Edit: I realized I uploaded the compiled scripts that had a debug message embedded... Fixed it.
There is also the Mission Rejected function which has to handle the possibility
This is the MissionFailed() function, which was also taken into account in the code above.
1. ok, to delete the variables that have been filled in the past. That makes sense. I would have used a simple batch file to reset the variables, but there is another way.
2. I don't know that, I only upload my mods to Nexus and here you can upload compiled scripts without.esm
But I noticed two more things.
I have now looked at the SQ_OutpostCargoLinkScript. If I have understood correctly, the modified script now only loads a maximum of 100 units at a time. If the quest requires 1000 units, for example, 10 flights would now be necessary instead of doing everything in one flight. This makes the quest extremely long.
What is the advantage of this?
myCargoLink.SpecificCargoMax = supplyAmount in the MissionSupplyScript should limit the maximum transport quantity to the required quantity of resources. But I have also noticed that more is transported than is needed and then the rest goes back into the transfer container. But that seems to be a vanilla bug and shouldn't happen. Do you know the cause?
The second thing concerns the optional file with only the scripts without.esm. The script SMFixScript cannot be started without the.esm. Either you use a global function, which can then be started via the console using CallGlobalFunction (CGF for short), or you use a batch file to reset the variables. But as it is now, the script SMFixScript will never run without the.esm.
The mod needs to remain installed or the missions will go back to their old broken ways. The fix tool only needs to be run once on an existing character, and doesn't need to run again after an update. A new character, or one where you've never done a supply mission has nothing to fix.
There's nothing wrong with running the fixer tool though. If there's nothing for it to do it will just say so...
I'm like 99% sure that all the bugs are squashed so it hopefully won't need any more updates.
15 comments
I delivered the 5 helmets I looted at an outpost but it still says I need to bring more.
(Sorry for not remembering the exact mission name)
This mod only affects missions that require delivery through a cargo link.
https://www.nexusmods.com/starfield/mods/12336
I have been bumping into a glitch where the missions stall just before completing. I thought there might have been a priority so one mission had to complete before the next would, but I have two missions stalled. I assume they are on different variables because one is a manufactured good (Tasine Superconductor) which stalled at 85/90 and the other is just Chlorine which stalled at 310/500. I have waited about a week in game for things to start moving again but nothing.
Just thought I would bring this to your attention as you seem to be the one with knowledge about how this all works. If you could find a fix for this to add to your mod that would be awesome.
I don't know if it's a bug or just the way the system works.
Sometimes just going to the outpost that is shipping the material for a while can make it start processing again.
Sleeping and waiting do not seem to speed things up.
My problem is that I can't see what's going on with all the parameters while "In Game".
I need to add some functions to the diagnostic tool to show me more data.
The cargo ship actually loses it's AI package somehow. So it's out there somewhere in space, not moving...
I haven't found a way to actually get it back working again so I did the next best thing.
When it finds the ship has lost it's mind it ends the supply mission and pays you for what you've shipped already.
I'm still play-testing the fix but should have it ready very soon.
I didn't know that this bug existed. Thanks for the hint so far.
However, I don't really like the idea of adding an object to my build menu for a mission bug. There's already so much stuff in there anyway.
I've had a closer look at the mod and the MissionSupplyScript. You've probably looked at the MissionSupplyScript very closely, probably more than I have.But I wonder why you don't just delete the global variable at the end of the MissionComplete() and MissionFailed() functions. And thats it.
This would have several advantages:
1. no new object in the builder menu
2. no problem running multiple supply missions at the same time.
3. the only thing that is changed is the vanilla MissionSupplyScript. No new.esm or additional script.
4. Runs silently without you having to worry about anything.
5. A bug fix, not a workaround.
But you probably have your reasons why you chose this path and not that path.
I once tested this way, here is the code:
; override parent function
Function MissionComplete()
CleanupMission()
Parent.MissionComplete()
;---------------------------
MissionAmountReset()
;---------------------------
EndFunction
; override parent function
Function MissionFailed()
CleanupMission()
Parent.MissionFailed()
;---------------------------
MissionAmountReset()
;---------------------------
EndFunction
;------------------ Reset Resourcenamount GlobalVar ----------------
Function MissionAmountReset()
;--------------------- Only for Debugging ----------------
; Int QuestRef = Parent.GetFormID() as Int
; Quest QuestForm = Game.GetForm(QuestRef) as Quest
; If QuestForm.Isrunning()
; Debug.Notification("Quest (" + QuestForm + ")\nAmount: " + MissionIntValue02.GetValue())
; Endif
;---------------------------------------------------------
MissionIntValue02.setvalue(0)
Endfunction
[/code]
I've tested this and it works fine for me. The global variable for the resource amount is deleted after the quest is completed.
This refers to the first version, I just saw that there is V1.2.
There are a few reasons why I added the fixer tool.
1. If you have been playing for a while and have been doing the missions even though they are buggy, there will be a lot of left over junk spread across 13 possible variables. It wouldn't "look" like the bugs were fixed unless they were all cleared. A tool to fix it seemed like a good idea.
2. As far as I know you can't load just compiled scripts up to the Creations site for PC and Xbox. The tool is expecting an .esm and an archive...
I added an optional file that contains just the compiled scripts onto the Nexus. That way the .esm is optional.
Edit: I realized I uploaded the compiled scripts that had a debug message embedded... Fixed it.
This is the MissionFailed() function, which was also taken into account in the code above.
1. ok, to delete the variables that have been filled in the past. That makes sense. I would have used a simple batch file to reset the variables, but there is another way.
2. I don't know that, I only upload my mods to Nexus and here you can upload compiled scripts without.esm
But I noticed two more things.
I have now looked at the SQ_OutpostCargoLinkScript.
If I have understood correctly, the modified script now only loads a maximum of 100 units at a time. If the quest requires 1000 units, for example, 10 flights would now be necessary instead of doing everything in one flight. This makes the quest extremely long.
What is the advantage of this?
myCargoLink.SpecificCargoMax = supplyAmount in the MissionSupplyScript should limit the maximum transport quantity to the required quantity of resources. But I have also noticed that more is transported than is needed and then the rest goes back into the transfer container. But that seems to be a vanilla bug and shouldn't happen. Do you know the cause?
The second thing concerns the optional file with only the scripts without.esm. The script SMFixScript cannot be started without the.esm. Either you use a global function, which can then be started via the console using CallGlobalFunction (CGF for short), or you use a batch file to reset the variables. But as it is now, the script SMFixScript will never run without the.esm.
There's nothing wrong with running the fixer tool though. If there's nothing for it to do it will just say so...
I'm like 99% sure that all the bugs are squashed so it hopefully won't need any more updates.
This has been driving me nuts for over a year.
THANK YOU!