GUI problem (gas pedal) Please HELP!

Hi everyone,
I have trouble combining two scripts for iPhone controls. I have script for GUI texture that represents gas pedal, and a script for vehicle control. Realy don’t know what to do… I would appreciate any help. Thanks!!!

This is my Gui script

function Update() {

	if(Input.touchCount > 0){
		var touch : Touch = Input.touches[0];
		
		
		if(touch.phase == TouchPhase.Began  guiTexture.HitTest(touch.position) )
		
		{
			//Something should go here when combinig...But don't know what. I tried sooo many things!
		}
	}
}

And this is the vehicle script. This script works ok when i control the vehicle from keyboard. Also, gui button registers touch when i try it on iphone. But it seems i realy don’t know how to combine them. I made another var for GUITexture when i tried to put them together, but it doesn’t work. If anyone can help me, please!!!

var FrontLeftWheel : WheelCollider;
var FrontRightWheel : WheelCollider;
var GearRatio : float[];
var CurrentGear : int = 0;
var EngineTorque : float = 600.0;
var MaxEngineRPM : float = 3000.0;
var MinEngineRPM : float = 1000.0;
private var EngineRPM : float = 0.0;

function Start () {
	rigidbody.centerOfMass.y = -2;
}
function Update () {

	EngineRPM = (FrontLeftWheel.rpm + FrontRightWheel.rpm) /2 * GearRatio[CurrentGear];

	
ShiftGears();

		FrontLeftWheel.motorTorque = EngineTorque / GearRatio[CurrentGear] * Input.GetAxis ("Vertical");
		FrontRightWheel.motorTorque = EngineTorque / GearRatio[CurrentGear] * Input.GetAxis ("Vertical");

}

   
function ShiftGears() {
	
		if ( EngineRPM >= MaxEngineRPM ) {
		var AppropriateGear : int = CurrentGear;
		
		for ( var i = 0; i < GearRatio.length - 1; i ++ ) {
			if ( FrontLeftWheel.rpm * GearRatio[i] < MaxEngineRPM ) {
				AppropriateGear = i;
				break;
			}
		}
		
		CurrentGear = AppropriateGear;
	}
	
	if ( EngineRPM <= MinEngineRPM ) {
		AppropriateGear = CurrentGear;
		
		for ( var j = GearRatio.length-1; j >= 0; j -- ) {
			if ( FrontLeftWheel.rpm * GearRatio[j] > MinEngineRPM ) {
				AppropriateGear = j;
				break;
			}
		}
		
		CurrentGear = AppropriateGear;
	}
	
}

Thanks!

Solved this!

If anyone needs it, i will post it!

if it wont be killing some time of yours, i would really appreciate to see the code, thanks

regards,
Dev

Yes, I’m very interested as well. I need to implement a gas pedal on the screen overlayed while I am driving.

This is whole script and it works great. I know it’s a little complicated, but it’s worth it!

i just have one question… I want my steering wheel to be Texture2D (OnGUI), and my gas and brake pedals are GUITextures. I can’t seem to enable multitouch, does anyone know why?

var FrontLeftWheel : WheelCollider;
var FrontRightWheel : WheelCollider;
var GearRatio : float[];
var CurrentGear : int = 0;

var EngineTorque : float = 600.0;
var MaxEngineRPM : float = 3000.0;
var MinEngineRPM : float = 1000.0;
private var EngineRPM : float = 0.0;
var motorInputTouch : int = 0;
var motorInput : float = 0.00; 

var g_gas : GUITexture; 
var g_brake : GUITexture;

function Start () {
	rigidbody.centerOfMass.y = -2;
	g_gas.enabled = true;
	g_brake.enabled = true;
}

function Update() { 

	for (var i = 0; i < Input.touchCount; ++i) {

		if (Input.GetTouch(i).phase == TouchPhase.Began) { 
			motorInputTouch = 1; 	
		}
		else if (Input.GetTouch(i).phase == TouchPhase.Ended) { 
			motorInputTouch = 0;	
		} 
	}
	
	rigidbody.drag = rigidbody.velocity.magnitude / 200;
	

	EngineRPM = (FrontLeftWheel.rpm + FrontRightWheel.rpm) /2 * GearRatio[CurrentGear];
	motorInput = motorInputTouch;
		
for (var touch : Touch in Input.touches) 
{ 
   if (touch.phase == TouchPhase.Stationary  g_gas.HitTest(touch.position)){ 
       motorInputTouch = 1;
   }
       else if(touch.phase == TouchPhase.Ended  g_gas.HitTest){
       motorInputTouch = 0;
       }
              
   if (touch.phase == TouchPhase.Stationary  g_brake.HitTest(touch.position)){ 
       motorInputTouch = -1;
   }
       else if(touch.phase == TouchPhase.Ended  g_brake.HitTest){
       	motorInputTouch = 0;
       }

}

ShiftGears();
		FrontLeftWheel.motorTorque = EngineTorque / GearRatio[CurrentGear] * motorInputTouch;
		FrontRightWheel.motorTorque = EngineTorque / GearRatio[CurrentGear] * motorInputTouch;

   
function ShiftGears() {

		if ( EngineRPM >= MaxEngineRPM ) {
		var AppropriateGear : int = CurrentGear;
		
		for ( var i = 0; i < GearRatio.length - 1; i ++ ) {
			if ( FrontLeftWheel.rpm * GearRatio[i] < MaxEngineRPM ) {
				AppropriateGear = i;
				break;
			}
		}
		
		CurrentGear = AppropriateGear;
	}
	
	if ( EngineRPM <= MinEngineRPM ) {
		AppropriateGear = CurrentGear;
		
		for ( var j = GearRatio.length-1; j >= 0; j -- ) {
			if ( FrontLeftWheel.rpm * GearRatio[j] > MinEngineRPM ) {
				AppropriateGear = j;
				break;
			}
		}
		
		CurrentGear = AppropriateGear;
	}
	
}