7 Days to Die

7 Days to Die

View Stats:
CrappyBark Jul 9, 2024 @ 4:24pm
Entity file issues
SO I will be blunt, dogs make me hate this game

I used the old method of opening the entity xml and commenting out the dog entries

The problem now is that I get a message that SleeperGSList is not in the dictionary and no enemies spawn. I have just been running around trying to troubleshoot the issue, I'll do a buried treasure tier 1 and usually I get 3-5 zombos to spawn, but nothing. Empty cities too

I would like to understand what I am doing wrong, or a better method for getting rid of dogs. Honestly at this point if my choice is leave dogs in or play with no zombies I will probably just uninstall and wait for a mod that removes them
< >
Showing 1-10 of 10 comments
seven Jul 9, 2024 @ 5:17pm 
Just removing the dogs will cause problems. The mods I've seen that remove specific entities do it by replacing them with something else. You could look for those kind of mods and adapt it to what you want.

This is just written off the top of my head but something like this in a modlet might work, just substituting Arlene whenever a dog is supposed to spawn.

<!-- remove the original zombie dog entity -->
<remove xpath="//entity_class[@name='animalZombieDog']" />

<!-- now add it back but as zombie Arlene -->
<append xpath="/entity_classes">
<entity_class name="animalZombieDog" extends="zombieArlene">
<!-- add properties you like here -->
</entity_class>
</append>


It would probably be easier to find a mod that already does this though. I don't recall if there is one specifically for dogs, but you could change it.
CrappyBark Jul 9, 2024 @ 5:17pm 
Omg, don't be like me

I fixed it, apparently it's "<!--*space*" and "*space-->"

Notepad ++ was registering them as commented out without the space and so I ASSUMED I did it right....I did in fact not do it right. All is well, I am an idiot who can't follow directions, just needed to read the log and rubber duck it
CatPerson Jul 9, 2024 @ 5:28pm 
Too slow, beaten to it. :)
---------
There are two entity .xml's these days. Did you alter the entitygroups one?

At any rate, you could try replacing vs. commenting out/"removing" in that fashion.
eg

<!-- *** WASTELAND -->
<!-- *** ENEMY_ANIMAL_WASTELAND -->
<entitygroup name="EnemyAnimalsWasteland">
animalSnake, 20
animalZombieVulture, 30
animalZombieDog, 30
animalBear, 10
animalBearSmall, 10
</entitygroup>

...change animalZombieDog to something else, like zombieBoe

Don't comment out/delete/alter any *entity/groupnames* that include dogs, the names/groups could need to exist for references or whatever and game thinking they are missing might cause errors?

Don't know for sure, that's just what I'd try if the old comment-out isn't working.
Last edited by CatPerson; Jul 9, 2024 @ 5:29pm
CrappyBark Jul 9, 2024 @ 6:58pm 
Originally posted by seven:
Just removing the dogs will cause problems. The mods I've seen that remove specific entities do it by replacing them with something else. You could look for those kind of mods and adapt it to what you want.

This is just written off the top of my head but something like this in a modlet might work, just substituting Arlene whenever a dog is supposed to spawn.

<!-- remove the original zombie dog entity -->
<remove xpath="//entity_class[@name='animalZombieDog']" />

<!-- now add it back but as zombie Arlene -->
<append xpath="/entity_classes">
<entity_class name="animalZombieDog" extends="zombieArlene">
<!-- add properties you like here -->
</entity_class>
</append>


It would probably be easier to find a mod that already does this though. I don't recall if there is one specifically for dogs, but you could change it.


So just to check, if say I wanted them swapped with piggos, I could do:
<!-- remove the original zombie dog entity -->
<remove xpath="//entity_class[@name='animalZombieDog']" />

<!-- now add it back but as Boars -->
<append xpath="/entity_classes">
<entity_class name="animalZombieDog" extends="animalBoar">
<!-- add properties you like here -->
</entity_class>
</append>

Would I need to add anything else? I think your route is better than commenting out because I am noticing the dogs did fill a niche position and there is a little bit of...jank with my method. But I am new to setting up modlets for 7dtd and will be following the wiki's guide unless you have a better route


In the meantime

Originally posted by CatPerson:
Too slow, beaten to it. :)
---------
There are two entity .xml's these days. Did you alter the entitygroups one?

At any rate, you could try replacing vs. commenting out/"removing" in that fashion.
eg

