Can you help me find the script error please?

Cant find error in script and i have to finish my game for a project at school in less than 4 hours can someone help :frowning:

using UnityEngine;
using System.Collections;

[RequireComponent (typeof(BoxCollider))]
public class PlayerPhysics : MonoBehaviour {

public LayerMask collisionMask;

private BoxCollider collider;
private Vector3 s;
private Vector3 c;

private float Skin = .005f;

[HideInInspector]
public bool grounded;

Ray ray;
RaycastHit hit;

void Start() {
	collider = GetComponent<BoxCollider>();
	s = collider.size;
	c = collider.center;
}

public void Move(Vector2 moveAmount) {

	float deltaY = moveAmount.y;
	float deltaX = moveAmount.x;
	Vector2 p = transform.position;

	for (int i = 0; i<=3; i ++) {
		float dir = Mathf.Sign(deltaY);
		float x = (p.x + c.x - s.x/2) + s.x/2 * i; // Left, centre and then rightmost point of collider
		float y = p.y + c.y + s.y/2 * dir; // Bottom of collider

		ray = new Ray(new Vector2(x,y), new Vector2(0,dir));

		if (Physics.Raycast(ray,out hit,Mathf.Abs(deltaY,CollisionMask)) {
			// Get distance between player and ground
			float dst = Vector3.Distance (ray.origin, hit.point);

			// stop player's downward movement after coming within skin width of a collider
			if (dst > skin) {
				deltaY = -dst + skin;
			}
			else {
				deltaY = 0;
			}
			grounded = true;
			break;

		}

	}

		Vector2 finalTransform = new Vector2(deltaX,deltaY);

	transform.Translate(finalTransform);
}

}

I fear there are a few problems you got above
firstly you confusing Vectors

for example transform.position returns a Vector3 Not A vector2
same as the declaration for the Ray Paths

Mathf.Abs(deltaY,CollisionMask) ----> dont understand what you achive with this so i removed it for now

cant test if the code actually works but should fix most of the vector problems

	public LayerMask collisionMask;
	
		private BoxCollider collider;
		private Vector3 s;
		private Vector3 c;
	
		private float Skin = .005f;

		public bool grounded;
	
		Ray ray;
		RaycastHit hit;
	
		void Start ()
		{
				collider = GetComponent<BoxCollider> ();
				s = collider.size;
				c = collider.center;

		}
	


		public void Move (Vector2 moveAmount)
		{
				float deltaY = moveAmount.y;
				float deltaX = moveAmount.x;
				Vector3 p = transform.position;
	
		
				for (int i = 0; i<=3; i ++) {
						float dir = Mathf.Sign (deltaY);
						float x = (p.x + c.x - s.x / 2) + s.x / 2 * i; // Left, centre and then rightmost point of collider
						float y = p.y + c.y + s.y / 2 * dir; // Bottom of collider
					
					
						// Ray Also needs Vector3
						ray = new Ray (new Vector3 (x, y, 0), new Vector3 (0, dir, 0));

						//Mathf.Abs(deltaY,CollisionMask) ??
						if (Physics.Raycast (ray, out hit)) {
								// Get distance between player and ground
								float dst = Vector3.Distance (ray.origin, hit.point);
				
								// stop player's downward movement after coming within skin width of a collider
								if (dst > Skin) { // skin was delcared with Capital S 
										deltaY = -dst + Skin;
								} else {
										deltaY = 0;
								}
								grounded = true;
								break;				
						}

				}

				Vector3 finalTransform = new Vector3 (deltaX, deltaY, 0);
				transform.Translate (finalTransform);		
		}