Jump to content

Make my own mods?


lordneg

Recommended Posts

Is there  a website or something I can use to make mods? I know there was a similar site for Minecraft. I want to make zombies do more damage, so 2-3 hits will kill you. There are other things I would like to mess with also. any ideas or thoughts? thnks :) 

Link to comment
Share on other sites

On 11/1/2023 at 3:06 PM, lordneg said:

Is there  a website or something I can use to make mods? I know there was a similar site for Minecraft. I want to make zombies do more damage, so 2-3 hits will kill you. There are other things I would like to mess with also. any ideas or thoughts? thnks

 

Are you talking ModGen? I seem to recall Pseudo Posse (@psuedoposse) on YouTube talking about something that appeared to tap into game XML files, discover options, and then let you pick values that it would make into standalone modlets.

Link to comment
Share on other sites

For basic tweaks I have been using this program from years ago.

It hasn't been updated in years but it still works, at least for me.

Not sure if it is still out there to be downloaded anymore.

As you can see by the text box it has been out for a while.

 

image.thumb.png.fc7744a349e17753b8a6d40c10d50893.png

 

For more complicated stuff I just check out mods others have made. There are plenty out there.

 

Edited by Gamida (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
On 11/2/2023 at 8:20 PM, zztong said:

 

Are you talking ModGen? I seem to recall Pseudo Posse (@psuedoposse) on YouTube talking about something that appeared to tap into game XML files, discover options, and then let you pick values that it would make into standalone modlets.

I am not sure what it was called. I will do some google searching. :) 

On 11/3/2023 at 8:20 AM, Gamida said:

For basic tweaks I have been using this program from years ago.

It hasn't been updated in years but it still works, at least for me.

Not sure if it is still out there to be downloaded anymore.

As you can see by the text box it has been out for a while.

 

image.thumb.png.fc7744a349e17753b8a6d40c10d50893.png

 

For more complicated stuff I just check out mods others have made. There are plenty out there.

 

where do I find it at? Thanks I looked for advanced recipe editor 7 days to die. 

Link to comment
Share on other sites

1 hour ago, lordneg said:

I am not sure what it was called. I will do some google searching. :) 

where do I find it at? Thanks I looked for advanced recipe editor 7 days to die. 

As I mentioned it hasn't been updated in years and I don't even know if it is out there anymore to be downloaded.

Not even sure if there is a link for it anymore.

 

 

Edit: Ok, I did go on Wayback Machine and did find a link where I downloaded a copy of it. I did download it, unzip it, open it and ran it with no trouble. You can try it if you like. This is at your own risk.

 

When you first try it you may get this.

 

vvB8gY8.jpg

 

Click No.

 

After, click settings at top left and you should see this.

 

5DDrdWr.jpg

 

In the popup box you hit the little box with the 3 dots in the line that says Game Path.

That will let you go to the game folder and you just click on the exe file for the game.

As you can see here I have copied some games to a folder on my C drive so I don't mess up my one in steam.

I also choose the non EAC exe file as that is what I use to start my game.

 

image.thumb.png.78881c16f9b0d661495f5727c844bdc9.png

 

After that you should just have to click open and it should work.

I think it auto opens in the recipes tab so I just click on the Items Editor tab.

 

That should be it.

Have fun tweaking.

 

 

Edited by Gamida (see edit history)
Link to comment
Share on other sites

I just got started two or three weeks ago and I think I've done up 8 or so. How I got going is downloading a small mod that somehow was close to what I wanted to do, say make a new food recipe, and then I'd just look at the xml and see if I could tweak it to do what I wanted. I also used AI to help me understand XML and make sure I was getting the syntax right. So because I'm not a programmer, getting this syntax right would have melted by brain:

 

<set xpath="/entity_classes/entity_class[@name='animalZombieDog']/effect_group[@name='Base Effects']/passive_effect[@name='HealthMax']/@value">50</set>

 

