• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

[A21] khzmusik's Modlets

First, thanks and commendations all around to everyone working to get mods up to a21 standards.  I'm considering the upgrade but it will break deeply involved current game.  I have a lot of questions, considering starting entirely new thread to ask them but since khz is basically the most helpful and knowledgeable person in the world I thought Id ask here first. 

(first question, I find with current install of npccore and khzmusic mods, I can lower but not increase my standing with whiteriver.  This means that cumulatively my whiteriver standing has dropped below 200 so all of the 'good guys' shoot at me which I dont like and I cant hire them so i'm running from them rather than lowering further and committing karmic atrocities.  Allies tend to switch to hand to hand any chance they get and I try to help them, but then they jump due to low frame rate and I end up friendly firing them to death, which brings me great sorrow. Or on horde night they are out there in the fog etc. Doing missions for traders does not help this as I would expect it would.  This is prob known issue.  I might be able to magically raise it by changing some number in some entitysomething.xml, which number would I change in a20 version of faction standings?)

The big issue, I'd like to upgrade to a21 but I just dont want to play this game without certain mods anymore.  

-compopack(how did i ever play without this added traumaizing content?)

-npccore

-betterspears(dononvan, lootbags more and longer)

-fpsboost

-wmmcruisecontrol

-betterspikes

-improvedhordes

-khabehemoth

-bettercement

of course

-khzmusic modlets civilians, psychos, zombies

-raiderpack, robotspzck, mechs, spiders, survivors, vaultdwellers,

-sphere skip tutorials

-gans zombies, guppies zombies

I see threads here for improved hordes and npccore, but how can I know what will work with what?  Most easily, or idk.  I'm confused and am trying to research before getting into blind monkey testing phase of things. 

Also side question, in general, what is word on performance on medium tier systems of a21? 

Recent horde night with these mods all on day 50, was wild times.  Perhaps most entertaining horde night ive yet had and that is saying something.  They are somehow emergent, they try different strategies to break through in phases and surprise me, find weak spots I did not know were there.  And did the wwz thing of piling up to flood over walls and almost did.  Having to reload, always the ultimate weakness of human forces against the undead. 

also fwiw pass this one to whoever, the "Pille' building wins most psychologically terrorizing POI ive yet played in 7d. and no reward.  nope, no loot at end of that journey. 

 
Interesting issue with the Food Spoilage mod.  I seem to have an issue where the cooking magazines are spoiling.  I tested with only your mod, and it didn't happen.  However, with sCore installed, it does.  So I added a line

 


    <remove xpath="/items/item[@name='foodSkillMagazine']/property[@name='Spoilable']" />
 






Also, with sCore, it gives 
WRN XML patch for "blocks.xml" from mod "khzmusik_Spoilage" did not apply: <setxpath="/blocks/block[@name='ConfigFeatureBlock']/property[@class='FoodSpoilage']" (line 4 at pos 6)


I know it is not your mod, but something slightly goes weird with sCore mixed in.  Not your problem, but a lot of people do use sCore.

 
Last edited by a moderator:
Interesting issue with the Food Spoilage mod.  I seem to have an issue where the cooking magazines are spoiling.  I tested with only your mod, and it didn't happen.  However, with sCore installed, it does.  So I added a line

 


    <remove xpath="/items/item[@name='foodSkillMagazine']/property[@name='Spoilable']" />
 






Also, with sCore, it gives 
WRN XML patch for "blocks.xml" from mod "khzmusik_Spoilage" did not apply: <setxpath="/blocks/block[@name='ConfigFeatureBlock']/property[@class='FoodSpoilage']" (line 4 at pos 6)


I know it is not your mod, but something slightly goes weird with sCore mixed in.  Not your problem, but a lot of people do use sCore.


The Food Spoilage mod depends upon SCore, that's the mod that actually implements the food spoilage. So I will take a look at it. It worked fine when I released it, but maybe SCore has made some changes and my modlet needs to be updated.

The issue with magazines spoiling is probably my fault. I ported the code from A20, which obviously didn't have magazines, and I think the magazines were selected by mistake.

(first question, I find with current install of npccore and khzmusic mods, I can lower but not increase my standing with whiteriver.  This means that cumulatively my whiteriver standing has dropped below 200 so all of the 'good guys' shoot at me which I dont like and I cant hire them so i'm running from them rather than lowering further and committing karmic atrocities.  Allies tend to switch to hand to hand any chance they get and I try to help them, but then they jump due to low frame rate and I end up friendly firing them to death, which brings me great sorrow. Or on horde night they are out there in the fog etc. Doing missions for traders does not help this as I would expect it would.  This is prob known issue.  I might be able to magically raise it by changing some number in some entitysomething.xml, which number would I change in a20 version of faction standings?)


To be honest, that modlet was designed with NPC POIs in mind - there are a lot of quests that depend upon them, and without those quests, it's a lot harder to change your faction standing.

But, one way to do it is to kill the enemies of the faction. So to increase standing with Whiteriver, kill a bunch of bandits. It's not the best solution, but it's probably all you have right now. (And there's no shame in running from NPCs.)

On the plus side, if you've killed that many Whiteriver folks, then probably the bandits will be OK with you. If you're playing with the kinds of bandits that can be hired, then you could hire them.

As for the other mods, speaking only for my own, I intend to port over all the NPC packs. That's next on my list after I finish zombies (which should be soon).

I'd still give A21 a try though. It's possible some of those mods (like better spears) might be unnecessary now.

Also, my "Quality of Life" modlet now includes longer de-spawn times for loot bags. Give it a shot.

Great, thanks. Backstory and some dialogue would be awesome.


To be clear, my first priority is getting everything out and in parity with A20. Added features (like additional dialogs) will come later. Plus right now I don't even know what the NPCs should say. :)  So please be patient.

 
yes I am good with just getting the npc pack out quickly.  However I look forward to someday getting some dialogue.

Perhaps they could talk about what happened to them before you met.  Family killed, last base they lived in overrun, etc...

 
Interesting issue with the Food Spoilage mod.  I seem to have an issue where the cooking magazines are spoiling.  I tested with only your mod, and it didn't happen.  However, with sCore installed, it does.  So I added a line

 


    <remove xpath="/items/item[@name='foodSkillMagazine']/property[@name='Spoilable']" />
 






Also, with sCore, it gives 
WRN XML patch for "blocks.xml" from mod "khzmusik_Spoilage" did not apply: <setxpath="/blocks/block[@name='ConfigFeatureBlock']/property[@class='FoodSpoilage']" (line 4 at pos 6)


I know it is not your mod, but something slightly goes weird with sCore mixed in.  Not your problem, but a lot of people do use sCore.


The "spoilable magazines" issue should now be fixed. I tested updating the modlet on a the same game save, and I did not have any issues, but YMMV.

I could not reproduce the warning about the SCore config feature block. SCore should be installed, and I double-checked the latest code, it should apply.

The fixed version is 21.0.1.1.

I also updated the first post to hopefully make it clearer that SCore is required for my food spoilage mod.

Perhaps they could talk about what happened to them before you met.  Family killed, last base they lived in overrun, etc...


That's exactly the idea. The dialog options I intend to create are:

  • "What did you do before the apocalypse?"
  • "What happened to your group?"
  • "Do you have any family?"
  • "How did you survive?"


There would be different responses according to your standing with their faction, and whether they are hired or not.

In A20, I actually made these dialogs for the whisperers, rogues, and psychos. But since by default the "advanced" versions of these characters don't spawn, and even if they did few people had a good standing with their factions, I'm pretty sure nobody saw them.

 
Last edited by a moderator:
Your attention to the issue is much appreciated. I deeply admire your dedication to the community and modding expertise. Your work showcases an impressive level of skill and has left a genuine impact.

Regarding the SCore dependency, my oversight caused my own confusion, and I apologize for that. 

It was fun figuring out the magazine issue. I think the naming convention TFP used for magazines should not start with the category of other items.  Magazines should start with the word magazines like books, ammo, food do.  But it is what it is.  I'm fairly new at modding, so I'm sure I just don't understand the reasoning.
 

I hold great respect for your and other modder's contributions that enhance the 7D2D experience. Your willingness to update the modlet for compatibility is commendable, and I'm honored to be part of this journey.

Thank you for your efforts. I look forward to more exciting developments. Keep up the fantastic work!

 
Last edited by a moderator:
I just updated the first NPC Pack:

Zombie Pack for NPC Core

Adds new zombies.

New for A21: Includes feral and radiated versions of each zombie.

Repo: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/tree/main/1-khzmusik_Zombies 

Download: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/archive/main/7d2d-a21-modlets-main.zip?path=1-khzmusik_Zombies 

I also added this modlet:

Remove NPC Core Characters

Removes NPC Core characters from all entity groups, so they do not spawn in game.

This is mainly for people who want zombies that require NPC Core, but don't want the human NPCs that spawn by default (Baker, Nurse, and Harley).

However, it may be useful for others as well. If you have other NPC Packs installed, you might want to only use characters from those packs.

Note: In NPC Core, there is a file called entitygroups_nocorespawn.xml in Config/Options. If you rename that file to entitygroups.xml, and replace the existing file with that name in Config, it will do exactly the same thing as this modlet. This modlet is for people who are not technically knowledgeable enough to do that, or just find it more convenient to install a modlet.

Repo: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/tree/main/1-XNPCCore_khzmusik_Remove_Core_Characters 

Download: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/archive/main/7d2d-a21-modlets-main.zip?path=1-XNPCCore_khzmusik_Remove_Core_Characters 

The next pack I am updating is the Civilians pack.

 
I just pushed a new update to the Rain Collector mod.

This update handles chunk observers better. Those aren't saved, so if the player left the game and returned, the chunk observer for the dew collector would be gone.

As a result, the dew collector wouldn't update at all while you were away from the chunk, and would only calculate the added water when you came back. At that point, it can only use the current weather conditions for its calculations, and it would use those conditions to calculate the added water for the entire time you were away from the chunk.

There can also be a couple seconds' delay before the next game "tick," and if you checked the dew collector before that happened, you would only see what was collected before you left the chunk. You would only see the water collected while you were away from the chunk, the next time you opened the dew collector. (At least that is my theory, I personally was not able to reproduce this.)

Incidentally, this is also what happens if you opt not to use chunk observers for performance reasons.

The new version is 21.0.1.2. I tested it on an existing game so it should be save game safe.

Repo: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/tree/main/khzmusik_Rain_Collector 

Download: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/archive/main/7d2d-a21-modlets-main.zip?path=khzmusik_Rain_Collector 

 
I just pushed a new update to the Rain Collector mod.

This update handles chunk observers better. Those aren't saved, so if the player left the game and returned, the chunk observer for the dew collector would be gone.

As a result, the dew collector wouldn't update at all while you were away from the chunk, and would only calculate the added water when you came back. At that point, it can only use the current weather conditions for its calculations, and it would use those conditions to calculate the added water for the entire time you were away from the chunk.

There can also be a couple seconds' delay before the next game "tick," and if you checked the dew collector before that happened, you would only see what was collected before you left the chunk. You would only see the water collected while you were away from the chunk, the next time you opened the dew collector. (At least that is my theory, I personally was not able to reproduce this.)

Incidentally, this is also what happens if you opt not to use chunk observers for performance reasons.

The new version is 21.0.1.2. I tested it on an existing game so it should be save game safe.

Repo: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/tree/main/khzmusik_Rain_Collector 

Download: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/archive/main/7d2d-a21-modlets-main.zip?path=khzmusik_Rain_Collector 


Curious as to what kind of performance impact the chunk observer really has. Are we talking a barely-noticable impact, like 1 or 2 fps? Or a noticeable hit to performance of, say, 10 or more fps?

Also, does the number of dew collectors (and therefore chunk observers) have an additional impact on performance? Or are multiple observers in the same chunk basically handled as a single observer by the game?

 
Curious as to what kind of performance impact the chunk observer really has. Are we talking a barely-noticable impact, like 1 or 2 fps? Or a noticeable hit to performance of, say, 10 or more fps?

Also, does the number of dew collectors (and therefore chunk observers) have an additional impact on performance? Or are multiple observers in the same chunk basically handled as a single observer by the game?


From what I can tell (and what people have told me on Guppy's Discord), the performance impact is due to keeping an additional chunk live in the game.

So it doesn't really map to frames per second, so much as a bit of extra processing power and extra memory, both of which are roughly equivalent to adding a player in a MP game (since players are always chunk observers).

It also depends upon the number of chunks, not the number of observers, so if there are ten observers in the same chunk you only have a performance impact for one chunk. That's part of the reason I thought it would be OK, since I'm pretty sure that most players create dew collector "farms" that are mostly in the same chunk.

Having said that, I test on single player, and the effect on my system was negligible. For reference, my computer has an AMD Ryzen 5 3600 processor,16G RAM, and an RTX 2060 GPU. So it's not top-of-the-line by any means, but I recognize that a lot of players still use systems that aren't as good. I don't think it will have a big impact but I haven't tested on systems lower than mine.

 
From what I can tell (and what people have told me on Guppy's Discord), the performance impact is due to keeping an additional chunk live in the game.

So it doesn't really map to frames per second, so much as a bit of extra processing power and extra memory, both of which are roughly equivalent to adding a player in a MP game (since players are always chunk observers).

It also depends upon the number of chunks, not the number of observers, so if there are ten observers in the same chunk you only have a performance impact for one chunk. That's part of the reason I thought it would be OK, since I'm pretty sure that most players create dew collector "farms" that are mostly in the same chunk.

Having said that, I test on single player, and the effect on my system was negligible. For reference, my computer has an AMD Ryzen 5 3600 processor,16G RAM, and an RTX 2060 GPU. So it's not top-of-the-line by any means, but I recognize that a lot of players still use systems that aren't as good. I don't think it will have a big impact but I haven't tested on systems lower than mine.


That answered most of my questions, thanks! So for single player the best strategy is to keep all of your dew collectors in one chunk instead of spreading them around.

My PC is fairly comparable to yours -- Ryzen 5 2600x, RTX 2080, same amount of ram. It would be an interesting experiment to place a lot (I mean a WHOLE LOT) of dew collectors around a map, each one in a different chunk, just to see how many active chunks it takes to make a serious, measurable difference in performance. 😁

 
I just released another update to the Rain Collector mod. These changes should make calculations more accurate, whether or not you choose to enable chunk observers.

Changes in 21.0.1.3:

  • Keeps incremental averages of weather information, per biome

    Dew collector uses incremental averages when not in the current weather biome (if you use chunk observers), or when returning to the chunk after a long absence
  • Dew collector updates incremental averages with current weather (and uses current weather) otherwise
  • Throttling of incremental average updates for multiple dew collectors in the same biome

[*]Bug fix: if otherwise enabled, removing "IsChunkObserver" (rather than setting it to "false") did not disable chunk observers

[*]Now avoids repeat initialization

[*]Improved handling of the weather grace period

[*]More informative logging (shown in debug mode, type "dm" in the console)

These changes have been tested on existing games, and should be save game safe (though as always, I make no guarantee). I recommend updating for a better experience.

However, the fact that it is save game safe means neither the incremental averages nor chunk observers will persist if you leave the game. In most cases this should not be noticeable at all, but it might cause a bit more/less water to be added, when you first enter the same chunk as the dew collector after starting the game.

Enjoy!

 
Last edited by a moderator:
Hi! I hope I'm not asking something that has already been answered, but I was wondering if you were planning to update your Civilians & Whisperers? Thanks so much!

 
Hi! I hope I'm not asking something that has already been answered, but I was wondering if you were planning to update your Civilians & Whisperers? Thanks so much!


Absolutely. Civilians are next, then probably rogues and psychos. I want to make some improvements to Whisperers so my plan is to do those last. I'm planning to do more packs too.

 
Absolutely. Civilians are next, then probably rogues and psychos. I want to make some improvements to Whisperers so my plan is to do those last. I'm planning to do more packs too.
Awesome! Civilians & Whisperers have become a must for us, & the world just doesn't feel right without them. Lol. Awesome job!

 
Just to let folks know: The latest A21.1 experimental removed support for replacing materials via XML. This is how I did my radiated and feral zombies, so those will have to be redone.

It's an easy fix, and it shouldn't break A21.0, so I plan to do that tonight.

 
Last edited by a moderator:
Just to let folks know: The latest A21.1 experimental removed support for replacing materials via XML. This is how I did my radiated and feral zombies, so those will have to be redone.

It's an easy fix, and it shouldn't break A20.0, so I plan to do that tonight.
Going to do particles instead?  There was a different way to change the materials that I was using made by Altered... However, it is a harmony addition and broken as well currently.  Hoping Altered will try to fix but not likely.

 
Last edited by a moderator:
The Zombies modlet is now updated with the changes needed for A21.1.

The new version is 21.1.1.1.

However, even though it was designed for A21.1, I also tested it with A21.0 (current stable) and there were no issues. The update should also be save-game safe. So, even if you're not updating to A21.1 yet, I still recommend getting the latest version.

The links are the same, but here they are again, so you don't have to search the first post.

Repo: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/tree/main/1-khzmusik_Zombies 

Download: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/archive/main/7d2d-a21-modlets-main.zip?path=1-khzmusik_Zombies 

Going to do particles instead?  There was a different way to change the materials that I was using made by Altered... However, it is a harmony addition and broken as well currently.  Hoping Altered will try to fix but not likely.


I'm not a big fan of using particle effects for radiated or feral zombies. Also I don't need to swap out materials dynamically, so extra C# is overkill.

Instead of bundling the materials separately, and switching them using XML, I just made new prefabs for each zombie in Unity. Each variant is the same except for the material used for the eyes, and in the case of radiated zombies, the material used for the body. Usually those materials re-use textures from the "main" zombie, though I did have to edit some textures for a few of the radiated materials (otherwise the clothing looked weird).

Perhaps ironically, this results in a smaller file size overall. Since everything is in the same bundle, the only extra file/memory space needed is for the extra textures used for the radiated materials; everything else is re-used between prefabs. In this case the file size went up by about 3M (from about 66M to 69M). When I bundled the materials separately, that bundle was about 28M. So putting them in the same bundle saved about 25M. I'm guessing those gains are also reflected in the extra memory needed.

So, I probably should have done it this way in the first place.

 
Last edited by a moderator:
The Zombies modlet is now updated with the changes needed for A21.1.

The new version is 21.1.1.1.

However, even though it was designed for A21.1, I also tested it with A21.0 (current stable) and there were no issues. The update should also be save-game safe. So, even if you're not updating to A21.1 yet, I still recommend getting the latest version.

The links are the same, but here they are again, so you don't have to search the first post.

Repo: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/tree/main/1-khzmusik_Zombies 

Download: https://gitlab.com/karlgiesing/7d2d-a21-modlets/-/archive/main/7d2d-a21-modlets-main.zip?path=1-khzmusik_Zombies 

I'm not a big fan of using particle effects for radiated or feral zombies. Also I don't need to swap out materials dynamically, so extra C# is overkill.

Instead of bundling the materials separately, and switching them using XML, I just made new prefabs for each zombie in Unity. Each variant is the same except for the material used for the eyes, and in the case of radiated zombies, the material used for the body. Usually those materials re-use textures from the "main" zombie, though I did have to edit some textures for a few of the radiated materials (otherwise the clothing looked weird).

Perhaps ironically, this results in a smaller file size overall. Since everything is in the same bundle, the only extra file/memory space needed is for the extra textures used for the radiated materials; everything else is re-used between prefabs. In this case the file size went up by about 3M (from about 66M to 69M). When I bundled the materials separately, that bundle was about 28M. So putting them in the same bundle saved about 25M. I'm guessing those gains are also reflected in the extra memory needed.

So, I probably should have done it this way in the first place.
Can you use any of your zombie packs without NPCCore? 'Just wondering :D  

 
Can you use any of your zombie packs without NPCCore? 'Just wondering :D  


I tried to make the zombie pack a standalone modlet, but did not succeed. The Unity controller (with the animations) doesn't work properly without SCore and NPC Core, despite being essentially a rip of the vanilla controller.

 
Back
Top