- 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
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