the Sim Settlements forums!

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

ASAM Maintenance Software

Unbuilt was a bug. Unowned I can't reproduce. Keep in mind that a fresh plot will also trigger No Bed, No Objects and Unbuilt. I just turned everything off, and nothing is loaded, as expected.

Hm, regarding refresh: plots under construction are being skipped during refresh. Unlikely, but maybe they were ALL under construction for you?
 
The three problem plots I'm picking up are unoccupied commercial and intended for future settlers, apparently. If I tell AMS to ignore unoccupied and unbuilt, AMS continues to flag them as having a problem. All three plots have a For Rent sign and have never been assigned. All settlers have jobs and homes apparently as well.

Refresh plots presents the refresh complete dialog box immediately, and the upper-left notifications go by very rapidly.

Edit: The No spawned objects toggle is picking up those three unoccupied plots while unowned and unbuilt are toggled off.
 
Last edited:
Nope, nothing under construction for me either and I also get the rapid messages with no apparent action.
 
The three problem plots I'm picking up are unoccupied commercial and intended for future settlers, apparently. If I tell AMS to ignore unoccupied and unbuilt, AMS continues to flag them as having a problem. All three plots have a For Rent sign and have never been assigned. All settlers have jobs and homes apparently as well.
Ah yes, I probably should ignore "no objects" and similar if the plot is unbuilt and unbuilt is disabled.

Refresh plots presents the refresh complete dialog box immediately, and the upper-left notifications go by very rapidly.
That sounds like plot.refreshPlot() finishes right away, without doing anything. I guess I should decompile that one and look if there is some new gotcha in there. Or maybe @kinggath can tell me if anything relevant changed?

Is there an indicator which says specifically why a plot was chosen for the problem list? Sometimes it isn't obvious to me if all of the flags are there. Could there be a setting for "Display problem flags only?".
Not really. At least I can't think of a way...

Also, do you know what the pre-3.1.6 issue with plots was that required refreshing? I'm wondering if that got fixed in some cases or if the refresh took place.
hm? I don't understand what you are meaning
 
That sounds like plot.refreshPlot() finishes right away, without doing anything. I guess I should decompile that one and look if there is some new gotcha in there.
It appears that SimSettlements:SimPlot.RefreshPlot() requires an argument now. If true, it's a "manual" refresh that appears to set a flag on that plot to ignore build limits, at least until the plot is refreshed again, to force the plot items to spawn for that refresh regardless of whether the build limit has been hit at that settlement.

Note that this actually breaks the Immersion Breaker Breaker too, because evidently it hasn't been recompiled since this change was made and so it prints "incorrect number of arguments" errors to the console as well.
 
It appears that SimSettlements:SimPlot.RefreshPlot() requires an argument now. If true, it's a "manual" refresh that appears to set a flag on that plot to ignore build limits, at least until the plot is refreshed again, to force the plot items to spawn for that refresh regardless of whether the build limit has been hit at that settlement.

Note that this actually breaks the Immersion Breaker Breaker too, because evidently it hasn't been recompiled since this change was made and so it prints "incorrect number of arguments" errors to the console as well.
Lol, I decompiled the AutoBuildParentQuest and looked there. That's what the Gavel does.

Hm but why the f*ck does it then work for me still?
... probably the update failed again and I have an older ba2. File. Le sigh.

Edit: yep, old ba2. Now I actually see that new param.
Now I don't want to tell kinggath how to do his mod, but I think in this case, it would have made sense to give this param a default value...
 
Last edited:
On the pre-3.1.6 issue, @kinggath said in that release that he forced a refresh of plots because of a previous bug but didn't say what the bug was or what problems it caused. Anyway, unless you can tell whether or not a plot was built or last refreshed after 3.1.5, or whenever the bug was actually fixed, there's probably no obvious way to check.
 
