diff --git a/Game/Assets/Audio/SoundPlayer.gd b/Game/Assets/Audio/SoundPlayer.gd index 58d226e..5ff6d1b 100644 --- a/Game/Assets/Audio/SoundPlayer.gd +++ b/Game/Assets/Audio/SoundPlayer.gd @@ -86,9 +86,9 @@ func _ready(): else: min_distance = 0 - - print("Clips: ", len(clips)) - print("min_distance: ", min_distance) + if debug: + print("Clips: ", len(clips)) + print("min_distance: ", min_distance) # prepare voices - TODO: this does not work! as aworkaround I've duplicated the secondary AudioStreamPlayer3D manually if Voice_Count > 1: @@ -149,8 +149,8 @@ func pick_random(): player.play() - ready_to_play = false - await get_tree().create_timer(MinDelay) + #ready_to_play = false + #await get_tree().create_timer(MinDelay) ready_to_play = true #$Timer.start(MinDelay) diff --git a/Game/Main.gd b/Game/Main.gd index cbbd5f9..4b6881f 100644 --- a/Game/Main.gd +++ b/Game/Main.gd @@ -225,8 +225,8 @@ func update_hud(): if old_name != new_info.name: chat.chat_notification("Player [b]" + old_name + "[/b] changed name to [b]" + new_info.name + "[/b]") - var player = $Players.get_node(str(pid)) - if player: + if $Players.has_node(str(pid)): + var player = $Players.get_node(str(pid)) player.update_player(new_info) player_list.set(pid, new_info) # server relays other PID's data @@ -242,7 +242,11 @@ func push_local_player_info(): # @rpc(sync,auth,reliable) func destroy_player(pid: int): var player_node = $Players.get_node(str(pid)) + + if not player_node: # TODO find the reason for hitting the assert - thsi is a temporary workaround + return assert(player_node != null, "Attempting to delete a player node that does not exist") + player_node.name = str(player_node.name) + "_dead" # avoids name collision when instancing another player scene player_node.queue_free()