pepperman35 Posted March 9, 2023 Share Posted March 9, 2023 Context. I have created a new world space. In that world space, I have created a rather large settlement (~24 cells). I set the settlement up using SKK’s quality guide and even used his new easy method to register the workshop. I used SKK’s Workshop Ownership utilities to test the setup and find no issues. Start new game coc to the settlement from the game startup menu. Claim the workshop, everything looks as it should (i.e., 50 happiness). Problem #1: There are fairly large areas of the settlement that are within the build area where the workshop just won’t open [V]. I can retreat to an area where it will open and then return to the area with the workshop open to build something. But once I close it, it will not open it that area. Occasionally, pressing V in these areas causes the player to disappear. I checked and double checked each cell to ensure its location was set to the settlement. Problem #2. Upon recruiting settlers, the happiness immediately drops to 20. Over time it continually rises, albeit slowly. If anyone has experienced these issues, I’d love to hear from you, especially your method of resolution. Link to comment Share on other sites More sharing options...
SKKmods Posted March 9, 2023 Share Posted March 9, 2023 Is the Workshop 3d still loaded when the player is in far corners of the extended build area and build will not trigger ? If not then the linked primitive build area may not resolve its linkedref even though the workshop is a persistent object. Happiness plunging to 20 sounds like the effect of a settler death debuff. Check the values of: Debug.Trace("WorkshopRatingHappiness " + WorkshopREF + " " + (WorkshopREF.GetValue(pWorkshopRatingHappiness)) Debug.Trace("WorkshopRatingHappinessModifier " + WorkshopREF + " " + (WorkshopREF.GetValue(pWorkshopRatingHappinessModifier)) Debug.Trace("WorkshopRatingBonusHappiness " + WorkshopREF + " " + (WorkshopREF.GetValue(pWorkshopRatingBonusHappiness)) Link to comment Share on other sites More sharing options...
greekrage Posted March 9, 2023 Share Posted March 9, 2023 (edited) had that issue with the workshop on 2 different locations... One in my Nakano build where workshop was too far away from the outer cells and had to create 2 settlements in one to remedy the problem...The other on my "oasis" island (new world space ) where only solution is to move the workshop to a more centralized location or get players to edit their settings to load more grids... The happiness issue is an easy fix if you provide the basics to the player and prompt them to setup water,food,security and power BEFORE deploying the beacon... Just a brain fart but try setting up the workshop with "has lod " checked and see if it makes a difference basically forcing it to always be loaded.. Edited March 9, 2023 by greekrage Link to comment Share on other sites More sharing options...
pepperman35 Posted March 9, 2023 Author Share Posted March 9, 2023 (edited) Thanks guys you have provided some additional things for me to investigate. The distance thing is a suspect in this crime. Update: Preliminary analysis suggests that the distance is part of the problem. Distance from the center of the buildarea trigger box to the corner is 12,350.8893 game units. I placed the workshop at the center of the buildarea trigger box and adjusted the radius to 12,250 in the location form. Quick test yielded positive results on opening the workshop throughout the build area. Edited March 9, 2023 by pepperman35 Link to comment Share on other sites More sharing options...
pepperman35 Posted March 10, 2023 Author Share Posted March 10, 2023 (edited) Placing the I workshop at the center of the buildarea trigger box and adjusting the radius to 12,250 in the location form has resolved the issue of not being able to open the workshop in various location throughout the settlement. Still investigating the happiness drop issue. As a rapid test I threw the following script on the institute activator and spawn in 5 npcs. Each reported back the same numbers in the log. [03/10/2023 - 03:09:31PM] WorkshopRatingHappiness [workshopscript < (0844AA2F)>] 20.000000[03/10/2023 - 03:09:31PM] WorkshopRatingHappinessModifier [workshopscript < (0844AA2F)>] 0.000000[03/10/2023 - 03:09:31PM] WorkshopRatingBonusHappiness [workshopscript < (0844AA2F)>] 0.000000 Scriptname FO4_TestSpawnScript extends ObjectReference Const ActorBase Property WorkshopNPC Auto Const WorkshopParentScript Property WorkshopParent Auto Const ActorValue Property pWorkshopRatingHappiness Auto Const Mandatory ActorValue Property pWorkshopRatingHappinessModifier Auto Const Mandatory ActorValue Property pWorkshopRatingBonusHappiness Auto Const Mandatory Event OnActivate(ObjectReference akActionRef) if akActionRef == game.getplayer() ; spawn a new NPC ; get linked workbench WorkshopScript workshopRef = GetLinkedRef() as WorkshopScript WorkshopParent.CreateActorPUBLIC(workshopRef) Debug.Trace("WorkshopRatingHappiness " + WorkshopREF + " " + (WorkshopREF.GetValue(pWorkshopRatingHappiness))) Debug.Trace("WorkshopRatingHappinessModifier " + WorkshopREF + " " + (WorkshopREF.GetValue(pWorkshopRatingHappinessModifier))) Debug.Trace("WorkshopRatingBonusHappiness " + WorkshopREF + " " + (WorkshopREF.GetValue(pWorkshopRatingBonusHappiness))) endif EndEvent Edited March 10, 2023 by pepperman35 Link to comment Share on other sites More sharing options...
SKKmods Posted March 10, 2023 Share Posted March 10, 2023 Thats annoying as SKK_WURegisterNewWorkshopScript specifically initalizes workshops: thisWorkshop.SetValue(pWorkshopRatingHappiness, 50) How does the player gain ownership of the workshop, are you force setting values or calling the proper WorkshopScript.SetOwnedByPlayer() function ? Link to comment Share on other sites More sharing options...
pepperman35 Posted March 10, 2023 Author Share Posted March 10, 2023 (edited) The workshop starts at 50 happiness after claiming it but immediately drops on recruiting an NPC. I have the standard WorkshopSetOwnedTrigger activator in front of the workshop to gain ownership. BYW, I downloaded the Natick Warehouse Settlement by SKK to triple check my setup, but it hadn't been updated to use the (16.1) PREMIUM QUALITY EZ SKK METHOD as described in your quality guide. Edited March 10, 2023 by pepperman35 Link to comment Share on other sites More sharing options...
SKKmods Posted March 10, 2023 Share Posted March 10, 2023 Ah the premium quality EZ method is exclusive to the premium quality Red Rocket Workshops. becuase I cant be arsed to regenerate all the precombines for natick scrappable static build version. Link to comment Share on other sites More sharing options...
pepperman35 Posted March 11, 2023 Author Share Posted March 11, 2023 Okay, now I am really confused. I see no mention of premium quality Red Rocket Workshops in you guide: How to create quality WorkshopParent registered scrappable settlements. However, in paragraph (16) There are now TWO options for this (e.g., workshop registration) , either the (A) the premium quality EZ SKK method or (B) the janky old prone to failure base game method. You choose you. Link to comment Share on other sites More sharing options...
SKKmods Posted March 11, 2023 Share Posted March 11, 2023 The natik mod has not been republished to include the premium script. The reason why the inital settler drops happiness from 50 downto 20 is likely to be a lack of food/water/bed when they are added to the workshop. For the first settler recruited WorkshopParentScript.AddActorToWorkshop sets bResetHappiness = true which calls WorkshopParentScript.ResetHappiness which calls WorkshopScript.DailyUpdate which recalculates happinessTarget based on actual food/beds/water resources that can be resolved based on loaded state. If happinessTarget is less than startingHappinessMin (20) it is set to 20. To test build a sheltered bed, waterpump and stuff some recognised food (tato, mufruit & etc) into the workshop and ONLY recruit when the workshop is loaded and resources can be resolved. Betcha happiness then starts at 60. Top tip: for quick recruit console [ cqf WorkshopParent "WorkshopParentScript.CreateActorPUBLIC" WorkshopRef ] Link to comment Share on other sites More sharing options...
Recommended Posts