i am trying to give my player the ability to fly and i have it setup so that when your fuel is more than 0 and space is held you can fly, but when you hold space you will continue to fly even after you run out of fuel, but if you let space up and try again it works as intended, i am probably missing something obvious
#pragma strict
private var x : float;
private var y : float;
private var z : float;
private var mouse : float;
private var move : Vector3;
private var pack = 0f;
private var grounded = true;
private var jumping = false;
var packmax = 100;
var mouseSpeed = 10;
var moveSpeed = 10;
var gravity = 5f;
var jumpheight = 5;
function Update()
{
var ground : CharacterController = GetComponent(CharacterController);
if(ground.isGrounded)
{
grounded = true;
}
if(ground.isGrounded == false)
{
grounded = false;
}
mouse = transform.eulerAngles.y += Input.GetAxis("Mouse X") * mouseSpeed;
z = Input.GetAxis("Vertical") * moveSpeed;
x = Input.GetAxis("Horizontal") * moveSpeed;
if(Input.GetKey(KeyCode.Space) == true)
{
jumping = true;
}
else
{
jumping = false;
}
if(pack > 0)
{
if(jumping == true)
{
y = jumpheight;
//Debug.Log("jumping");
}
}
if(jumping == false)
{
y = gravity;
//Debug.Log("not jumping");
}
move = transform.TransformDirection(x, y, z);
}
function FixedUpdate()
{
var controller : CharacterController = GetComponent(CharacterController);
transform.eulerAngles = Vector3(0, mouse, 0);
controller.Move(move);
var ground : CharacterController = GetComponent(CharacterController);
if(jumping == true)
{
if(pack > 0)
{
pack --;
}
}
if(ground.isGrounded)
{
if(pack < 100)
{
pack ++;
}
}
//Debug.Log(pack);
}
i have some pretty shitty naming conventions when it come to naming variables and there is probably some that i am not even using, i will go back through and fix it once i have it functional