Jump to content

Unofficial XML Fixes


Clockwork Orange

Recommended Posts

I have made these changes to spawning although i know you have stated that you would liek the game to wrap around to start over at day 1, that seems to not be working correctly so what I did was this:

 

<entityspawner name="NightHorde" dynamic="true" wrapMode="wrap"> <!-- these are feral hordes who will find the player for sure -->
	[color="#FFFF00"]<day value="1">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
               <day value="2">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
               <day value="3">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
               <day value="4">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
               <day value="5">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
               <day value="6">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="7">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="15" />
		<property name="TotalPerWave"       value="50" />
	</day>		
	<day value="14">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="100" />
	</day>
	<day value="21">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="150" />
	</day>	
	<day value="28">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="175" />
	</day>
	<day value="35">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="200" />
	</day>
	<day value="42">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="250" />
	</day>
	<day value="49">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>

 

I continued to repeat day 49 through to day 203 with alternating ZombiesWastelandNight2 with ZombiesWastelandNight where I then did this:

 

<day value="203">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>
	[color="#FFFF00"]<day value="204">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
	<day value="205">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
	<day value="206">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
	<day value="207">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
	<day value="208">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>
	<day value="209">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="*">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="7" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>

 

In yellow I set to 0 zombies for 6 day spacer same as day 1 - 6.

Ah yeah I thought maybe there was an easier way. I didn't want to extend it manually. We are gutting spawning pretty soon anyway. The problems I think are that people shut down the server and then it throws off the 7 day horde sometimes by a day or two.

Link to comment
Share on other sites

Yes this is the way it has to work for now so that you will see zombies at towns / cities/ poi's until TFP fix those spawning points. Once those spawning points are fixed I can be reverted back to 1 from 3 for biomes.

 

I have my game set to max zombie spawn and I think it is the same as it was before the zombies were nerfed

We intentionally nerfed zombie spawning, 1 actually works out to about 3 to 5 per region, 3 is more like 5 to 15. A region is about 5 chunks.
Link to comment
Share on other sites

We intentionally nerfed zombie spawning, 1 actually works out to about 3 to 5 per region, 3 is more like 5 to 15. A region is about 5 chunks.

 

Ok but will setting this value to 1 have any impact on zombie settings in game cause I think they are percentage based? So having a value of 1 with max zombie spawns set to 150% might not do anything... I can revert these changes back to 1 but it does fix the issue of no zombies around a lot of the time for now.

 

And this is a very easy fix to make obviously so IDK if i should leave it set to 3 for now so people can actually fight zombies again in cities towns poi's?

 

Because setting it to 1 really does seem to leave you with no zombies anywhere most of the time.

Link to comment
Share on other sites

Ah yeah I thought maybe there was an easier way. I didn't want to extend it manually. We are gutting spawning pretty soon anyway. The problems I think are that people shut down the server and then it throws off the 7 day horde sometimes by a day or two.

 

 

These manual extension of the spawning.xml have been around forever and everyone seems to have a different version.

 

Do you know if this code:

 

<day value="69,71">

<property name="EntityGroupName" value="ZombiesAll" />

<property name="Time" value="Any" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="0" />

<property name="TotalPerWave" value="0" />

</day>

 

 

will work in place of this:

 

<day value="69">

<property name="EntityGroupName" value="ZombiesNight" />

<property name="Time" value="Night" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="0" />

<property name="TotalPerWave" value="0" />

</day>

<day value="70">

<property name="EntityGroupName" value="ZombiesNight" />

<property name="Time" value="Night" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="0" />

<property name="TotalPerWave" value="0" />

</day>

<day value="71">

<property name="EntityGroupName" value="ZombiesNight" />

<property name="Time" value="Night" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="0" />

<property name="TotalPerWave" value="0" />

</day>

 

 

Would help to keep the XML file as small as possible.

 

Thanks.

 

- - - Updated - - -

 

Oops, pulled from the wrong section... but the syntax is what I am curious about...

Link to comment
Share on other sites

Theoretically it should work but it is only used in the screamer hordes from day 28,60 and 61,90 but someone will have had to have made it that far in there game creating enough heat to call on screamers to call on hordes to test this.

 

I did it the other way simply because its better to be safe than sorry. :)

Link to comment
Share on other sites

