Array index out of Range

Hello guys im trying to make my enemy spawn at one of 3 locations and im using arrays and RandomRange but it keeps saying Arrays out of range could you help me :smiley:
using UnityEngine;
using System.Collections;

public class EvilKnight : MonoBehaviour {
public Transform EK;
public float brzina;
public Transform igrac;
public float udalj;
public Animator Animator;
public float ekhp;
public float vreme;
public Transform SpawnPoint1;
public Transform SpawnPoint2;
public Transform SpawnPoint3;
public Vector3 Spoint;
public int broj;

// Use this for initialization
void Start () {
	Animator = GetComponent<Animator> ();

}

// Update is called once per frame
void Update () {
	transform.Translate (Vector2.left * brzina);
	Spoint [1] = SpawnPoint1.position;
	Spoint [2] = SpawnPoint2.position;
	Spoint [3] = SpawnPoint3.position;
	transform.Translate (Vector2.left * brzina);

	 
	vreme  -= Time.deltaTime;

	Animator.SetBool ("Napada", false);

	udalj = Vector3.Distance (igrac.position, transform.position);

	transform.Translate (Vector2.left * brzina);

	if (udalj < 0.5)
	 {
		Animator.SetBool ("Napada", true);
	 }

	if (vreme < 0) {
		broj = Random.Range (0, 4);
		vreme = 5;
	
		Instantiate (EK, Spoint[Random.Range(0,4)], Quaternion.identity);

	}

}

}

arrays are zero-based so store your spawn positions in 0, 1 & 2 then use a random range of 0,3

Arrays in almost all programming languages are zero-rated. So if you have an array of three elements, they’re Spoint[0], Spoint[1], and Spoint[2], not Spoint[1] - [3]…