math.random not being random

I know nothing about lua. I’m looking to learn so I wanted to make a simple script that would spawn zombies around a map.
I am having troubles using math.random to get a random pos. Here is my current code.


local zList = {
	"npc_zombie",
	"npc_fastzombie",
	"npc_zombie_torso",
	"npc_fastzombie_torso",
	"npc_poisonzombie",
	"npc_headcrab",
	"npc_headcrab_black",
	"npc_headcrab_fast"
}
local zPos = Vector(math.random(-1007,676),math.random(-1903,-902),-79) -- flat area next to spawn in gm_construct

for i=1,5 do
	print(zPos)
	zNPC = ents.Create(table.Random(zList))
	zNPC:SetPos(zPos)
	zNPC:Spawn()
end

I am running the code in singleplayer on gm_construct, and every time it gets a random pos, but it only picks one random pos and repeats it 5 times.
Is there another way to get a set of random numbers or a way to change the code to make it work?

Create the vector inside the loop, not outside.

It worked! Thanks!
I kinda feel dumb now, but i’m still learning I guess :v: