Why are my npcs not spawning

For some reason they just dont spawn in game, i dont get any errors so thats why im going here to try to fix it
Here is the code for where they npcs spawn

local MobStructure = require(game:GetService("ReplicatedStorage"):WaitForChild("Shared"):WaitForChild("Modules"):WaitForChild("Structures"):WaitForChild("Mob"))
local SoundUtility = require(game:GetService("ReplicatedStorage"):WaitForChild("Shared"):WaitForChild("Modules"):WaitForChild("Utilities"):WaitForChild("Sound"))

local ObserverUtility = require(game:GetService("ReplicatedStorage"):WaitForChild("Shared"):WaitForChild("Modules"):WaitForChild("Utilities"):WaitForChild("Observer"))
local GameUtility = require(game:GetService("ReplicatedStorage"):WaitForChild("Shared"):WaitForChild("Modules"):WaitForChild("Utilities"):WaitForChild("Game"))

local MobSpawnPositions = require(script:WaitForChild("SpawnData"))

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhysicsService = game:GetService("PhysicsService")
local HttpService = game:GetService("HttpService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")

-- Assets
local SharedFolder = ReplicatedStorage:WaitForChild("Shared")
local SharedAssets = SharedFolder:WaitForChild("Assets")

local InteractorAssets = SharedAssets:WaitForChild("Interactors")
local InteractorModels = InteractorAssets:WaitForChild("Models")

local ToolAssets = SharedAssets:WaitForChild("Tools")
local ToolModels = ToolAssets:WaitForChild("Models")

-- Variables 
local Player = Players.LocalPlayer
local WorkspaceMobs = workspace:WaitForChild("Mobs")

local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local HumanoidRootPart = Humanoid.RootPart

local Module = {}
Module["MaxRenderZones"] = 2

Module["ActiveAreaMobs"] = {}
Module["StoredAreaMobs"] = {}
Module["AttackingMobs"] = {}
Module["DeadAreaMobs"] = {}

Module["AttackUnitsPerZone"] = {} -- [Zone] = {[Area] = {Current, Max}, ...}

local AttackUnitsPerZone = Module["AttackUnitsPerZone"]
local ActiveAreaMobs = Module["ActiveAreaMobs"]
local StoredAreaMobs = Module["StoredAreaMobs"]

local AttackingMobs = Module["AttackingMobs"]
local DeadAreaMobs = Module["DeadAreaMobs"]

local MobPrototypes = MobStructure["Prototypes"]
local MobSetupData = MobStructure["Setups"]

local CharacterOrientationAttachment
local MobSpawnBoundaries = {}

-- Settings
local MinimumIdleYield = 5
local MaximumIdleYield = 50
local SeperatingString = "_"
local MobCollisionGroupName = "MobGroup"
local CharacterOrientationAttachmentName = "MobOrientationAttachment"

local DefaultBodyPosition = Vector3.new(-33.487, 1.35, 122.901)
local DamagePlayerDataIndex = "MobDamage"
local RewardPlayerDataIndex = "MobReward"

local DisabledHumanoidStates = {
	Enum.HumanoidStateType.StrafingNoPhysics,
	Enum.HumanoidStateType.PlatformStanding,
	Enum.HumanoidStateType.RunningNoPhysics,
	Enum.HumanoidStateType.FallingDown,
	Enum.HumanoidStateType.GettingUp,
	Enum.HumanoidStateType.Climbing,
	Enum.HumanoidStateType.Swimming,
	Enum.HumanoidStateType.Jumping,
	Enum.HumanoidStateType.Running,
	Enum.HumanoidStateType.Ragdoll,
	Enum.HumanoidStateType.Physics,
	Enum.HumanoidStateType.Flying,
	Enum.HumanoidStateType.Seated,
	Enum.HumanoidStateType.Dead,
}
local AreaTypes = {
	"Circle",
	"Triangle",
	"Rectangle",
}
local MobStates = {
	"Idle",
	"Moving",
	"Attacking",
	
	"Dead",
}

-- Main
local function SetupMob(MobModel, MobInstances, MobInformation)
	local MobHealth = MobInformation["Health"]
	local MobHumanoid = MobModel:FindFirstChild("Humanoid")
	local Animations = MobModel:FindFirstChild("Animations")
	local ActivationRing = MobModel:FindFirstChild("ActivationRing")
	
	local MobRootPart = MobModel.PrimaryPart
	local MobOrientation = MobRootPart:FindFirstChild("MobOrientation")
	
	local HealthBar
	local HealthText
	
	local MobDescendants = MobModel:GetDescendants()
	for Index = 1, #MobDescendants do
		local Part = MobDescendants[Index]
		if Part:IsA("BasePart") then
			PhysicsService:SetPartCollisionGroup(Part, MobCollisionGroupName)
			print("HEart")
		end
		if Part:IsA("ImageLabel") and Part.Name == "Bar" then
			HealthBar = Part
		end
		if Part:IsA("TextLabel") and Part.Name == "DisplayText" then
			HealthText = Part
		end
	end
	
	MobModel.Name = MobInformation["Name"]
	HealthText.Text = MobHealth[1].."/"..MobHealth[2]
	HealthBar.Size = UDim2.new(MobHealth[1]/MobHealth[2], 0, 1, 0)

	for IndexTwo = 1, #DisabledHumanoidStates do
		local State = DisabledHumanoidStates[IndexTwo]
		MobHumanoid:SetStateEnabled(State, false)
	end
	--]]
	MobInstances["Orientation"] = MobOrientation
	MobInstances["Humanoid"] = MobHumanoid
	MobInstances["RootPart"] = MobRootPart
	
	MobInstances["ActivationRing"] = ActivationRing
	MobInstances["Animations"] = Animations
	MobInstances["HealthText"] = HealthText
	MobInstances["HealthBar"] = HealthBar
	
	return MobHumanoid
end

