duane
It doesn't work because I have multiple checkpoints in different scenes (the checkpoint is also a scene instance), and I have them all send the event to the same method. Basically, I don't want to right:
var flag1 = false
func _on_Checkpoint1_body_shape_entered(_body_id, body, _body_shape, area_shape):
if not flag1:
flag1 = true
var collision_pos = shape_owner_get_owner(shape_find_owner(area_shape)).global_transform.get_origin()
checkpoint = collision_pos
$Sound/Checkpoint.play()
var flag2 = false
func _on_Checkpoint2_body_shape_entered(_body_id, body, _body_shape, area_shape):
if not flag2:
flag2 = true
var collision_pos = shape_owner_get_owner(shape_find_owner(area_shape)).global_transform.get_origin()
checkpoint = collision_pos
$Sound/Checkpoint.play()
etc.
P.S. I edited the post