Theoretically it should work but it is only used in the screamer hordes from day 28,60 and 61,90 but someone will have had to have made it that far in there game creating enough heat to call on screamers to call on hordes to test this.

 

I did it the other way simply because its better to be safe than sorry. :)

 

 

It does work. Doing x,x in the day value will just verify the rule of beginning and end. (Basically Execute WanderingHorde - game looks at XML rules - and if the day falls between 28-60 it will use that block - if it falls on 61-90 it will issue the numbers for that block instead..

 

However, Doing the x,x value in the number place (I.E Rule property) will assign a RANDOM value.

 

I just skip the day values as much as possible in my spawning files for my server and go the random route. Main reason being that there seems to be sync issues with time that causes various things not to occur when the game asks it to. The benefit of this is that it allows a truly random and dynamic experience. The only downside is that it can be a little more challenging at times. Not too much though. Here is my heat horde example:

 

<entityspawner name="Scouts" dynamic="true" wrapMode="wrap">

<day value="*">

<property name="ResetToday" value="true" />

<property name="EntityGroupName" value="ZombieScouts" />

<property name="Time" value="Any" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="3" />

<property name="TotalPerWave" value="1,3" />

</day>

</entityspawner>

 

<!-- these are what the scouts summon if they see you -->

<entityspawner name="HordeMeterDynamicSpawnDay" dynamic="true">

<day value="*">

<property name="EntityGroupName" value="ZombiesHoard" />

<property name="Time" value="Any" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="25" />

<property name="TotalPerWave" value="5,100" />

</day>

 

</entityspawner>

 

<entityspawner name="HordeMeterDynamicSpawnNight" dynamic="true">

<day value="*">

<property name="EntityGroupName" value="ZombiesHoard" />

<property name="Time" value="Any" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="25" />

<property name="TotalPerWave" value="5,75" />

</day>

</entityspawner>

 

 

This is clean and simple. The game calls for the screamer to spawn and investigate after 100% heat - the game logic picks randomly 1,2, or 3 screamers - after that the determined number of screamers are sent to the location and if they spot a player - they spawn a random amount of zombies based on which horde type the game called for (Unlike the BIOME spawn triggers and time of day rules, this isn't controllable via the XML - the game does it on a timer just like it does the Nighthorde at 22:00). If it is day time the game will always use the "HordemeterDynamicSpawnDay" block and the random contents within - if it's night time it will always use the other one and the random contents within.

 

I've done everything in the spawning file as clean and simple like that as I could to remove every possible chance for sync errors and to introduce more random gameplay. I much prefer it this way.

Link to comment
Share on other sites

yeah that works if you dont mind getting end game size screamer hordes from day 1, as far as I know screamer hordes are working fine as it is and it wold ideally be better if horde size ramped up as days progressed, so I think more focus should be placed on making sure there is no syncing issues with spawning hordes rather than doing it this way, thus players need to play with this intended code in order to get feedback if anything is broken or needs to be looked at, but personally I like this idea for my own personal game and will probably make that adjustment for myself as well.

Link to comment
Share on other sites

Strange issue I just had after updating XML fixes; feral horde two nights in a row.

 

Day 33: I shut down the server in order to update the xml fixes. No dog hordes at all.

 

Day 34: Feral horde arrives; lots of cops, ferals, zombie bears; but no screamers. Definitely not a summoned horde.

 

Day 35: Feral horde shows up again. Basically a repeat of the previous day, except I'd not had 7 days to prepare.

 

Not even sure if this is related to any of the fixes or current issues, but I thought I'd mention it.

Link to comment
Share on other sites

To touch on what Omni said my server experienced similar issues with constant feral hordes since installing. I suspect its the spawning.xml

 

I've sense reverted the spawning.xml back to vanilla and will see how things go. Will report back after getting more feedback.

Link to comment
Share on other sites

yes am also now having issues after I updated today with a updated xml fixes with 7 day hordes :chuncky:

 

To touch on what Omni said my server experienced similar issues with constant feral hordes since installing. I suspect its the spawning.xml

 

I've sense reverted the spawning.xml back to vanilla and will see how things go. Will report back after getting more feedback.

 

Ah, so it's not some silly thing I did then? That makes me feel slightly better about my first death on the server. Will keep an eye out for updates. Reverting to vanilla spawning.xml; good call Valmar.

Link to comment
Share on other sites

Yeah, in your spawning.xml, you have the following defined at the bottom of the Feral Hordes section:

 

<day value="*">

<property name="ResetToday" value="true" />

<property name="EntityGroupName" value="ZombiesWastelandNight" />

<property name="DelayBetweenSpawns" value="7" />

<property name="TotalAlive" value="30" />

<property name="TotalPerWave" value="300" />

</day>

 

The problem is that unless you define what to do on the other days in between the feral 7 day hordes, this will cause a horde to spawn every single night...

 

I think you need to insert code such as this between each 7 day:

 

<day value="29,34">

<property name="ResetToday" value="true" />

<property name="EntityGroupName" value="ZombiesWastelandNight2" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="0" />

<property name="TotalPerWave" value="0" />

</day>

 

Regards.

Link to comment
Share on other sites

the only thing I changed was the time of day they were allowed to spawn, madmole said that my changes would break the hordes but my changes were working fine until I changed them back...?

 

RoamingHordeSpawnDay Fixed changed <property name="Time" value="Day" /> from -->"Any"

 

Madmole said this:

"This will actually break hordes. RoamingHordeSpawnDay is hard coded to spawn only at night, so leave it to any. Only biome spawners use the day/night setting."

 

So I changed them back... to "Any", that was all I did and you guys said they were working perfectly before I changed them back...?

Link to comment
Share on other sites

Update (1/8/16)

 

+Spawning

 

Fixed 7 day feral hordes:

 

From the first line I removed wrap mode:

 

<entityspawner name="NightHorde" dynamic="true"[color="#FFFF00"] wrapMode="wrap"[/color]>

 

Then made the following changes to days:

 

<entityspawner name="NightHorde" dynamic="true"> <!-- these are feral hordes who will find the player for sure -->
	[color="#FFFF00"]<day value="1,6">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="7">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="15" />
		<property name="TotalPerWave"       value="50" />
	</day>
	[color="#FFFF00"]<day value="8,13">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="14">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="100" />
	</day>
	[color="#FFFF00"]<day value="15,20">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="21">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="150" />
	</day>
	[color="#FFFF00"]<day value="22,27">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="28">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="175" />
	</day>
	[color="#FFFF00"]<day value="29,34">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="35">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="200" />
	</day>
	[color="#FFFF00"]<day value="36,41">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="42">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="250" />
	</day>
	[color="#FFFF00"]<day value="43,48">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="49">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>
	[color="#FFFF00"]<day value="50,55">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	[color="#FFA500"]<day value="*">[/color]
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		[color="#FFA500"]<property name="DelayBetweenSpawns" value="7" />[/color]
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>
</entityspawner>

 

This should now completely fix 7 day hordes so long as the code functions as expected. And I will assume my earlier changes that madmole told me to change back should not be the cause of the issue.

Link to comment
Share on other sites

Yes, but those changes were for the Roaming Day and Roaming Night Hordes. I think the problem is on the Feral Hordes code for the day 7.

 

The reason the "Roaming" Hordes were set to spawn 0 zeds on the day before, day of, and day after the scheduled 7 days hordes was so that they would not interfere with the spawning of the 7 days hordes.

 

In any case, I'm pretty sure the <day value="*"> code listed under the <entityspawner name="NightHorde" dynamic="true" wrapMode="wrap"> subsection is the cause of the issue. I see you set the respawn delay to 7 but I suspect this is not being calculated properly. Would be safer to define each day. You will note that the vanilla XML file has the code below as the first entry in that section, which you have removed. This was covering the days between the day 7 feral hordes.

 

<day value="*">

<property name="ResetToday" value="true" />

<property name="EntityGroupName" value="ZombiesNight" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="0" />

<property name="TotalPerWave" value="0" />

</day>

 

- - - Updated - - -

 

Update (1/8/16)

 

+Spawning

 

Fixed 7 day feral hordes:

 

From the first line I removed wrap mode:

 

<entityspawner name="NightHorde" dynamic="true"[color="#FFFF00"] wrapMode="wrap"[/color]>

 

Then made the following changes to days:

 

<entityspawner name="NightHorde" dynamic="true"> <!-- these are feral hordes who will find the player for sure -->
	[color="#FFFF00"]<day value="1,6">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="7">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="15" />
		<property name="TotalPerWave"       value="50" />
	</day>
	[color="#FFFF00"]<day value="8,13">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="14">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="100" />
	</day>
	[color="#FFFF00"]<day value="15,20">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="21">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="150" />
	</day>
	[color="#FFFF00"]<day value="22,27">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="28">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="175" />
	</day>
	[color="#FFFF00"]<day value="29,34">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="35">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="200" />
	</day>
	[color="#FFFF00"]<day value="36,41">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="42">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="250" />
	</day>
	[color="#FFFF00"]<day value="43,48">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="49">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>
	[color="#FFFF00"]<day value="50,55">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	[color="#FFA500"]<day value="*">[/color]
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		[color="#FFA500"]<property name="DelayBetweenSpawns" value="7" />[/color]
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>
</entityspawner>

 

This should now completely fix 7 day hordes so long as the code functions as expected. And I will assume my earlier changes that madmole told me to change back should not be the cause of the issue.

 

 

 

Yes, this will fix it but only until day 56... you may want to extend the code a bit further out. :)

Link to comment
Share on other sites

i will extend it after it is confirmed working. :)

 