function Module.InitializeMobs()
	for Zone, ZoneSetupData in next, MobSetupData do
		AttackUnitsPerZone[Zone] = {}
		
		for Area, AreaSetupData in next, ZoneSetupData do
			local MobAmount = AreaSetupData["Amount"]
			local MobTypes = AreaSetupData["Types"]
			
			MobSpawnBoundaries[Area] = AreaSetupData["Boundary"]
			ActiveAreaMobs[Area] = {}
			StoredAreaMobs[Area] = {}
			 
			for Index = 1, MobAmount do
				local MobData = MobPrototypes[MobTypes[math.random(1, #MobTypes)]]

				local MobParent = WorkspaceMobs:FindFirstChild(Area)
				local UniqueId = HttpService:GenerateGUID(false)

				if MobData and MobParent then
					MobData = GameUtility.CloneTable(MobData)
					local MobInstances = MobData["Instances"]
					local MobPositions = MobData["Positions"]
					local PositionData = MobSpawnPositions[Area]
					local MobInformation = MobData["Information"]
					local MobWeapon = ToolModels:FindFirstChild(MobInformation["Weapon"])
					
					if PositionData and MobWeapon then
						MobInstances["WeaponTemplate"] = MobWeapon
						MobInformation["UniqueId"] = UniqueId
						MobInstances["Parent"] = MobParent
						StoredAreaMobs[Area][UniqueId] = MobData
					end
				end
			end
			AttackUnitsPerZone[Zone][Area] = {0, AreaSetupData["Max"]}
		end
	end
end
function Module.RegenerateRandomSpawnPosition(Area)
	local PositionData = MobSpawnPositions[Area]
	local SpawnBoundary = MobSpawnBoundaries[Area]
	
	if PositionData and MobSpawnBoundaries then
		local CurrentIndex = math.random(1, #PositionData)
		local NewPosition = PositionData[CurrentIndex]
		
		NewPosition = Vector3.new(NewPosition[1][1], NewPosition[1][2], NewPosition[1][3])

		if SpawnBoundary[3] == AreaTypes[3] then
			while not GameUtility.CheckPointOnRectangle(SpawnBoundary[1], SpawnBoundary[2], NewPosition) do 
				CurrentIndex = math.random(1, #PositionData)
				
				NewPosition = PositionData[CurrentIndex]
				NewPosition = Vector3.new(NewPosition[1][1], NewPosition[1][2], NewPosition[1][3])
			end
			return NewPosition
		elseif SpawnBoundary[3] == SpawnBoundary[1] then
			local Radius = SpawnBoundary[2]
			local CenterPosition = SpawnBoundary[1]
			
			while not GameUtility.CheckPointOnCircle(CenterPosition, NewPosition, Radius) do
				CurrentIndex = math.random(1, #PositionData)
				
				NewPosition = PositionData[CurrentIndex]
				NewPosition = Vector3.new(NewPosition[1][1], NewPosition[1][2], NewPosition[1][3])
			end
			return NewPosition
		else
			
		end
	end
end

-- Functionalities --
function Module.ActivateZoneMobs(NewArea)
	local ActivateMobsThread = coroutine.create(function()
		local AreaStoredMobData = StoredAreaMobs[NewArea]
		local AreaActiveMobData = ActiveAreaMobs[NewArea]
	
		for UniqueId, MobData in next, AreaStoredMobData do
			local MobInstances = MobData["Instances"]
			local MobInformation = MobData["Information"]
			local MobModel = InteractorModels:FindFirstChild(MobInformation["Name"])
			
			if MobModel then
				MobModel = MobModel:Clone()
				MobInstances["Mob"] = MobModel
				
				local MobHumanoid = SetupMob(MobModel, MobInstances, MobInformation)

				if MobHumanoid then
					local SpawnPosition = Module.RegenerateRandomSpawnPosition(NewArea)

					MobModel.Name = UniqueId..SeperatingString..NewArea
					MobModel.Parent = MobInstances["Parent"]
					MobModel:MoveTo(SpawnPosition)

					AreaActiveMobData[UniqueId] = MobData
					AreaStoredMobData[UniqueId] = nil
				end
			end
		end
	end)
	local MobStimulationThread = coroutine.create(function()
		while true do GameUtility.Yield()
			Module.UpdateActiveMobs()
		end
	end)
	
	coroutine.resume(MobStimulationThread)
	coroutine.resume(ActivateMobsThread)
end
function Module.DeactivateZoneMobs(Area)
	local DeactivateMobsThread = coroutine.create(function()
		local AreaStoredMobData = StoredAreaMobs[Area]
		local AreaActiveMobData = ActiveAreaMobs[Area]
	
		for UniqueId, MobData in next, AreaActiveMobData do
			local MobInstances = MobData["Instances"]
			local MobInformation = MobData["Information"]
	
			local Mob = MobInstances["Mob"]
			if Mob then
				Mob:Destroy()
				MobInstances["Mob"] = nil
			end
			MobInstances["Humanoid"] = nil
			MobInstances["RootPart"] = nil
			
			MobInformation["CanUpdateState"] = true
			MobInformation["PlayingAnimation"] = nil
			
			AreaStoredMobData[UniqueId] = MobData
			AreaActiveMobData[UniqueId] = nil
		end
	end)
	coroutine.resume(DeactivateMobsThread)
end
WorkspaceMobs:Clone()
-- States --
function Module.ActivatePlayerAttack(ActiveMob, Area, UniqueId)
	if not AttackingMobs[Area] then
		AttackingMobs[Area]= {}
	end
	if AttackingMobs[Area][UniqueId] then return end
	
	local MobInstances = ActiveMob["Instances"]
	local MobPositions  = ActiveMob["Positions"]
	local MobInformation = ActiveMob["Information"]
	
	local MobOrientation = MobInstances["Orientation"]
	local MobRootPart = MobInstances["Humanoid"].RootPart
	local ZoneUnitsData = AttackUnitsPerZone[MobInformation["Zone"]][MobInformation["Area"]]

	if ZoneUnitsData[1] >= ZoneUnitsData[2] then 
		for UniqueId, MobData in next, AttackingMobs[Area] do
			Module.DeactivatePlayerAttack(UniqueId, Area)
			break
		end
	end
	
	do 
		local MobHumanoid = MobInstances["Humanoid"]
		local ActivationRing = MobInstances["ActivationRing"]
		
		ActivationRing.Transparency = 0
		MobHumanoid:MoveTo(MobHumanoid.RootPart.Position)
		
		local PlayingAnimations = MobHumanoid:GetPlayingAnimationTracks()
		for Index = 1, #PlayingAnimations do
			PlayingAnimations[Index]:Stop()
		end
		MobInstances["PlayingAnimation"] = nil
		MobInformation["CanUpdateState"] = true
		
		Module.EquipMobWeapon(ActiveMob)
		ZoneUnitsData[1] = ZoneUnitsData[1] + 1
		AttackingMobs[Area][UniqueId] = ActiveMob
		ActiveMob["Information"]["State"] = MobStates[3]
		
		local MobOrientationThread = coroutine.create(function()
			while MobInformation["State"] == MobStates[3] do
				local Direction = ((HumanoidRootPart.Position - MobRootPart.Position) * Vector3.new(1,0,1))
				local ResultOrientation = CFrame.new(MobRootPart.Position, MobRootPart.Position + Direction)
				MobOrientation.CFrame = ResultOrientation
				RunService.Heartbeat:Wait()
			end				
		end)
		coroutine.resume(MobOrientationThread)
	end
end
function Module.DeactivatePlayerAttack(UniqueId, Area)
	local AreaActiveMobs = ActiveAreaMobs[Area]
	if AreaActiveMobs then
		local Mob = AreaActiveMobs[UniqueId]
		if Mob then
			local MobInformation = Mob["Information"]
			local MobInstances = Mob["Instances"]
			
			local MobHumanoid = MobInstances["Humanoid"]
			local MobOrientation = MobInstances["Orientation"]
			local ActivationRing = MobInstances["ActivationRing"]
			local ZoneUnitsData = AttackUnitsPerZone[MobInformation["Zone"]][MobInformation["Area"]]
			
			MobHumanoid:UnequipTools()
			ActivationRing.Transparency = 1
			MobHumanoid:MoveTo(MobHumanoid.RootPart.Position)
	
			local PlayingAnimations = MobHumanoid:GetPlayingAnimationTracks()
			for Index = 1, #PlayingAnimations do
				PlayingAnimations[Index]:Stop()
			end
			MobInstances["PlayingAnimation"] = nil
			MobInformation["CanUpdateState"] = true
			
			AttackingMobs[Area][UniqueId] = nil
			MobInformation["State"] = MobStates[1]
			ZoneUnitsData[1] = ZoneUnitsData[1] - 1
			MobOrientation.MaxTorque = Vector3.new(0, 0, 0)
			
			local HealthData = MobInformation["Health"]
			local HealthRegenData = MobInformation["RegenData"]
			local MobRegenThread = coroutine.create(function()
				while MobInformation["State"] ~= MobStates[3] and HealthData[1] < HealthData[2] do
					HealthData[1] = HealthData[1] + HealthRegenData["Amount"] <= HealthData[2] and HealthData[1] + HealthRegenData["Amount"] or HealthData[2]
					Module.AdjustMobHealth(MobInstances, HealthData)
					wait(HealthRegenData["Rate"])
				end 
			end)
			coroutine.resume(MobRegenThread)
			return
		end
	end
end

function Module.AdjustMobHealth(MobInstances, Health, IsResetting)
	local HealthBar = MobInstances["HealthBar"]
	local HealthText = MobInstances["HealthText"]
	if HealthBar and HealthText then
		if not IsResetting then
			HealthBar.Size = UDim2.new(Health[1]/Health[2], 0, 1, 0)
			HealthText.Text = Health[1].."/"..Health[2]
			return Health
		else
			HealthBar.Size = UDim2.new(Health[2]/Health[2], 0, 1, 0)
			HealthText.Text = Health[2].."/"..Health[2]
			Health[1] = Health[2]
			return Health
		end
	end
end
function Module.KillAttackingMob(Mob, UniqueId, Area)
	local MobDeadHandlerThread = coroutine.create(function()
		RunService.Heartbeat:Wait()
		if DeadAreaMobs[UniqueId] then return end
		Module.DeactivatePlayerAttack(UniqueId, Area)
		
		local MobInstances = Mob["Instances"]
		local MobInformation = Mob["Information"]
		
		local MobRespawnData = MobInformation["RespawnData"]
		MobInformation["State"] = MobStates[4]
		Module.UnequipMobWeapon(Mob)
		
		local MobModel = MobInstances["Mob"]
		local MobTemplate = InteractorModels:FindFirstChild(MobInformation["Name"])
		local MobYieldTime = math.random(MobRespawnData[1], MobRespawnData[2])
		if MobModel then
			MobModel:Destroy()
			DeadAreaMobs[UniqueId] = Mob
			
			wait(MobYieldTime)
			MobModel = MobTemplate:Clone()
			MobInstances["Mob"] = MobModel
			
			local MobHumanoid = SetupMob(MobModel, MobInstances, MobInformation)
			if MobHumanoid then
				local SpawnPosition = Vector3.new(76.7499924, 19.949955, 122.59938)
				MobModel.Name = UniqueId..SeperatingString..MobInformation["Area"]
				MobModel.Parent = MobInstances["Parent"]
				MobModel:MoveTo(SpawnPosition)
				
				DeadAreaMobs[UniqueId] = nil
				MobInformation["State"] = MobStates[1]
			end
		end
	end)
	coroutine.resume(MobDeadHandlerThread)
end
function Module.DamageMobUnit(MobName, WeaponData)
	if Humanoid.Health <= 0 then return end
	local Area = GameUtility.SeperateClumpedSecondString(MobName, SeperatingString)
	local UniqueId = GameUtility.SeperateClumpedFirstString(MobName, SeperatingString)
	
	local AreaActiveMobs = ActiveAreaMobs[Area]
	if AreaActiveMobs then
		local ActiveMob = AreaActiveMobs[UniqueId]
		if ActiveMob then			
			Module.ActivatePlayerAttack(ActiveMob, Area, UniqueId)
			local MobInformation = ActiveMob["Information"]
			local MobInstances = ActiveMob["Instances"]
			
			local HealthData = MobInformation["Health"]			
			local CurrentHealth = HealthData[1]
			
			if HealthData then
				local WeaponDamage = WeaponData["Damage"]
				WeaponDamage = (CurrentHealth - WeaponDamage) >= 0 and WeaponDamage or CurrentHealth
				HealthData[1] = CurrentHealth - WeaponDamage
				
				if HealthData[1] <= 0 then
					Module.KillAttackingMob(ActiveMob, UniqueId, Area)
					Module.AdjustMobHealth(MobInstances, HealthData, true)
				end
				local HealthAdjustThread = coroutine.create(function()
					local RewardData = MobInformation["AttackReward"]
					local Reward = RewardData[math.random(1, #RewardData)]
					
					
					--UpdateUserstatsRemote:FireServer("Souls", RewardPlayerDataIndex, MobInformation["Name"], Reward[1])
					Module.AdjustMobHealth(MobInstances, HealthData)
					--SpawnUserstatsValueBindable:Fire(Reward)
				end)
				coroutine.resume(HealthAdjustThread)
			end
		end
	end
end
function Module.EquipMobWeapon(Mob)
	local MobInstances = Mob["Instances"]
	local MobInformation = Mob["Information"]
	
	local MobHumanoid = MobInstances["Humanoid"]
	Module.UnequipMobWeapon(Mob)
	if MobHumanoid then
		local WeaponTemplate = MobInstances["WeaponTemplate"]
		local RightHand = MobHumanoid.Parent:FindFirstChild("RightHand")
		if WeaponTemplate and RightHand then
			local Weapon = WeaponTemplate:Clone()
			local Weld=Instance.new("Weld")
			Weld.C0 = RightHand.RightGripAttachment.CFrame
			Weld.C1=CFrame.new(
				Weapon.GripPos.x, Weapon.GripPos.y, Weapon.GripPos.z,
				Weapon.GripRight.x, Weapon.GripUp.x, -Weapon.GripForward.x,
				Weapon.GripRight.y, Weapon.GripUp.y, -Weapon.GripForward.y,
				Weapon.GripRight.z, Weapon.GripUp.z, -Weapon.GripForward.z
			)
			
			Weld.Part0 = RightHand
			Weld.Part1 = Weapon.Handle
			
			Weld.Parent = Weapon.Handle
			Weapon.Parent = MobHumanoid.Parent
			return Weapon
		end
	end
end
function Module.UnequipMobWeapon(Mob)
	local MobInstances = Mob["Instances"]
	local MobInformation = Mob["Information"]
	
	local MobHumanoid = MobInstances["Humanoid"]
	MobHumanoid:UnequipTools()
	return MobHumanoid
end


function Module.UpdateActiveMobs()
	local MobUpdateThread = coroutine.create(function()
		for Area, AreaMobs in next, ActiveAreaMobs do
		 	for UniqueId, MobData in next, AreaMobs do
				local MobHandlerThread = coroutine.create(function()
					local MobInformation = MobData["Information"]
					local MobPositions = MobData["Positions"]
					local MobInstances = MobData["Instances"]
					
					local CanUpdateState = MobInformation["CanUpdateState"]
					if MobInformation["State"] ~= MobStates[3] and MobInformation["State"] ~= MobStates[4] and CanUpdateState then
						MobInformation["CanUpdateState"] = false
						local MobHumanoid = MobInstances["Humanoid"]
						local Animations = MobInstances["Animations"]
						
						local PlayingAnimations = MobHumanoid:GetPlayingAnimationTracks()
						for Index = 1, #PlayingAnimations do
							PlayingAnimations[Index]:Stop()
						end
						
						MobInstances["PlayingAnimation"] = nil
						local WalkAnimation = Animations:FindFirstChild("Walk")
						local IdleAnimation = Animations:FindFirstChild("Idle")
						if WalkAnimation and IdleAnimation then
							local WalkAnimationTrack = MobHumanoid:LoadAnimation(WalkAnimation)
							local NewPosition = Module.RegenerateRandomSpawnPosition(MobInformation["Area"])
							
							MobInstances["PlayingAnimation"] = WalkAnimationTrack
							WalkAnimationTrack.Looped = true
							WalkAnimationTrack:Play()
							
							local MovingMobCheck = tick()
							while MobInstances["PlayingAnimation"] == WalkAnimationTrack do
								MobHumanoid:MoveTo(NewPosition)
								MobHumanoid.MoveToFinished:Wait()
								
								if (tick() - MovingMobCheck) <= .1 then
									MobInstances["PlayingAnimation"] = nil
									WalkAnimationTrack:Stop()
									break
								end
								MovingMobCheck = tick()
							end
							
							local IdleAnimationTrack = MobHumanoid:LoadAnimation(IdleAnimation)
							MobInstances["PlayingAnimation"] = IdleAnimationTrack
							IdleAnimationTrack.Looped = true
							IdleAnimationTrack:Play()
							
							wait(math.random(MinimumIdleYield, MaximumIdleYield))
							
							PlayingAnimations = MobHumanoid:GetPlayingAnimationTracks()
							for Index = 1, #PlayingAnimations do
								PlayingAnimations[Index]:Stop()
							end
							
							MobInstances["PlayingAnimation"] = nil
							MobInformation["CanUpdateState"] = true
						end
						
					end
				end)
				coroutine.resume(MobHandlerThread)
			end
		end
	end)
	coroutine.resume(MobUpdateThread)
	
	for Area, AreaAttackingMobs in next, AttackingMobs do
		for UniqueId, MobData in next, AreaAttackingMobs do
			local MobHandlerThread = coroutine.create(function()
				local MobInformation = MobData["Information"]
				local MobPositions = MobData["Positions"]
				local MobInstances = MobData["Instances"]
				
				
				local MobModel = MobInstances["Mob"]
				local MobHumanoid = MobInstances["Humanoid"]
				local MobRootPart = MobInstances["RootPart"]
				local MobOrientation = MobInstances["Orientation"]
				local CanUpdatePosition = MobInformation["CanUpdateState"]
				
				if MobModel and MobHumanoid and CanUpdatePosition and MobInformation["State"] ~= MobStates[4] then
					local Animations = MobInstances["Animations"]
					local SpawnBoundary = MobSpawnBoundaries[Area]
					local AttackDistance = MobInformation["AttackDistance"]
					local PlayingAnimation = MobInstances["PlayingAnimation"]
					
					if GameUtility.CalculatePointOnCircle(HumanoidRootPart.Position + Vector3.new(0, 0, 2), MobRootPart.Position, AttackDistance) then
						local AttackAnimation = Animations:FindFirstChild("Attack")
						
						if MobInformation["CanUpdateState"] ~= "Idle" then
							MobInformation["CanUpdateState"] = "Idle"
							
							local PlayingAnimations = MobHumanoid:GetPlayingAnimationTracks()
							for Index = 1, #PlayingAnimations do
								PlayingAnimations[Index]:Stop()
							end
							
							local AttackAnimationTrack = MobHumanoid:LoadAnimation(AttackAnimation)
							MobInstances["PlayingAnimation"] = AttackAnimationTrack
							MobHumanoid:MoveTo(MobHumanoid.RootPart.Position)
							AttackAnimationTrack.Looped = true
							AttackAnimationTrack:Play()
							
							AttackAnimationTrack.DidLoop:Connect(function()
								if Humanoid.Health <= 0 then
									Module.DeactivatePlayerAttack(UniqueId, Area) 
								else
									--UpdateUserstatsRemote:FireServer("MaxHealth", DamagePlayerDataIndex, MobInformation["Name"])
								end
							end)
							MobOrientation.MaxTorque = DefaultBodyPosition
						end
					else
						local WalkAnimation = Animations:FindFirstChild("Walk")
						MobOrientation.MaxTorque = Vector3.new(0, 0, 0)
						if MobInformation["CanUpdateState"] ~= "Moving" then
							MobInformation["CanUpdateState"] = "Moving"
							
							local PlayingAnimations = MobHumanoid:GetPlayingAnimationTracks()
							for Index = 1, #PlayingAnimations do
								PlayingAnimations[Index]:Stop()
							end
							
							local WalkAnimationTrack = MobHumanoid:LoadAnimation(WalkAnimation)
							MobInstances["PlayingAnimation"] = WalkAnimationTrack
							WalkAnimationTrack.Looped = true
							MobHumanoid.WalkSpeed = 10
							WalkAnimationTrack:Play()
							
							while MobInstances["PlayingAnimation"] == WalkAnimationTrack do
								MobHumanoid:MoveTo(HumanoidRootPart.Position)
								RunService.Heartbeat:Wait()
							end
						end
					end
					
					if not GameUtility.CalculatePointOnRecetange(SpawnBoundary[1], SpawnBoundary[2], MobRootPart.Position) then 
						Module.DeactivatePlayerAttack(UniqueId, Area)
					end
				end
			end)
			coroutine.resume(MobHandlerThread)
		end
	end
end

ObserverUtility.ListenToEvent("UpdateCharacter", "CharacterUtilityListener", function(NewCharacter)
	if not NewCharacter or NewCharacter and not NewCharacter.Parent then return end
	
	Humanoid = NewCharacter:WaitForChild("Humanoid")
	HumanoidRootPart = Character.PrimaryPart
	Character = NewCharacter
	
	local Attachment = Instance.new("Attachment")
	Attachment.Parent = HumanoidRootPart
	
	Attachment.Name = CharacterOrientationAttachmentName
	CharacterOrientationAttachment = HumanoidRootPart
end)
return Module```

Heres the spawn data 
```return {
	["SpawnMain"] = {
		{{179.792542, 4.75, 184.662704,
			-29.777, 7.858, 86.277}},
		{{118.299751, 4.75, 234.952499}},
		{125.058, 2.35, 249.532},
		{{143.393921, 4.75, 179.752472}},
		{{-3.86442566, 4.75, 351.732178}},
		{{127.16301, 4.75, 284.481262}},
		{{123.378937, 4.75, 174.98587}},
		{{148.453949, 4.75, 175.165924}},
		{{105.048126, 4.75, 302.634308}},
		{{215.168304, 4.75, 283.991425}},
		{{99.6460876, 4.75, 353.710266}},
		{{103.033806, 4.75, 314.058075}},
		{{12.7978058, 4.75, 285.817596}},
		{{105.308548, 4.75, 218.942627}},
		{{25.0929794, 4.75, 312.833618}},
		{{202.627045, 4.75, 265.483826}},
		{{72.8000031, 4.75, 181.985916}},
		{{134.400253, 4.75, 276.697876}},
		{{103.059906, 4.75, 230.979553}},
		{{165.02211, 4.75, 285.007141}},
		{{211.949036, 4.75, 221.109436}},
		{{132.085144, 4.75, 276.403931}},
		{{43.484726, 4.75, 265.398468}},
		{{92.8120651, 4.75, 343.908722}},
		{{124.237732, 4.75, 298.210785}},
		{{63.1500015, 4.75, 165.271637}},
		{{161.528168, 4.75, 187.307831}},
		{{54.3499947, 4.75, 355.970428}},
		{{94.1815186, 4.75, 179.782822}},
		{{128.165833, 4.75, 225.981796}},
		{{40.2603531, 4.75, 306.429688}},
		{{152.216583, 4.75, 228.994644}},
		{{245.436218, 4.75, 227.412537}},
		{{69.1815643, 4.75, 297.618439}},
		{{112.910294, 4.75, 236.0233}},
		{{98.0309296, 4.75, 321.303345}},
		{{65.4955902, 4.75, 209.506516}},
		{{233.257782, 4.75, 280.57901}},
		{{17.546669, 4.75, 276.998657}},
		{{36.3306503, 4.75, 348.666656}},
		{{122.702728, 4.75, 288.706879}},
		{{148.122482, 4.75, 228.967148}},
		{{122.257492, 4.75, 230.967499}},
		{{47.4026794, 4.75, 319.397339}},
		{{24.6102524, 4.75, 207.555542}},
		{{81.331871, 4.75, 337.582397}},
		{{50.9295197, 4.75, 279.686951}},
		{{114.735451, 4.75, 306.591827}},
		{{120.526039, 4.75, 282.133667}},
		{{7.5559845, 4.75, 178.607147}},
		{{25.4524765, 4.75, 335.385406}},
		{{149.548721, 4.75, 281.94873}},
		{{100.26506, 4.75, 211.343719}},
		{{257.604767, 4.75, 294.235321}},
		{{123.000504, 4.75, 213.148254}},
		{{247.089096, 4.75, 309.577881}},
		{{103.924194, 4.75, 206.537994}},
		{{94.8924332, 4.75, 287.110168}},
		{{169.394226, 4.75, 324.157379}},
		{{118.361, 4.75, 267.918365}},
		{{172.39682, 4.75, 205.54924}},
		{{56.3075447, 4.75, 314.653137}},
		{{16.5009995, 4.75, 270.156433}},
		{{12.8198624, 4.75, 165.219299}},
		{{187.624908, 4.75, 274.168945}},
		{{145.715851, 4.75, 302.146088}},
		{{117.111916, 4.75, 215.144592}},
		{{138.300354, 4.75, 230.153061}},
		{{50.7070084, 4.75, 309.809204}},
		{{77.72229, 4.75, 214.311386}},
		{{189.891922, 4.75, 295.178436}},
		{{99.3298187, 4.75, 344.361176}},
		{{107.210869, 4.75, 267.799438}},
		{{61.0730286, 4.75, 337.380768}},
		{{9.67725372, 4.75, 210.931671}},
		{{98.9313583, 4.75, 275.895691}},
		{{74.6389618, 4.75, 315.670746}},
		{{97, 4.75, 223.90155}},
		{{136.559158, 4.75, 286.741821}},
		{{149.673111, 4.75, 214.530792}},
		{{159.022263, 4.75, 299.82901}},
		{{81.237442, 4.75, 234.199997}},
		{{9.25861359, 4.75, 174.222412}},
		{{246.148331, 4.75, 285.998138}},
		{{89.8056335, 4.75, 322.684723}},
		{{93.1398773, 4.75, 335.863251}},
		{{88.7078247, 4.75, 175.7742}},
		{{84.3283997, 4.75, 229.974258}},
		{{248.705246, 4.75, 307.50528}},
		{{49.5877228, 4.75, 271.412567}},
		{{164.996109, 4.75, 323.465393}},
		{{183.679153, 4.75, 209.334641}},
		{{117.108467, 4.75, 347.742249}},
		{{238.711945, 4.75, 266.128754}},
		{{94.0349884, 4.75, 173.726837}},
		{{237.247131, 4.75, 293.110413}},
		{{171.259415, 4.75, 341.479736}},
		{{74.5905914, 4.75, 164.934219}},
		{{148.434937, 4.75, 272.198456}},
		{{8.98899841, 4.75, 220.95607}},
		{{158.776871, 4.75, 345.216278}},
		{{93.7887268, 4.75, 183.212402}},
		{{206.081131, 4.75, 226.538834}},
		{{194.105927, 4.75, 270.06958}},
		{{178.764084, 4.75, 300.199158}},
		{{48.6376495, 4.75, 296.952545}},
		{{165.657623, 4.75, 195.406281}},
		{{60.5194321, 4.75, 272.392548}},
		{{129.156723, 4.75, 210.8078}},
		{{32.6352921, 4.75, 297.990326}},
		{{6.96334839, 4.75, 196.193939}},
		{{219.089172, 4.75, 220.809906}},
		{{88.3730392, 4.75, 224.760498}},
		{{36.8437424, 4.75, 221.907654}},
		{{135.944031, 4.75, 220.170105}},
		{{114.615028, 4.75, 299.692902}},
		{{34.2953033, 4.75, 199.373398}},
		{{99.6955719, 4.75, 191.906998}},
		{{201.369858, 4.75, 286.614899}},
		{{263.928619, 4.75, 229.221954}},
		{{100.289642, 4.75, 303.421326}},
		{{166.406784, 4.75, 180.592987}},
		{{72.9567413, 4.75, 226.476074}},
		{{263.808289, 4.75, 293.19458}},
		{{8.5118103, 4.75, 358.288208}},
		{{136.590332, 4.75, 297.728516}},
		{{207.517853, 4.75, 281.652435}},
		{{69.5721893, 4.75, 273.623779}},
		{{202.494598, 4.75, 167.348633}},
		{{55.9655838, 4.75, 176.251129}},
		{{172.706299, 4.75, 337.126923}},
		{{60.0499954, 4.75, 346.097717}},
		{{63.737175, 4.75, 228.582733}},
		{{225.286987, 4.75, 280.796844}},
		{{101.794678, 4.75, 221.725052}},
		{{117.187973, 4.75, 280.592773}},
		{{130.320755, 4.75, 296.038055}},
		{{23.4294205, 4.75, 218.309982}},
		{{154.56517, 4.75, 313.436829}},
		{{174.90007, 4.75, 294.212524}},
		{{94.0606537, 4.75, 274.92276}},
		{{53.3228378, 4.75, 227.328964}},
		{{143.17955, 4.75, 172.280411}},
		{{66.8625946, 4.75, 220.134064}},
		{{66.6057205, 4.75, 303.60968}},
		{{232.084381, 4.75, 212.271423}},
		{{80.5487823, 4.75, 174.665039}},
		{{118.207687, 4.75, 275.675598}},
		{{203.581848, 4.75, 278.744507}},
		{{58.2990875, 4.75, 266.837921}},
		{{183.351746, 4.75, 279.698395}},
		{{159.400024, 4.75, 174.018494}},
		{{225.087006, 4.75, 264.696716}},
		{{83.7538223, 4.75, 309.508636}},
		{{25.7342224, 4.75, 292.209412}},
		{{24.5340042, 4.75, 300.463562}},
		{{89.2509308, 4.75, 217.940292}},
		{{156.866776, 4.75, 304.324982}},
		{{22.5270615, 4.75, 167.886597}},
		{{55.2731972, 4.75, 325.274567}},
		{{155.267761, 4.75, 291.669312}},
		{{106.862411, 4.75, 332.297089}},
		{{134.121429, 4.75, 334.504852}},
		{{47.5286026, 4.75, 331.979187}},
		{{227.07312, 4.75, 292.003052}},
		{{158.250015, 4.75, 176.010345}},
		{{-9.06678772, 4.75, 352.495544}},
		{{128.531158, 4.75, 268.797241}},
		{{33.0900803, 4.75, 175.059326}},
		{{105.135094, 4.75, 182.429962}},
		{{197.84967, 4.75, 177.32132}},
		{{75.6444397, 4.75, 235.207779}},
		{{233.741791, 4.75, 202.087723}},
		{{25.8566666, 4.75, 268.506775}},
		{{105.688599, 4.75, 175.825104}},
		{{79.5278625, 4.75, 225.246979}},
		{{61.5741005, 4.75, 298.399292}},
		{{53.1982765, 4.75, 289.413177}},
		{{219.388611, 4.75, 184.429932}},
		{{18.7786255, 4.75, 314.707611}},
		{{74.3986969, 4.75, 284.906555}},
		{{211.825958, 4.75, 290.628601}},
		{{136.267044, 4.75, 200.070969}},
		{{247.59523, 4.75, 269.427948}},
		{{211.177429, 4.75, 271.928223}},
		{{66.102356, 4.75, 294.462921}},
		{{110.64077, 4.75, 230.52092}},
		{{61.1763306, 4.75, 225.019501}},
		{{96.4908295, 4.75, 298.091919}},
		{{43.3101273, 4.75, 191.724091}},
		{{32.7136993, 4.75, 189.648438}},
		{{25.5507813, 4.75, 319.50058}},
		{{235.784119, 4.75, 218.021637}},
		{{155.067749, 4.75, 172.007507}},
		{{150.370285, 4.75, 206.192154}},
		{{95.7579422, 4.75, 355.321533}},
		{{85.1499405, 4.75, 277.040253}},
		{{262.434479, 4.75, 183.690613}},
		{{270.770996, 4.75, 216.760361}},
		{{132.06398, 4.75, 237.123383}},
		{{268.123169, 4.75, 263.791351}},
		{{17.3060532, 4.75, 234.243484}},
		{{151.212311, 4.75, 312.872192}},
		{{129.916672, 4.75, 221.369263}},
		{{36.8029404, 4.75, 230.921448}},
		{{39.110672, 4.75, 315.671783}},
		{{155.186691, 4.75, 186.767456}},
		{{32.9735413, 4.75, 345.980225}},
		{{253.164429, 4.75, 193.843292}},
		{{158.266296, 4.75, 300.684265}},
		{{171.984955, 4.75, 280.13208}},
		{{219.733398, 4.75, 230.483185}},
		{{89.5743332, 4.75, 316.110046}},
		{{177.573212, 4.75, 213.150055}},
		{{228.20166, 4.75, 181.51387}},
		{{145.797424, 4.75, 195.275085}},
		{{240.915482, 4.75, 273.133118}},
		{{112.613419, 4.75, 286.979279}},
		{{247.592621, 4.75, 198.944244}},
		{{7.79729462, 4.75, 167.160706}},
		{{101.886787, 4.75, 168.233063}},
		{{108.418655, 4.75, 286.976471}},
		{{73.7328796, 4.75, 335.14978}},
		{{255.764954, 4.75, 189.793121}},
		{{149.120468, 4.75, 183.679688}},
		{{236.280212, 4.75, 237.961349}},
		{{16.6819458, 4.75, 189.930801}},
		{{189.000946, 4.75, 291.316803}},
		{{32.3228378, 4.75, 228.089935}},
		{{12.5187988, 4.75, 357.87973}},
		{{195.297424, 4.75, 303.925262}},
		{{36.057106, 4.75, 325.496429}},
		{{212.985504, 4.75, 180.937561}},
		{{209.32486, 4.75, 208.456039}},
		{{36.9712753, 4.75, 310.894623}},
		{{17.4169159, 4.75, 306.426025}},
		{{208.532898, 4.75, 206.7957}},
		{{80.1452179, 4.75, 345.465759}},
		{{126.547409, 4.75, 211.305115}},
		{{197.194733, 4.75, 281.715118}},
		{{140.106064, 4.75, 212.492218}},
		{{263.575012, 4.75, 237.258026}},
		{{59.8359642, 4.75, 282.91275}},
		{{13.2005539, 4.75, 293.644806}},
		{{22.1942368, 4.75, 290.011139}},
		{{42.2895737, 4.75, 335.263367}},
		{{15.3423309, 4.75, 263.348328}},
		{{156.352554, 4.75, 202.287872}},
		{{221.778229, 4.75, 215.820114}},
		{{165.15448, 4.75, 308.070953}},
		{{128.223251, 4.75, 344.06488}},
		{{223.055115, 4.75, 274.23703}},
		{{191.511047, 4.75, 175.288971}},
		{{221.640198, 4.75, 268.155975}},
		{{238.887405, 4.75, 286.517059}},
		{{145.376526, 4.75, 286.861694}},
		{{19.6063843, 4.75, 298.941284}},
		{{161.109177, 4.75, 196.619141}},
		{{8.82085419, 4.75, 304.201752}},
		{{144.485977, 4.75, 315.915588}},
		{{130.952728, 4.75, 333.697174}},
		{{134.782257, 4.75, 188.423248}},
		{{70.90448, 4.75, 234.791931}},
		{{112.239754, 4.75, 342.386383}},
		{{68, 4.75, 173.672073}},
		{{145.041275, 4.75, 227.701324}},
		{{146.240936, 4.75, 333.294128}},
		{{162.903656, 4.75, 281.350006}},
		{{218.494904, 4.75, 279.103363}},
		{{202.094757, 4.75, 206.052826}},
		{{111.782814, 4.75, 310.764801}},
		{{154.659149, 4.75, 333.190582}},
		{{52.255249, 4.75, 340.89502}},
		{{233.578384, 4.75, 298.978577}},
		{{256.348755, 4.75, 183.474365}},
		{{244.852112, 4.75, 191.889404}},
		{{9.84777832, 4.75, 340.226288}},
		{{47.2938919, 4.75, 223.389572}},
		{{145.406952, 4.75, 220.270035}},
		{{147.977524, 4.75, 188.721405}},
		{{118.023514, 4.75, 333.589417}},
		{{59.016098, 4.75, 218.767212}},
		{{30.5216827, 4.75, 200.961929}},
		{{199.960327, 4.75, 296.900909}},
		{{79.496254, 4.75, 270.478638}},
		{{186.257889, 4.75, 204.126541}},
		{{221.721909, 4.75, 294.427307}},
		{{6.58379364, 4.75, 302.995758}},
		{{93.4157486, 4.75, 294.793915}},
		{{74.9838104, 4.75, 329.181061}},
		{{156.002991, 4.75, 194.912582}},
		{{191.999481, 4.75, 287.81665}},
		{{89.0758667, 4.75, 303.691986}},
		{{230.437378, 4.75, 190.982788}},
		{{171.5793, 4.75, 173.473633}},
		{{78.6397705, 4.75, 303.21402}},
		{{18.6596069, 4.75, 183.876465}},
		{{50.3015747, 4.75, 174.585968}},
		{{34.545639, 4.75, 304.468384}},
		{{12.8654251, 4.75, 203.77092}},
		{{20.838829, 4.75, 323.05127}},
		{{60.6475868, 4.75, 291.617493}},
		{{217.442444, 4.75, 195.550049}},
		{{173.934494, 4.75, 202.541183}},
		{{187.986877, 4.75, 306.899902}},
		{{149.527252, 4.75, 326.251709}},
		{{-26.2244263, 4.75, 158.552322}},
		{{14.8982773, 4.75, 202.607056}},
		{{223.775787, 4.75, 210.784271}},
		{{140.812439, 4.75, 306.014893}},
		{{146.839325, 4.75, 293.800171}},
		{{11.8941193, 4.75, 329.791595}},
		{{242.544022, 4.75, 181.636017}},
		{{117.373383, 4.75, 212.156021}},
		{{115.767136, 4.75, 224.868698}},
		{{115.138618, 4.75, 176.311676}},
		{{166.466583, 4.75, 334.099457}},
		{{169.20401, 4.75, 191.467606}},
		{{93.197998, 4.75, 329.887695}},
		{{132.621521, 4.75, 177.510986}},
		{{219.833923, 4.75, 181.479218}},
		{{132.155609, 4.75, 196.507233}},
		{{187.591003, 4.75, 288.990265}},
		{{70.1030884, 4.75, 292.344879}},
		{{66.1711502, 4.75, 359.976166}},
		{{53.0526772, 4.75, 202.026947}},
		{{224.554443, 4.75, 172.532227}},
		{{29.2626572, 4.75, 227.154343}},
		{{5.52768707, 4.75, 326.030579}},
		{{23.4335938, 4.75, 334.366272}},
		{{-3.46824646, 4.75, 358.588806}},
		{{260.110168, 4.75, 306.252533}},
		{{44.6814957, 4.75, 181.42569}},
		{{63.3402367, 4.75, 217.667694}},
		{{169.312927, 4.75, 302.984039}},
		{{130.01329, 4.75, 205.913177}},
		{{26.5555801, 4.75, 177.159576}},
		{{180.971313, 4.75, 333.051636}},
		{{98.5264969, 4.75, 268.273499}},
		{{86.7845535, 4.75, 214.417938}},
		{{84.6014481, 4.75, 299.727448}},
		{{51.6730919, 4.75, 197.060684}},
		{{103.514236, 4.75, 336.770905}},
		{{62.1197968, 4.75, 211.150192}},
		{{24.9123917, 4.75, 183.553375}},
		{{82.9057083, 4.75, 302.441193}},
		{{136.806763, 4.75, 345.275116}},
		{{174.907867, 4.75, 271.682556}},
		{{38.2863235, 4.75, 270.433716}},
		{{257.143402, 4.75, 291.408752}},
		{{147.965591, 4.75, 281.668335}},
		{{110.830055, 4.75, 167.951843}},
		{{146.764221, 4.75, 323.692017}},
		{{160.418518, 4.75, 165.323303}},
		{{212.214142, 4.75, 167.449921}},
		{{55.5164871, 4.75, 219.350006}},
		{{84.2216568, 4.75, 322.68222}},
		{{51.5874748, 4.75, 352.560852}},
		{{60.4843178, 4.75, 203.282318}},
		{{87.2863464, 4.75, 171.399353}},
		{{5.87713623, 4.75, 174.589447}},
		{{255.448822, 4.75, 225.466278}},
		{{15.3005371, 4.75, 232.063293}},
		{{54.1822205, 4.75, 215.746674}},
		{{48.5853348, 4.75, 276.736206}},
		{{45.1972122, 4.75, 201.304092}},
		{{230.59082, 4.75, 277.824677}},
		{{258.042847, 4.75, 305.500092}},
		{{26.3314362, 4.75, 202.5}},
		{{8.7044754, 4.75, 351.003174}},
		{{113.800003, 4.75, 293.399994}},
		{{215.202911, 4.75, 192.071014}},
		{{231.666794, 4.75, 227.946671}},
		{{170.457977, 4.75, 297.266052}},
		{{242.029526, 4.75, 201.191879}},
		{{-19.8856049, 4.75, 159.392334}},
		{{54.6890869, 4.75, 185.000671}},
		{{96.1483002, 4.75, 169.955261}},
		{{74.0235748, 4.75, 346.707397}},
		{{6.49945831, 4.75, 314.950012}},
		{{143.131699, 4.75, 325.598511}},
		{{62.4455223, 4.75, 197.929062}},
		{{241.78772, 4.75, 196.01619}},
		{{105.234047, 4.75, 293.299683}},
		{{30.5863647, 4.75, 217.677917}},
		{{166.886887, 4.75, 208.454819}},
		{{267.747437, 4.75, 193.905151}},
		{{56.3774452, 4.75, 212.792297}},
		{{32.9462128, 4.75, 331.07962}},
		{{163.96228, 4.75, 207.833679}},
		{{214.348206, 4.75, 177.231476}},
		{{8.91797638, 4.75, 234.50647}},
		{{125.935898, 4.75, 339.351379}},
		{{241.607864, 4.75, 228.156677}},
		{{10.8988724, 4.75, 231.127701}},
		{{25.0947342, 4.75, 213.505875}},
		{{41.2549973, 4.75, 300.111267}},
		{{58.9673386, 4.75, 311.800842}},
		{{182.995438, 4.75, 292.949982}},
		{{146.568695, 4.75, 204.418396}},
		{{226.454071, 4.75, 200.468567}},
		{{57.015934, 4.75, 334.096069}},
		{{50.229454, 4.75, 304.478394}},
		{{212.774139, 4.75, 175.672913}},
		{{249.117111, 4.75, 294.370636}},
		{{68.2455063, 4.75, 355.317078}},
		{{24.3794556, 4.75, 237.232742}},
		{{222.603271, 4.75, 204.557663}},
		{{70.8412018, 4.75, 284.211395}},
		{{217.213348, 4.75, 299.042603}},
		{{159.535416, 4.75, 213.242828}},
		{{41.6641235, 4.75, 359.945862}},
		{{100.220703, 4.75, 330.011963}},
		{{19.5864105, 4.75, 357.634796}},
		{{163.456345, 4.75, 326.61853}},
		{{160.063705, 4.75, 212.7836}},
		{{107.542229, 4.75, 324.526794}},
		{{22.1044846, 4.75, 176.058319}},
		{{67.3403091, 4.75, 186.648682}},
		{{207.212952, 4.75, 177.355682}},
		{{237.942444, 4.75, 186.992279}},
		{{51.5771103, 4.75, 192.912048}},
		{{-7.03355408, 4.75, 161.945374}},
		{{244.855591, 4.75, 295.58255}},
		{{167.362549, 4.75, 321.556946}},
		{{64.6611633, 4.75, 320.63382}},
		{{214.943954, 4.75, 205.835815}},
		{{136.618698, 4.75, 306.757477}},
		{{70.7774506, 4.75, 345.262146}},
		{{83.7918472, 4.75, 323.694763}},
		{{128.143341, 4.75, 334.345123}},
		{{216.212067, 4.75, 231.231674}},
		{{13.4403076, 4.75, 279.891296}},
		{{26.3365402, 4.75, 194.005157}},
		{{91.9692841, 4.75, 355.705505}},
		{{20.0991135, 4.75, 285.263794}},
		{{253.451248, 4.75, 235.853012}},
		{{35.3102036, 4.75, 321.230133}},
		
	},
	["SpawnHill"] = {
		{{76.5282822, 13.5500002, 153.690933}},
		{{97.0770035, 13.5500002, 125.097031}},
		{{11.6495972, 13.5500002, 136.149811}},
		{{101.343758, 13.5500002, 107.31234}},
		{{83.094696, 13.5500002, 120.535751}},
		{{96.9977417, 13.5500002, 119.225586}},
		{{110.766335, 13.5500002, 99.1409149}},
		{{113.293625, 13.5500002, 98.713562}},
		{{94.8582458, 13.5500002, 137.001968}},
		{{6.85561371, 13.5500002, 120.813675}},
		{{95.3139801, 13.5500002, 110.892822}},
		{{103.449219, 13.5500002, 130.605743}},
		{{120.827682, 13.5500002, 109.798157}},
		{{83.3919449, 13.5500002, 136.341522}},
		{{18.5683746, 13.5500002, 157.759171}},
		{{38.8819695, 13.5500002, 115.677444}},
		{{108.288582, 13.5500002, 115.143204}},
		{{117.978592, 13.5500002, 146.867706}},
		{{21.1776733, 13.5500002, 133.44487}},
		{{119.265793, 13.5500002, 135.732391}},
		{{91.3417816, 13.5500002, 116.49424}},
		{{99.9973755, 13.5500002, 96.8662567}},
		{{30.7617722, 13.5500002, 133.463776}},
		{{140.995514, 13.5500002, 142.208069}},
		{{85.0748215, 13.5500002, 114.536659}},
		{{87.4711227, 13.5500002, 130.386475}},
		{{49.3853607, 13.5500002, 147.75972}},
		{{3.1319046, 13.5500002, 117.359177}},
		{{131.672226, 13.5500002, 115.629501}},
		{{63.8485603, 13.5500002, 132.539841}},
		{{60.7186699, 13.5500002, 113.983704}},
		{{110.08741, 13.5500002, 153.669876}},
		{{79.2909546, 13.5500002, 142.809036}},
		{{90.5071487, 13.5500002, 144.861176}},
		{{74.9893265, 13.5500002, 116.490891}},
		{{97.7509537, 13.5500002, 104.003044}},
		{{108.049034, 13.5500002, 126.665833}},
		{{156.317749, 13.5500002, 138.51532}},
		{{115.872231, 13.5500002, 109.087326}},
		{{73.7416153, 13.5500002, 105.644638}},
		{{125.253601, 13.5500002, 103.538284}},
		{{93.0771866, 13.5500002, 125.345856}},
		{{33.139595, 13.5500002, 121.731529}},
		{{159.462601, 13.5500002, 121.857185}},
		{{123.565048, 13.5500002, 122.665428}},
		{{171.413773, 13.5500002, 143.644363}},
		{{147.181366, 13.5500002, 114.459557}},
		{{157.869049, 13.5500002, 105.726784}},
		{{68.9189835, 13.5500002, 96.7882614}},
		{{123.668106, 13.5500002, 144.704636}},
		{{91.6942291, 13.5500002, 108.145157}},
		{{24.8005905, 13.5500002, 120.158539}},
		{{105.044846, 13.5500002, 122.523827}},
		{{106.58963, 13.5500002, 153.606857}},
		{{115.634842, 13.5500002, 159.951767}},
		{{40.434227, 13.5500002, 108.5485}},
		{{73.3151093, 13.5500002, 124.865509}},
		{{73.426651, 13.5500002, 147.826782}},
		{{19.2480621, 13.5500002, 121.246429}},
		{{103.877693, 13.5500002, 118.612213}},
		{{144.891983, 13.5500002, 108.796356}},
		{{66.0629272, 13.5500002, 147.276291}},
		{{63.7607155, 13.5500002, 94.1493149}},
		{{157.023682, 13.5500002, 150.234512}},
		{{84.6607361, 13.5500002, 152.820587}},
		{{140.609894, 13.5500002, 89.5761719}},
		{{58.2196693, 13.5500002, 119.808411}},
		{{102.483948, 13.5500002, 155.193451}},
		{{59.2324524, 13.5500002, 157.787033}},
		{{-2.61494446, 13.5500002, 143.577011}},
		{{118.741821, 13.5500002, 155.785614}},
		{{49.3860741, 13.5500002, 119.738083}},
		{{130.395538, 13.5500002, 130.277618}},
		{{157.518463, 13.5500002, 127.113998}},
		{{169.761841, 13.5500002, 115.20105}},
		{{139.531631, 13.5500002, 113.66993}},
		{{72.4710312, 13.5500002, 116.164436}},
		{{144.620117, 13.5500002, 131.368073}},
		{{93.2505264, 13.5500002, 93.3816605}},
		{{169.79541, 13.5500002, 134.076141}},
		{{52.3020401, 13.5500002, 112.581284}},
		{{166.284515, 13.5500002, 144.846115}},
		{{34.9451065, 13.5500002, 142.109375}},
		{{45.6213913, 13.5500002, 145.202728}},
		{{117.85376, 13.5500002, 127.128693}},
		{{174.381042, 13.5500002, 157.962509}},
		{{6.6091156, 13.5500002, 159.120056}},
		{{151.967163, 13.5500002, 125.881073}},
		{{116.099609, 13.5500002, 143.990601}},
		{{54.3369179, 13.5500002, 106.318565}},
		{{58.0883636, 13.5500002, 154.15094}},
		{{50.9541779, 13.5500002, 138.413925}},
		{{61.8534317, 13.5500002, 132.368179}},
		{{77.0655518, 13.5500002, 139.28241}},
		{{81.3136444, 13.5500002, 137.593323}},
		{{137.108032, 13.5500002, 102.377487}},
		{{110.924042, 13.5500002, 144.522766}},
		{{72.2338104, 13.5500002, 113.020454}},
		{{98.0999985, 13.5500002, 149}},
		{{153.56456, 13.5500002, 120.121536}},
		{{45.3288574, 13.5500002, 127.690117}},
		{{37.9314232, 13.5500002, 117.676033}},
		{{139.242004, 13.5500002, 135.797272}},
		{{97.5135956, 13.5500002, 157.594879}},
		{{128.038147, 13.5500002, 129.2789}},
		{{108.337692, 13.5500002, 112.629883}},
		{{103.422279, 13.5500002, 145.346512}},
		{{155.263336, 13.5500002, 148.264404}},
		{{85.3720779, 13.5500002, 111.272079}},
		{{102.232826, 13.5500002, 147.438416}},
		{{164.26593, 13.5500002, 141.729095}},
		{{83.7525711, 13.5500002, 159.511139}},
		{{173.683655, 13.5500002, 131.944153}},
		{{118.145752, 13.5500002, 108.89444}},
		{{70.2840271, 13.5500002, 141.381348}},
		{{152.807816, 13.5500002, 145.000351}},
		{{135.207581, 13.5500002, 98.0169907}},
		{{170.722595, 13.5500002, 130.353653}},
		{{60.5009193, 13.5500002, 150.327164}},
		{{113.418144, 13.5500002, 134.725876}},
		{{68.5405655, 13.5500002, 125.549141}},
		{{173.888458, 13.5500002, 125.322884}},
		{{138.24855, 13.5500002, 131.804077}},
		{{164.260468, 13.5500002, 154.851135}},
		{{24.2751007, 13.5500002, 145.168945}},
		{{45.971199, 13.5500002, 136.034882}},
		{{30.576149, 13.5500002, 139.589111}},
		{{136.576538, 13.5500002, 125.34362}},
		{{9.22314453, 13.5500002, 158.116623}},
		{{142.572891, 13.5500002, 122.446983}},
		{{24.7299271, 13.5500002, 140.938812}},
		{{85.7595444, 13.5500002, 97.5358124}},
		{{164.546982, 13.5500002, 133.338531}},
		{{48.8700371, 13.5500002, 155.970306}},
		{{60.0050812, 13.5500002, 95.2934265}},
		{{111.028885, 13.5500002, 140.548233}},
		{{61.4132385, 13.5500002, 146.043625}},
		{{-0.237075806, 13.5500002, 152.197708}},
		{{57.7960892, 13.5500002, 129.664337}},
		{{15.2126236, 13.5500002, 122.5532}},
		{{73.982399, 13.5500002, 134.737854}},
		{{6.70983887, 13.5500002, 140.114548}},
		{{150.000534, 13.5500002, 156.431061}},
		{{41.5582733, 13.5500002, 134.990601}},
		{{39.762867, 13.5500002, 156.336792}},
		{{3.41109467, 13.5500002, 135.626328}},
		{{20.830574, 13.5500002, 147.623642}},
		{{118.387634, 13.5500002, 123.291542}},
		{{106.679146, 13.5500002, 142.398041}},
		{{168.503387, 13.5500002, 127.689697}},
		{{51.013176, 13.5500002, 107.786705}},
		{{62.5488396, 13.5500002, 142.114227}},
		{{143.668854, 13.5500002, 101.77459}},
		{{43.0857544, 13.5500002, 132.713394}},
		
		
		{{159.462006, 13.5500002, 117.550598}},
		{{82.8913193, 13.5500002, 94.1512833}},
		{{71.3187256, 13.5500002, 158.278473}},
		{{148.672882, 13.5500002, 93.6127625}},
		{{165.592194, 13.5500002, 109.654106}},
		{{157.262527, 13.5500002, 114.62957}},
		{{136.109848, 13.5500002, 110.912155}},
		{{1.02898407, 13.5500002, 135.918823}},
		{{129.730148, 13.5500002, 109.250626}},
		{{22.586319, 13.5500002, 141.433701}},
		
	},
}```
2 Likes

I ain’t reading all that. Step through your code (use breakpoints) and make sure all your current assumptions about what you’ve written are correct, such as variables being what you expect them to be, Instances being set to the correct parent, having positions set, loops running more than zero time, if conditions being correct, etc.

6 Likes