[QUOTE="pra, post: 40102, member: 675”]
Now I don't want to tell kinggath how to do his mod, but I think in this case, it would have made sense to give this param a default value...[/QUOTE]

Strange that I didn’t! I’m sure i had my reasons in the moment, but they were not good ones clearly.
 
Okay, new version is up.

During testing, I noticed something else, which might be a problem: refreshing plots while building plans haven't been initialized yet might be bad:

Code:
[04/09/2018 - 03:55:08PM] AMS: Refreshing plot #1, [simsettlements:simplot < (FF001DEE)>]
[04/09/2018 - 03:55:08PM] error: Array index 2 is out of range (0-0)
stack:
  [ (FF001DEE)].autobuilder:autobuildplot.RefreshPlot() - "C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\User\AutoBuilder\AutoBuildPlot.psc" Line 4451
  [ (FF001DEE)].simsettlements:simplot.RefreshPlot() - "C:\Program Files (x86)\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\User\SimSettlements\SimPlot.psc" Line 1937
  [praSim_PlotToolsQuest (FE00AF99)].pra:PlotToolsQuestScript.doPlotRefresh() - "C:\Users\Alex\AppData\Local\Temp\PapyrusTemp\pra\PlotToolsQuestScript.psc" Line 1275
   [praSim_PlotToolsQuest (FE00AF99)].pra:PlotToolsQuestScript.refreshSelectedPlots() - "C:\Users\Alex\AppData\Local\Temp\PapyrusTemp\pra\PlotToolsQuestScript.psc" Line 1233
   [ (FE00A80A)].Fragments:Terminals:TERM_praSim_plotTools_PlotMa_0200080A.Fragment_Terminal_06() - "I:\Steam\SteamApps\common\Fallout 4\Data\Scripts\Source\User\Fragments\Terminals\TERM_praSim_plotTools_PlotMa_0200080A.psc" Line 47
[04/09/2018 - 03:55:08PM] [SimSettlements:AddOnScript <rkcSim_AddonQuest (38003618)>] adding city plans.
[04/09/2018 - 03:55:08PM] [SimSettlements:AddOnScript <ohSIM_AddonTemplate (52003568)>] adding city plans.
[04/09/2018 - 03:55:08PM] [SimSettlements:AddOnScript <Myrm_SimsAddonquest_01 (3B00277E)>] adding plans, leaders, etc.
[04/09/2018 - 03:55:09PM] [SimSettlements:AddOnScript <mytigio_IndCity_Addon (39001F8E)>] adding plans, leaders, etc.

There is no code to intercept this case in AutoBuildParentScript::RefreshWorkshopPlots either, so if this happens for me, it will happen for the town meeting gavel, too, when it's fixed, that is.

I'm not sure what exactly in the refresh causes this, or even if it's even bad in the first place. It goes away for the later plots, after these addon messages stopped.

I *THINK* that it can cause the refresh of a specific plot refresh to take a really long time, or even to hang completely. I had that a few times with a War Ring while testing. But then again, that thing is almost outside the borders of Red Rocket, maybe that was related?
 
[QUOTE="pra, post: 40102, member: 675”]
Now I don't want to tell kinggath how to do his mod, but I think in this case, it would have made sense to give this param a default value...

Strange that I didn’t! I’m sure i had my reasons in the moment, but they were not good ones clearly.[/QUOTE]
Plain ol' forgetfulness? :D

I assumed false to be the correct value for mass plot refresh.
In which cases should I put true there? If true is given, it will ask for a confirmation regarding build limits... something?
 
Brutal... I do have a default value: Function RefreshPlot(Bool bManual = false) I just failed to compile before release. :(
 
Strange that I didn’t! I’m sure i had my reasons in the moment, but they were not good ones clearly.
For what it's worth, it wouldn't have helped anyway. Default arguments are a feature of the compiler and not the virtual machine, by which I mean that default arguments are stripped out of the compiled .pex files completely, and it's up to the compiler to grab the default arguments out of the uncompiled script files and put a copy of them into every function call that's using them.
 
For what it's worth, it wouldn't have helped anyway. Default arguments are a feature of the compiler and not the virtual machine, by which I mean that default arguments are stripped out of the compiled .pex files completely, and it's up to the compiler to grab the default arguments out of the uncompiled script files and put a copy of them into every function call that's using them.
Lol, you are right. That, or champollion decompiles them that way.

I assumed that something like PEX would go the way of script languages and actually make the optional parameters part of the function signature, since it seems to evaluate that part at runtime
 
@kinggath what exactly is the HUD showing for the employment meter? I tried updating that workshop rating about the unassigned settlers, but it seems to have no effect.
I have a function to rescan assignment status, and since (at least for me) the employment meter is often wrong, I wanted to make it update that meter.
 
It's the percentage of settlers of the total that have assignment to something other than a bed or residential plot.
 
It's the percentage of settlers of the total that have assignment to something other than a bed or residential plot.
Yes, but where do you get that value? I thought you were using WorkshopRatingPopulationUnassigned for that. Or, is there a function in simsettlements which recalculates that value?
 
Some function in SS because the population unassigned assumes residential plots are jobs. It sounds like you're running into bugs with the function though if it's not working for you. I've definitely tested this many times when it has been reported as not working correctly and have never been able to replicate the issue.

I'm still on my trip until this weekend, so I can't get you the actual function used atm.
 
Top