InitStartPoint = function()
	Trigger.AfterDelay(DateTime.Seconds(0.0000001), function()
		-----------------------------------------------------------------------------------------------------------------------------------------------
		StartingWaypoint0 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = StartingPoint0 })
		StartingWaypoint1 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = StartingPoint1 })
		StartingWaypoint2 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = StartingPoint2 })
		StartingWaypoint3 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = StartingPoint3 })
		-----------------------------------------------------------------------------------------------------------------------------------------------
		StartEntryWayPoint0 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint0 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		StartEntryWayPoint1 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint1 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		StartEntryWayPoint2 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint2 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		StartEntryWayPoint3 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint3 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		-----------------------------------------------------------------------------------------------------------------------------------------------
		StartExitWayPoint0 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint0 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		StartExitWayPoint1 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint1 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		StartExitWayPoint2 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint2 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		StartExitWayPoint3 = Actor.Create("waypoint", true, { Owner = clearpoint, Location = Map.ClosestEdgeCell(StartingPoint3 + CVec.New(Utils.RandomInteger(-6, 6), Utils.RandomInteger(-6, 6))) })
		-----------------------------------------------------------------------------------------------------------------------------------------------
		StartVehicles0 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(startvehicle) return startvehicle.Type == "jeep" or startvehicle.Type == "jeep.recon" or startvehicle.Type == "apc.tower" or startvehicle.Type == "1tnk" or startvehicle.Type == "2tnk" or startvehicle.Type == "3tnk" or startvehicle.Type == "4tnk" or startvehicle.Type == "arty" or startvehicle.Type == "v2rl" and startvehicle.Owner == multi0 end)
		StartVehicles1 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(startvehicle) return startvehicle.Type == "jeep" or startvehicle.Type == "jeep.recon" or startvehicle.Type == "apc.tower" or startvehicle.Type == "1tnk" or startvehicle.Type == "2tnk" or startvehicle.Type == "3tnk" or startvehicle.Type == "4tnk" or startvehicle.Type == "arty" or startvehicle.Type == "v2rl" and startvehicle.Owner == multi1 end)
		StartVehicles2 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(startvehicle) return startvehicle.Type == "jeep" or startvehicle.Type == "jeep.recon" or startvehicle.Type == "apc.tower" or startvehicle.Type == "1tnk" or startvehicle.Type == "2tnk" or startvehicle.Type == "3tnk" or startvehicle.Type == "4tnk" or startvehicle.Type == "arty" or startvehicle.Type == "v2rl" and startvehicle.Owner == multi2 end)
		StartVehicles3 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(startvehicle) return startvehicle.Type == "jeep" or startvehicle.Type == "jeep.recon" or startvehicle.Type == "apc.tower" or startvehicle.Type == "1tnk" or startvehicle.Type == "2tnk" or startvehicle.Type == "3tnk" or startvehicle.Type == "4tnk" or startvehicle.Type == "arty" or startvehicle.Type == "v2rl" and startvehicle.Owner == multi3 end)
	end)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
	StartPoint0 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(spoint0) return spoint0.Type == "startpoint" or spoint0.Type == "startpoint.light" or spoint0.Type == "startpoint.heavy" or spoint0.Type == "startpoint.hero" or spoint0.Type == "startpoint.bond" and spoint0.Owner == multi0 end)
	StartPoint1 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(spoint1) return spoint1.Type == "startpoint" or spoint1.Type == "startpoint.light" or spoint1.Type == "startpoint.heavy" or spoint1.Type == "startpoint.hero" or spoint1.Type == "startpoint.bond" and spoint1.Owner == multi1 end)
	StartPoint2 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(spoint2) return spoint2.Type == "startpoint" or spoint2.Type == "startpoint.light" or spoint2.Type == "startpoint.heavy" or spoint2.Type == "startpoint.hero" or spoint2.Type == "startpoint.bond" and spoint2.Owner == multi2 end)
	StartPoint3 = Map.ActorsInBox(Map.TopLeft, Map.BottomRight, function(spoint3) return spoint3.Type == "startpoint" or spoint3.Type == "startpoint.light" or spoint3.Type == "startpoint.heavy" or spoint3.Type == "startpoint.hero" or spoint3.Type == "startpoint.bond" and spoint3.Owner == multi3 end)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
	Utils.Do(StartPoint0, function(sp0)
		if (sp0.Type == "startpoint" or sp0.Type == "startpoint.light" or sp0.Type == "startpoint.heavy" or sp0.Type == "startpoint.hero" or sp0.Type == "startpoint.bond") and sp0.Owner == multi0 then
			StartingPoint0 = sp0.Location
			StartingCenterPoint0 = Map.CenterOfCell(sp0.Location)
		end
		if sp0.Type == "startpoint" and sp0.Owner == multi0 then
			Rank0 = "Squad Leader"
			GeneralTeamType0 = "Squad"
			StartInfantryVideo0 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
			------------------------------All---------------------------------------
			GeneralTeamType = "Squad"					      --
			StartInfantryVideo = Utils.Random({ "movingin.vqa", "montpass.vqa" }) --
			Rank = "Squad Leader"						      --
			------------------------------------------------------------------------
		elseif sp0.Type == "startpoint.light" and sp0.Owner == multi0 then
			Rank0 = "Platton Leader"
			GeneralTeamType0 = "Platton"
			StartInfantryVideo0 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
			------------------------------All---------------------------------------
			GeneralTeamType = "Platton"					      --
			StartInfantryVideo = Utils.Random({ "movingin.vqa", "montpass.vqa" }) --
			Rank = "Platton Leader"						      --
			------------------------------------------------------------------------
		elseif sp0.Type == "startpoint.heavy" and sp0.Owner == multi0 then
			Rank0 = "Colonel"
			GeneralTeamType0 = "Regiment"
			StartInfantryVideo0 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
			------------------------------All---------------------------------------
			GeneralTeamType = "Regiment"					      --
			StartInfantryVideo = Utils.Random({ "movingin.vqa", "montpass.vqa" }) --
			Rank = "Colonel"						      --
			------------------------------------------------------------------------
		elseif sp0.Type == "startpoint.hero" and sp0.Owner == multi0 then
			Rank0 = "Battle Hero"
			GeneralTeamType0 = "Commandoes"
			StartInfantryVideo0 = Utils.Random({ "spy.vqa", "spy.vqa" })
			------------------------------All---------------------------------------
			GeneralTeamType = "Commandoes"					      --
			StartInfantryVideo = Utils.Random({ "spy.vqa", "spy.vqa" })           --
			Rank = "Battle Hero"						      --
			------------------------------------------------------------------------
		elseif sp0.Type == "startpoint.bond" and sp0.Owner == multi0 then
			Rank0 = "James Bond (007)"
			GeneralTeamType0 = "Commandoes"
			StartInfantryVideo0 = Utils.Random({ "spy.vqa", "spy.vqa" })
			------------------------------All---------------------------------------
			GeneralTeamType = "Commandoes"					      --
			StartInfantryVideo = Utils.Random({ "spy.vqa", "spy.vqa" })	      --
			Rank = "James Bond (007)"					      --
			------------------------------------------------------------------------
		end
	end)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
	Utils.Do(StartPoint1, function(sp1)
		if (sp1.Type == "startpoint" or sp1.Type == "startpoint.light" or sp1.Type == "startpoint.heavy" or sp1.Type == "startpoint.hero" or sp1.Type == "startpoint.bond") and sp1.Owner == multi1 then
			StartingPoint1 = sp1.Location
			StartingCenterPoint1 = Map.CenterOfCell(sp1.Location)
		end
		if sp1.Type == "startpoint" and sp1.Owner == multi1 then
			Rank1 = "Squad Leader"
			GeneralTeamType1 = "Squad"
			StartInfantryVideo1 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp1.Type == "startpoint.light" and sp1.Owner == multi1 then
			Rank1 = "Platton Leader"
			GeneralTeamType1 = "Platton"
			StartInfantryVideo1 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp1.Type == "startpoint.heavy" and sp1.Owner == multi1 then
			Rank1 = "Colonel"
			GeneralTeamType1 = "Regiment"
			StartInfantryVideo1 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp1.Type == "startpoint.hero" and sp1.Owner == multi1 then
			Rank1 = "Battle Hero"
			GeneralTeamType1 = "Commandoes"
			StartInfantryVideo1 = Utils.Random({ "spy.vqa", "spy.vqa" })
		elseif sp1.Type == "startpoint.bond" and sp1.Owner == multi1 then
			Rank1 = "James Bond (007)"
			GeneralTeamType1 = "Commandoes"
			StartInfantryVideo1 = Utils.Random({ "spy.vqa", "spy.vqa" })
		end
	end)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
	Utils.Do(StartPoint2, function(sp2)
		if (sp2.Type == "startpoint" or sp2.Type == "startpoint.light" or sp2.Type == "startpoint.heavy" or sp2.Type == "startpoint.hero" or sp2.Type == "startpoint.bond") and sp2.Owner == multi2 then
			StartingPoint2 = sp2.Location
			StartingCenterPoint2 = Map.CenterOfCell(sp2.Location)
		end
		if sp2.Type == "startpoint" and sp2.Owner == multi2 then
			Rank2 = "Squad Leader"
			GeneralTeamType2 = "Squad"
			StartInfantryVideo2 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp2.Type == "startpoint.light" and sp2.Owner == multi2 then
			Rank2 = "Platton Leader"
			GeneralTeamType2 = "Platton"
			StartInfantryVideo2 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp2.Type == "startpoint.heavy" and sp2.Owner == multi2 then
			Rank2 = "Colonel"
			GeneralTeamType2 = "Regiment"
			StartInfantryVideo2 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp2.Type == "startpoint.hero" and sp2.Owner == multi2 then
			Rank2 = "Battle Hero"
			GeneralTeamType2 = "Commandoes"
			StartInfantryVideo2 = Utils.Random({ "spy.vqa", "spy.vqa" })
		elseif sp2.Type == "startpoint.bond" and sp2.Owner == multi2 then
			Rank2 = "James Bond (007)"
			GeneralTeamType2 = "Commandoes"
			StartInfantryVideo2 = Utils.Random({ "spy.vqa", "spy.vqa" })
		end
	end)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
	Utils.Do(StartPoint3, function(sp3)
		if (sp3.Type == "startpoint" or sp3.Type == "startpoint.light" or sp3.Type == "startpoint.heavy" or sp3.Type == "startpoint.hero" or sp3.Type == "startpoint.bond") and sp3.Owner == multi3 then
			StartingPoint3 = sp3.Location
			StartingCenterPoint3 = Map.CenterOfCell(sp3.Location)
		end
		if sp3.Type == "startpoint" and sp3.Owner == multi3 then
			Rank3 = "Squad Leader"
			GeneralTeamType3 = "Squad"
			StartInfantryVideo3 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp3.Type == "startpoint.light" and sp3.Owner == multi3 then
			Rank3 = "Platton Leader"
			GeneralTeamType3 = "Platton"
			StartInfantryVideo3 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp3.Type == "startpoint.heavy" and sp3.Owner == multi3 then
			Rank3 = "Colonel"
			GeneralTeamType3 = "Regiment"
			StartInfantryVideo3 = Utils.Random({ "movingin.vqa", "montpass.vqa" })
		elseif sp3.Type == "startpoint.hero" and sp3.Owner == multi3 then
			Rank3 = "Battle Hero"
			GeneralTeamType3 = "Commandoes"
			StartInfantryVideo3 = Utils.Random({ "spy.vqa", "spy.vqa" })
		elseif sp3.Type == "startpoint.bond" and sp3.Owner == multi3 then
			Rank3 = "James Bond (007)"
			GeneralTeamType3 = "Commandoes"
			StartInfantryVideo3 = Utils.Random({ "spy.vqa", "spy.vqa" })
		end
	end)
end

