Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Undertale Style Script Builder Gui
- local acceptablestuff = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0"}
- local whichtalk = 0
- local settings = {
- canbeangry = true, --Can you talk slow if all letters are caps?
- talksound = "rbxassetid://358280695", --Sound that plays when you talk
- talkpitch = 1, --Talk Pitch
- talkvolume = 1, --Talk Volume
- }
- function messagesend(msg,gui)
- local realmsg = "*"..msg
- local mouthvis = false
- whichtalk = whichtalk + 1
- local thistalk = whichtalk
- local isangry = true
- gui:WaitForChild("Frame").Visible = true
- for i=1,string.len(msg) do
- local letter = string.sub(msg,i,i)
- if string.upper(letter) ~= letter then
- isangry = false
- end
- end
- for i=2,string.len(realmsg) do
- local printedmsg = string.sub(realmsg,1,i)
- gui:WaitForChild("Frame").TextLabel.Text = printedmsg
- gui:WaitForChild("Frame").ImageLabel.Frame.Visible = false
- for i2=1,#acceptablestuff do
- if string.lower(string.sub(realmsg,i,i)) == acceptablestuff[i2] then
- mouthvis = not mouthvis
- gui:WaitForChild("Frame").ImageLabel.Frame.Visible = mouthvis
- gui.Sound:Play()
- end
- end
- if isangry then
- wait(.15)
- else
- wait(.05)
- end
- end
- gui:WaitForChild("Frame").ImageLabel.Frame.Visible = false
- local endtext = gui:WaitForChild("Frame").TextLabel.Text
- wait(5)
- if gui:WaitForChild("Frame").TextLabel.Text == endtext then
- gui:WaitForChild("Frame").Visible = false
- end
- end
- function creategui(plr)
- local gui = plr:WaitForChild("PlayerGui"):FindFirstChild("TGDUTTalkGui") or Instance.new("ScreenGui",plr:WaitForChild("PlayerGui"))
- gui:ClearAllChildren()
- gui.Name = "TGDUTTalkGui"
- local initframe = Instance.new("Frame",gui)
- initframe.Size = UDim2.new(0,750,0,125)
- initframe.Position = UDim2.new(0.5,-375,1,-140)
- initframe.BackgroundColor3 = Color3.new(0,0,0)
- initframe.BorderColor3 = Color3.new(1,1,1)
- initframe.Visible = false
- initframe.BorderSizePixel = 5
- local chrimg = Instance.new("ImageLabel",initframe)
- chrimg.BackgroundTransparency = 1
- chrimg.Size = UDim2.new(0,300,0,125)
- chrimg.ZIndex = 2
- chrimg.Image = "http://www.roblox.com/thumbs/avatar.ashx?x=352&y=352&format=png&username=95audrey"
- chrimg.ImageRectOffset = Vector2.new(115,45)
- chrimg.ImageRectSize = Vector2.new(352,100)
- local chrmouth = Instance.new("Frame",chrimg)
- chrmouth.Size = UDim2.new(0,30,0,8)
- chrmouth.Position = UDim2.new(0.16,0,0.775,0)
- chrmouth.Rotation = 3
- chrmouth.BackgroundColor3 = Color3.new(0,0,0)
- chrmouth.BorderColor3 = Color3.new(0,102/255,0)
- chrmouth.ZIndex = 3
- local txt = Instance.new("TextLabel",initframe)
- txt.Size = UDim2.new(1,-210,1,-10)
- txt.Position = UDim2.new(0,200,0,5)
- txt.BackgroundTransparency = 1
- txt.ZIndex = 2
- txt.Font = Enum.Font.SourceSansBold
- txt.FontSize = Enum.FontSize.Size36
- txt.TextColor3 = Color3.new(1,1,1)
- txt.TextXAlignment = Enum.TextXAlignment.Left
- txt.TextYAlignment = Enum.TextYAlignment.Top
- txt.TextWrapped = true
- txt.Text = "*"
- local sound = Instance.new("Sound",gui)
- sound.SoundId = settings.talksound
- sound.Pitch = settings.talkpitch
- sound.Volume = settings.talkvolume
- Player.Chatted:connect(function(msg)
- messagesend(msg,gui)
- end)
- end
- function startupplr(c)
- if c.Character ~= nil then
- creategui(c)
- end
- c.CharacterAdded:connect(function()
- creategui(c)
- end)
- end
- for _,c in pairs(game.Players:GetPlayers()) do
- startupplr(c)
- end
- game.Players.PlayerAdded:connect(startupplr)
- --woot 110 lines (including spaces ;()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement