Fallout 4

Fallout 4

View Stats:
Nederby Feb 17, 2018 @ 1:57pm
How can I get more settlers in my settlement?
I have placed two radio beacons? When and how will there come more?
< >
Showing 16-30 of 33 comments
EolSunder Feb 18, 2018 @ 12:12am 
yep what is it, 4 or more idle will stop anyone else from coming? make sure you have them assigned to something, even if its not doing anything really beneficial they still will be working.
Doombringer Feb 18, 2018 @ 12:22am 
Originally posted by Ilja:
Just to be clear: the amount of beacons in your settlements does not affect to your cap calculation.

Originally posted by bunny de fluff:
make a beacon call for settlers, but move all the settlers that arrived to another settlement, keep doing it and you will easily bypass any charisma cap. do not use the settlement with the beacon as the main settlement.

You can not send settlers to settlement, if it's CHA cap is filled. They will be shown as grayed options in transfer dialogue.
If the settlement is below the cap, you can spam reassign settlers to it.
It takes a little bit for the reasignment to register, so by clicking fast enough you can exceed the cap by a little.


To the OP: 4+ unassigned settlers or hitting the population cap stops new ones from showing up, otherwise it's (10+happiness/2)% chance to get 1/day if you have a powered (and turned on) radio beacon. You can increase how fast you get settlers by getting more settlements or increasing happiness.
Also if you have Automatron, you can do the Rogue Robot quest if you finished it (and didn't kill the mechanist) or build robots.
Last edited by Doombringer; Feb 18, 2018 @ 12:26am
Bored Peon Feb 18, 2018 @ 12:25am 
Originally posted by EolSunder:
yep what is it, 4 or more idle will stop anyone else from coming? make sure you have them assigned to something, even if its not doing anything really beneficial they still will be working.

That is wrong. Someone interpreted the code wrong. THen the Wiki published it and its been abad rumor circulating since.

When I challenged it becaus eit is EASY to prove wrong. I prove it wrong constantly, especially with recruiting settlements. The person went back to the code and reread it. The code actually shows a penalty that stacks for each idle settler maxing at 4 idle settlers. The problem on why it is wrong is because with a high happiness you can still have a very low chance to recruit each day.

The way to prove it is wrong (or broken) is to take one of your 0 population settlements connect it with a supply line so the provisoner is owned by a different settlmeent so it styas 0 pop.) Then you prebuild for like 12 settlers as in enough food, water and beds for the 12. Then throw in bonus happiness (stores, vault stuff, guard dogs, cats, other stuff etc.) turn you beacon on and then assign 2 to farm, and 4 to happiness stuff like stores, etc.) After that just walk away form the settlement for a while. If your charisma is high enough it should easily recruit form the 6 you left it at to mid teens easily.

Why nobody has removed that from the wiki yet I do not know. It also could have been simply edited right back into the wiki as well. It is a pure brahminshit rumor though.
Doombringer Feb 18, 2018 @ 12:27am 
Bored, check the workshopscript.psc, the 4 unassigned settlers is right there in the recruitment code...
(Note: if population is >5 you get a 10% recruitment bonus for each population below that.
I did not mention this earlier.)

First Variables:
; radio/attracting NPC stuff
int iMaxSurplusNPCs = 5 const ; for now, max number of unassigned NPCs - if you have this many or more, no new NPCs will arrive.
float attractNPCDailyChance = 0.1 const ; for now, roll <= to this to attract an NPC each day, modified by happiness
int iMaxBonusAttractChancePopulation = 5 const ; for now, there's a bonus attract chance until the total population reaches this value
int iBaseMaxNPCs = 10 const ; base total NPCs that can be at a player's town - this is used in GetMaxWorkshopNPCs formula
float attractNPCHappinessMult = 0.5 const ; multiplier on happiness to attraction chance


Where the script calls the recruitment function:
; REAL UPDATE ONLY
if bRealUpdate
DailyUpdateAttractNewSettlers(ratings, updateData)
EndIf


And the recruitment function:
function DailyUpdateAttractNewSettlers(WorkshopDataScript:WorkshopRatingKeyword[] ratings, DailyUpdateData updateData)
; increment last visit counter each day
DaysSinceLastVisit += 1

