so i was following a tutorial and I needed the cube to measure the distance from the cube to the player but for some reason i got the BCE0044 error. This is my code:
playerDistance = Vector3.Distance(player.transform.position, transform.position);
if (playerDistance <= 2){
if (!attacking){
Invoke("ApplyDamage" , 3);
attacking = true;
}
Without seeing the rest of the code it might be tricky to pin-point, but from what I can see there is only one closing bracket for two if-statements.
after looking at several other questions mentioning this same error link text I would suspect that the error is actually the line directly above the one you are pointing to.
the cases I saw that give this result are:
-
having to many braces (this coding practice has never made any sense to me.
if(foo == true){
{
//do stuff
}
}
-
not closing all braces that have been opened
if(foo == true){
/*do stuff*/
// then do stuff outside of the if
-
though this can also show up from using a semicolon in the wrong place.
it would appear that all these errors are directly linked to UnityScript being interpreted where the “:” operator can be placed at the end of the line meaning that the interpreter expects it at the end of every line. and the best I can glean is that any time you see a BCE0044 just look above the line it is pointing to.