- Home /
BCE0044: expecting EOF, found '}'.
Please help me i cant play with that error
thats my code
// ----------- CAR TUTORIAL SAMPLE PROJECT, ? Andrew Gotow 2009 -----------------
// Here's the basic car script described in my tutorial at www.gotow.net/andrew/blog.
// A Complete explaination of how this script works can be found at the link above, along
// with detailed instructions on how to write one of your own, and tips on what values to
// assign to the script variables for it to work well for your application.
// Contact me at Maxwelldoggums@Gmail.com for more information.
// These variables allow the script to power the wheels of the car.
var FrontLeftWheel : WheelCollider;
var FrontRightWheel : WheelCollider;
var BackLeftWheel : WheelCollider;
var BackRightWheel : WheelCollider;
var GasButton : GUITexture;
var brakeButton : GUITexture;
var liftTurnButton : GUITexture;
var rightTurnButton : GUITexture;
var motorInputTouch : int = 0;
var brakePower : float = 200;
// These variables are for the gears, the array is the list of ratios. The script
// uses the defined gear ratios to determine how much torque to apply to the wheels.
var GearRatio : float[];
var DifferentialRatio : float = 3.21;
var CurrentGear : int = 0;
// These variables are just for applying torque to the wheels and shifting gears.
// using the defined Max and Min Engine RPM, the script can determine what gear the
// car needs to be in.
var EngineTorque : float = 600.0;
var MaxEngineRPM : float = 7000.0;
var MinEngineRPM : float = 1000.0;
var EngineRPM : float = 0.0;
///
function Awake () {
GasButton = gameObject.Find("gaz_run").guiTexture;
brakeButton = gameObject.Find("gaz_break").guiTexture;
liftTurnButton = gameObject.Find("BUT_YSAR").guiTexture;
rightTurnButton = gameObject.Find("BUT_YMYN").guiTexture;
}
//var FrontWheelDrive : int = 1;
//var RearWheelDrive : int = 1;
// Center Of Mass
var COMX : float = 0;
var COMY : float = -0.2;
var COMZ : float = 0.5;
function Start () {
// I usually alter the center of mass to make the car more stable. I'ts less likely to flip this way.
rigidbody.centerOfMass.x = COMX;
rigidbody.centerOfMass.y = COMY;
rigidbody.centerOfMass.z = COMZ;
}
function Update () {
for (var touch : Touch in Input.touches)
{
if (touch.phase == TouchPhase.Stationary && gasButton.HitTest (touch.position)) {
motornInputTouch = 1;
}
else if (touch.phase == TouchPhase.Ended && gasButton.HitTest) {
motornInputTouch = 0;
}
if (touch.phase == TouchPhase.Stationary && brakeButton.HitTest (touch.position)) {
brakePower = 200;
}
else if (touch.phase == TouchPhase.Ended && brakeButton.HitTest) {
brakePower = 0;
}
if (touch.phase == TouchPhase.Stationary && liftTurnButton.HitTest (touch.position)) {
FrontLeftWheel.steerAngel = -15;
FrontRightWheel.steerAngel = -15;
}
else if (touch.phase == TouchPhase.Ended && liftTurnButton.HitTest) {
FrontLeftWheel.steerAngel = 0;
FrontRightWheel.steerAngel = 0;
}
if (touch.phase == TouchPhase.Stationary && rightTurnButton.HitTest (touch.position)) {
FrontLeftWheel.steerAngel = 15;
FrontRightWheel.steerAngel = 15;
}
else if (touch.phase == TouchPhase.Ended && rightTurnButton.HitTest) {
FrontLeftWheel.steerAngel = 0;
FrontRightWheel.steerAngel = 0;
}
}
}
//update center of mass
rigidbody.centerOfMass.x = COMX;
rigidbody.centerOfMass.y = COMY;
rigidbody.centerOfMass.z = COMZ;
// This is to limith the maximum speed of the car, adjusting the drag probably isn't the best way of doing it,
// but it's easy, and it doesn't interfere with the physics processing.
rigidbody.drag = rigidbody.velocity.magnitude / 250;
// Compute the engine RPM based on the average RPM of the two wheels, then call the shift gear function
EngineRPM = Mathf.Abs(BackLeftWheel.rpm + BackRightWheel.rpm)/2 * GearRatio[CurrentGear] * DifferentialRatio;
if ( EngineRPM>10000) {EngineRPM =10000;}
if ( EngineRPM<0) {EngineRPM =0;}
ShiftGears();
// set the audio pitch to the percentage of RPM to the maximum RPM plus one, this makes the sound play
// up to twice it's pitch, where it will suddenly drop when it switches gears.
audio.pitch = Mathf.Abs(EngineRPM / MaxEngineRPM) + 0.5 ;
// this line is just to ensure that the pitch does not reach a value higher than is desired.
if ( audio.pitch > 1.5 ) {
audio.pitch = 1.5;
}
// finally, apply the values to the wheels. The torque applied is divided by the current gear, and
// multiplied by the user input variable.
//if (FrontWheelDrive) {
// FrontLeftWheel.motorTorque = -EngineTorque * GearRatio[CurrentGear]*DifferentialRatio * Input.GetAxis("Vertical") *1000;
// FrontRightWheel.motorTorque = -EngineTorque * GearRatio[CurrentGear]*DifferentialRatio * Input.GetAxis("Vertical") *1000;
//}
//if (RearWheelDrive) {
BackLeftWheel.motorTorque = -EngineTorque * GearRatio[CurrentGear] * DifferentialRatio * motorInputTouch;
BackRightWheel.motorTorque = -EngineTorque * GearRatio[CurrentGear] * DifferentialRatio * motorInputTouch;
//}
// the steer angle is an arbitrary value multiplied by the user input.
///FrontLeftWheel.steerAngle = 35 * Input.GetAxis("Horizontal");
//FrontRightWheel.steerAngle = 35 * Input.GetAxis("Horizontal");
}
function ShiftGears() {
// this funciton shifts the gears of the vehcile, it loops through all the gears, checking which will make
// the engine RPM fall within the desired range. The gear is then set to this "appropriate" value.
if ( EngineRPM >= MaxEngineRPM ) {
var AppropriateGear : int = CurrentGear;
for ( var i = 0; i < GearRatio.length; i ++ ) {
if ( Mathf.Abs(BackLeftWheel.rpm + BackRightWheel.rpm)/2 * GearRatio[i]*DifferentialRatio < MaxEngineRPM ) {
AppropriateGear = i;
break;
}
}
CurrentGear = AppropriateGear;
}
if ( EngineRPM <= MinEngineRPM ) {
AppropriateGear = CurrentGear;
for ( var j = GearRatio.length-1; j >= 0; j -- ) {
if ( Mathf.Abs(BackLeftWheel.rpm + BackRightWheel.rpm)/2 * GearRatio[j]*DifferentialRatio > MinEngineRPM ) {
AppropriateGear = j;
break;
}
}
CurrentGear = AppropriateGear;
}
}
Your code
//update center of mass
rigidbody.centerOf$$anonymous$$ass.x = CO$$anonymous$$X;
...
if ( audio.pitch > 1.5 ) {
audio.pitch = 1.5;
}
Hangs in space. Delete in line 97 your scipt "}". After has to work.
Answer by robertbu · Jul 18, 2014 at 06:46 AM
The problem is that the '}' on line 97 closes off your Update() function, so all the code below it is outside of any function. This is not what the compiler expects, nor what I think you were trying to do. While I cannot be sure without spending more time with the code with the code, I believe you want to delete the '}' on line 97. There are a few other problems.
You use 'GasButton' and'gasButton' in your code. They need to agree exactly.
You declare the variable as ' motorInputTouch' but you use 'motornInputTouch' in the code (see the extra 'n' after the 'r'). Again these two need to agree.
In a number of places you use 'steerAngel' when it should be 'steerAngle'.
Fix these and your code should compile.
i have some problems after delete "}"
BCE0044: expecting (, found 'ShiftGears'.
UCE0001: ';' expected. Insert a semicolon at the end.
BCE0044: expecting }, found ''.
Your new errors are not ones I get (and I just tried it again). $$anonymous$$y guess is that you made other changes. Start with a fresh copy of the above script. Then delete line 97 as listed in the script above (it may be different in your editor).
Your answer
![](https://koobas.hobune.stream/wayback/20220613154359im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Anyone know what's wrong with this code? (SOLVED) 4 Answers
Assets/cubeAI.js(2,11): UCE0001: ';' expected. Insert a semicolon at the end. 1 Answer
Picking up an object 1 Answer
Expecting : found "=" 1 Answer