; attract new NPCs
; if I have a radio station
int radioRating = GetValue(ratings[WorkshopParent.WorkshopRatingRadio].resourceValue) as int
if radioRating > 0 && HasKeyword(WorkshopParent.WorkshopType02) == false && updateData.unassignedPopulation < iMaxSurplusNPCs && updateData.totalPopulation < GetMaxWorkshopNPCs()
;WorkshopParent.wsTrace(self + " RADIO - unassigned population=" + updateData.unassignedPopulation)
float attractChance = attractNPCDailyChance + updateData.currentHappiness/100 * attractNPCHappinessMult
if updateData.totalPopulation < iMaxBonusAttractChancePopulation
attractChance += (iMaxBonusAttractChancePopulation - updateData.totalPopulation) * attractNPCDailyChance
endif
; roll to see if a new NPC arrives
float dieRoll = utility.RandomFloat()
;WorkshopParent.wsTrace(self + " dieRoll=" + dieRoll + ", attract NPC chance=" + attractChance)

if dieRoll <= attractChance
WorkshopNPCScript newWorkshopActor = WorkshopParent.CreateActor(self)
updateData.totalPopulation += 1

if newWorkshopActor.GetValue(WorkshopParent.WorkshopGuardPreference) == 0
; see if also generate a brahmin
; for now just roll if no brahmin here yet
if GetValue(ratings[WorkshopParent.WorkshopRatingBrahmin].resourceValue) == 0.0 && AllowBrahminRecruitment
int brahminRoll = utility.RandomInt()
;WorkshopParent.wsTrace(self + " brahminRoll=" + brahminRoll + ", attract brahmin chance=" + WorkshopParent.recruitmentBrahminChance)
if brahminRoll <= WorkshopParent.recruitmentBrahminChance
actor newBrahmin = WorkshopParent.CreateActor(self, true)
; NOTE: don't increment total population - brahmin aren't counted as population
endif
endif
endif

endif
endif
endFunction
Last edited by Doombringer; Feb 18, 2018 @ 12:37am
Bored Peon Feb 18, 2018 @ 12:39am 
Originally posted by Doombringer:
Bored, check the workshopscript.psc, the 4 unassigned settlers is right there in the recruitment code...

I aint saying you are lying about reading the code. I know you do. I am saying that line of code probbaly does not work. I can show screenshots and such, but that aint really proof as it is easily faked especially since you vautl terminal can unassign now.

Im telling ya that code is either wrong or broken. I go over 4 unassigned settler settlers all the time and I use zero mods. Other people have backed me on this as well. Like I said it is easily proven wrong and easy to do on your next play through. I mena you could even jsut send most your settlers somewhere else and see if ya didnt want to build a new one.

I can even remember near release someone posting a bug that gave them a 64 population at Oberland Station along with like 8 brahmin. No way they were all employed. I remember saying he had to use mods or something to have 8 brahmin. Course thsi was all befor epeople figured things out.
Doombringer Feb 18, 2018 @ 12:39am 
This forum doesn't keep the spacing right, which makes reading which IFs are tied to which endifs difficult...

Anyways, Note that if this IF statement is not met, the entire function is skipped:
if radioRating > 0 && HasKeyword(WorkshopParent.WorkshopType02) == false && updateData.unassignedPopulation < iMaxSurplusNPCs && updateData.totalPopulation < GetMaxWorkshopNPCs()

A closer look at the relevant part:
updateData.unassignedPopulation < iMaxSurplusNPCs
right there - unassigned settlers must be less than iMaxSurplusNPCs
iMaxSurplusNPCs is set to 5, so unassigned must be less than 5 (i.e. 0 to 4) or the recruitment is just skipped.


EDIT: bored, I posted the ENTIRE recruitment code, it works.
You can get more than 4 unassigned (by transfering or building robots or whatever), it just will not get new settlers from the radio beacon once that is the case.
Last edited by Doombringer; Feb 18, 2018 @ 12:51am
Bored Peon Feb 18, 2018 @ 12:43am 
Trust me, try my method to disprove it. That code is broken somewhere. Should it really surprise you if it is?
Doombringer Feb 18, 2018 @ 12:45am 
It's the exact same part where it stops recruitment from working if you reach the pop cap. Or if you don't have a beacon.
Seriously, I broke it down for you.

I've played 1000 hours and never had settlers show up to any of my settlements that had 4+ unassigned. So the code matches my experience in game...
Last edited by Doombringer; Feb 18, 2018 @ 1:02am
Bored Peon Feb 18, 2018 @ 1:06am 
I am not saying you suck at reading code. I am sayign somethign causes that code to break, and it does so quite easily. I even had it happen with Dalton Farm this weekend.

