If you're experiencing an issue with Mercenaries spawning in naked, I'd appreciate it if someone would help me determine which mod is causing the issue. This issue keeps getting logged in the Bugs section over and over and will most likely require a patch to solve. But I can't make that patch if no one wants to help me determine which mod is causing the issue...
Current workaround is to set Mercenary likelihood to 0 in the MCM so they simply don't spawn.
Mercenaries (CrStr_Mercenary) get their clothes from CrStr_Mercenary_Outfit, which reads levelled lists for Boots, Clothes, Gauntlets and Helmets to randomize their outfit:
Each levelled list just links to base game clothes/armors like so:
Chance None is 0, so Mercenaries should always get one of these armors unless another mod has deleted them for some reason.
To figure that out, someone needs to unload a group of mods from their load order at a time, load the game, and test spawning Mercenaries until the issue goes away. To only spawn in Mercenaries, use the new Likelihoods section in the Crowded Streets MCM to set likelihoods for the other NPC types to 0 so only Mercenaries get spawned. The easiest place to test would be in Whiterun by going into an Inn.
Q. Why don't you do it. You made the mod. A. I can't reproduce the issue on my end (base game + unofficial patch + crowded streets only build). I don't have any mods installed that delete base game armors, so mercenaries are appropriately dressed:
Try reducing the XMarker Spawn Radius in the MCM to spawn them closer to randomly chosen XMarkers. Keep in mind that NPC placement is a random radius around a randomly chosen nearby XMarker.
All generated NPCs have a generic sandbox package. This game engine only seems to evaluate a handful of packages at one time, and package evaluation seems to favor persistent NPCs over temporary ones, even though an EvaluatePackage() is run on all of them to try and force an immediate evaluation. If you know of a way to increase the number of NPC packages evaluated at one time let me know.
The way to made this mod to work is ingenious. I am now analyzing all the best mods in Nexus that add random NPCs to see a way to use your Mod to replicate in a patch and then save plugin slots.
I had a look in the records of Crowded Streets.esp through SSedit and noticed it is possible to add new factions to spawn with the existing ones (like an Alchemist spawning as a merchant, for example).
Could you please create a similar Mod, but to populate roads?
Is Extended Encounters what you're looking for? It's kinda similar, basically it just adds more types of encounters to the pool of random road/wilderness encounters to add more unpredictability when wandering around.
I can't really use the same system I developed for Crowded Streets to populate roads since it relies on the player entering a location containing specific keywords and XMarkers.
If you simply want NPCs to wear different outfits you'll need to make a mod for that.
If you're trying to give NPCs different outfits in-game, that's not going to work. Crowd NPCs are deleted when you leave the location to keep this mod performative. That's not something I ever plan on changing.
Does this mod have a cleanup option to delete all the NPC's it generated?
Yes. Leave the city, town, or inn. As per the mod description:
Automatic Cleanup: Generated NPCs disappear at night and reappear in the morning, and you can customize the crowd time in the MCM if you want them to stay around longer or disappear earlier. These NPCs are deleted from the game automatically when you leave the location to prevent save bloat and peformance issues.
I read that information you quoted in this mod's description, however, after having left Riverwood for a few in game days, the NPC's remained. I knew they were the same NPC's because I use mods that auto generate names for NPC's.
The only time Crowded Streets could possibly leave NPCs behind is if you're experiencing script lag, or another mod is referencing the generated NPCs somehow, preventing deletion. The following Skyrim.ini tweaks might help by assigning more resources to papyrus processing:
[Papyrus] fUpdateBudgetMS=800.0 fExtraTaskletBudgetMS=800.0 fPostLoadUpdateTimeMS=2000.0 iMinMemoryPageSize=256 iMaxMemoryPageSize=512 iMaxAllocatedMemoryBytes=153600 I've never seen Crowded Streets leave NPCs behind before. The Cleanup() function in CrStr_MainScript is called by CrStr_WIPlayerScript on the player alias when a location change is detected. Here's the Cleanup() function:
Function Cleanup() UnregisterForUpdateGameTime(); Stop polling for updates.
if (CrStr_Debug.GetValue() == 1) debug.notification("Crowded Streets Crowd Deletion on " + r + " NPCs.") endif
if (CrowdSpawned == True); Only delete the NPCs if we've actually spawned them in. int i = 0 While (i < r) SpawnedNPC[i].Delete(); Delete the NPC. SpawnedNPC[i] = None; Clear array instance to ensure NPC really is gone, as per: https://www.afkmods.com/index.php?/topic/3781-the-critter-thread/page/2/#entry149444. i += 1 EndWhile EndIf SetStage(255); Setstage here to ensure NPCs get deleted first before ending the event.
EndFunction Basically we iterate through the array containing references to each generated NPC, delete the NPC, then clear the array instance to ensure a link to the NPC isn't held in memory. If something is interfering with the Delete() process, like another mod affecting these NPCs, that's not something I can do anything about from Crowded Street's end.
Is there any way you can exclude Crowded Streets NPCs from being renamed, in case it's interfering with the cleanup process?
I can confirm that mods that auto generate names for these NPC's are causing them to stay in the game...
If something is interfering with the Delete() process, like another mod affecting these NPCs, that's not something I can do anything about from Crowded Street's end.
Is there any way you can exclude Crowded Streets NPCs from being renamed, in case it's interfering with the cleanup.
Since I do not want to disable auto generate names for NPC's as no one's name is really "peasant or mage," can you alter the mod so that NPC's introduced by your mod are always deleted even if given names or alias?
can you alter the mod so that NPC's introduced by your mod are always deleted even if given names or alias
Not possible without a compatibility patch. And even then I'll likely need to just exclude Crowded Streets NPCs from being named.
I can have a look at trying to make a compatibility patch in the future when I have the time to do so, otherwise if someone else wants to do this in the mean time, go for it. Not giving me the name of the mod that's renaming NPCs will probably make this take a bit longer since I don't know what mod to make a patch for.
Would it be at all possible to have a patch or MCM setting to disable Riften (I assume it's the LOTD nav mesh problem)? There's always 2-3 dead people in my Riften, which is pretty on brand for Riften, actually. Is this just immersion? :D I love having these randoms around otherwise.
Can you confirm whether Legacy of the Dragonborn is indeed responsible? From 1.1.0 onwards you can set the spawn height in the MCM. Is that something you've tried yet?
Thank you for replying! I looked in Xedit and LOTD actually doesn't add navmesh to Riften (which was the proposed issue by some other folks in these comments) so I'll keep looking for the issue and let you know if I find any potential conflicts. I saw the spawn height option but I wasn't sure what I needed to set it as?
It's relative to the random XMarker it picks. So if you set it to a low value it should spawn NPCs in at roughly the same height as the XMarker. Maybe try reducing the XMarker Spawn Radius too to have it spawn NPCs closer to the randomly picked XMarker.
Really appreciate the new MCM options. If I can make a suggestion / feature request, can we get these options on a per town / city basis? I would love, for example, to have more miners in Karthwasten and Shor's Stone. more priests in Kynes Grove, more mages in Winterhold, and to just turn off the mod in Ivarstead (for some reaon Thuldor's Ivarstead kills your NPC's even at the lowest settings.
Don't know if it's too much to ask, but the ability to tweak settings like that would elevate this already excellent mod, so thought I'd put it out there
After last update all mercenary NPCs in towns are naked. Does with time they "gonna put on clothes" or my games is f* ? Been playing whole day and these mercs still appear naked. From Bethesda.net
Would you be able to identify the mod responsible? You can do this by unloading a group of mods at a time. I can't make a patch for it since I have no idea which mod(s) is causing the issue.
From 1.1.0 onwards, NPCs have their own outfit list and levelled item list which just pulls from base game clothes and armor. The only reason NPCs would be appearing naked is if you have a mod installed that deletes those base game clothes and armor.
all my mods are from Bethesda.net (I'm done with mod managers and modding) I just wanna "insert and play". I didn't change my modlist before and after update of "Crowded Streets" on Bethesda.net (before update mercs had clothes on). And my mods are simple (non of them adds new clothes and etc. Basically all my mods are your mods and Arthmoor's. And mercs in wilderness are fine (Extended Encounters).
Been playing for 3weeks, spent like 100h+ just to level my guy to 200 and I'm afraid not gonna risk to unsubscribe any mods (I don't touch mods in the middle of play - only update). And I don't add new mods in mid of game (planning all my mods before starting the game).
Extended Encounters and Crowded Streets work together just fine. I made both of them and I tested them together.
%userprofile%\AppData\Local\Skyrim Special Edition, copy your plugins.txt, then remove a mod from it one at a time, load Skyrim, leave and enter a city, check for naked NPCs until you find the mod responsible. Then restore your plugins.txt file when done to restore your original load order. I really don't have the time to replicate everyone's load order whenever an issue is reported. If you don't want to do this, that's fine, but right now you're just wasting your time and mine guessing. The final thing I can recommend is to roll back to an older version of Crowded Streets such as 1.0.3 which only used base game levelled lists/outfit lists.
625 comments
Current workaround is to set Mercenary likelihood to 0 in the MCM so they simply don't spawn.
Mercenaries (CrStr_Mercenary) get their clothes from CrStr_Mercenary_Outfit, which reads levelled lists for Boots, Clothes, Gauntlets and Helmets to randomize their outfit:
Each levelled list just links to base game clothes/armors like so:
Chance None is 0, so Mercenaries should always get one of these armors unless another mod has deleted them for some reason.
To figure that out, someone needs to unload a group of mods from their load order at a time, load the game, and test spawning Mercenaries until the issue goes away. To only spawn in Mercenaries, use the new Likelihoods section in the Crowded Streets MCM to set likelihoods for the other NPC types to 0 so only Mercenaries get spawned. The easiest place to test would be in Whiterun by going into an Inn.
Q. Why don't you do it. You made the mod.
A. I can't reproduce the issue on my end (base game + unofficial patch + crowded streets only build). I don't have any mods installed that delete base game armors, so mercenaries are appropriately dressed:
https://ibb.co/dwQcRK5r
All generated NPCs have a generic sandbox package. This game engine only seems to evaluate a handful of packages at one time, and package evaluation seems to favor persistent NPCs over temporary ones, even though an EvaluatePackage() is run on all of them to try and force an immediate evaluation. If you know of a way to increase the number of NPC packages evaluated at one time let me know.
I had a look in the records of Crowded Streets.esp through SSedit and noticed it is possible to add new factions to spawn with the existing ones (like an Alchemist spawning as a merchant, for example).
Could you please create a similar Mod, but to populate roads?
Since now, thanks for that outstanding mod :)
I can't really use the same system I developed for Crowded Streets to populate roads since it relies on the player entering a location containing specific keywords and XMarkers.
This one + Extended Encounters have joined my very few favorite mods of all times.
I mixed them with Unlimited Hostile Encounters for a perfect experience <3
Thank you sooo much!
If you're trying to give NPCs different outfits in-game, that's not going to work. Crowd NPCs are deleted when you leave the location to keep this mod performative. That's not something I ever plan on changing.
I just noticed that after disabling the mod via the MCM (turned off NPC spawning in Towns, Cities, and Inn's), the NPC's remain spawned in.
Does this mod have a cleanup option to delete all the NPC's it generated?
Cheers.
Automatic Cleanup: Generated NPCs disappear at night and reappear in the morning, and you can customize the crowd time in the MCM if you want them to stay around longer or disappear earlier. These NPCs are deleted from the game automatically when you leave the location to prevent save bloat and peformance issues.
I read that information you quoted in this mod's description, however, after having left Riverwood for a few in game days, the NPC's remained. I knew they were the same NPC's because I use mods that auto generate names for NPC's.
Any thoughts?
[Papyrus]
fUpdateBudgetMS=800.0
fExtraTaskletBudgetMS=800.0
fPostLoadUpdateTimeMS=2000.0
iMinMemoryPageSize=256
iMaxMemoryPageSize=512
iMaxAllocatedMemoryBytes=153600
I've never seen Crowded Streets leave NPCs behind before. The Cleanup() function in CrStr_MainScript is called by CrStr_WIPlayerScript on the player alias when a location change is detected. Here's the Cleanup() function:
Function Cleanup()
UnregisterForUpdateGameTime(); Stop polling for updates.
if (CrStr_Debug.GetValue() == 1)
debug.notification("Crowded Streets Crowd Deletion on " + r + " NPCs.")
endif
if (CrowdSpawned == True); Only delete the NPCs if we've actually spawned them in.
int i = 0
While (i < r)
SpawnedNPC[i].Delete(); Delete the NPC.
SpawnedNPC[i] = None; Clear array instance to ensure NPC really is gone, as per: https://www.afkmods.com/index.php?/topic/3781-the-critter-thread/page/2/#entry149444.
i += 1
EndWhile
EndIf
SetStage(255); Setstage here to ensure NPCs get deleted first before ending the event.
EndFunction
Basically we iterate through the array containing references to each generated NPC, delete the NPC, then clear the array instance to ensure a link to the NPC isn't held in memory. If something is interfering with the Delete() process, like another mod affecting these NPCs, that's not something I can do anything about from Crowded Street's end.
Is there any way you can exclude Crowded Streets NPCs from being renamed, in case it's interfering with the cleanup process?
I can confirm that mods that auto generate names for these NPC's are causing them to stay in the game...
Since I do not want to disable auto generate names for NPC's as no one's name is really "peasant or mage," can you alter the mod so that NPC's introduced by your mod are always deleted even if given names or alias?
The mod I use to give NPC's names:
https://www.nexusmods.com/skyrimspecialedition/mods/73081
I can have a look at trying to make a compatibility patch in the future when I have the time to do so, otherwise if someone else wants to do this in the mean time, go for it. Not giving me the name of the mod that's renaming NPCs will probably make this take a bit longer since I don't know what mod to make a patch for.
Here it is again: https://www.nexusmods.com/skyrimspecialedition/mods/73081
Thanks for the work boss
Don't know if it's too much to ask, but the ability to tweak settings like that would elevate this already excellent mod, so thought I'd put it out there
Been playing whole day and these mercs still appear naked.
From Bethesda.net
From 1.1.0 onwards, NPCs have their own outfit list and levelled item list which just pulls from base game clothes and armor. The only reason NPCs would be appearing naked is if you have a mod installed that deletes those base game clothes and armor.
I didn't change my modlist before and after update of "Crowded Streets" on Bethesda.net (before update mercs had clothes on).
And my mods are simple (non of them adds new clothes and etc. Basically all my mods are your mods and Arthmoor's.
And mercs in wilderness are fine (Extended Encounters).
And I don't add new mods in mid of game (planning all my mods before starting the game).
Skyrim Creations - The Vigilants’ New Clothes - Vigil Enforcer Distribution
Skyrim Creations - East Empire Company Armor
Skyrim Creations - Summerset Shadow Armor
Skyrim Creations - Morrowind Threads - Netch Leather Distribution
And rest of mods are like these:
Skyrim Creations - Open Cities Skyrim
Skyrim Creations - Run For Your Lives
Skyrim Creations - Ars Metallica
Skyrim Creations - Cutting Room Floor
Skyrim Creations - Dawnstar
Skyrim Creations - Unofficial Skyrim Special Edition Patch [USSEP]
Skyrim Creations - Unofficial Skyrim Creation Club Content Patch
Skyrim Creations - Skyrim Extended Cut - Saints and Seducers
Skyrim Creations - Sounds of Skyrim - Complete Edition [MCM]
Skyrim Creations - Growl - Werebeasts of Skyrim
Skyrim Creations - Sacrilege - Minimalistic Vampires of Skyrim [PC]
Skyrim Creations - Valravn - Integrated Combat of Skyrim [PC]
Skyrim Creations - Immersive Hunting
I avoid big mods with armor rework and etc, heck I even avoid mods which adds new lands and etc (only have Wyrmstooth and Saints and Seducers) because these types of mods tends to add new armors and mess up vanilla ones.
My guess is that Skyrim Creations - Extended Encounters & Skyrim Creations - Crowded Streets doesn't work together very well.
Earlier I thought maybe it's because Skyrim Creations - Open Cities Skyrim but then I saw naked merc in a village, and second thought maybe it's because Skyrim Creations - Open Cities Skyrim and Skyrim Creations - Rorikstead changes Cities and Villages a bit (even adds new villages Skyrim Creations - The Fall of Granite Hill). But then I saw naked merc in Riverwood (and this village is untouched by village mods).
%userprofile%\AppData\Local\Skyrim Special Edition, copy your plugins.txt, then remove a mod from it one at a time, load Skyrim, leave and enter a city, check for naked NPCs until you find the mod responsible. Then restore your plugins.txt file when done to restore your original load order. I really don't have the time to replicate everyone's load order whenever an issue is reported. If you don't want to do this, that's fine, but right now you're just wasting your time and mine guessing. The final thing I can recommend is to roll back to an older version of Crowded Streets such as 1.0.3 which only used base game levelled lists/outfit lists.