Thanks again for the help. I looked at your code but I wasn't sure what code I could use or add to my own project. I was looking for something simple and easy to understand.
And i found a tutorial ,
( http://codetuto.com/2016/06/create-catch-egg-game-godot-engine-5/ )
This tutorial shows how to spawn objects. I found some similarities between the code thats used in your script and this tutorial. I guess the two main ones were instance() and add_child.
So I made a wall , where the arrow hits it and disappears. I also made another new node and Position2D. I connected the signal from the wall to this new node. So now whenever the arrow hits the wall, it sends the signal to make new arrows.
So my code for this new node looks like this.
extends Node
# member variables here, example:
# var a=2
# var b="textvar"
func _ready():
pass
export (PackedScene) var arrow
func _on_border01_body_enter( body ):
create_arrow()
pass # replace with function body
func create_arrow():
print("creating arrow")
var a = arrow.instance()
a.add_to_group("arrows")
get_node("Position2D").add_child(a)