How To Fix Zombies Ignoring Barriers
-
I could be wrong but from what I know spawners have to target the window/barriers for the zombies to get the window pathing and barriers logic
If some zombies from other spawners get there then I think it's normal that they just ignore the barriers since they shouldn't be here. Either put a wall or something to prevent them to get in this area or if they should all get through this barrier make them target that window/barrier as well -
ElectroGames Easiest way might be disabling the other spawners and leave the ones enabled that has the target set to the window.
You should be able to disable spawners with
level.zombie_spawn_locations[0].is_enabled = 0;
each spawner ofcourse need its own number. -
@Unknown-Love Ahh thank you!
-
Resxt But if I set their spawn there, you'd think the game would know that they should break down the barrier but oh well, thanks.
-
ElectroGames idk at least on BO3 you need to explicitely target the barrier so my guess is bo2 works the same. I could be completely wrong
-
Resxt Yeah hmm, I wonder how that would be done
-
@Unknown-Love Hmm, it doesn't seem to be working.
I also tried using "foreach(zombieSpawn in level.zombie_spawn_locations)" but it didn't iterate through the array. -
ElectroGames It work just fine if you do it correctly. Here is modified version of your spawner function, you can remove the spawners i commented out. I would make the spawn area bigger and move the spawner even more away from the window because when there is alot zombies they push each others.
changeZombieSpawners() { flag_wait( "initial_blackscreen_passed" ); /* level.zombie_spawn_locations[0].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[1].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[2].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[3].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[4].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[5].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[6].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[7].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[8].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[9].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[10].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[11].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[12].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[13].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[14].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[15].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[16].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[17].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[18].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[19].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[20].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[21].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[22].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[23].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[24].origin = (2350.74, -850, -55.875); level.zombie_spawn_locations[25].origin = (2350.74, -850, -55.875); level.player_spawn_locations[25].origin = (2350.74, -850, -55.875); */ spawners = level.zombie_spawn_locations; for(i=0;i<spawners.size;i++) { //cba checking which spawner has the target set if(distance(spawners[i].origin, (2889.19, -1045.72, -55.625)) < 200) { spawners[i].origin = (2350, -885, -55.875); spawners[i].script_noteworthy = "riser_location"; continue; } spawners[i].is_enabled = 0; } }
-
@Unknown-Love I have no issues changing the zombie spawns though, just disabling them and checking their origin
-
ElectroGames I tested it is working.
-
@Unknown-Love Hmm weird