- - - Updated - - -

 

The delay between spawns isnt in days. So on day 56 and after you will have a feral horde every night. The delay between spawns is how many seconds between each zombie coming into the game.

 

Aww ok I see now, Let me think about this some more.

Link to comment
Share on other sites

I suppose this gives me a perfect opportunity to test this:

 

day value="*">

<property name="ResetToday" value="true" />

<property name="EntityGroupName" value="AnimalsFarm" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="1" />

<property name="TotalPerWave" value="1" />

</day>

 

Back in 12.5 I had 10 regular (but feral) zombies spawning every night; I guess I'm too chicken (see what I did there) to test whether this fix still works. Thanks to this bug report, I was inspired to do some testing; if nothing has changed with the feral horde spawning mechanic it should work just fine.

Link to comment
Share on other sites

Update (1/8/16)

+Spawning

 

Ok I have a fix but it will have to be tested:

 

I added back in wrapMode="wrap" as it will be the only way to ensure zombies keep coming forever without havign to copy and paste days in forever. And wrap mode is something that madmole wants working so that the hordes reset to day 7 size hordes and so on and so forth.

 

<entityspawner name="NightHorde" dynamic="true" wrapMode="wrap"> <!-- these are feral hordes who will find the player for sure -->
	[color="#FFFF00"]<day value="1,6">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="7">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="15" />
		<property name="TotalPerWave"       value="50" />
	</day>
	[color="#FFFF00"]<day value="8,13">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="14">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="100" />
	</day>
	[color="#FFFF00"]<day value="15,20">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="21">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="150" />
	</day>
	[color="#FFFF00"]<day value="22,27">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="28">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="175" />
	</day>
	[color="#FFFF00"]<day value="29,34">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="35">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="200" />
	</day>
	[color="#FFFF00"]<day value="36,41">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="42">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="25" />
		<property name="TotalPerWave"       value="250" />
	</day>
	[color="#FFFF00"]<day value="43,48">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>[/color]
	<day value="49">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight2" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>
