When I use this module, does it mean that I don't need to use the shop in the original workshop, and if a settler can't be assigned both the shop mat and the shop in the original workshop, placing both means that one of them is useless and I have to incur extra costs?
There was a request a few posts below to exclude NPCs, settlements, stores etc. It was for better inter-mod communication (e.g. allow other mods to use a keyword to make the store or the assigned settler excluded) but you can use as well. The function is console callable: CGF "NPSScripts:NPS_HelperScript.SetExcludeORMustHaveKeyword" ExcludeKeyword 2 2 Replace ExcludeKeyword with a Keyword. If an NPC have this Keyword, they won't got shopping. Mods usually define their own keywords that can be used for this feature but you can actually choose from one of the unused vanilla keywords. Here's an example: SettlerRefID.AddKeyword CA_Event_XXX CGF "NPSScripts:NPS_HelperScript.SetExcludeORMustHaveKeyword" CA_Event_XXX 2 2 (CA_Event_XXX is an unused Keyword from base game records. Replace SettlerRefID with the actual RefID of the settler).
I was just about to start pillar glitching some shop counters into the Starlight Drive In counter when I found this mod. The shop mats look like it will serve my purposes even better, and the shopping mats will bring such much-needed life to the settlement. Plus, these mats will work out very well for Covenant as well.
Edit: Tested it out, and it looks good. Got a chef on the mat inside the counter so she's standing at the right spot. I do have a question for anyone though, Is the mat equivalent to a Rank 3 store, or one of the lower ones?
Edit 2: After some more looking myself, looks like the store mats might only be Rank 2 stores, not the fully upgraded Rank 3. Unfortunate, but that will still do.
How can I replace some phrases with my own? I changed the phrases about Abernathy that I was tired of to others through LazyVoice, I also unpacked NPCShopping.esp Voices using B.A.E. and replaced these phrases there with others from the same settlers, each of 10 voices. LazyVoice lets me listen to the successfully replaced lines, but when I log into the game, Jesus Christ, they repeat about Abernathy and Tarbury Pool again for the thousandth time. I spent 12 hours searching for an answer through LazyVoice, Xedit and B.A.E., but found nothing. Therefore, I ask you, great man, to direct me in the right direction, what do I need to do? I don't want to just delete the lines about Abernathy from Xedit, I want them to say what I replaced them with. Thanks. P.S.: I have successfully replaced many phrases with this method and going forward I say that I did not mix up any folders, in this small, tiny matter I still have experience, I am not one of those who forgets to include the plugin in NMM or throws past the DATA folder
NEVERMIND. I delete voices- EN.ba2 and this working!)
Thanks, for the response. I see the store mats 1 for each store type. I don't see the shopping mats referred to in the description page. Are they supposed to be with the store mats? If so they are not appearing in those menus.
From the description page. "You can see even more shopping spots with Shopping Mats. Similarly to Store Mats, they're only visible in workshop mode. Settlers willoccasionally approach them andstart "browsing" (just like if they were in a store). If there's a vendor nearby, the settler will start a conversation with them. They were originally designed for mod added stores but you can place them anywhere. Wherever you place one, your settlers will start shopping. You can also combine using them with Store Mats."
You beat me to to this idea sort of, I wanted to try my hand at scripting NPCs spawning per % chance outside radius of settlements then having another % roll if they'll randomly buy anything.
Ofc the NPC would take some for themselves and the player would get 50% or whatever.
Not sure if you have plans for this but I'd be new to Geck/CK scripting but use to messing with it however. Modded other games on the other hand.
If you end up doing the idea first then great, just thought it would add immersion.
Edit - not sure if other mods do this including SS1-2 because I don't like how incompatible it is with everything else or breaks my game if I uninstall.
The "Settlers Go Shopping ESP" mod file is the .esp version. I accidentally misnamed it but you won't have any problems with it. (Its Nexus filename is (...)47971-2-7-1700528654.zip).
This is a great mod, but there is a problem that it can't work in the vault 88,after I installed Tina De Luca Voiced as a Settler with AI (Dependency Re-revisited) and send Tina to the vault 88. I've removed that one several times while re-arranging load orders, but that doesn't seem to be the problem.
Thanks for reporting it. Vault 88 is the only excluded settlement for the dialogue as I see.. I have actually forgotten about this limitation. It ages back to v1.0 where there were some "technical limitations" that don't exist anymore. I'll update the mod soon.
I wondered if there is a keyword that can be slapped on a work object, to prevent the settler working there from being called to any stores? If not, perhaps the LinkDisable vanilla keyword would lend itself to the task? It seems to be used for companion comments only by the game, not related to workshop objects - reusing it for the purpose isn't likely to interfere.
The same thing would be useful for the settler workout mod as well.
Sorry for the late reply.. you mean to the assigned work object of the shopper NPC? It would be possible yes, I'd need to make an "exclude keyword" and set up the quest to detect if the target NPC ("shopper") is assigned to a work object that has it. I can add this feature to the mod but unfortunately adding the exclude keyword itself to work objects ingame would require one to use the console.
Yep, but it's more of a mod interoperability thing than a player feature, tbh. The idea being that some other mod's work objects can opt to exclude themselves (respective their assigned settler) from the "being called to store/gym" mechanics in your mods. So the keyword would usually be added by script or CK, rather than through console.
In my use case, while it will certainly be fun to watch the Barber emerge from his interior shop in restored Concord and go shopping in the exterior, I'd rather not have the folks working in the clinic interior being not actually in the clinic interior (but out shopping), when player might desperately need their services. i.e. I'm developing game mechanics that allow stores and beds in interiors to work as part of an exterior settlement (or, at least, provide the illusion thereof), and I'm looking for interoperability with your mods :)
My suggestion to use a vanilla keyword for this purpose instead of making a special one, is so that any mod that wishes to prevent interaction will not need a reference to your mod (to get the special keyword). Instead, they simply add the decided upon & documented vanilla keyword, and that's it. If any of your mods are present, they'll process that kwd in the context, and if not then it doesn't matter.
I think it's probably too late for this feature now unfortunately but I implemented a Keyword data check in v2.7. :) I wasn't sure about which keyword I should choose.. I wrote a global function instead to easily toggle the "keyword data check" for Shoppers.
Here's an example function:
Spoiler:
Show
Int Function SetExcludeORMustHaveKeywordLOCAL(Keyword ExcludeORMustHaveKeyword, \ Int ExcludeORMustHaveKeywordMode, \ Int FeedbackMode = 0) Int ReturnInt Var[] Params = new Var[3] Params[0] = ExcludeORMustHaveKeyword Params[1] = ExcludeORMustHaveKeywordMode Params[2] = FeedbackMode ReturnInt = Utility.CallGlobalFunction("NPSScripts:NPS_HelperScript", "SetExcludeORMustHaveKeyword", Params) as Int Return ReturnInt EndFunction
; ExcludeORMustHaveKeyword: ; Can be any keyword or None. ; If None, the keyword check feature will be turned off (default). ; ExcludeORMustHaveKeywordMode: ; Sets a global that determines the keyword check mode. ; If the parameter 'ExcludeORMustHaveKeyword' is None, this parameter will be ignored. ; targetNPC is the Shopper. ; 0: the keyword check feature will be turned off (default). ; 1: targetNPC must have the keyword 'ExcludeORMustHaveKeyword'. ; 2: targetNPC must not have the keyword. ; 3: targetNPC must be either linked to/linked from another ref with this keyword. ; 4: targetNPC must not be linked to/linked from. ; 5: targetNPC's WorkshopObject (at least one) must have the keyword. ; 6: targetNPC's WsObj must not have this keyword (none of them). ; 7: targetNPC's WsObj must be either linked to/linked from. ; 8: targetNPC's WsObj must not be linked to/linked from. ; FeedbackMode: ; Optional feedback for debug info. ; 0: do nothing ; 1: debug.notification ; 2: debug.messagebox ; 3: debug.traceuser (opens then closes "NPSHelperLog") ; The function returns: ; -1: unknown error (shouldn't happen) ; 0: if the global function couldn't be found. ; 1: if successfully changed both the keyword and the keyword mode global ; 2: secord parameter, the keyword mode global is out of range (valid range: 0-8) ; 3: keyword couldn't be changed (e.g., mod is not installed) ; 4: global couldn't be changed
206 comments
CGF "NPSScripts:NPS_HelperScript.SetExcludeORMustHaveKeyword" ExcludeKeyword 2 2
Replace ExcludeKeyword with a Keyword. If an NPC have this Keyword, they won't got shopping. Mods usually define their own keywords that can be used for this feature but you can actually choose from one of the unused vanilla keywords. Here's an example:
SettlerRefID.AddKeyword CA_Event_XXX
CGF "NPSScripts:NPS_HelperScript.SetExcludeORMustHaveKeyword" CA_Event_XXX 2 2
(CA_Event_XXX is an unused Keyword from base game records. Replace SettlerRefID with the actual RefID of the settler).
Edit: Tested it out, and it looks good. Got a chef on the mat inside the counter so she's standing at the right spot. I do have a question for anyone though, Is the mat equivalent to a Rank 3 store, or one of the lower ones?
Edit 2: After some more looking myself, looks like the store mats might only be Rank 2 stores, not the fully upgraded Rank 3. Unfortunate, but that will still do.
P.S.: I have successfully replaced many phrases with this method and going forward I say that I did not mix up any folders, in this small, tiny matter I still have experience, I am not one of those who forgets to include the plugin in NMM or throws past the DATA folder
NEVERMIND. I delete voices- EN.ba2 and this working!)
Thanks again, for your mods here in Fallout 4 and Starfield.
From the description page.
"You can see even more shopping spots with Shopping Mats. Similarly to Store Mats, they're only visible in workshop mode. Settlers will occasionally approach them and start "browsing" (just like if they were in a store). If there's a vendor nearby, the
settler will start a conversation with them. They were originally
designed for mod added stores but you can place them anywhere. Wherever you place one, your settlers will start shopping. You can also combine using them with Store Mats."
Ofc the NPC would take some for themselves and the player would get 50% or whatever.
Not sure if you have plans for this but I'd be new to Geck/CK scripting but use to messing with it however. Modded other games on the other hand.
If you end up doing the idea first then great, just thought it would add immersion.
Edit - not sure if other mods do this including SS1-2 because I don't like how incompatible it is with everything else or breaks my game if I uninstall.
Settlers Go Shopping ESL-47971-2-7-1700528654
Settlers Go Shopping ESL-47971-2-7-1700528611 (is this an ESP?)
Love your mods by the way, and I archive them on an external drive :)
and send Tina to the vault 88. I've removed that one several times while re-arranging load orders, but that doesn't seem to be the problem.
I wondered if there is a keyword that can be slapped on a work object, to prevent the settler working there from being called to any stores? If not, perhaps the LinkDisable vanilla keyword would lend itself to the task? It seems to be used for companion comments only by the game, not related to workshop objects - reusing it for the purpose isn't likely to interfere.
The same thing would be useful for the settler workout mod as well.
The idea being that some other mod's work objects can opt to exclude themselves (respective their assigned settler) from the "being called to store/gym" mechanics in your mods. So the keyword would usually be added by script or CK, rather than through console.
In my use case, while it will certainly be fun to watch the Barber emerge from his interior shop in restored Concord and go shopping in the exterior, I'd rather not have the folks working in the clinic interior being not actually in the clinic interior (but out shopping), when player might desperately need their services. i.e. I'm developing game mechanics that allow stores and beds in interiors to work as part of an exterior settlement (or, at least, provide the illusion thereof), and I'm looking for interoperability with your mods :)
My suggestion to use a vanilla keyword for this purpose instead of making a special one, is so that any mod that wishes to prevent interaction will not need a reference to your mod (to get the special keyword). Instead, they simply add the decided upon & documented vanilla keyword, and that's it. If any of your mods are present, they'll process that kwd in the context, and if not then it doesn't matter.
Here's an example function:
Int Function SetExcludeORMustHaveKeywordLOCAL(Keyword ExcludeORMustHaveKeyword, \
Int ExcludeORMustHaveKeywordMode, \
Int FeedbackMode = 0)
Int ReturnInt
Var[] Params = new Var[3]
Params[0] = ExcludeORMustHaveKeyword
Params[1] = ExcludeORMustHaveKeywordMode
Params[2] = FeedbackMode
ReturnInt = Utility.CallGlobalFunction("NPSScripts:NPS_HelperScript", "SetExcludeORMustHaveKeyword", Params) as Int
Return ReturnInt
EndFunction
; ExcludeORMustHaveKeyword:
; Can be any keyword or None.
; If None, the keyword check feature will be turned off (default).
; ExcludeORMustHaveKeywordMode:
; Sets a global that determines the keyword check mode.
; If the parameter 'ExcludeORMustHaveKeyword' is None, this parameter will be ignored.
; targetNPC is the Shopper.
; 0: the keyword check feature will be turned off (default).
; 1: targetNPC must have the keyword 'ExcludeORMustHaveKeyword'.
; 2: targetNPC must not have the keyword.
; 3: targetNPC must be either linked to/linked from another ref with this keyword.
; 4: targetNPC must not be linked to/linked from.
; 5: targetNPC's WorkshopObject (at least one) must have the keyword.
; 6: targetNPC's WsObj must not have this keyword (none of them).
; 7: targetNPC's WsObj must be either linked to/linked from.
; 8: targetNPC's WsObj must not be linked to/linked from.
; FeedbackMode:
; Optional feedback for debug info.
; 0: do nothing
; 1: debug.notification
; 2: debug.messagebox
; 3: debug.traceuser (opens then closes "NPSHelperLog")
; The function returns:
; -1: unknown error (shouldn't happen)
; 0: if the global function couldn't be found.
; 1: if successfully changed both the keyword and the keyword mode global
; 2: secord parameter, the keyword mode global is out of range (valid range: 0-8)
; 3: keyword couldn't be changed (e.g., mod is not installed)
; 4: global couldn't be changed