Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --By Rufus14
- --Converted with ttyyuu12345's model to script plugin v4
- function sandbox(var,func)
- local env = getfenv(func)
- local newenv = setmetatable({},{
- __index = function(self,k)
- if k=="script" then
- return var
- else
- return env[k]
- end
- end,
- })
- setfenv(func,newenv)
- return func
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- Tool0 = Instance.new("Tool")
- Part1 = Instance.new("Part")
- SpecialMesh2 = Instance.new("SpecialMesh")
- Script3 = Instance.new("Script")
- Tool0.Name = "spoo n"
- Tool0.Parent = mas
- Part1.Name = "Handle"
- Part1.Parent = Tool0
- Part1.CFrame = CFrame.new(-8.50000763, 7.49998093, -29.0999832, 0, -1, 0, 0, 0, -1, 1, 0, 0)
- Part1.Orientation = Vector3.new(90, -90, 0)
- Part1.Position = Vector3.new(-8.50000763, 7.49998093, -29.0999832)
- Part1.Rotation = Vector3.new(90, 0, 90)
- Part1.Color = Color3.new(0.623529, 0.631373, 0.67451)
- Part1.Size = Vector3.new(2.20000052, 0.199998304, 9.3999958)
- Part1.BottomSurface = Enum.SurfaceType.Smooth
- Part1.BrickColor = BrickColor.new("Fossil")
- Part1.TopSurface = Enum.SurfaceType.Smooth
- Part1.brickColor = BrickColor.new("Fossil")
- SpecialMesh2.Name = "mesh"
- SpecialMesh2.Parent = Part1
- SpecialMesh2.MeshId = "rbxassetid://431177782"
- SpecialMesh2.Scale = Vector3.new(0.0799999982, 0.0799999982, 0.0799999982)
- SpecialMesh2.MeshType = Enum.MeshType.FileMesh
- Script3.Parent = Tool0
- table.insert(cors,sandbox(Script3,function()
- --By Rufus14
- tool = script.Parent
- handle = tool.Handle
- handle.Transparency = 1
- players = game:GetService("Players")
- runservice = game:GetService("RunService")
- local owner
- local character
- equipped = "false"
- firstequip = true
- caneffect = false
- anim = "idle"
- mode = "bigspoon"
- ----------
- handle.ChildRemoved:connect(function(WHAT)
- if WHAT.ClassName == "Sound" then
- local backupyeaah = Instance.new("Sound", handle)
- backupyeaah.SoundId = WHAT.SoundId
- backupyeaah.Name = WHAT.Name
- backupyeaah.Volume = WHAT.Volume
- backupyeaah.TimePosition = WHAT.TimePosition
- backupyeaah.Playing = WHAT.Playing
- end
- end)
- ----------
- function switchmode()
- if caneffect then
- handle.how.Volume = 6
- if mode == "bigspoon" then
- mode = "bluespoon"
- handle.transformsound.SoundId = "rbxassetid://4761049714"
- handle.switch:Play()
- handle.explosion:Play()
- handle.fade:Play()
- handle.fieryexplosion:Play()
- handle.how.PlaybackSpeed = 1
- handle.BrickColor = BrickColor.new("Toothpaste")
- handle.how.SoundId = "rbxassetid://5513265404"
- handle.transformsound:Play()
- for i,v in pairs(handle:GetDescendants()) do
- if v.Name == "spoontyperare" then
- v.Text = "mmm blue spoo n"
- v.TextColor = BrickColor.new("Toothpaste")
- end
- end
- doeffect()
- elseif mode == "bluespoon" then
- mode = "chinese"
- handle.transformsound.SoundId = "rbxassetid://5136719210"
- handle.switch:Play()
- handle.explosion:Play()
- handle.fade:Play()
- handle.fieryexplosion:Play()
- handle.how.Volume = 6
- handle.how.PlaybackSpeed = 1
- handle.BrickColor = BrickColor.new("New Yeller")
- handle.how.SoundId = "rbxassetid://4577864465"
- handle.transformsound:Play()
- for i,v in pairs(handle:GetDescendants()) do
- if v.Name == "spoontyperare" then
- v.Text = "私はパイプ爆弾を作っています"
- v.TextColor = BrickColor.new("New Yeller")
- end
- end
- coroutine.wrap(function()
- while mode == "chinese" and runservice.Stepped:wait() do
- handle.mesh.Scale = Vector3.new(0.08+math.sin(tick()*5)/20,0.08,0.08+math.cos(tick()*2.5)/40)
- end
- handle.mesh.Scale = Vector3.new(0.08,0.08,0.08)
- end)()
- doeffect()
- elseif mode == "chinese" then
- mode = "bigspoon"
- handle.transformsound.SoundId = "rbxassetid://5382576606"
- handle.switch:Play()
- handle.explosion:Play()
- handle.fade:Play()
- handle.fieryexplosion:Play()
- handle.how.Volume = 3
- handle.how.PlaybackSpeed = 1
- handle.BrickColor = BrickColor.new("Institutional white")
- handle.how.SoundId = "rbxassetid://4771057299"
- handle.transformsound:Play()
- for i,v in pairs(handle:GetDescendants()) do
- if v.Name == "spoontyperare" then
- v.Text = "large spoo n"
- v.TextColor = BrickColor.new("Institutional white")
- end
- end
- doeffect()
- end
- end
- end
- function doeffect()
- if caneffect then
- local cyllinder = Instance.new("SpawnLocation", character)
- cyllinder.Neutral = false
- cyllinder.Material = "SmoothPlastic"
- cyllinder.Shape = "Cylinder"
- cyllinder.Size = Vector3.new(500,5,5)
- cyllinder.CanCollide = false
- cyllinder.Anchored = true
- cyllinder.CastShadow = false
- cyllinder.CFrame = CFrame.new(handle.Position) * CFrame.new(0,cyllinder.Size.y/2,0) * CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
- local ring = Instance.new("SpawnLocation", character)
- ring.Neutral = false
- ring.Size = Vector3.new(5,5,4)
- ring.CanCollide = false
- ring.Anchored = true
- ring.CFrame = CFrame.new(handle.Position) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
- if mode == "bigspoon" then
- cyllinder.BrickColor = BrickColor.White()
- ring.BrickColor = BrickColor.White()
- elseif mode == "bluespoon" then
- cyllinder.BrickColor = BrickColor.new("Toothpaste")
- ring.BrickColor = BrickColor.new("Toothpaste")
- elseif mode == "chinese" then
- cyllinder.BrickColor = BrickColor.new("New Yeller")
- ring.BrickColor = BrickColor.new("New Yeller")
- end
- local mes = Instance.new("SpecialMesh", ring)
- mes.MeshId = "rbxassetid://3270017"
- coroutine.wrap(function()
- for i = 1,20 do
- cyllinder.Size = cyllinder.Size + Vector3.new(0,1,1)
- cyllinder.Transparency = cyllinder.Transparency + 0.05
- runservice.Stepped:wait()
- end
- cyllinder:destroy()
- end)()
- coroutine.wrap(function()
- for i = 1,100 do
- mes.Scale = mes.Scale + Vector3.new(2,2,0.5)
- ring.Transparency = ring.Transparency + 0.01
- runservice.Stepped:wait()
- end
- ring:destroy()
- end)()
- coroutine.wrap(function() --sg wind ring effect
- local savedmode = mode
- while equipped and wait(0.1) and mode == savedmode do
- local exblock = Instance.new("FlagStand", workspace)
- local shockwave = Instance.new("SpecialMesh", exblock)
- shockwave.MeshId = "rbxassetid://662585058"
- shockwave.Scale = Vector3.new(0.037, 0.007, 0.037)
- if mode == "bigspoon" then
- exblock.BrickColor = BrickColor.White()
- elseif mode == "bluespoon" then
- exblock.BrickColor = BrickColor.new("Toothpaste")
- elseif mode == "chinese" then
- exblock.BrickColor = BrickColor.new("New Yeller")
- end
- exblock.Anchored = true
- exblock.CanCollide = false
- exblock.Name = "effectlol"
- exblock.Transparency = 0.8
- local ignorelist = {handle}
- for i,v in pairs(workspace:GetDescendants()) do
- if v.Name == "effectlol" then
- table.insert(ignorelist, v)
- end
- if v.ClassName == "Model" then
- if v:findFirstChildOfClass("Humanoid") then
- table.insert(ignorelist, v)
- end
- end
- end
- local rayee = Ray.new(handle.Position, Vector3.new(0,-100,0))
- local hiit, poos, surff = workspace:FindPartOnRayWithIgnoreList(rayee, ignorelist)
- exblock.CFrame = CFrame.new(poos, poos-surff) * CFrame.new(0,0,1+math.random(1,10)/10) * CFrame.fromEulerAnglesXYZ(math.pi/2,math.rad(math.random(1,360)),math.rad(-10,10))
- coroutine.wrap(function()
- for i = 1,40 do
- shockwave.Scale = shockwave.Scale + Vector3.new(0.003,0.003,0.003)
- exblock.Transparency = exblock.Transparency + 0.005
- runservice.Stepped:wait()
- end
- exblock:destroy()
- end)()
- end
- end)()
- coroutine.wrap(function() --shockwave
- local savedmode = mode
- while equipped and wait(0.1) and mode == savedmode do
- local exblock = Instance.new("FlagStand", workspace)
- local shockwave = Instance.new("SpecialMesh", exblock)
- shockwave.MeshId = "http://www.roblox.com/asset/?id=20329976"
- shockwave.Scale = Vector3.new(1,1,1)
- if mode == "bigspoon" then
- exblock.BrickColor = BrickColor.White()
- elseif mode == "bluespoon" then
- exblock.BrickColor = BrickColor.new("Toothpaste")
- elseif mode == "chinese" then
- exblock.BrickColor = BrickColor.new("New Yeller")
- end
- exblock.Anchored = true
- exblock.CanCollide = false
- exblock.Name = "effectlol"
- exblock.Transparency = 0.9
- local ignorelist = {handle}
- for i,v in pairs(workspace:GetDescendants()) do
- if v.Name == "effectlol" then
- table.insert(ignorelist, v)
- end
- if v.ClassName == "Model" then
- if v:findFirstChildOfClass("Humanoid") then
- table.insert(ignorelist, v)
- end
- end
- end
- local rayee = Ray.new(handle.Position, Vector3.new(0,-100,0))
- local hiit, poos, surff = workspace:FindPartOnRayWithIgnoreList(rayee, ignorelist)
- exblock.CFrame = CFrame.new(poos, poos-surff)*CFrame.fromEulerAnglesXYZ(math.pi/2,math.pi/2,0)
- local rotrandom = math.random(1,2)
- coroutine.wrap(function()
- for i = 1,40 do
- exblock.Transparency = exblock.Transparency + 0.0025
- exblock.CFrame = exblock.CFrame * CFrame.new(0,0.025,0)
- shockwave.Scale = shockwave.Scale + Vector3.new(0.5,-0.025,0.5)
- if rotrandom == 1 then
- exblock.CFrame = exblock.CFrame * CFrame.fromEulerAnglesXYZ(0,math.rad(20),0)
- else
- exblock.CFrame = exblock.CFrame * CFrame.fromEulerAnglesXYZ(0,math.rad(-20),0)
- end
- runservice.Stepped:wait()
- end
- exblock:destroy()
- end)()
- end
- end)()
- if mode == "bigspoon" then
- coroutine.wrap(function() --funny floor lines
- while equipped and wait(math.random(1,10)/120) and mode == "bigspoon" do
- local weirdonfloor = Instance.new("FlagStand", workspace)
- weirdonfloor.Anchored = true
- weirdonfloor.Size = Vector3.new(0.25,0.05,3)
- weirdonfloor.Material = "Neon"
- weirdonfloor.Name = "effectlol"
- weirdonfloor.CanCollide = false
- local ignorelist = {handle}
- for i,v in pairs(workspace:GetDescendants()) do
- if v.Name == "effectlol" then
- table.insert(ignorelist, v)
- end
- if v.ClassName == "Model" then
- if v:findFirstChildOfClass("Humanoid") then
- table.insert(ignorelist, v)
- end
- end
- end
- local rayee = Ray.new(handle.Position, Vector3.new(0,-100,0))
- local hiit, poos, surff = workspace:FindPartOnRayWithIgnoreList(rayee, ignorelist)
- weirdonfloor.CFrame = CFrame.new(poos, poos-surff) * CFrame.fromEulerAnglesXYZ(math.pi/2,math.rad(math.random(1,360)),0)
- coroutine.wrap(function()
- for i = 1,40 do
- weirdonfloor.CFrame = weirdonfloor.CFrame * CFrame.new(0,0,0.05/(i/60))
- weirdonfloor.Size = weirdonfloor.Size - Vector3.new(0,0,i/250)
- runservice.Stepped:wait()
- end
- weirdonfloor:destroy()
- end)()
- end
- end)() --end of big spoon mode
- elseif mode == "bluespoon" then
- coroutine.wrap(function()
- while equipped and wait(math.random(1,10)/120) and mode == "bluespoon" do
- local weirdonfloor = Instance.new("FlagStand", workspace)
- Instance.new("SpecialMesh", weirdonfloor).MeshType = "Sphere"
- weirdonfloor.Anchored = true
- weirdonfloor.Size = Vector3.new(0.25,0.25,3)
- weirdonfloor.Material = "Neon"
- weirdonfloor.BrickColor = BrickColor.new("Toothpaste")
- weirdonfloor.Name = "effectlol"
- weirdonfloor.CanCollide = false
- local ignorelist = {handle}
- for i,v in pairs(workspace:GetDescendants()) do
- if v.Name == "effectlol" then
- table.insert(ignorelist, v)
- end
- if v.ClassName == "Model" then
- if v:findFirstChildOfClass("Humanoid") then
- table.insert(ignorelist, v)
- end
- end
- end
- local rayee = Ray.new(handle.Position, Vector3.new(0,-100,0))
- local hiit, poos, surff = workspace:FindPartOnRayWithIgnoreList(rayee, ignorelist)
- weirdonfloor.CFrame = CFrame.new(poos, poos-surff) * CFrame.new(math.random(-100,100)/10,math.random(-100,100)/10,0) * CFrame.fromEulerAnglesXYZ(math.random(-10,10)/30,math.random(-10,10)/30,0)
- coroutine.wrap(function()
- local goup = math.random(30,60)
- for i = 1,40 do
- goup = goup - 1
- weirdonfloor.CFrame = weirdonfloor.CFrame * CFrame.new(0,0,goup/100)
- weirdonfloor.Size = weirdonfloor.Size - Vector3.new(0,0,i/500)
- weirdonfloor.Transparency = weirdonfloor.Transparency + 0.025
- runservice.Stepped:wait()
- end
- weirdonfloor:destroy()
- end)()
- end
- end)() --end of blue spoon mode
- elseif mode == "chinese" then
- coroutine.wrap(function()
- while equipped and wait(math.random(1,10)/120) and mode == "chinese" do
- local weirdonfloor = Instance.new("FlagStand", workspace)
- weirdonfloor.Anchored = true
- local darandom = 1+math.random(-10,10)/50
- weirdonfloor.Size = Vector3.new(darandom,darandom,darandom)
- weirdonfloor.Material = "Neon"
- weirdonfloor.BrickColor = BrickColor.new("New Yeller")
- weirdonfloor.Name = "effectlol"
- weirdonfloor.CanCollide = false
- local ignorelist = {handle}
- for i,v in pairs(workspace:GetDescendants()) do
- if v.Name == "effectlol" then
- table.insert(ignorelist, v)
- end
- if v.ClassName == "Model" then
- if v:findFirstChildOfClass("Humanoid") then
- table.insert(ignorelist, v)
- end
- end
- end
- weirdonfloor.CFrame = handle.CFrame * CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,math.random(-80,80)/10)
- coroutine.wrap(function()
- for i = 1,40 do
- weirdonfloor.CFrame = weirdonfloor.CFrame * CFrame.new(0,0,-0.1)
- weirdonfloor.Size = weirdonfloor.Size - Vector3.new(0.025,0.025,0.025)
- weirdonfloor.Transparency = weirdonfloor.Transparency + 0.025
- runservice.Stepped:wait()
- end
- weirdonfloor:destroy()
- end)()
- end
- end)() --end of big spoon mode
- end
- end
- end
- tool.Activated:connect(switchmode)
- tool.Equipped:connect(function()
- equipped = true
- owner = players:GetPlayerFromCharacter(tool.Parent)
- character = owner.Character
- local rightgrip = character["Right Arm"]:WaitForChild("RightGrip")
- rightgrip.C0 = CFrame.new(0.486789703, -0.89996767, -1.50501633, 0, -1, 0, 0.999994159, 0, 0, 0, 0, 1)
- if firstequip then
- firstequip = false
- mode = "bigspoon"
- local transformsound = Instance.new("Sound", handle)
- transformsound.SoundId = "rbxassetid://5382576606"
- transformsound.Volume = 7
- transformsound.Name = "transformsound"
- local spoonful = Instance.new("Sound", handle)
- spoonful.SoundId = "rbxassetid://4941462217"
- spoonful.Volume = 3
- spoonful.Name = "spoonful"
- spoonful:Play()
- wait(3)
- while runservice.Stepped:wait() and not equipped do end
- handle.Transparency = 0
- for i = 1,10 do
- local billboard = Instance.new("BillboardGui", handle)
- billboard.Adornee = handle
- billboard.Size = UDim2.new(15,0,2,0)
- if i == 1 then
- billboard.AlwaysOnTop = true
- end
- local text = Instance.new("TextLabel", billboard)
- text.Text = "large spoo n"
- text.BackgroundTransparency = 1
- text.TextScaled = true
- text.Name = "spoontyperare"
- text.Size = UDim2.new(1,0,1,0)
- text.TextStrokeTransparency = i/10
- text.TextTransparency = i/10
- text.TextStrokeColor3 = Color3.fromRGB(100,100,100)
- text.TextColor3 = Color3.fromRGB(255,255,255)
- text.Font = "Cartoon"
- coroutine.wrap(function()
- while runservice.Stepped:wait() do
- if equipped then
- billboard.ExtentsOffset = Vector3.new(math.cos(tick()-i/20)*2.5,1.5+math.sin(tick()-(i/20)*2)/8,0)
- text.Rotation = math.cos(tick()-i/20)*-10
- end
- end
- end)()
- end
- transformsound:Play()
- local explosion = Instance.new("Sound", handle)
- explosion.SoundId = "rbxassetid://741272936"
- explosion.Volume = 5
- explosion.Name = "explosion"
- local fieryexplosion = Instance.new("Sound", handle)
- fieryexplosion.SoundId = "rbxassetid://429123896"
- fieryexplosion.Volume = 5
- fieryexplosion.Name = "fieryexplosion"
- local fade = Instance.new("Sound", handle)
- fade.SoundId = "rbxassetid://1192402877"
- fade.Volume = 5
- fade.Name = "fade"
- local switchsound = Instance.new("Sound", handle)
- switchsound.SoundId = "rbxassetid://847061203"
- switchsound.Volume = 7
- switchsound.Name = "switch"
- switchsound:Play()
- local musicglitcheramazing = Instance.new("Sound", handle)
- musicglitcheramazing.SoundId = "rbxassetid://4771057299"
- musicglitcheramazing.Volume = 3
- musicglitcheramazing.Looped = true
- musicglitcheramazing.Name = "how"
- musicglitcheramazing.TimePosition = 0.4
- musicglitcheramazing:Play()
- caneffect = true
- else
- if handle:findFirstChild("how") then
- handle.how:Resume()
- end
- end
- --overdramatized effects
- if caneffect then
- doeffect()
- end
- end)
- tool.Unequipped:connect(function()
- equipped = false
- if handle:findFirstChild("how") then
- handle.how:Pause()
- end
- end)
- end))
- for i,v in pairs(mas:GetChildren()) do
- v.Parent = owner.Backpack
- pcall(function() v:MakeJoints() end)
- end
- mas:Destroy()
- for i,v in pairs(cors) do
- spawn(function()
- pcall(v)
- end)
- end
Add Comment
Please, Sign In to add comment