But using Linux Mint file manager text search I could look through all the base 7DTD xml files in a couple of seconds looking for zombiedog. Then I could open that file and see what I wanted to change, in this case, I wanted zombie dogs not to be a Tier 2 POI death sentence. Once I identified the value I wanted to change I could go to the AI (I'm using ChatGPT) and ask it for the set statement syntax to set the health to 50.

 

NOTE: As far as I can tell most, but not all of the xml files are also the root pair of tags (I think this is called the root element?) -- so buffs.xml will have what you want to tinker with inside <buffs></buffs>. One exception that I know of is entityclasses.xml is inside <entity_classes></entity_classes> (the root element has an underscore in it but the filename does not) IIRC. Anyway, your modded XML points not to a file per se, it points to root elements and then subelements within the hierarchy.

 

For entity_classes that hierarchy looks something like this I believe:

 

└─ entity_classes
   ├─ entity_class
   │  ├─ drop
   │  ├─ effect_group
   │  │  └─ passive_effect
   │  │     └─ requirement
   │  ├─ effect_group
   │  │  └─ requirement
   │  ├─ effect_group
   │  │  └─ triggered_effect
   │  │     └─ requirement
   │  ├─ property
   │  │  └─ property

 

With an hour of prompting ChatGPT I got it to write me a python3 script that probes through an xml file and returns the xml structure, but I haven't verified that it is working correctly. Just be careful with AI, it makes mistakes all of the time. Compare what it suggests you do to what you have seen other modders do, and that should get you pretty far. I've got stuck a couple of times and the forums here stepped in to help me.

 

Anyway that's about all this newbie can think of to help. I hope I made sense.

 

For me, just doing simpler things is preparing me to do the more complex tasks that I have in mind ahead.

Link to comment
Share on other sites

Oh this just popped into my head as well:

 

I use the console {F1} and fire up creative mode (cm {Enter}) and debug mode (dm {Enter}) quite a bit. Once in creative mode "u" by default brings up the items and blocks you can use in the game, if you move your mouse pointer over the block it will show you the XML name of that item or block. In debug mode, if you hit {F3] that brings up an inspection tool, so point at the object you are interested in getting the name of and press the {LeftShift} key and you can get the XML name that way.

 

Another thing I did, was copy all of the base xml files into a separate directory and made them read only. Then I go look up stuff in those files that way I don't mess up the base game files by accident.

Link to comment
Share on other sites

1 hour ago, usHallgrim said:

I just got started two or three weeks ago and I think I've done up 8 or so. How I got going is downloading a small mod that somehow was close to what I wanted to do, say make a new food recipe, and then I'd just look at the xml and see if I could tweak it to do what I wanted. I also used AI to help me understand XML and make sure I was getting the syntax right. So because I'm not a programmer, getting this syntax right would have melted by brain:

 

<set xpath="/entity_classes/entity_class[@name='animalZombieDog']/effect_group[@name='Base Effects']/passive_effect[@name='HealthMax']/@value">50</set>

 

But using Linux Mint file manager text search I could look through all the base 7DTD xml files in a couple of seconds looking for zombiedog. Then I could open that file and see what I wanted to change, in this case, I wanted zombie dogs not to be a Tier 2 POI death sentence. Once I identified the value I wanted to change I could go to the AI (I'm using ChatGPT) and ask it for the set statement syntax to set the health to 50.

 

NOTE: As far as I can tell most, but not all of the xml files are also the root pair of tags (I think this is called the root element?) -- so buffs.xml will have what you want to tinker with inside <buffs></buffs>. One exception that I know of is entityclasses.xml is inside <entity_classes></entity_classes> (the root element has an underscore in it but the filename does not) IIRC. Anyway, your modded XML points not to a file per se, it points to root elements and then subelements within the hierarchy.

 

For entity_classes that hierarchy looks something like this I believe:

 

└─ entity_classes
   ├─ entity_class
   │  ├─ drop
   │  ├─ effect_group
   │  │  └─ passive_effect
   │  │     └─ requirement
   │  ├─ effect_group
   │  │  └─ requirement
   │  ├─ effect_group
   │  │  └─ triggered_effect
   │  │     └─ requirement
   │  ├─ property
   │  │  └─ property

 

With an hour of prompting ChatGPT I got it to write me a python3 script that probes through an xml file and returns the xml structure, but I haven't verified that it is working correctly. Just be careful with AI, it makes mistakes all of the time. Compare what it suggests you do to what you have seen other modders do, and that should get you pretty far. I've got stuck a couple of times and the forums here stepped in to help me.

 

Anyway that's about all this newbie can think of to help. I hope I made sense.

 

For me, just doing simpler things is preparing me to do the more complex tasks that I have in mind ahead.

thanks. I will have to DL some small mods and see what I can figure out. Its just so much and I have no idea what all the words and symbols all mean 😕 most the stuff I am wanting to add to the game is  in overhaul mods that are out. I can imagine trying to dig through all the files would be a mess. I guess I have to start somewhere. I like the idea of using chatgpt too. thanks :)

 

Link to comment
Share on other sites

4 hours ago, lordneg said:

thanks. I will have to DL some small mods and see what I can figure out. Its just so much and I have no idea what all the words and symbols all mean 😕 most the stuff I am wanting to add to the game is  in overhaul mods that are out. I can imagine trying to dig through all the files would be a mess. I guess I have to start somewhere. I like the idea of using chatgpt too. thanks :)

 

 

