Script:
var speed : float = 6.0;
var jumpSpeed : float = 8.0;
var gravity : float = 20.0;
var cameraObject : GameObject;
private var moveDirection : Vector3 = Vector3.zero;
private var double_jump : boolean = true;
function Update() {
var controller : CharacterController = GetComponent(CharacterController);
if (controller.isGrounded) {
moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
Input.GetAxis("Vertical"));
transform.rotation = Quaternion.Euler(0, cameraObject.GetComponent(Mouselook).currentYRotation, 0);
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
double_jump = true;
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed;
}
if (Input.GetKeyDown(KeyCode.LeftShift)){
speed = 8;
}
if (Input.GetKeyUp(KeyCode.LeftShift)){
speed = 4;
}
}
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
else
{
if (Input.GetButton("Jump"))
{
moveDirection.y = jumpSpeed;
double_jump = false;
}
}