Explanation
So, I have a game with two npcs and when you come to them within a 6 stud radius a billboard gui appears with the keycap H and when you press H it starts up the dialogue. It works greatly but once i talk to anyone of them then go to the other the text glitches and the name doesn't change. I checked the scripts and it should work normally.

Scripts(3):

dialogue script

local player = game.Players.LocalPlayer
local CreateDialogueEvent = game.ReplicatedStorage.CreateDialogueEvent
local DialogueFrame = player.PlayerGui.dialogue.Frame
local order
--{0.278, 0},{0.656, 0}
local function playSound(sound_id) -- Plays typing sound
	local sound = Instance.new("Sound",game.ReplicatedStorage)
	sound.SoundId = sound_id
	sound.Volume = .1
	sound.PlayOnRemove = true
	sound:Destroy()
end

local function textAnimate(content) -- Animates each letter
	for i=1,string.len(content) do
		DialogueFrame.Content.Text = string.sub(content,1,i)
		playSound("rbxassetid://915576050")
		if string.sub(content,i,i) == "!" or string.sub(content,i,i) == "." or string.sub(content,i,i) == "?" then
			wait(1)
		elseif 	string.sub(content,i,i) == "," then
			wait(.5)
		else
			wait(.05)
		end
	end
	content = nil
	return true
end

CreateDialogueEvent.Event:Connect(function(nameS, content, content2) -- activates when called from the Server
	if not player:findFirstChild("secretEnding") then
		DialogueFrame.name.Text = nameS
		DialogueFrame.Content.Text = ""
		DialogueFrame.Visible = true
		DialogueFrame.Continue.Visible = false
		local bool = textAnimate(content)
		print(bool)
		if bool == true and content2 ~= nil then
			wait(1)
			bool = textAnimate(content2)
			if bool == true then
				DialogueFrame.Continue.Visible = true
				DialogueFrame.Continue.MouseButton1Click:Connect(function()
					DialogueFrame.Visible = false
					player.Character.Humanoid.WalkSpeed = 16
					nameS, content, content2 = nil
				end)
			end
		else
			DialogueFrame.Continue.Visible = true
			DialogueFrame.Continue.MouseButton1Click:Connect(function()
				DialogueFrame.Visible = false
				player.Character.Humanoid.WalkSpeed = 16
				nameS, content, content2 = nil
			end)
		end
	end
end)

npc 1 script

local inputServ = game:GetService("UserInputService")

local player = game.Players.LocalPlayer
local char = player.Character
local npc = game.Workspace.Bartender
local near = false
local clicked = false

local npcName = "Joe"
local content = npc.D1
local content2 = npc.D2 -- can be nill

local pTorso = char:FindFirstChild("UpperTorso")
local nTorso = npc.UpperTorso

while wait(0.3) do
	
	if (pTorso.CFrame.p - nTorso.CFrame.p).magnitude <= 6.25 and near == false and clicked == false then
		near = true
		npc.PresH.Enabled = true
		-- check for H input
		inputServ.InputBegan:Connect(function(input, gameProccesed)
			if input.UserInputType == Enum.UserInputType.Keyboard and clicked == false then
				if input.KeyCode == Enum.KeyCode.H and clicked == false then
					clicked = true
					npc.PresH.Enabled = false
					game.ReplicatedStorage.CreateDialogueEvent:Fire(npcName, content.Value, content2.Value)
				end
			end
		end)
	elseif (pTorso.CFrame.p - nTorso.CFrame.p).magnitude > 6.25 then
		near = false
		npc.PresH.Enabled = false
		clicked = false
	end
end

npc 2 script

local inputServ = game:GetService("UserInputService")

local player = game.Players.LocalPlayer
local char = player.Character
local npc = game.Workspace.DrDenaro
local near = false
local clicked = false

local npcName = "Dr. Denaro"
local content = npc.D1
local content2 = nil -- can be nill

local pTorso = char:FindFirstChild("UpperTorso")
local nTorso = npc.UpperTorso

while wait(0.3) do
	
	if (pTorso.CFrame.p - nTorso.CFrame.p).magnitude <= 6.25 and near == false and clicked == false then
		near = true
		npc.PresH.Enabled = true
		-- check for H input
		inputServ.InputBegan:Connect(function(input, gameProccesed)
			if input.UserInputType == Enum.UserInputType.Keyboard and clicked == false then
				if input.KeyCode == Enum.KeyCode.H and clicked == false then
					clicked = true
					npc.PresH.Enabled = false
					game.ReplicatedStorage.CreateDialogueEvent:Fire(npcName, content.Value, content2)
				end
			end
		end)
	elseif (pTorso.CFrame.p - nTorso.CFrame.p).magnitude > 6.25 then
		near = false
		npc.PresH.Enabled = false
		clicked = false
	end
end