getting error "Operator '<' cannot be used with a left hand side of type 'Object' and a right hand side of type 'float'."
I am using this script as Zombie AI but it gives error......." Operator '<' cannot be used with a left hand side of type 'Object' and a right hand side of type 'float'."
var Distance;
var Target : Transform;
var lookAtDistance = 25.0;
var chaseRange = 15.0;
var attackRange = 1.5;
var moveSpeed = 5.0;
var Damping = 6.0;
var attackRepeatTime = 1;
var TheDammage = 40;
private var attackTime : float;
var controller : CharacterController;
var gravity : float = 20.0;
private var moveDirection : Vector3 = Vector3.zero;
function Start ()
{
attackTime = Time.time;
}
function Update ()
{
if(RespawnMenuV2.playerIsDead == false)
{
Distance = Vector3.Distance(Target.position, transform.position);
if (Distance < lookAtDistance)
{
lookAt();
}
if (Distance > lookAtDistance)
{
GetComponent.<Renderer>().material.color = Color.green;
}
if (Distance < attackRange)
{
attack();
}
else if (Distance < chaseRange)
{
chase ();
}
}
}
function lookAt ()
{
GetComponent.<Renderer>().material.color = Color.yellow;
var rotation = Quaternion.LookRotation(Target.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
}
function chase ()
{
GetComponent.<Renderer>().material.color = Color.red;
moveDirection = transform.forward;
moveDirection *= moveSpeed;
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
function attack ()
{
if (Time.time > attackTime)
{
Target.SendMessage("ApplyDammage", TheDammage);
Debug.Log("The Enemy Has Attacked");
attackTime = Time.time + attackRepeatTime;
}
}
function ApplyDammage ()
{
chaseRange += 30;
moveSpeed += 2;
lookAtDistance += 40;
}
getting error "Operator '<' cannot be used with a left hand side of type 'Object' and a right hand side of type 'float'."................thanks
Firstly, in your script, wherever you've declared a "var" variable, change all the "vars" to the actual type of the variable you're declaring (e.g. "float", etc).
Then, if you still get the error, use the error message to deter$$anonymous$$e where the problem in the script is. It will either tell you the line in the script that is causing the problem (you can't use < to compare an Object to a float), or it will have a long stack trace from some unity base class to your script, in which case you're passing in a bad argument somewhere.
If you still can't figure out what you're doing wrong at this point, come back and post the error message in full.
Your answer
Follow this Question
Related Questions
I have an error on a C# script @username 2 Answers
Nav Mesh Problem with SetDestination 1 Answer
Realidad aumentada Vuforia problema creando apk 0 Answers