Hey Lordneg, if you want to, let's pick out a simple idea you have and if I can figure out how to do it, I'll walk you through each step right here of my process in forums and I'll answer your questions about it to the best of my ability. Just take everything I say with a grain of salt, but I'll make sure I can make the mod do what you want before taking you through my process.

Link to comment
Share on other sites

14 hours ago, usHallgrim said:

 

Hey Lordneg, if you want to, let's pick out a simple idea you have and if I can figure out how to do it, I'll walk you through each step right here of my process in forums and I'll answer your questions about it to the best of my ability. Just take everything I say with a grain of salt, but I'll make sure I can make the mod do what you want before taking you through my process.

That would be awesome. let me collect my thoughts about what it is I am looking for, I have more then one idea. mostly from over haul mods I have liked, but not everything in the mods. thanks :) 

Link to comment
Share on other sites

Great just pick one small thing. Like getting acid out of lead batteries, or some other small annoyance. There's a lot of things I don't know how to do and there's a lot of things that are very laborious to do and I won't be a very good teacher if things are complex and large. 👍

Link to comment
Share on other sites

2 hours ago, usHallgrim said:

Great just pick one small thing. Like getting acid out of lead batteries, or some other small annoyance. There's a lot of things I don't know how to do and there's a lot of things that are very laborious to do and I won't be a very good teacher if things are complex and large. 👍

How about only dropping lvl one anything in loot? an add on later would be only dropping stuff after a certain player lvl. 

Link to comment
Share on other sites

1 hour ago, lordneg said:

How about only dropping lvl one anything in loot? an add on later would be only dropping stuff after a certain player lvl. 

 

Short answer: If I understand what you want that would be way too big of a project to cut my teeth on. I'm doing something similar but with toolboxes only right now and I'm stuck.

 

But I'm not 100% sure what you are asking for? You mean a level one player might get tier 6 auger, a tier 6 sniper rifle, just everything in the loot table is available to you no matter what level the player is? Oh I see I think you mean I should be able to get T1 auger and T1 sniper rifle at player level one? Yeah, that's still too big of a big project for my current skill set.

 

If that's what you are saying that is a mod that I would like to see. I mean for a certain player like myself, a tier 6 drop should be rare but available to everybody. Lots of people probably don't like that, but that's okay this is your mod. For myself, once I get tier 5 everything the playthrough starts to get stale and I think there has to be a better way to extend the freshness of a playthrough. Anyway, that's neither here nor there, just some thoughts on the topic.

 

