hey every one, I need help for this script it shows no error on compiler but when I run the game there is a error : Invalid operands'Vector2' and 'int' in operator'>='.
here is the script , error line 23:
extends KinematicBody2D
export(float) var movespeed = 100
export(float) var runspeed = 200
export(float) var waypointarriveddistance = 10
export(bool) var facesright = true
export(Array, NodePath) var waypoints
export(int) var startingwaypoint = 0
var waypointposition
var waypointindex setget setwaypointindex
var velocity = Vector2.ZERO
onready var animated_sprite = $AnimatedSprite
func ready():
self.waypointindex = starting_waypoint
func physicsprocess(delta):
var direction = self.position.directionto(waypointposition)
var distancex = Vector2(self.position.x, 0).directionto(Vector2(waypoint_position.x, 0))
if(distance_x >= waypoint_arrived_distance):
var direction_x_sign = sign(direction.x)
velocity = Vector2(
move_speed * direction_x_sign,
min(velocity.y + GameSetting.gravity, GameSetting.terminal_velocity)
)
if(direction_x_sign == -1):
animated_sprite.flip_h = faces_right
elif(direction_x_sign == 1):
animated_sprite.flip_h = faces_right
move_and_slide(velocity, Vector2.UP)
else:
var num_waypoints = waypoints.size()
#loop through waypoints
if(waypoint_index < num_waypoints - 1):
self.waypoint_index += 1
else:
waypoint_index = 0
func setwaypointindex(value):
waypointindex = value
waypointposition = get_node(waypoints[value]).position