local camera = Instance.new("Camera", script.Parent)
local Message = game.ReplicatedStorage:WaitForChild("Message")
local Speaker = Message:WaitForChild("Speaker")
local player = game.Players.LocalPlayer
local DialogueFrame = player.PlayerGui:WaitForChild("DialogueGui").DialogueFrame
function UpdaterCharacter(character)
for i, v in pairs(DialogueFrame.Icon.Character:GetDescendants()) do
v:Destroy()
end
for i, v in pairs(character:GetChildren()) do
if v:IsA("BasePart") or v:IsA("Accessory") or v:IsA("Shirt") or v:IsA("Pants") or v:IsA("ShirtGraphic") or v:IsA("BodyColors") or v:IsA("Humanoid") then
local new = v:Clone()
new.Parent = DialogueFrame.Icon.Character
if v:IsA("Humanoid") then
new.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end
end
end
DialogueFrame.Icon.CurrentCamera = camera
camera.CFrame = character.PrimaryPart.CFrame * CFrame.new(0, 1.5, -2) * CFrame.Angles(0, math.rad(180), 0)
end
Message:GetPropertyChangedSignal("Value"):Connect(function()
if Message.Value == "None" then
DialogueFrame.Visible = false
else
DialogueFrame.Visible = true
end
DialogueFrame.TextLabel.Text = Message.Value
script.DialogueSound:Play()
end)
Speaker:GetPropertyChangedSignal("Value"):Connect(function()
UpdaterCharacter(workspace[Speaker.Value])
DialogueFrame.Icon.nameLabel.Text = Speaker.Value
end)