Anyway, there may be a simple way to do something like what you are asking but I don't know a simple way. In my opinion the loot tables are probably some of the most complicated. There's lootgroups within lootgroups within lootgroups it seems. On top of that you have loot_tier_quality that has to be addressed, and not sure if you can just rip that out or you'd have to move everything into the same loot quality. There's a lot of items and you are talking, I think, about tweaking each one and tweaking one is not so easy. In fact, I'm working on just getting it so that handtools have a reasonable chance of spawning for toolchests. I don't understand TFP thinking on this, but you have a high probability of pulling cloth out of a tool chest and a very low probability of getting a handtool. Now, I've had a lot of toolchests, been in a lot of toolchests of other folks, heck I used to be the supply guy that filled the mechanics toolboxes and chests with tools for the Air Force, and I personally found it very likely to find wrenches, ratchets, impact drivers, and what not in a tool chest and very unlikely to find cloth, I don't know any mechanics that keep greasy rags in their toolchest. They might have some high quality paper towels and maybe some emery cloth... WHOOPS got off on another tangent. Sorry.

 

But yeah, my goal is to ease you into leaning how to mod, and this project while I think it's doable it would be big for me with my current skill set.

 

Edited by usHallgrim (see edit history)
Link to comment
Share on other sites

54 minutes ago, usHallgrim said:

 

Short answer: If I understand what you want that would be way too big of a project to cut my teeth on. I'm doing something similar but with toolboxes only right now and I'm stuck.

 

But I'm not 100% sure what you are asking for? You mean a level one player might get tier 6 auger, a tier 6 sniper rifle, just everything in the loot table is available to you no matter what level the player is? Oh I see I think you mean I should be able to get T1 auger and T1 sniper rifle at player level one? Yeah, that's still too big of a big project for my current skill set.

 

If that's what you are saying that is a mod that I would like to see. I mean for a certain player like myself, a tier 6 drop should be rare but available to everybody. Lots of people probably don't like that, but that's okay this is your mod. For myself, once I get tier 5 everything the playthrough starts to get stale and I think there has to be a better way to extend the freshness of a playthrough. Anyway, that's neither here nor there, just some thoughts on the topic.

 

Anyway, there may be a simple way to do something like what you are asking but I don't know a simple way. In my opinion the loot tables are probably some of the most complicated. There's lootgroups within lootgroups within lootgroups it seems. On top of that you have loot_tier_quality that has to be addressed, and not sure if you can just rip that out or you'd have to move everything into the same loot quality. There's a lot of items and you are talking, I think, about tweaking each one and tweaking one is not so easy. In fact, I'm working on just getting it so that handtools have a reasonable chance of spawning for toolchests. I don't understand TFP thinking on this, but you have a high probability of pulling cloth out of a tool chest and a very low probability of getting a handtool. Now, I've had a lot of toolchests, been in a lot of toolchests of other folks, heck I used to be the supply guy that filled the mechanics toolboxes and chests with tools for the Air Force, and I personally found it very likely to find wrenches, ratchets, impact drivers, and what not in a tool chest and very unlikely to find cloth, I don't know any mechanics that keep greasy rags in their toolchest. They might have some high quality paper towels and maybe some emery cloth... WHOOPS got off on another tangent. Sorry.

 

But yeah, my goal is to ease you into leaning how to mod, and this project while I think it's doable it would be big for me with my current skill set.

 

nods I understand. I feel the same. Once I have found a lvl 5 weapon now I never have to make a pistol for example. I want to get folks crafting instead of relying on luck to find weapons in the wild. On the other hand I was also thinking of just taking out crafting weapons, tool, armour. all together and just have to find that stuff out in the world. I too think the game becomes stale once you have lvl 5 everything.  So I was thinking making it  based on lvls of when you can have a lvl 5 you would have to be say lvl 50. :) 

