Advertisement
Finnegan5

Hot tea

Oct 6th, 2017
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.38 KB | None | 0 0
  1. --Hot tea
  2. --To throw press Q and left click on or you can spam click
  3. --Hold left click on mouse to spill the hot tea
  4. --Do not leak or else...
  5. print("Loading...") local ot = tick() local plr = game:GetService("Players").LocalPlayer local char,mouse = plr.Character,plr:GetMouse() local equipped = false local cd = false local sizemod = 1 local tRotX = 0 local tRotY = 0 local tRotZ = 0 local mode = true local tool = script.Parent if not tool:IsA("Tool") then print("Creating tool.") tool = Instance.new("Tool",plr.Backpack) tool.Name = "Teapot" tool.ToolTip = "*angery*" tool.CanBeDropped = false script.Parent = tool local kettled = {} tool.Grip = CFrame.new(0,0,0.8 * sizemod) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) local handle = tool:FindFirstChild("Handle") if handle == nil then handle = Instance.new("Part",tool) handle.Name = "Handle" handle.Size = Vector3.new(sizemod,sizemod,sizemod) handle.CanCollide = false handle.BrickColor = BrickColor.new("White") handle.Shape = "Ball" handle.Size = Vector3.new(0.2,0.2,0.2) local mesh = Instance.new("SpecialMesh",handle) mesh.MeshType = Enum.MeshType.FileMesh mesh.MeshId = "rbxassetid://1594167" mesh.Scale = Vector3.new(1,1,1)*sizemod local pp = Instance.new("Part",handle) pp.Name = "Particles" pp.Size = Vector3.new(0.2,0.2,0.2) pp.Transparency = 1 pp.CanCollide = false local w = Instance.new("Weld") w.Part0 = pp w.Part1 = handle w.C0 = CFrame.new(0,-0.5*sizemod,1.5*sizemod)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) w.Parent = pp local s1 = Instance.new("Sound",handle) s1.SoundId = "rbxassetid://318794788" s1.Looped = true s1.Volume = 2 s1.Pitch = 4 local particle = Instance.new("ParticleEmitter",pp) local sk = {NumberSequenceKeypoint.new(0,0.02*sizemod),NumberSequenceKeypoint.new(1,0.3*sizemod)} particle.Size = NumberSequence.new(sk) local sk = {NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.7,0),NumberSequenceKeypoint.new(1,1)} particle.Transparency = NumberSequence.new(sk) particle.Texture = "rbxassetid://453789629" particle.Lifetime = NumberRange.new(2,2.3) particle.Rate = 150 particle.Speed = NumberRange.new(0,0) particle.Acceleration = Vector3.new(math.cos(tick()),sizemod,math.sin(tick())) coroutine.resume(coroutine.create(function() while wait() do particle.Acceleration = Vector3.new((math.cos(tick()*2)/4)*sizemod,sizemod,(math.sin(tick()*1.5)/3)*sizemod) )) function throw() local cln = handle:Clone() for i,v in pairs(cln:GetChildren()) do if v:IsA("Sound") then v:Destroy() game:GetService("Debris"):AddItem(s,0.9) cln.Name = "Teapot" cln.Size = Vector3.new(1,1,1)*sizemod cln.Velocity = ((mouse.Hit.p - handle.Position).unit*250 + Vector3.new(0,10,0)) cln.Parent = game.Workspace local hitHead = false local tev tev = cln.Touched:connect(function(t) if game:GetService("Players"):GetPlayerFromCharacter(t.Parent) then local isKettled = false for i,v in pairs(kettled) do if game:GetService("Players"):GetPlayerFromCharacter(t.Parent).Name == v then isKettled = true if isKettled == false then tev:disconnect() local pname = game:GetService("Players"):GetPlayerFromCharacter(t.Parent).Name table.insert(kettled,pname) if game:GetService("Players"):GetPlayerFromCharacter(t.Parent) ~= plr then local tchar = game:GetService("Players"):GetPlayerFromCharacter(t.Parent).Character cln.Parent = t.Parent local weld = Instance.new("Weld") weld.Part0 = cln weld.Part1 = t.Parent:WaitForChild("Head") weld.C0 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) weld.C1 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) weld.Parent = cln hitHead = true local s = Instance.new("Sound",cln) s.SoundId = "rbxassetid://399768457" s.Volume = math.huge s:Play() wait(8) if cln.Parent ~= nil then if game:GetService("Players"):GetPlayerFromCharacter(t.Parent) then spawn(function() tchar:BreakJoints() tchar:FindFirstChild("Humanoid").Health = 0 local p = Instance.new("Part",tchar) p.CanCollide = false p.Anchored = true p.Transparency = 0 p.TopSurface = "Smooth" p.BottomSurface = "Smooth" p.Size = Vector3.new(0.2,0.2,0.2) p.BrickColor = BrickColor.new("Institutional White") local p2 = Instance.new("Part",tchar) p2.CanCollide = false p2.Anchored = true p2.Transparency = 0 p2.TopSurface = "Smooth" p2.BottomSurface = "Smooth" p2.Size = Vector3.new(0.2,0.2,0.2) p2.BrickColor = BrickColor.new("Institutional White") local p3 = Instance.new("Part",tchar) p3.CanCollide = false p3.Anchored = true p3.Transparency = 0 p3.TopSurface = "Smooth" p3.BottomSurface = "Smooth" p3.Size = Vector3.new(0.2,0.2,0.2) p3.BrickColor = BrickColor.new("Institutional White") local p4 = Instance.new("Part",tchar) p4.CanCollide = false p4.Anchored = true p4.Transparency = 0 p4.TopSurface = "Smooth" p4.BottomSurface = "Smooth" p4.Size = Vector3.new(0.2,0.2,0.2) p4.BrickColor = BrickColor.new("Institutional White") local m = Instance.new("SpecialMesh",p) m.MeshType = "Sphere" m.Scale = (Vector3.new(7,7,7)*sizemod)*8 local m2 = Instance.new("SpecialMesh",p2) m2.MeshType = "Sphere" m2.Scale = (Vector3.new(1,1,1)*sizemod)*8 local m3 = Instance.new("BlockMesh",p3) m3.Scale = (Vector3.new(7,7,7)*sizemod)*8 local m4 = Instance.new("BlockMesh",p4) m4.Scale = (Vector3.new(1,1,1)*sizemod)*8 local s = Instance.new("Sound",p) s.SoundId = "rbxassetid://157878578" s.Volume = math.huge s:Play() local sc = cln.CFrame p.CFrame = sc p2.CFrame = sc p3.CFrame = sc p4.CFrame = sc p.Material = "Neon" p2.Material = "Neon" p3.Material = "Neon" p4.Material = "Neon" local pt local p2t local p3t local p4t function brk(c) if c.Parent ~= plr.Character and c.Parent.Parent ~= plr.Character and c.Parent.Parent.Parent ~= plr.Character then if c then for i,v in pairs(c.Parent:GetChildren()) do if v:IsA("Script") or v:IsA("LocalScript") then v:Destroy() wait(0.05) wait() c:BreakJoints() function brk2(c) if c.Parent ~= plr.Character and c.Parent.Parent ~= plr.Character then if c then for i,v in pairs(c.Parent:GetChildren()) do if v:IsA("Script") or v:IsA("LocalScript") then v:Destroy() wait(0.05) wait() c:BreakJoints() function brk3(c) if c.Parent ~= plr.Character then if c then for i,v in pairs(c.Parent:GetChildren()) do if v:IsA("Script") or v:IsA("LocalScript") then v:Destroy() wait(0.05) wait() c:BreakJoints() function brk4(c) local success, msg = pcall(brk,c) if success == false then print("Errored: "..msg) local success, msg = pcall(brk2,c) if success == false then print("Errored: "..msg) brk3(c) pt = p.Touched:connect(function(c) brk4(c) p2t = p2.Touched:connect(function(c) brk4(c) p3t = p3.Touched:connect(function(c) brk4(c) p4t = p4.Touched:connect(function(c) brk4(c) local hitReg = {} spawn(function() local reg = Region3.new(p.Position - Vector3.new(20*sizemod,20*sizemod,20*sizemod),p.Position + Vector3.new(20*sizemod,20*sizemod,20*sizemod)) local ht = workspace:FindPartsInRegion3(reg,char,100) for i,v in pairs(ht) do brk4(v) cln:Destroy() for i=1,20 do m.Scale = m.Scale + (Vector3.new(3,3,3)*sizemod) m2.Scale = m2.Scale + (Vector3.new(3,3,3)*sizemod) m3.Scale = m3.Scale + (Vector3.new(3,3,3)*sizemod) m4.Scale = m4.Scale + (Vector3.new(3,3,3)*sizemod) p.Transparency = p.Transparency + 1/20 p2.Transparency = p2.Transparency + 1/20 p3.Transparency = p3.Transparency + 1/20 p4.Transparency = p4.Transparency + 1/20 p.CFrame = sc p2.CFrame = sc p3.CFrame = sc * CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))) p4.CFrame = sc * CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))) wait() pt:disconnect() p2t:disconnect() p3t:disconnect() p4t:disconnect() local isub = 0 for i,v in pairs(kettled) do if pname == v then table.remove(kettled,i-isub) isub = isub + 1 elseif game:GetService("Players"):GetPlayerFromCharacter(t.Parent.Parent) then else for i=1,10 do local p = Instance.new("Part",workspace) p.Size = Vector3.new(math.random(-10,10)/10,math.random(-10,10)/10,math.random(-10,10)/10) p.CFrame = cln.CFrame p.Velocity = Vector3.new(math.random(-30,30),math.random(3,50),math.random(-30,30)) p.BrickColor = cln.BrickColor p.TopSurface = "Smooth" p.BottomSurface = "Smooth" game:GetService("Debris"):AddItem(p,math.random(10,25)/10) tev:disconnect() cln.Anchored = true cln.CanCollide = false cln.Transparency = 1 local s = Instance.new("Sound",cln) s.SoundId = "rbxassetid://138122923" s.Volume = math.huge s:Play() wait(1.5) cln:Destroy() wait() cln.CanCollide = true wait(5) if hitHead == false then cln:Destroy() tev:disconnect() tool.Equipped:connect(function() if mode == true then char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)) else char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(120),math.rad(90),math.rad(0)) equipped = true s1:Play() for i,v in pairs(handle:GetChildren()) do if v.Name == "Particles" then v:Destroy() pp = Instance.new("Part",handle) pp.Name = "Particles" pp.Size = Vector3.new(0.2,0.2,0.2) pp.Transparency = 1 pp.CanCollide = false local w = Instance.new("Weld") w.Part0 = pp w.Part1 = handle w.C0 = CFrame.new(0,-0.5*sizemod,1.5*sizemod)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) w.Parent = pp particle = Instance.new("ParticleEmitter",pp) local sk = {NumberSequenceKeypoint.new(0,0.02*sizemod),NumberSequenceKeypoint.new(1,0.3*sizemod)} particle.Size = NumberSequence.new(sk) local sk = {NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.7,0),NumberSequenceKeypoint.new(1,1)} particle.Transparency = NumberSequence.new(sk) particle.Texture = "rbxassetid://453789629" particle.Lifetime = NumberRange.new(2,2.3) particle.Rate = 150 particle.Speed = NumberRange.new(0,0) particle.Acceleration = Vector3.new(math.cos(tick()),sizemod,math.sin(tick())) tool.Unequipped:connect(function() equipped = false s1:Stop() char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)) local isPour = false mouse.Button1Down:connect(function() if equipped == true and cd == false and mode == false then cd = true local s = Instance.new("Sound",handle) s.SoundId = "rbxassetid://444895479" s.Volume = 2 s.Pitch = math.random(900,1100)/1000 s:Play() char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(120),math.rad(90),math.rad(0)) wait() char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(65),math.rad(90),math.rad(0)) spawn(function() throw() wait() char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)) wait() char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(120),math.rad(90),math.rad(0)) cd = false elseif equipped == true and cd == false and mode == true then cd = true isPour = true local mUp local pour = Instance.new("Part",pp) pour.Anchored = true pour.CanCollide = false pour.BrickColor = BrickColor.new("Brown") pour.TopSurface = "Smooth" pour.BottomSurface = "Smooth" pour.Transparency = 0.3 local ps = Instance.new("Sound",pp) ps.SoundId = "rbxassetid://329308062" ps.Volume = 2 ps.Looped = true ps.Pitch = 3 ps:Play() mUp = mouse.Button1Up:connect(function() mUp:disconnect() cd = false isPour = false pour:Destroy() ps:Destroy() tRotX = 0 tRotY = 0 tRotZ = 0 while cd == true do tRotX = 45 tRotY = 0 tRotZ = 0 local ray = Ray.new(pp.Position,Vector3.new(0,-1000,0)) local part,pos,normal = workspace:FindPartOnRay(ray,char,false,true) pour.Size = Vector3.new(0.2,0.2,(pos-pp.Position).Magnitude) pour.CFrame = CFrame.new(pp.Position,pos) * CFrame.new(0,0,-(pos-pp.Position).Magnitude/2) if part then if part.Name ~= "Tea" then local p = Instance.new("Part",part) p.Name = "Tea" p.BrickColor = BrickColor.new("Brown") p.Size = Vector3.new(0.2,0.7,0.7) p.Transparency = 0.3 p.TopSurface = "Smooth" p.BottomSurface = "Smooth" p.CanCollide = false p.TopSurface = "Smooth" p.Anchored = true p.BottomSurface = "Smooth" p.Shape = "Cylinder" p.CFrame = CFrame.new(pos) * CFrame.Angles(math.rad(normal.X),math.rad(normal.Y),math.rad(normal.Z+90)) Instance.new("Vector3Value",p).Value = p.CFrame.p local shrink local frm = 0 shrink = game:GetService("RunService").RenderStepped:connect(function() frm = frm + 1 if math.floor(frm/4) == frm/4 then spawn(function() local reg = Region3.new(p.Position - Vector3.new(p.Size.Y/2,3,p.Size.Y/2),p.Position + Vector3.new(p.Size.Y/2,3,p.Size.Y/2)) local ht = workspace:FindPartsInRegion3(reg,char,100) for i,v in pairs(ht) do if v.Parent:FindFirstChild("Humanoid") then v.Parent.Humanoid.Health = v.Parent.Humanoid.Health - v.Parent.Humanoid.MaxHealth/200 p.Size = p.Size - Vector3.new(0,0.02,0.02) if p.Size.Y <= 0.3 then p:Destroy() shrink:disconnect() local particle1 = Instance.new("ParticleEmitter",p) local sk = {NumberSequenceKeypoint.new(0,0.02*sizemod),NumberSequenceKeypoint.new(1,0.3*sizemod)} particle1.Size = NumberSequence.new(sk) local sk = {NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.7,0),NumberSequenceKeypoint.new(1,1)} particle1.Transparency = NumberSequence.new(sk) particle1.Texture = "rbxassetid://453789629" particle1.Lifetime = NumberRange.new(2,2.3) particle1.Rate = 200 particle1.Speed = NumberRange.new(0,0) particle1.Acceleration = Vector3.new(0,0.5,0) else part.Size = part.Size + Vector3.new(0,0.2,0.2) part.CFrame = CFrame.new(part.Value.Value) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(90)) wait() mouse.KeyDown:connect(function(key) if cd == false and equipped == true then if key == "q" then if mode == false then mode = true char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)) else mode = false char:WaitForChild("Torso"):WaitForChild("Right Shoulder").C0 = CFrame.new(1,0.5,0) * CFrame.Angles(math.rad(120),math.rad(90),math.rad(0)) elseif key == "u5jt" then cd = true handle.Transparency = 1 local mug = Instance.new("Part",tool) mug.CanCollide = false mug.BrickColor = BrickColor.new("Institutional white") local mesh = Instance.new("SpecialMesh",mug) mesh.MeshId = "rbxassetid://433095032" mug.Size = Vector3.new(0.2,0.2,0.2) mesh.Scale = Vector3.new(0.145,0.145,0.145) local w = Instance.new("Weld") w.Part0 = mug w.Part1 = char:WaitForChild("Right Arm") w.C0 = CFrame.new(1,0,0) * CFrame.Angles(math.rad(0),math.rad(90),math.rad(0)) w.C1 = CFrame.new(0,0,0) * CFrame.Angles(math.rad(-90),math.rad(0),math.rad(0)) w.Parent = mug local pp1 = Instance.new("Part",mug) pp1.CanCollide = false pp1.Size = Vector3.new(0.7,0.2,0.6) pp1.BrickColor = BrickColor.new("Brown") pp1.Material = "SmoothPlastic" pp1.TopSurface = "Smooth" pp1.BottomSurface = "Smooth" Instance.new("CylinderMesh",pp1) particle:Clone().Parent = pp1 local w = Instance.new("Weld") w.Part0 = pp1 w.Part1 = mug w.C0 = CFrame.new(0.15,-0.3,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) w.C1 = CFrame.new(0,0,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) w.Parent = pp1 mouse.Button1Down:connect(function() tRotX = 0 tRotY = 0 tRotZ = 0 plr.Chatted:connect(function(msg) if string.lower(string.sub(msg,1,3)) == "-s " then sizemod = string.sub(msg,4,#msg) handle.Mesh.Scale = Vector3.new(1,1,1)*sizemod for i,v in pairs(handle:GetChildren()) do if v.Name == "Particles" or v:IsA("Sound") then v:Destroy() s1 = Instance.new("Sound",handle) s1.SoundId = "rbxassetid://318794788" s1.Looped = true s1.Volume = 2 s1.Pitch = 4 s1:Play() pp = Instance.new("Part",handle) pp.Name = "Particles" pp.Size = Vector3.new(0.2,0.2,0.2) pp.Transparency = 1 pp.CanCollide = false local w = Instance.new("Weld") w.Part0 = pp w.Part1 = handle w.C0 = CFrame.new(0,-0.5*sizemod,1.5*sizemod)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) w.Parent = pp particle = Instance.new("ParticleEmitter",pp) local sk = {NumberSequenceKeypoint.new(0,0.02*sizemod),NumberSequenceKeypoint.new(1,0.3*sizemod)} particle.Size = NumberSequence.new(sk) local sk = {NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.7,0),NumberSequenceKeypoint.new(1,1)} particle.Transparency = NumberSequence.new(sk) particle.Texture = "rbxassetid://453789629" particle.Lifetime = NumberRange.new(2,2.3) particle.Rate = 150 particle.Speed = NumberRange.new(0,0) particle.Acceleration = Vector3.new(math.cos(tick()),sizemod,math.sin(tick())) tRotX = 0 tRotY = 0 tRotZ = 0 print("Loaded! Time elapsed: "..tick() - ot) while wait() do tool.Grip = tool.Grip:lerp(CFrame.new(0,0,0.8 * sizemod) * CFrame.Angles(math.rad(tRotX),math.rad(tRotY),math.rad(tRotZ)),0.33)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement