• Godot Help2D
  • [GODOT 4.1] .gd file bar not appearing in area2d's inspector tab

xyz i see, but the tutorial im using is the only tutorial i could find that does all the gameplay mechanics perfectly
also i typed the code, not copy and paste it (my code isnt fininshed yet just so you know)

    SuperGibaLogan im currently thinking of ways on how to fix the errors, im also looking at the errors listed in the syntax to think of ways to fix the errors, also, would it be ok if i could show the entire code and also show the errors listed?

    • xyz replied to this.

      SuperGibaLogan would it be ok if i could show the entire code and also show the errors listed?

      Of course. You should have done that right away.

      At this point you shouldn't really worry about gameplay mechanics. Learn the programming basics first following the simplest introductory tutorials.

        xyz alright then
        heres the code:

        extends Area2D
        
        var current_scatter_index = 0
        
        @export var speed = 75
        @export var movement_targets = Resource
        @export var tile_map = TileMap
        @export var navigation_area_2d = $NavigationAgent2D
        
        func _ready():
         navigation_area_2d.path_desired_distance = 4.0
         navigation_area_2d.target_desired_distance = 4.0
         navigation_area_2d.target_reached.connect(on_position_reached)
         
         call_deferred("setup")
         
        func _process(delta):
         move_ghost(navigation_area_2d.get_next_path_position(), delta)
        
        func move_ghost(next_position Vector2 delta float)
        var current_ghost_position = global_position
        var new_velocity = (next_position - current_ghost_position).normalized()
        
        
         
        func setup():
         navigation_area_2d.set_navigation_map(tile_map.get_navigation_map(0))
         NavigationServer2D.agent_set_map(navigation_area_2d.get_rid(), tile_map.get_navigation_map(0))
        func scatter():
         navigation_area_2d.target_position = movement_targets.scatter_targets[current_scatter_index].position
        func on_position_reached():
         if current_scatter_index < 3:
          current_scatter_index += 1
         else:
          current_scatter_index = 0

        and these are the errors listed (i figured out most of them but i tried to remove the comma and colon from line 20 but it still shows the error):
        Line 20:Expected closing ")" after function parameters.
        Line 20:Expected ":" after function declaration.
        Line 20:Expected end of statement after expression, found "Identifier" instead.

          SuperGibaLogan sigh
          you are using SPACES, do you not understand the difference?

          gdscript uses TABS for defining pretty much everything, indentation and syntax are very much important, this isn't C# where you can skip the brackets.

            xyz so i did try to rewrite but it still gave me errors, im also thinking of searching up a pathfinding tutorial and remake the code entirely

              xyz right here:

              extends Area2D
              
              var current_scatter_index = 0
              
              @export var speed = 75
              @export var movement_targets = Resource
              @export var tile_map = TileMap
              @export var navigation_area_2d = $NavigationAgent2D
              
              func _ready():
               navigation_area_2d.path_desired_distance = 4.0
               navigation_area_2d.target_desired_distance = 4.0
               navigation_area_2d.target_reached.connect(on_position_reached)
               
               call_deferred("setup")
               
              func _process(delta):
               move_ghost(navigation_area_2d.get_next_path_position(), delta)
              
              func move_ghost(next_position Vector2 delta float):	
              	var current_ghost_position = global_position
              	var new_velocity = (next_position - current_ghost_position).normalized()
              
              
              
               
              func setup():
               navigation_area_2d.set_navigation_map(tile_map.get_navigation_map(0))
               NavigationServer2D.agent_set_map(navigation_area_2d.get_rid(), tile_map.get_navigation_map(0))
              func scatter():
               navigation_area_2d.target_position = movement_targets.scatter_targets[current_scatter_index].position
              func on_position_reached():
               if current_scatter_index < 3:
                current_scatter_index += 1
               else:
                current_scatter_index = 0
              • xyz replied to this.