Link to comment
Share on other sites

22 minutes ago, lordneg said:

On the other hand I was also thinking of just taking out crafting weapons, tool, armour. all together and just have to find that stuff out in the world.

 

Either route, you end up at the lack of freshness once you are geared up. I don't think that crafting or looting tweaks will fix that. End game content is always the hardest, so I was thinking to extend that you could have NPCs like your character's wife and kids hidden throughout the POIs and once you are kitted out you can search the more dangerous places for them. This would be especially cool if they had been captured by raiders (thus still alive). Just make raider camps extremely dangerous and if you manage to free a family member, now the smarter AI comes at you with their weapons at your horde base. Now, you are hunted. So the game turns at this point and you are trying to neutralize the bandits with sabotage and counter-attacks. But that's way beyond what I can do at least at this time. And realistically I will never get there unless I learn to do all the simpler stuff first. You got to walk before you can run as they say.

Link to comment
Share on other sites

How about we do this > you know how when you start you are hunting for a grill, well let's make it so you can craft a grill from scrap iron. That makes sense bc all you need to do to grill meat is to suspend it over a fire with the heat being distributed by the metal. You can do that with rebar, chain link, all sorts of iron/steel scrap. Then if we get that working let's try to make it so cooking with the improvised grill takes longer. So we still want to find a grill, but we can sort of get by with a makeshift one until we find a grill.

 

Or we can just make it so grills are much more likely to spawn in ovens and BBQs. I don't know about you but can't remember the last time I looked inside an oven or a bbq and didn't find a grill rack.

Link to comment
Share on other sites

Or I just got annoyed in game because I wanted to move my forge but was going to lose 3 clay for every 1 that I had previously smelted. I'm just going to put the clay back in so why can't I just move the forge with the clay in it. Well, I didn't know if I could figure that out quickly but I thought I could figure out how to change the ratio to 1 clay smelted = 1 clay returned. So I did that in about 10 minutes. But the better solution would be the ability to move forges with smelting in them but I don't know if that's possible via XML editing alone.

Link to comment
Share on other sites

18 hours ago, usHallgrim said:

Or I just got annoyed in game because I wanted to move my forge but was going to lose 3 clay for every 1 that I had previously smelted. I'm just going to put the clay back in so why can't I just move the forge with the clay in it. Well, I didn't know if I could figure that out quickly but I thought I could figure out how to change the ratio to 1 clay smelted = 1 clay returned. So I did that in about 10 minutes. But the better solution would be the ability to move forges with smelting in them but I don't know if that's possible via XML editing alone.

 

You can smelt the materials back out of the forge if you want to move it but I can't recall how long it takes. Might be a PITA.

 

Also if you want to check out some mods you can check out this site. I have downloaded a few from here over the last couple years.

 

https://7daystodiemods.com/

 

Can open some of the xml only ones in notepad++ and see how they did them.

Also again the youtube videos above by Mad Fox was started not long ago and may be very useful in learning xml modding.

Link to comment
Share on other sites

21 hours ago, lordneg said:

nods I understand. I feel the same. Once I have found a lvl 5 weapon now I never have to make a pistol for example. I want to get folks crafting instead of relying on luck to find weapons in the wild. On the other hand I was also thinking of just taking out crafting weapons, tool, armour. all together and just have to find that stuff out in the world. I too think the game becomes stale once you have lvl 5 everything.  So I was thinking making it  based on lvls of when you can have a lvl 5 you would have to be say lvl 50. :) 

 

If you want to limit the quality level found in loot, you would need to change the probability tables QLTemplateTO, T1, T2, and T3.  For example, in T1 table:

 

        <qualitytemplate level="99,100" default_quality="1">
            <loot quality="2" prob="0.264"/>
            <loot quality="3" prob="0.315"/>
            <loot quality="4" prob="0.397"/>
            <loot quality="5" prob="0.552"/>
            <loot quality="6" prob="1"/>
        </qualitytemplate>

 

