CCCPaste

DialogueScript (Ponchokings Style)

local player = game.Players.LocalPlayer
local CreateDialogueEvent = game.ReplicatedStorage.CreateDialogueEvent
local DialogueFrame = player.PlayerGui.DialogueGui.DialogueFrame

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.TextLabel.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
end

CreateDialogueEvent.OnClientEvent:Connect(function(name, image_id, content) -- activates when called from the Server
    if not player:findFirstChild("secretEnding") then
        DialogueFrame.nameLabel.Text = name
        DialogueFrame.ImageLabel.Image = image_id
        DialogueFrame.TextLabel.Text = ""
        DialogueFrame.Visible = true
        textAnimate(content)
    end
end)