Begginner looking for help with some errors c#

so i have been following a tutorial, but i came accros some errors

Assets/scripts/PlayerMovement.cs(31,64): error CS0120: An object reference is required to access non-static member `UnityEngine.Transform.position’

Assets/scripts/PlayerMovement.cs(31,25): error CS1502: The best overloaded method match for `UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)’ has some invalid arguments

Assets/scripts/PlayerMovement.cs(31,25): error CS1503: Argument #2' cannot convert object’ expression to type `UnityEngine.Vector3’

Assets/scripts/PlayerMovement.cs(32,31): error CS0120: An object reference is required to access non-static member `UnityEngine.Transform.position’

now the code:

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour {
	public float movespeed;
	private float maxSpeed = 15f;
	private Vector3 spawn;
	private Vector3 input;
	public GameObject deathparticles;
	

	// Use this for initialization
	void Start () {
		spawn = transform.position;
	}
	
	// Update is called once per frame
	void Update () {
		Rigidbody rigidbody = GetComponent<Rigidbody>();
		input = new Vector3 (Input.GetAxisRaw ("Horizontal"), 0, Input.GetAxisRaw ("Vertical"));
		if (rigidbody.velocity.magnitude < maxSpeed) { 
			rigidbody.AddForce(input * movespeed); 
		}

	}

	void OnCollisionEnter(Collision other)
	{
		if (other.gameObject.tag == "enemy")
		    {
			Instantiate (deathparticles, Transform.position, Quaternion.identity);
		    Transform.position = spawn;
		}
	}
}

Thanks in advance

Most programming languages are case sensitive. Transform is not the same as transform.

When you’re trying to get the position of the object you’re using Transform.position. Transform is the class, the property on the game object that contains the instance of the class is transform, lower case T.

You want this:

transform.position = spawn;

The same when calling Instantiate.