SHOW:
|
|
- or go back to the newest paste.
1 | --The Green Developers Undertale Style Script Builder Gui | |
2 | 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"} | |
3 | local whichtalk = 0 | |
4 | ||
5 | local settings = { | |
6 | canbeangry = true, --Can you talk slow if all letters are caps? | |
7 | - | talksound = "rbxassetid://358280695", --Sound that plays when you talk |
7 | + | talksound = "rbxassetid://331118686", --Sound that plays when you talk |
8 | - | talkpitch = 1.25, --Talk Pitch |
8 | + | talkpitch = 1, --Talk Pitch |
9 | talkvolume = 1, --Talk Volume | |
10 | } | |
11 | ||
12 | function messagesend(msg,gui) | |
13 | local realmsg = "*"..msg | |
14 | local mouthvis = false | |
15 | whichtalk = whichtalk + 1 | |
16 | local thistalk = whichtalk | |
17 | local isangry = true | |
18 | gui:WaitForChild("Frame").Visible = true | |
19 | ||
20 | for i=1,string.len(msg) do | |
21 | local letter = string.sub(msg,i,i) | |
22 | if string.upper(letter) ~= letter then | |
23 | isangry = false | |
24 | end | |
25 | end | |
26 | ||
27 | for i=2,string.len(realmsg) do | |
28 | local printedmsg = string.sub(realmsg,1,i) | |
29 | gui:WaitForChild("Frame").TextLabel.Text = printedmsg | |
30 | gui:WaitForChild("Frame").ImageLabel.Frame.Visible = false | |
31 | for i2=1,#acceptablestuff do | |
32 | if string.lower(string.sub(realmsg,i,i)) == acceptablestuff[i2] then | |
33 | mouthvis = not mouthvis | |
34 | gui:WaitForChild("Frame").ImageLabel.Frame.Visible = mouthvis | |
35 | gui.Sound:Play() | |
36 | end | |
37 | end | |
38 | if isangry then | |
39 | wait(.15) | |
40 | else | |
41 | wait(.05) | |
42 | end | |
43 | end | |
44 | gui:WaitForChild("Frame").ImageLabel.Frame.Visible = false | |
45 | local endtext = gui:WaitForChild("Frame").TextLabel.Text | |
46 | wait(5) | |
47 | if gui:WaitForChild("Frame").TextLabel.Text == endtext then | |
48 | gui:WaitForChild("Frame").Visible = false | |
49 | end | |
50 | end | |
51 | ||
52 | function creategui(plr) | |
53 | local gui = plr:WaitForChild("PlayerGui"):FindFirstChild("TGDUTTalkGui") or Instance.new("ScreenGui",plr:WaitForChild("PlayerGui")) | |
54 | gui:ClearAllChildren() | |
55 | gui.Name = "TGDUTTalkGui" | |
56 | local initframe = Instance.new("Frame",gui) | |
57 | initframe.Size = UDim2.new(0,750,0,125) | |
58 | initframe.Position = UDim2.new(0.5,-375,1,-140) | |
59 | initframe.BackgroundColor3 = Color3.new(0,0,0) | |
60 | initframe.BorderColor3 = Color3.new(1,1,1) | |
61 | initframe.Visible = false | |
62 | initframe.BorderSizePixel = 5 | |
63 | local chrimg = Instance.new("ImageLabel",initframe) | |
64 | chrimg.BackgroundTransparency = 1 | |
65 | chrimg.Size = UDim2.new(0,300,0,125) | |
66 | chrimg.ZIndex = 2 | |
67 | chrimg.Image = "http://www.roblox.com/thumbs/avatar.ashx?x=352&y=352&format=png&username=SamuraiWarrior209" | |
68 | chrimg.ImageRectOffset = Vector2.new(115,45) | |
69 | chrimg.ImageRectSize = Vector2.new(352,100) | |
70 | local chrmouth = Instance.new("Frame",chrimg) | |
71 | chrmouth.Size = UDim2.new(0,30,0,8) | |
72 | chrmouth.Position = UDim2.new(0.16,0,0.775,0) | |
73 | chrmouth.Rotation = 3 | |
74 | chrmouth.BackgroundColor3 = Color3.new(0,0,0) | |
75 | chrmouth.BorderColor3 = Color3.new(0,102/255,0) | |
76 | chrmouth.ZIndex = 3 | |
77 | local txt = Instance.new("TextLabel",initframe) | |
78 | txt.Size = UDim2.new(1,-210,1,-10) | |
79 | txt.Position = UDim2.new(0,200,0,5) | |
80 | txt.BackgroundTransparency = 1 | |
81 | txt.ZIndex = 2 | |
82 | txt.Font = Enum.Font.SourceSansBold | |
83 | txt.FontSize = Enum.FontSize.Size36 | |
84 | txt.TextColor3 = Color3.new(1,1,1) | |
85 | txt.TextXAlignment = Enum.TextXAlignment.Left | |
86 | txt.TextYAlignment = Enum.TextYAlignment.Top | |
87 | txt.TextWrapped = true | |
88 | txt.Text = "*" | |
89 | local sound = Instance.new("Sound",gui) | |
90 | sound.SoundId = settings.talksound | |
91 | sound.Pitch = settings.talkpitch | |
92 | sound.Volume = settings.talkvolume | |
93 | game.Players.pok61111.Chatted:connect(function(msg) | |
94 | messagesend(msg,gui) | |
95 | end) | |
96 | end | |
97 | ||
98 | function startupplr(c) | |
99 | if c.Character ~= nil then | |
100 | creategui(c) | |
101 | end | |
102 | c.CharacterAdded:connect(function() | |
103 | creategui(c) | |
104 | end) | |
105 | end | |
106 | ||
107 | for _,c in pairs(game.Players:GetPlayers()) do | |
108 | startupplr(c) | |
109 | end | |
110 | ||
111 | game.Players.PlayerAdded:connect(startupplr) | |
112 | --woot 110 lines (including spaces ;() |