http://steamcommunity.com/app/377160/discussions/0/360671352685223831/?ctp=3

Here is the discusion from august 2016. A couple people said they had the same thing happen where they went way over as well. So it aint just me. There was another discussion like a few weeks ago people also said they were over.

It could even be linked to a data corruption issues (although never seen a 0 population one), who knows. Somethign causes the max idle people to be ignored and still recruit.

I am about ready to populate the Commonwealth for the Minuteman ending in the next few days. However liek I said there is no real way to post a screenshot showing the unemployed people becaus eI coudl easily jsut unassign them with the vault terminal. Any video would obviously have a huge time gap of 8 days in game or more to show it. So the only way to actually see it as proof is try it yourself.
Last edited by Bored Peon; Feb 18, 2018 @ 1:07am
Doombringer Feb 18, 2018 @ 1:11am 
I have played the game for 1000 hours and have not seen it though.
I have well over 1000 settlers total too.
When it comes to a random internet claim vs what the code says and what I have seen in game...

That if statement correctly turns off recruitment if there is no radio or if it is off or if it is unpowered.
That if statement correctly turns off recruitment if the workshop isn't supposed to get settlers.
That if statement correctly turns off recruitment if the popultion cap has been reached.
But somehow that if statement is 'broken' in the unassigned < 5 part?
Last edited by Doombringer; Feb 18, 2018 @ 1:19am
Bored Peon Feb 18, 2018 @ 1:25am 
Originally posted by Doombringer:
When it comes to a random internet claim vs what the code says and what I have seen in game...

It aint a random claim. Others have said it is broken as well. Even jsut posted you a link of others saying it as well.

I could post screenshots to back the claim as I repopulate the settlement but that woudl require trusting me in the fact I would not fake them. If you trusted me not to fake them then that same trust should been used to believe it does break, somehow.

Who knows why some bugs exist. I sure as ♥♥♥♥ dont. To this day I can not pick a single wild razorgrain plant, yet I can scrap those plants on Spectacle Island. Pretty sure not everyone is affected by that bug.

Oh and Emogene took Brandis's gun in my playthrough completing the Lost Patrol quest before Prydwen arrived.
Doombringer Feb 18, 2018 @ 1:58am 
I can post a screenshot from a dozen people on this forum claiming that a Never-Ending Laser Musket dropped for them (when they consoled/modded it in). Or the pezionucleic X-01 torso or whatever.

You say 'it breaks somehow'. I don't see how it would break if clearly the conditional statement does turn off recruiting properly and its a simple 'is this < 5' check.

As far as trust, if someone is telling the code the game runs on is wrong and they are right...
Well, I'm going to put more trust in the code (and my personal experience).
Unless you can point out how it 'breaks' or how I am mis-reading it...

The wild razorgrain thing is the same for every one.
Last edited by Doombringer; Feb 18, 2018 @ 2:08am
Bored Peon Feb 18, 2018 @ 2:12am 
I will be building Sanctuary today, so I can post screenshots of progress, but like I said it aint foolproof proof.

I can build it up to a population of 6 with a happiness of 90+ then take a screenie witht he date.
Then wait until it reaches say 12 or more, take a screenshot of the pipboy data.
Go back to the settlement and open vault terminal showing 6 idle settlers.

Like I said though it could be easily faked with just unemploying 6 settlers wiht vualt terminal.
Doombringer Feb 18, 2018 @ 2:21am 
This kind of stuff is a lot easier to test with console.
Some of the sanctuary NPCs (the named ones) may not 'count' as unassigned.
With console you can check with GetValue WorkshopRatingPopulationUnassigned
I can make a .bat that checks every workshop at the same time (like I did for synths).
I don't know if unassigned companions count either.

(The WorkshopRatings are passed to the updateData structure right before the daily update, if you are wondering why the name isn't the same as the conditional statement.
updateData.unassignedPopulation = WorkshopRatingPopulationUnassigned for the current workshop being updated)
Last edited by Doombringer; Feb 18, 2018 @ 3:22am
bunny de fluff Feb 18, 2018 @ 2:32am 
doombringer, is your code and the 1k hours experience come from using the unofficial patch?
< >
Showing 16-30 of 33 comments
Per page: 1530 50

Date Posted: Feb 17, 2018 @ 1:57pm
Posts: 33