I made it harder to find the higher quality equipment in loot so I ended up changing the probabilities at one time.

 

    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='3']/@prob">0.45</set>
    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='4']/@prob">0.35</set>
    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='5']/@prob">0.25</set>
    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='6']/@prob">0.15</set>

 

Another route you could go is remove them completely and then insert your own custom tables.  Probably not be very difficult since you would only have a couple of quality levels so you can expand the loot stage range so less sub-nodes you would need.

 

I went a different route (I had the same issue - once you find that Q6 weapon, why bother with crafting or searching anymore?  I went a different route in my playstyle where I removed the ability to repair equipment.  So you ended up having to buy new gear from traders or craft your own (I am right now testing out my modlet that introduced Q6 crafting), or using that halfway damaged weapon you found in loot until you can get something else to replace it.

 

Also if you want to, you can look at any modlets I have created for people over A20/A21.  You can just search for BFT2020 at github.com and it will take you to where I posted them for download.  There are currently 24 in there.

Edited by BFT2020 (see edit history)
Link to comment
Share on other sites

3 hours ago, Gamida said:

You can smelt the materials back out of the forge if you want to move it but I can't recall how long it takes. Might be a PITA.

 

What I did was change it so that you instead of crafting out 1 clay lump for every 4 clay that had previously been smelted so that I get 1 clay lump for every 1 clay in the forge. I removed the old recipe and here is the new recipe:

 

<!-- * * * * * * * * * * * * forge-emptying recipes: base game has it that you don't get a 1:1 return, this fixes that * * * * * * * * * * * * -->
<recipe name="resourceClayLump" count="1" material_based="true" craft_area="forge" is_trackable="false" craft_time="1" craft_exp_gain="0" always_unlocked="true" use_ingredient_modifier="false">
	<ingredient name="unit_clay" count="1"/> <!-- Previously the count was count-"4"-->
</recipe>

 

I also changed the other recipes where the ratio of return isn't 1:1.

Link to comment
Share on other sites

2 hours ago, BFT2020 said:

 

If you want to limit the quality level found in loot, you would need to change the probability tables QLTemplateTO, T1, T2, and T3.  For example, in T1 table:

 

        <qualitytemplate level="99,100" default_quality="1">
            <loot quality="2" prob="0.264"/>
            <loot quality="3" prob="0.315"/>
            <loot quality="4" prob="0.397"/>
            <loot quality="5" prob="0.552"/>
            <loot quality="6" prob="1"/>
        </qualitytemplate>

 

I made it harder to find the higher quality equipment in loot so I ended up changing the probabilities at one time.

 

    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='3']/@prob">0.45</set>
    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='4']/@prob">0.35</set>
    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='5']/@prob">0.25</set>
    <set xpath="/lootcontainers/lootqualitytemplates/lootqualitytemplate/qualitytemplate/loot[@quality='6']/@prob">0.15</set>

 

Another route you could go is remove them completely and then insert your own custom tables.  Probably not be very difficult since you would only have a couple of quality levels so you can expand the loot stage range so less sub-nodes you would need.

 

I went a different route (I had the same issue - once you find that Q6 weapon, why bother with crafting or searching anymore?  I went a different route in my playstyle where I removed the ability to repair equipment.  So you ended up having to buy new gear from traders or craft your own (I am right now testing out my modlet that introduced Q6 crafting), or using that halfway damaged weapon you found in loot until you can get something else to replace it.

 

Also if you want to, you can look at any modlets I have created for people over A20/A21.  You can just search for BFT2020 at github.com and it will take you to where I posted them for download.  There are currently 24 in there.

thanks a bunch :) looking at  it though, would I find this text it in the loot files? I too have thought about just taking repair kits out of the game, I did see a mod that had a chance to degrade the weapon down a tier when you repair  it that I also thought was a good idea. I was also thinking of making weapons have to be repaired  on the workbench.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...