- Home /
How Can I Disable a function if a variable equals zero
Hi. I'm making a third person robot game and the robot has jet boots and can fly. However, the robot can run out of rocket fuel. I want to make it so that I can reaload his fuel only as long as the realoads variable is not equal to 0. my code looks like this:
var speed = 6.0; var jumpSpeed = 8.0; var jumpSpeedSubtract : float = 0.1; var jumpSpeedAdd = 20; var jumpReload = 20; var jumpReloadCost = 1; var gravity = 20.0; //This will store the player movement as X Y Z, so we register it as a Vector3 private var moveDirection = Vector3.zero;
function FixedUpdate() { //Register the controller variable with the character controller attached as a component to our player robot var controller : CharacterController = GetComponent(CharacterController);
//Don't move the character in mid-air because it's not super mario :D
if (controller.isGrounded && Health.alive) {
// We are grounded, so recalculate
// move direction directly from axes
//We just calculate the movement in Z/Vertical axis
//You can also add strafe but our robot model doesn't have a strafe animation so...
moveDirection = Vector3(0, 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
//We multiply the outcome with our speed variable, so it's customizable in the editor now
moveDirection *= speed;
}
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed -= jumpSpeedSubtract;
}
//Rotate the player in Y axis based on the mouse X axis
if(Health.alive)
{
var rotateY = (Input.GetAxis("Mouse X") * 200 ) * Time.deltaTime;
controller.transform.Rotate( 0, rotateY, 0);
}
// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;
// Move the controller
//And finally we add the movement that we calculated earlier
if(Health.alive)
controller.Move(moveDirection * Time.deltaTime);
} function Update () { if(Input.GetButton ("Fire3") {
jumpReaload -= jumpRealoadCost jumpSpeed += jumpSpeedAdd }
}
Answer by Jesus_Freak · Dec 20, 2010 at 08:44 PM
you should make a custom function and call it when the variables dont equal zero ie:
var VARIABLES : int; function Update() { if(VARIABLES != 0) { Reload(); } }
function Reload() { //reload. Debug.Log("Reloading"); }
that's the best way to call a custom function under conditions.
Your answer

Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Creating & accessing a function from a diffrent "OnTriggerEnter" Function 1 Answer
Is it possible to change a variable, into a script not assigned to any game object? 3 Answers
Select colour then change texture 0 Answers
Maths with variables 2 Answers