</entityspawner>

 

This should now ramp up horde to day 49 then start over again. This fix is for a vanilla file the way madmole was intending it to work. If anyone wants to mod their game so hordes stay larger longer feel free to do so, but this will have to be tested as this is now, so TFP (or more specifically madmole) can see that it is functioning as he intends it.

Link to comment
Share on other sites

Ok so I think have figured out what the issue is with the spawning xml, in the vanilla file TFP have this code at the beginning of the feral hordes:

 

               <day value="*">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>

 

So when the code wrapped back around you would get no hordes every day after day 49

 

Then with my original fix with this code below, the opposite happened and you would then get a horde every day after you reached the limit or when the code decided to do the wrap.

 

       
               <day value="*">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="7" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>

 

With my new code now I am not using any <day value="*"> values so the code should now wrap properly.

Link to comment
Share on other sites

It'll be interesting to know if removing

 

<day value="*">

<property name="ResetToday" value="true" />

<property name="EntityGroupName" value="ZombiesNight" />

<property name="DelayBetweenSpawns" value="1" />

<property name="TotalAlive" value="0" />

<property name="TotalPerWave" value="0" />

</day>

 

It is my understanding that removing the above will end up with a horde spawning every night, at least it used to; hopefully your additional code will help circumvent this issue.

Link to comment
Share on other sites

yeah what I think was the original idea by TFP was that this:

