"jump" Is not a member of object?

So… I have a GUI on screen that when clicked will trigger the “Jump” method on my character:

var player : GameObject;
var script;
 
function Start(){
   player = gameObject.FindWithTag("Player") ;
   script = player.GetComponent(Move) as Move ;
}
function OnMouseDown() {
script.jump();
}

The player var is the character, and there’s a script on it called Move (EXACLTY Move, I made sure that it wasn’t just some stupid capitalization thing):

var speed : float = 6.0;
	var jumpSpeed : float = 8.0;
	var gravity : float = 20.0;

	private var moveDirection : Vector3 = Vector3.zero;
	

	function Update() {
	var controller : CharacterController = GetComponent(CharacterController);
		
		if (controller.isGrounded) {
			// We are grounded, so recalculate
			// move direction directly from axes
			moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
			                        Input.GetAxis("Vertical"));
			moveDirection = transform.TransformDirection(moveDirection);
			moveDirection *= speed;
			
			if (Input.GetButton ("Jump")) {
				moveDirection.y = jumpSpeed;
			}
		}

		// Apply gravity
		moveDirection.y -= gravity * Time.deltaTime;
		// Move the controller
		controller.Move(moveDirection * Time.deltaTime);
	}
		function moveforward(){
	var controller : CharacterController = GetComponent(CharacterController);
	controller.Move(-Vector3.back / 6);
	}
		function moveback(){
	var controller : CharacterController = GetComponent(CharacterController);
	controller.Move(-Vector3.forward / 6);
	}
		function moveleft(){
	var controller : CharacterController = GetComponent(CharacterController);
	controller.Move(-Vector3.left / 6);
	}
		function moveright(){
	var controller : CharacterController = GetComponent(CharacterController);
	controller.Move(-Vector3.right / 6);
	}
		function jump(){
	var controller : CharacterController = GetComponent(CharacterController);
	if (controller.isGrounded) {
	moveDirection.y = jumpSpeed;
	controller.Move(moveDirection * Time.deltaTime);
	}
	}

(The first part of the script is for keyboard, but this is an android app, and I use the keyboard for debugging)
There are also similar buttons to the first script mentioned, but the names of the script.jump(); vary. They all don’t work, and, yes my let and right are switched, that’s intended. They all give the error: “jump is not a member of object. (On the line with script.jump();)” it was working before, but then I changed it from windows to Android and BAM stoppped working.

This is in java BTW.
I have also tried reimporting all, restarting, all that.

Declare script type as Move:

var player : GameObject;
var script : Move;

When a variable type isn’t declared and can’t be inferred by the initialization value, it’s assumed to be Object, a variant type that can hold any value - and Object in fact doesn’t know anything about the variables and functions declared in the Move script.