Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Made by N3xul.
- -- Script Name: Classic Teapot Turret Reborn
- -- Last Updated:
- -- _ _ ____ _ _____ _ _
- -- | \ | |___ \ | | / ____| (_) | |
- -- | \| | __) |_ ___ _| | | (___ ___ _ __ _ _ __ | |_
- -- | . ` ||__ <\ \/ / | | | | \___ \ / __| '__| | '_ \| __|
- -- | |\ |___) |> <| |_| | | ____) | (__| | | | |_) | |_
- -- |_| \_|____//_/\_\\__,_|_| |_____/ \___|_| |_| .__/ \__|
- -- | |
- -- |_|
- Nel = game.Players.LocalPlayer.Character
- Bonnie = Instance.new("Sound", Nel["Torso"])
- Bonnie.SoundId = "rbxassetid://155076577"
- Bonnie.Volume = 10
- Bonnie.TimePosition = 0
- Bonnie.EmitterSize = 25
- Bonnie.Looped = true
- Bonnie:Play()
- player = game:GetService("Players").LocalPlayer
- chara = player.Character
- ch = chara:GetChildren()
- for i = 1, #ch do
- if ch[i].Name == "Torso" then
- ch[i].roblox.Transparency = 1
- elseif ch[i].Name == "Head" then
- ch[i].face.Transparency = 1 -- change to 0 for show face
- ch[i].Transparency = 1
- elseif ch[i].ClassName == "ShirtGraphic" then
- ch[i]:Destroy()
- end
- end
- plre = game.Players.LocalPlayer
- chrss = plre.Character
- local Bon = chrss["Body Colors"]
- Bon.HeadColor = BrickColor.new("Grey")
- Bon.LeftArmColor = BrickColor.new("Grey")
- Bon.LeftLegColor = BrickColor.new("Grey")
- Bon.RightArmColor = BrickColor.new("Grey")
- Bon.RightLegColor = BrickColor.new("Grey")
- Bon.TorsoColor = BrickColor.new("Grey")
- plr = game.Players.LocalPlayer
- chr = plr.Character
- chr.Head.face.Texture = "rbxassetid://0"
- chr.Shirt.ShirtTemplate = "rbxassetid://0"
- chr.Pants.PantsTemplate = "rbxassetid://0"
- Bonniee = Instance.new("ForceField", game.Players.LocalPlayer.Character)
- Bonniee.Visible = false
- local nel = game.Players.LocalPlayer.Character.Humanoid
- nel.MaxHealth = math.huge
- local plr = game:service'Players'.LocalPlayer
- local char = plr.Character
- for i,v in pairs(char:GetChildren()) do if v:IsA("Accessory") then v:Remove() end end
- for i,v in pairs(char:GetChildren()) do if v:IsA("Hat") then v:Remove() end end
- warn'Edit by Shi-Shi#4817'
- local runDummyScript = function(f,scri)
- local oldenv = getfenv(f)
- local newenv = setmetatable({}, {
- __index = function(_, k)
- if k:lower() == 'script' then
- return scri
- else
- return oldenv[k]
- end
- end
- })
- setfenv(f, newenv)
- ypcall(function() f() end)
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- mas.Name = "CompiledModel"
- o1 = Instance.new("Tool")
- o2 = Instance.new("Part")
- o3 = Instance.new("SpecialMesh")
- o4 = Instance.new("Sound")
- o5 = Instance.new("LocalScript")
- o6 = Instance.new("Script")
- o7 = Instance.new("HopperBin")
- o8 = Instance.new("LocalScript")
- o9 = Instance.new("HopperBin")
- o10 = Instance.new("Sound")
- o11 = Instance.new("LocalScript")
- o12 = Instance.new("HopperBin")
- o13 = Instance.new("Script")
- o14 = Instance.new("Sound")
- o1.Name = "GravityHammer"
- o1.Parent = mas
- o1.TextureId = "http://www.roblox.com/asset/?id=1256305"
- o1.GripForward = Vector3.new(-1, -0, -0)
- o1.GripPos = Vector3.new(0, 0, -3.25)
- o1.GripRight = Vector3.new(0, 1, 0)
- o1.GripUp = Vector3.new(0, 0, 1)
- o2.Name = "Handle"
- o2.Parent = o1
- o2.BrickColor = BrickColor.new("Dark stone grey")
- o2.Reflectance = 0.40000000596046
- o2.Position = Vector3.new(-7.53602743, 4.99960041, -31.5799809)
- o2.Rotation = Vector3.new(-90, 0.0500000007, 180)
- o2.FormFactor = Enum.FormFactor.Plate
- o2.Size = Vector3.new(1, 0.800000012, 10)
- o2.CFrame = CFrame.new(-7.53602743, 4.99960041, -31.5799809, -0.999999642, -7.56997451e-07, 0.000796274224, 0.000796274282, 9.09494702e-13, 0.999999702, -7.5623251e-07, 0.99999994, 6.00266503e-10)
- o2.BottomSurface = Enum.SurfaceType.Smooth
- o2.TopSurface = Enum.SurfaceType.Smooth
- o2.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o2.Position = Vector3.new(-7.53602743, 4.99960041, -31.5799809)
- o2.Orientation = Vector3.new(-89.9599991, 90, 90)
- o2.Color = Color3.new(0.388235, 0.372549, 0.384314)
- o3.Parent = o2
- o3.MeshId = "http://www.roblox.com/asset/?id=1256290"
- o3.Scale = Vector3.new(0.0500000007, 0.0500000007, 0.0500000007)
- o3.TextureId = "http://www.roblox.com/asset/?id=1256283"
- o3.MeshType = Enum.MeshType.FileMesh
- o3.Scale = Vector3.new(0.0500000007, 0.0500000007, 0.0500000007)
- o4.Parent = o2
- o4.SoundId = "http://www.roblox.com/asset/?id=231917784"
- o4.Volume = 1
- o5.Name = "Local Gui"
- o5.Parent = o1
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- end,o5)
- end))
- o6.Name = "SwordScript"
- o6.Parent = o1
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- -------- OMG HAX
- r = game:service("RunService")
- local damage = 5
- local slash_damage = 10
- local lunge_damage = 30
- sword = script.Parent.Handle
- Tool = script.Parent
- SlashSound = sword.Sound
- function blow(hit)
- Grip = Tool.Parent["Right Arm"].RightGrip:clone()
- humanoid = hit.Parent:findFirstChild("Humanoid")
- if(humanoid ~= nil and humanoid.Parent.Name == Tool.Parent.Name) then --don't hit yourself
- return
- end
- --if(Tool:findFirstChild("toolAnim") == nil) then return end
- if(humanoid ~= nil) then --if it's a person, damage him and stop
- propel(hit)
- print(humanoid.Parent.Name)
- humanoid.Health = humanoid.Health - 49
- else
- explode(hit) --explode only if it doesn't hit a person (ie, blowing holes through walls)
- end
- end
- function propel(part)
- if(part.Anchored) then return end --if it isn't anchored, make it flyyy
- direction = (part.Position - Tool.Parent.Torso.Position).unit
- direction = direction + Vector3.new(0,1,0)
- direction = direction * 200
- part.Velocity = part.Velocity + direction
- end
- debounce = true
- function explode(part)
- if not debounce then return end
- debounce = false
- direction = (part.Position - Tool.Parent.Torso.Position).unit
- pos = direction * 12 + Tool.Parent.Torso.Position
- explosion = Instance.new("Explosion")
- explosion.BlastRadius = 4
- explosion.BlastPressure = 1
- explosion.Position = pos
- explosion.Parent = game.Workspace
- explosion.Hit:connect(function(part, distance) propel(part) end)
- wait(.1)
- Grip:clone().Parent = Tool.Parent["Right Arm"]
- debounce = true
- end
- function attack()
- SlashSound:play()
- local anim = Instance.new("StringValue")
- anim.Name = "toolanim"
- anim.Value = "Slash"
- anim.Parent = Tool
- end
- function lunge()
- attack()
- force = Instance.new("BodyPosition")
- force.maxForce = Vector3.new(1e+005,1e+004,1e+005)
- dir = Tool.Parent.Humanoid.targetPoint
- if((dir - sword.Position).magnitude > 15) then return end
- force.position = dir
- force.Parent = sword
- wait(.25)
- force.Parent = nil
- end
- function swordUp()
- Tool.GripForward = Vector3.new(-1,0,0)
- Tool.GripRight = Vector3.new(0,1,0)
- Tool.GripUp = Vector3.new(0,0,1)
- end
- function swordOut()
- Tool.GripForward = Vector3.new(0,0,1)
- Tool.GripRight = Vector3.new(0,-1,0)
- Tool.GripUp = Vector3.new(-1,0,0)
- end
- function swordAcross()
- -- parry
- end
- Tool.Enabled = true
- local last_attack = 0
- function onActivated()
- if not Tool.Enabled then
- return
- end
- Tool.Enabled = false
- local character = Tool.Parent;
- local humanoid = character.Humanoid
- if humanoid == nil then
- print("Humanoid not found")
- return
- end
- t = r.Stepped:wait()
- connection = sword.Touched:connect(blow)
- lunge()
- wait(.4)
- connection:disconnect()
- last_attack = t
- Tool.Enabled = true
- end
- script.Parent.Activated:connect(onActivated)
- end,o6)
- end))
- o7.Name = "Fire Shield"
- o7.Parent = mas
- o8.Parent = o7
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- --clockwork
- --Fix implemented by Luckymaxer
- HopperBin = script.Parent
- Debris = game:GetService("Debris")
- function GetX(t)
- return 41 * math.cos(t) - 18 * math.sin(t) - 83 * math.cos(2 * t) - 11 * math.cos(3 * t) + 27 * math.sin(3 * t)
- end
- function GetY(t)
- return 36 * math.cos(t) + 27 * math.sin(t) - 113 * math.cos(2 * t) + 30 * math.sin(2 * t) + 11 * math.cos(3 * t) - 27 * math.sin(3 * t)
- end
- function GetZ(t)
- return 45 * math.sin(t) - 30 * math.cos(2 * t) + 113 * math.sin(2 * t) - 11 * math.cos(3 * t) + 27 * math.sin(3 * t)
- end
- Template = Instance.new("Explosion")
- Template.BlastRadius = 3
- Template.BlastPressure = 0
- Template.ExplosionType = Enum.ExplosionType.NoCraters
- Spaw = false
- function TagHumanoid(humanoid, player)
- local Creator_Tag = Instance.new("ObjectValue")
- Creator_Tag.Name = "creator"
- Creator_Tag.Value = player
- Debris:AddItem(Creator_Tag, 2)
- Creator_Tag.Parent = humanoid
- end
- function UntagHumanoid(humanoid)
- for i, v in pairs(humanoid:GetChildren()) do
- if v:IsA("ObjectValue") and v.Name == "creator" then
- v:Destroy()
- end
- end
- end
- function FindCharacterAncestor(Parent)
- if Parent and Parent ~= game:GetService("Workspace") then
- local humanoid = Parent:FindFirstChild("Humanoid")
- if humanoid then
- return Parent, humanoid
- else
- return FindCharacterAncestor(Parent.Parent)
- end
- end
- return nil
- end
- function ExplosionHit(Explosion)
- Explosion.Hit:connect(function(Hit)
- if Hit and Hit.Parent then
- local character, humanoid = FindCharacterAncestor(Hit)
- if character and character ~= Character and humanoid and humanoid.Health > 0 then
- UntagHumanoid(humanoid)
- TagHumanoid(humanoid, Player)
- Hit:BreakJoints()
- end
- end
- end)
- end
- function Button1Down()
- Spaw = not Spaw
- i = 0
- if Spaw then
- while Spaw do
- i = (i + 0.15)
- local Explosion = Template:Clone()
- Explosion.Position = Torso.Position + Vector3.new(GetX(i) / 5, GetY(i) / 5, GetZ(i) / 5)
- ExplosionHit(Explosion)
- Explosion.Parent = game:GetService("Workspace")
- Explosion = Template:Clone()
- Explosion.Position = Torso.Position - Vector3.new(GetX(i) / 5, GetY(i) / 5, GetZ(i) / 5)
- ExplosionHit(Explosion)
- Explosion.Parent = game:GetService("Workspace")
- wait(0.025)
- end
- end
- end
- function Selected(Mouse)
- Backpack = HopperBin.Parent
- Player = Backpack.Parent
- Character = Player.Character
- Humanoid = Character:FindFirstChild("Humanoid")
- Torso = Character:FindFirstChild("Torso")
- if not Player or not Character or not Humanoid or Humanoid.Health == 0 or not Torso then
- return
- end
- Mouse.Button1Down:connect(function()
- Button1Down()
- end)
- Mouse.Icon = "rbxasset://textures\\GunCursor.png"
- end
- HopperBin.Selected:connect(Selected)
- end,o8)
- end))
- o9.Name = "Katon"
- o9.Parent = mas
- o10.Parent = o9
- o10.SoundId = "http://www.roblox.com/asset/?id=158037267"
- o10.Volume = 0.20000000298023
- o11.Parent = o9
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- --clockwork
- --Fix implemented by Luckymaxer
- HopperBin = script.Parent
- Sound = HopperBin:WaitForChild("Sound")
- Debris = game:GetService("Debris")
- function TagHumanoid(humanoid, player)
- local Creator_Tag = Instance.new("ObjectValue")
- Creator_Tag.Name = "creator"
- Creator_Tag.Value = player
- Debris:AddItem(Creator_Tag, 2)
- Creator_Tag.Parent = humanoid
- end
- function UntagHumanoid(humanoid)
- for i, v in pairs(humanoid:GetChildren()) do
- if v:IsA("ObjectValue") and v.Name == "creator" then
- v:Destroy()
- end
- end
- end
- function FindCharacterAncestor(Parent)
- if Parent and Parent ~= game:GetService("Workspace") then
- local humanoid = Parent:FindFirstChild("Humanoid")
- if humanoid then
- return Parent, humanoid
- else
- return FindCharacterAncestor(Parent.Parent)
- end
- end
- return nil
- end
- function ExplosionHit(Explosion)
- Explosion.Hit:connect(function(Hit)
- if Hit and Hit.Parent then
- local character, humanoid = FindCharacterAncestor(Hit)
- if character and character ~= Character and humanoid and humanoid.Health > 0 then
- UntagHumanoid(humanoid)
- TagHumanoid(humanoid, Player)
- Hit:BreakJoints()
- end
- end
- end)
- end
- function Explode(Position)
- local Explosion = Instance.new("Explosion")
- Explosion.BlastRadius = 10
- Explosion.BlastPressure = 0
- Explosion.ExplosionType = Enum.ExplosionType.NoCraters
- Explosion.Position = Position
- ExplosionHit(Explosion)
- Explosion.Parent = game:GetService("Workspace")
- end
- function Button1Down(Mouse)
- local StartPos = Head.Position
- local Delta = Mouse.Hit.p - StartPos
- local Unit = Delta.unit
- Sound:Play()
- for i = 0, 75 do
- Explode(StartPos + Unit * 20 + i * Unit * i / 25)
- wait(0.05)
- end
- end
- function Selected(Mouse)
- Backpack = HopperBin.Parent
- Player = Backpack.Parent
- Character = Player.Character
- Humanoid = Character:FindFirstChild("Humanoid")
- Head = Character:FindFirstChild("Head")
- if not Player or not Character or not Humanoid or Humanoid.Health == 0 or not Head then
- return
- end
- Mouse.Button1Down:connect(function()
- Button1Down(Mouse)
- end)
- Mouse.Icon = "rbxasset://textures\\GunCursor.png"
- end
- HopperBin.Selected:connect(Selected)
- end,o11)
- end))
- o12.Name = "SpinFire"
- o12.Parent = mas
- o13.Parent = o12
- table.insert(cors,coroutine.create(function()
- wait()
- runDummyScript(function()
- --clockwork
- local bin = script.Parent
- sfx = bin.Sound
- function explode(pos)
- local lol = Instance.new("Explosion")
- lol.BlastRadius = 2
- lol.BlastPressure = 1000000
- lol.Position = pos
- lol.Parent = game.Workspace
- end
- function onButton1Down(mouse)
- local player = game.Players.LocalPlayer
- if player == nil then return end
- print("trigger")
- -- find the best cf
- sfx:play()
- look = CFrame.new(player.Character.Head.Position,mouse.Hit.p)
- for i=0,75 do
- x = math.sin(i / 3) * 8 * (75 - i) / 75
- y = math.cos(i / 3) * 8 * (75 - i) / 75
- helix = look * CFrame.new(x,y,-i)
- explode(helix.p)
- x = -math.sin(i / 3) * 8 * (75 - i) / 75
- y = -math.cos(i / 3) * 8 * (75 - i) / 75
- helix = look * CFrame.new(x,y,-i)
- explode(helix.p)
- wait(.02)
- end
- sfx:pause()
- end
- function onSelected(mouse)
- print("select")
- mouse.Icon = "rbxasset://textures\\GunCursor.png"
- mouse.Button1Down:connect(function() onButton1Down(mouse) end)
- end
- bin.Selected:connect(onSelected)
- end,o13)
- end))
- o14.Parent = o12
- o14.SoundId = "http://www.roblox.com/asset/?id=136523485"
- o14.Volume = 0.60000002384186
- mas.Parent = workspace
- mas:MakeJoints()
- local mas1 = mas:GetChildren()
- for i=1,#mas1 do
- mas1[i].Parent = game:GetService("Players").LocalPlayer.Backpack
- ypcall(function() mas1[i]:MakeJoints() end)
- end
- mas:Destroy()
- for i=1,#cors do
- coroutine.resume(cors[i])
- end
- --Forcefield
- local f = Instance.new("ForceField")
- f.Parent = game.Players.localPlayer.Character
- f.Visible = false
- --Teapot
- hat = Instance.new'Accessory'
- hat.Name = 'GoldTeapot'
- hat.AttachmentForward = Vector3.new(0,0,-1)
- hat.AttachmentPos = Vector3.new(0, 0.300000012, 0)
- hat.AttachmentUp = Vector3.new(0, 1, 0)
- hat.AttachmentRight = Vector3.new(1, 0, 0)
- handle = Instance.new('Part', hat)
- handle.Name = 'Handle'
- handle.Locked = true
- handle.CanCollide = true
- handle.Transparency = 0
- handle.BrickColor = BrickColor.new'Medium stone grey'
- handle.Size = Vector3.new(2, 0.800000012, 2)
- mesh = Instance.new('SpecialMesh', handle)
- mesh.MeshId = 'http://www.roblox.com/asset/?id=0'
- mesh.Scale = Vector3.new(1, 1, 1)
- mesh.VertexColor = Vector3.new(1, 1, 1)
- mesh.TextureId = 'http://www.roblox.com/asset/?id=1594166'
- att = Instance.new('Attachment', handle)
- att.Name = 'HatAt'
- att.Position = Vector3.new(8.65838956e-09, 0.400000095, -0.000272244215)
- att.Axis = Vector3.new(1, -7.87137555e-09, 0)
- att.SecondaryAxis = Vector3.new(7.87137555e-09, 1, 4.1444221e-16)
- hat.Parent = game:GetService'Players'.LocalPlayer.Character
Add Comment
Please, Sign In to add comment