<day value="*">
<property name="ResetToday" value="true" />
<property name="EntityGroupName" value="ZombiesNight" />
<property name="DelayBetweenSpawns" value="1" />
<property name="TotalAlive" value="0" />
<property name="TotalPerWave" value="0" />
</day> 

would fill in the gaps of the days that were not specifically labeled but instead the code keeps calling on that for every day and ignores the days that are specifically labeled or something.

Link to comment
Share on other sites

Ok so I think have figured out what the issue is with the spawning xml, in the vanilla file TFP have this code at the beginning of the feral hordes:

 

               <day value="*">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesNight" />
		<property name="DelayBetweenSpawns" value="1" />
		<property name="TotalAlive"         value="0" />
		<property name="TotalPerWave"       value="0" />
	</day>

 

So when the code wrapped back around you would get no hordes every day after day 49

 

Then with my original fix with this code below, the opposite happened and you would then get a horde every day after you reached the limit or when the code decided to do the wrap.

 

       
               <day value="*">
		<property name="ResetToday"         value="true" />
		<property name="EntityGroupName"    value="ZombiesWastelandNight" />
		<property name="DelayBetweenSpawns" value="7" />
		<property name="TotalAlive"         value="30" />
		<property name="TotalPerWave"       value="300" />
	</day>

 

With my new code now I am not using any <day value="*"> values so the code should now wrap properly.

 

As far as I'm aware the day value is required for it to work properly. The day value is a rule the game looks for - it won't do anything if it doesn't find an answer to the rule.

 

I've messed around a lot with the spawning system in this game over the past year or two. From my experience, what I believe happens after day 49 is the game properly wraps back to the base numerical 7 for days. In this case, day 56 is when the game SHOULD read the <day value="7"> instead of <day value="*"> -

 

But the game at this point is no longer looking for a specific value - it's not looking for '56' in the rule. It's looking for a numerical continuation based on the 'reset today' time and based on the point at which that was executed.

 

This is where things get out of sync. When this was originally put in the game - the game ran at I think 40 minute days by default (iirc).

 

You start the game Day 1 7:00 and finish Day 49 at 'random time finished' - This is the problem. The game 'resets today' but you finish the horde on day 50 at a random time based on how fast the horde died. It's not until the console reads (paraphrasing) "NightHorde Finished All Waves Spawned" - that the "Reset Today" rule is then applied - so at that point it could be Day 50 6:00AM - and then the game is told to restart the cycle. But again, the cycle is no longer looking for specific values like it did the first go around (which is why all other 7 days work on time)- it's based on a value of the initial time the last horde was finished - AND - that timer may very well be based on the original 40 minutes for all I know.

 

This usually leads to the first 7 day horde after day 49 being delayed from anywhere to 24-48 hours and the sync problem continues on from there. The hordes DO work after day 49 - but they are just unpredictable (based on your completion time) and increasingly delayed due to at least some sort of sync problem. (I'm just assuming it's based on 40min days or something, it could be any number of things, even a small precision error in the game clock could cause it)

 

NightHorde always without fail is called at 22:00 that's static - that never changes. It always works. You can test it by changing the timeout value to see your own value in the console- spawn a pig every night, or a zombie of your choice. Without fail it will always work. Even on day 56 when there is no horde spawning - if you look at the console - the nighthorde spawner was executed just like it always is. When it all of a sudden works on day 58 - that's basically how far out of sync the wrap is.

 

Again all of this is just guesswork based on my experience in fiddling with trying to overcome these types of problems. I don't know if there's really any easy way for an end-user to fix it other than the manual entries and removing the auto-cycle altogether. If I play beyond day 49 - I just do like everyone else does and extend it. It's by far the easiest way. No one is going to play the same map forever in this alpha anyway - so just extend it to a reasonable value and be done with it. The only real downside is the larger file size.

Link to comment
Share on other sites

So my latest fix is probably not going to fix anything...?

 

I will extend the days to go further if that is really the only solution but I would really like it if there was a reliable way to have them spawn forever and stay in sync.

 

Based on what you have said then only TFP can fix this issue and I definitely wont be able to, best I can do is like you said is extend the days to some really high number that you would probably never reach. And its not a fix its just a band aid solution to a much deeper problem.

 

I think maybe I should wait and maybe get more feedback and see if my latest fix has actually fixed anything maybe and if it still has not fixed anything then I will just extend the days.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...