#Can't add a previously freed scene

1 messages · Page 1 of 1 (latest)

paper dragon
#
    if weapon == 1 and killblasteranimdone:
        pistolammo -= 1
        killblasteranimdone = false
        killblaster_frames.play("shoot_killblaster")
        killblastershotsound.play()
        testbullet.instantiate()
        player.add_sibling(atestbullet)```

Breakpoint is the last line.
#

Vars are...

@onready var player: CharacterBody3D = $".."
@onready var head: Node3D = $"."
@onready var killblaster_frames: AnimatedSprite2D = $CanvasLayer/Killblaster/KillblasterFrames
@onready var killblastershotsound: AudioStreamPlayer = $CanvasLayer/Killblaster/Killblastershotsound
@onready var killblasterempty: AudioStreamPlayer = $CanvasLayer/Killblaster/Killblasterempty
@onready var killblaster: Control = $CanvasLayer/Killblaster
var killblasteranimdone = true
var killblasteremptyhasplayed = false
var pistolammo = max(100, 0)
var killblasterpouff = preload ("res://scenes/particles/killblasterpouff.tscn")
var testbullet = preload ("res://scenes/projectiles/testbullet.tscn")
var atestbullet = testbullet.instantiate()```
#
    if body.has_method("hurt"):
        body.hurt(20)
    else:
        queue_free()```
#

^the bullet's script

#

I realize it isn't set to free if body.has_method("hurt"); that's intentional, I want missed shots to be retrievable for bows and will add script here later for that