<!-- *** WASTELAND -->
<!-- *** ENEMY_ANIMAL_WASTELAND -->
<entitygroup name="EnemyAnimalsWasteland">
animalSnake, 20
animalZombieVulture, 30
animalZombieDog, 30
animalBear, 10
animalBearSmall, 10
</entitygroup>

...change animalZombieDog to something else, like zombieBoe

Don't comment out/delete/alter any *entity/groupnames* that include dogs, the names/groups could need to exist for references or whatever and game thinking they are missing might cause errors?

Don't know for sure, that's just what I'd try if the old comment-out isn't working.

I am going to try this method just to see if there is less jank than my own method
Last edited by CrappyBark; Jul 9, 2024 @ 7:01pm
Mardoin69 Jul 10, 2024 @ 9:12am 
From what I read in the past... it's NOT a good idea to 'remove' any entities... like the dogs in this case. You need to replace them with a different entity instead. Otherwise, yes... there'll be issues. You could change them to pigs for example.
Last edited by Mardoin69; Jul 10, 2024 @ 9:13am
seven Jul 10, 2024 @ 9:28am 
^^
Yes, REPLACING is definitely better than REMOVING.

<entity_class name="animalZombieDog" extends="animalBoar">
<!-- add properties you like here -->
</entity_class>

Yes, this is a better idea than my example of Arlene. A boar would fit the spawn points of zombie dogs better.

So, what the "extends" does is take the definition (properties, model, behavior, etc.) of what a Boar is in this case and use that for when the zombie dog is spawned. There are some things that aren't extended and so those you would put in the "add properties here" spot. These include the tags property, and drop events (which are used for harvesting). You should be able to just copy those parts from the animalBoars section. Or, you could skip the drop events if you think that's too cheaty since you'll be getting lots of meat and leather then.
CrappyBark Jul 10, 2024 @ 8:43pm 
Originally posted by seven:
^^
Yes, REPLACING is definitely better than REMOVING.

<entity_class name="animalZombieDog" extends="animalBoar">
<!-- add properties you like here -->
</entity_class>

Yes, this is a better idea than my example of Arlene. A boar would fit the spawn points of zombie dogs better.

So, what the "extends" does is take the definition (properties, model, behavior, etc.) of what a Boar is in this case and use that for when the zombie dog is spawned. There are some things that aren't extended and so those you would put in the "add properties here" spot. These include the tags property, and drop events (which are used for harvesting). You should be able to just copy those parts from the animalBoars section. Or, you could skip the drop events if you think that's too cheaty since you'll be getting lots of meat and leather then.

Awesome, so far I have it as a flat replace with no other loot, but I am going to keep fiddling with it. I want to see if I can get a partial loot situation with there just being less meat and leather. I might also just go with bone just to have it give *something* but not sure yet
Armitage Shanks Jul 11, 2024 @ 5:58pm 
Originally posted by CatPerson:
<!-- *** WASTELAND -->
<!-- *** ENEMY_ANIMAL_WASTELAND -->
<entitygroup name="EnemyAnimalsWasteland">
animalSnake, 20
animalZombieVulture, 30
animalZombieDog, 30
animalBear, 10
animalBearSmall, 10
</entitygroup>
Those numbers are percentages. You could just replace the dogs with a "none" entry and that would probably work, eg:
animalSnake, 20 animalZombieVulture, 30 animalBear, 10 animalBearSmall, 10 none, 30
James Jul 11, 2024 @ 6:01pm 
Then the game would be looking in the game profile for an animal named "none' and then start throwing errors because it doesn't exist.
Armitage Shanks Jul 11, 2024 @ 6:04pm 
Originally posted by James:
Then the game would be looking in the game profile for an animal named "none' and then start throwing errors because it doesn't exist.
That's how it works for all the other biome entries in entitygroups.xml. Examples:
<!-- *** DESERT --> <!-- *** ENEMY_ANIMAL_DESERT --> <entitygroup name="EnemyAnimalsDesert"> animalCoyote, 20 animalZombieVulture, 20 animalSnake, 5 none, 55 </entitygroup> <!-- *** ENEMY_ANIMAL_DESERT_NIGHT--> <entitygroup name="EnemyAnimalsDesertNight"> animalBoar, 5 animalWolf, 10 animalMountainLion, 5 none, 80 </entitygroup>
They're just spawn weights. Humanoid zombies and groups use a different method.
< >
Showing 1-10 of 10 comments
Per page: 1530 50

Date Posted: Jul 9, 2024 @ 4:24pm
Posts: 10