Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- game:GetService("Chat").BubbleChatEnabled = true
- roombas = {}
- tool = Instance.new("Tool",owner.Backpack)
- wrench = Instance.new("Part",tool)
- wrench.Name = "Handle"
- wrench.Size = Vector3.new(0.153 * 2, 1.308 * 2, 0.405 * 2)
- local Mesh = Instance.new("SpecialMesh")
- Mesh.Parent = wrench
- Mesh.MeshId = "http://www.roblox.com/asset/?id=431003868"
- Mesh.TextureId = "http://www.roblox.com/asset/?id=430627740"
- Mesh.Scale = Vector3.new(2, 2, 2)
- tool.Grip = CFrame.Angles(0,math.rad(180),0) * CFrame.new(0,-1.308,0.25)
- tool.Activated:Connect(function()
- local Anim = Instance.new("StringValue")
- Anim.Name = "toolanim"
- Anim.Value = "Slash"
- Anim.Parent = tool
- pcall(function()
- local dead = false
- local model = Instance.new("Model", script)
- model.Name = "chainsawroomba"
- local humfake = Instance.new("Humanoid", model)
- humfake.MaxHealth = 150
- humfake.Health = 150
- table.insert(roombas,humfake)
- table.insert(roombas,model)
- local part = Instance.new("Part",model)
- local part2 = Instance.new("Part",model)
- local part3 = Instance.new("Part",model)
- local part4 = Instance.new("Part",model)
- local part5 = Instance.new("Part",model)
- local billboard = Instance.new("BillboardGui", part)
- billboard.Adornee = part
- billboard.StudsOffset = Vector3.new(0, 2.5, 0)
- billboard.Size = UDim2.new(2.5,0,0.75,0)
- billboard.Name = "chat"
- local cloakmeter = Instance.new("Frame",billboard)
- cloakmeter.BackgroundColor3 = Color3.fromRGB(200,30,30)
- local cloakmeter2 = Instance.new("Frame",cloakmeter)
- cloakmeter2.BackgroundColor3 = Color3.fromRGB(30,200,30)
- cloakmeter.Size = UDim2.new(1,0,1,0)
- cloakmeter2.Size = UDim2.new(1,0,1,0)
- cloakmeter.AnchorPoint = Vector2.new(0.5, 0.5)
- cloakmeter.Position = UDim2.new(0.5, 0, 0.5, 0)
- cloakmeter.Active = true
- cloakmeter.BackgroundTransparency = 0
- cloakmeter2.Active = true
- cloakmeter2.BackgroundTransparency = 0
- part.Size = Vector3.new(2.6,7, 2.6)
- part.CanCollide = false
- part2.Size = Vector3.new(0.626, 2.4, 2.4)
- part2.Transparency = 1
- part2.Shape = "Cylinder"
- local density = 1
- local friction = 0.75
- local elasticity = 0
- local frictionWeight = 100000000000
- local elasticityWeight = 0
- local physProperties = PhysicalProperties.new(density, friction, elasticity, frictionWeight, elasticityWeight)
- part2.CustomPhysicalProperties = physProperties
- local chainsaw = Instance.new("Part",model)
- chainsaw.Massless = true
- chainsaw.CanCollide = false
- part5.Size = Vector3.new(0.511, 0.474,0.221)
- part4.Size = Vector3.new(0.34657166666,0.040885,0.34658333333)
- part3.Size = Vector3.new(0.624875,0.14175,0.144625)
- local weld = Instance.new("Weld",part)
- weld.Part0 = part2
- weld.Part1 = part
- weld.C0 = CFrame.Angles(0,0,math.rad(90))
- local weld2 = Instance.new("Weld",part)
- weld2.Part0 = chainsaw
- weld2.Part1 = part
- weld2.C0 = CFrame.new(0,-0.65,0.9874999525)
- local weld3 = Instance.new("Weld",part)
- weld3.Part0 = part3
- weld3.Part1 = part
- weld3.C0 = CFrame.Angles(0,math.rad(90),0) * CFrame.new(0.45,-0.285,0.25)
- local weld4 = Instance.new("Weld",part)
- weld4.Part0 = part4
- weld4.Part1 = part
- weld4.C0 = CFrame.new(0.5,-0.285,-0.125)
- local weld5 = Instance.new("Weld",part)
- weld5.Part0 = part5
- weld5.Part1 = part
- weld5.C0 = CFrame.Angles(0,math.rad(180),0) * CFrame.new(-0.65,-0.535,0.25)
- local Mesh2 = Instance.new("SpecialMesh")
- Mesh2.Parent = part
- Mesh2.MeshId = "http://www.roblox.com/asset/?id=706699768"
- Mesh2.TextureId = "http://www.roblox.com/asset/?id=706699782"
- Mesh2.Scale = Vector3.new(2, 2, 2)
- local Mesh4 = Instance.new("SpecialMesh")
- Mesh4.Parent = part4
- Mesh4.MeshId = "http://www.roblox.com/asset/?id=942596653"
- Mesh4.TextureId = "http://www.roblox.com/asset/?id=942596693"
- Mesh4.Scale = Vector3.new(0.00166666666,0.00166666666,0.00166666666)
- local Mesh5 = Instance.new("SpecialMesh")
- Mesh5.Parent = part5
- Mesh5.MeshId = "http://www.roblox.com/asset/?id=5014717978"
- Mesh5.TextureId = "http://www.roblox.com/asset/?id=5014718065"
- local Mesh3 = Instance.new("SpecialMesh")
- Mesh3.Parent = part3
- Mesh3.MeshId = "http://www.roblox.com/asset/?id=431429771"
- Mesh3.Scale = Vector3.new(0.125, 0.125, 0.125)
- part3.Color = Color3.fromRGB(50,50,50)
- part.CFrame = owner.Character.HumanoidRootPart.CFrame * CFrame.new(0,0,-7.5)
- local Mesh = Instance.new("SpecialMesh")
- chainsaw.Size = Vector3.new(1.5, 3, 8)
- Mesh.Parent = chainsaw
- Mesh.MeshId = "http://www.roblox.com/asset/?id=2766469"
- Mesh.TextureId = "http://www.roblox.com/asset/?id=185441602"
- Mesh.Scale = Vector3.new(1, 1, 1)
- local speech = Instance.new("Sound",part)
- speech.SoundId = "http://www.roblox.com/asset/?id=8614695132"
- speech.Volume = 1
- local speech2 = Instance.new("Sound",part)
- speech2.SoundId = "http://www.roblox.com/asset/?id=8614695132"
- speech2.Volume = 1
- local nou = Instance.new("Sound",part)
- nou.SoundId = "http://www.roblox.com/asset/?id=8623521419"
- nou.Volume = 1
- local oldtime = 0.1
- local oldtime2 = 0.1
- local oldtime3 = 0.1
- local oldtime4 = 0.1
- local talkwait = false
- local talkwait2 = false
- local function wherego()
- coroutine.wrap(function()
- if not talkwait then
- talkwait = true
- local talk = {0,1,3}
- local newspeech
- do repeat
- newspeech = talk[math.random(1, #talk)]
- wait()
- until
- newspeech ~= oldtime
- end
- speech.TimePosition = newspeech
- oldtime = newspeech
- speech:Play()
- if newspeech == 0 then
- game:GetService("Chat"):Chat(part, "where you go", "White")
- wait(0.8)
- speech:Stop()
- wait(0.5)
- talkwait = false
- elseif newspeech == 1 then
- game:GetService("Chat"):Chat(part, "stop hiding", "White")
- wait(0.95)
- speech:Stop()
- wait(0.5)
- talkwait = false
- elseif newspeech == 3 then
- game:GetService("Chat"):Chat(part, "i am going to cut you", "White")
- wait(1.35)
- speech:Stop()
- wait(0.5)
- talkwait = false
- end
- end
- end)()
- end
- local cooldowntime = 0
- local function ow()
- coroutine.wrap(function()
- if not talkwait2 then
- talkwait2 = true
- talkwait = true
- speech:Stop()
- local talk = {6.55,7.2,8}
- local newspeech
- do repeat
- newspeech = talk[math.random(1, #talk)]
- wait()
- until
- newspeech ~= oldtime3
- end
- speech2.TimePosition = newspeech
- oldtime3 = newspeech
- speech2:Play()
- if newspeech == 6.55 then
- game:GetService("Chat"):Chat(part, "ow", "White")
- wait(0.5)
- speech2:Stop()
- wait(0.5)
- talkwait2 = false
- talkwait = false
- elseif newspeech == 7.2 then
- game:GetService("Chat"):Chat(part, "stop it", "White")
- wait(0.6)
- speech2:Stop()
- wait(0.5)
- talkwait2 = false
- talkwait = false
- elseif newspeech == 8 then
- game:GetService("Chat"):Chat(part, "why", "White")
- wait(0.45)
- speech2:Stop()
- wait(0.5)
- talkwait2 = false
- talkwait = false
- end
- end
- end)()
- end
- local function rekt()
- coroutine.wrap(function()
- if not talkwait2 then
- talkwait2 = true
- talkwait = true
- speech:Stop()
- local talk = {10.5,11.8}
- local newspeech
- do repeat
- newspeech = talk[math.random(1, #talk)]
- wait()
- until
- newspeech ~= oldtime4
- end
- speech2.TimePosition = newspeech
- oldtime4 = newspeech
- speech2:Play()
- if newspeech == 10.5 then
- game:GetService("Chat"):Chat(part, "haha get rekt", "White")
- wait(1.15)
- speech2:Stop()
- wait(0.5)
- talkwait2 = false
- talkwait = false
- elseif newspeech == 11.8 then
- game:GetService("Chat"):Chat(part, "i SAW that was coming unlike you", "White")
- speech2.Ended:Wait()
- wait(0.5)
- talkwait2 = false
- talkwait = false
- end
- end
- end)()
- end
- local function gonnaget()
- coroutine.wrap(function()
- if not talkwait then
- talkwait = true
- local talk = {2.15,4.5,8.65}
- local newspeech
- do repeat
- newspeech = talk[math.random(1, #talk)]
- wait()
- until
- newspeech ~= oldtime2
- end
- speech.TimePosition = newspeech
- oldtime2 = newspeech
- speech:Play()
- if newspeech == 2.15 then
- game:GetService("Chat"):Chat(part, "there you are", "White")
- wait(0.7)
- speech:Stop()
- wait(0.5)
- talkwait = false
- elseif newspeech == 4.5 then
- game:GetService("Chat"):Chat(part, "stop running and let me cut you", "White")
- wait(1.9)
- speech:Stop()
- wait(0.5)
- talkwait = false
- elseif newspeech == 8.65 then
- game:GetService("Chat"):Chat(part, "let me cut you or you ugly", "White")
- wait(1.7)
- speech:Stop()
- wait(0.5)
- talkwait = false
- end
- end
- end)()
- end
- local dmg = 7.5
- local speed = 5
- local function death(otherPart)
- pcall(function()
- if not dead then
- local partParent = otherPart.Parent
- local humanoid = partParent:FindFirstChildWhichIsA("Humanoid")
- if not table.find(roombas,humanoid) and humanoid ~= owner.Character.Humanoid and humanoid then
- humanoid.Health = humanoid.Health - dmg
- if humanoid.Health <= 0 then
- rekt()
- end
- end
- end
- end)
- end
- local times = 0
- local currenthealth = humfake.Health
- humfake.HealthChanged:Connect(function(newHealth)
- if newHealth <= 69 and times == 0 then
- nou:Play()
- dead = true
- speech:Stop()
- speech2:Stop()
- game:GetService("Chat"):Chat(part, "you fool", "White")
- coroutine.wrap(function()
- while dead do
- task.wait()
- talkwait = true
- talkwait2 = true
- end
- end)()
- times = 1
- dmg = 12.5
- speed = 0
- wait(1.10)
- game:GetService("Chat"):Chat(part, "this isnt even my max power", "White")
- wait(2.48)
- nou.SoundId = "http://www.roblox.com/asset/?id=1655262564"
- nou:Play()
- humfake.MaxHealth = 420
- humfake.Health = 420
- cloakmeter2.Size = UDim2.new(humfake.Health/humfake.MaxHealth,0,1,0)
- nou.Ended:Wait()
- wait(0.25)
- nou.SoundId = "http://www.roblox.com/asset/?id=4953447383"
- nou:Play()
- nou.Ended:Wait()
- wait(0.5)
- dead = false
- speed = 16
- nou.Volume = 0.25
- nou.SoundId = "http://www.roblox.com/asset/?id=417478989"
- nou.Looped = true
- nou:Play()
- task.wait()
- talkwait = false
- talkwait2 = false
- end
- cloakmeter2.Size = UDim2.new(humfake.Health/humfake.MaxHealth,0,1,0)
- if newHealth > currenthealth then
- currenthealth = newHealth
- elseif newHealth < currenthealth then
- currenthealth = newHealth
- ow()
- end
- end)
- local iforgor = {}
- chainsaw.Touched:Connect(death)
- coroutine.wrap(function()
- while true do
- wait()
- if not dead then
- for i,who in pairs(workspace:GetChildren()) do
- coroutine.wrap(function()
- pcall(function()
- if who:IsA("Model") and who:FindFirstChildWhichIsA("Humanoid") and who ~= owner.Character then
- local raycastParams = RaycastParams.new()
- raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
- raycastParams.FilterDescendantsInstances = {roombas,who}
- raycastParams.IgnoreWater = true
- local result = workspace:Raycast(part.Position, CFrame.new(part.Position,who:FindFirstChildWhichIsA("Part").Position).lookVector * (part.Position - who:FindFirstChildWhichIsA("Part").Position).Magnitude, raycastParams)
- if result then
- table.insert(iforgor,who)
- else
- table.remove(iforgor,table.find(iforgor,who))
- end
- end
- end)
- end)()
- end
- end
- end
- end)()
- local bf2 = Instance.new("BodyVelocity", part)
- bf2.MaxForce = Vector3.new(5000,0,5000)
- bf2.Velocity = Vector3.new()
- local bg = Instance.new("BodyGyro",part)
- bg.D = 50
- bg.P = 10000
- bg.MaxTorque = Vector3.new(0, 400000, 0)
- local bg2 = Instance.new("BodyGyro",part)
- bg2.P = 1000000000
- bg2.MaxTorque = Vector3.new(math.huge, 0, math.huge)
- local function move(target)
- if times == 1 then
- cooldowntime += 1
- if cooldowntime >= 300 then
- cooldowntime = 0
- dead = true
- dmg = 0
- speed = 0
- coroutine.wrap(function()
- while dead do
- task.wait()
- talkwait = true
- talkwait2 = true
- end
- end)()
- speech:Stop()
- speech2:Stop()
- wait(3)
- dead = false
- dmg = 12.5
- speed = 18
- talkwait = false
- talkwait2 = false
- end
- end
- if not dead then
- local dir = (target.Position - part.Position).unit
- local spawnPos = part.Position
- local pos = spawnPos + (dir * 1)
- bg.CFrame = CFrame.new(pos, pos + dir)
- bf2.Velocity = part.CFrame.lookVector * math.clamp((part.Position - target.Position).Magnitude,0,speed)
- else
- bf2.Velocity = Vector3.new()
- end
- end
- local function findNearestTorso(pos)
- local list = game.Workspace:GetChildren()
- local torso = nil
- local dist = 100
- local temp = nil
- local human = nil
- local temp2 = nil
- for x = 1, #list do
- temp2 = list[x]
- if (temp2.className == "Model") and (temp2 ~= model) and temp2 ~= owner.Character and not table.find(iforgor,temp2) then
- temp = temp2:findFirstChild("Head")
- human = temp2:findFirstChild("Humanoid")
- if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
- if (temp.Position - pos).magnitude < dist then
- torso = temp
- dist = (temp.Position - pos).magnitude
- end
- end
- end
- end
- return torso
- end
- coroutine.wrap(function()
- while true do
- local torso = findNearestTorso(part.Position)
- if torso~=nil then
- move(torso)
- if not talkwait2 then
- gonnaget()
- end
- else
- if not talkwait2 then
- wherego()
- end
- end
- wait()
- end
- end)()
- coroutine.wrap(function()
- while true do
- wait()
- if humfake.Health <= 0 then
- if not dead then
- dead = true
- bf2.Velocity = Vector3.new()
- for i = 1, 100 do
- wait(0.0325)
- talkwait = true
- talkwait2 = true
- speech:Stop()
- speech2:Stop()
- local tweenService = game:GetService("TweenService")
- local Flame3 = Instance.new("SpawnLocation", script)
- Flame3.Size = Vector3.new(0.35,0.35,0.35)
- Flame3.Neutral = false
- Flame3.Enabled = false
- Flame3.CFrame = part.CFrame * CFrame.new(0,1,0)
- Flame3.CanCollide = false
- Flame3.Color = Color3.fromRGB(255, 50, 50)
- Flame3.Material = "Neon"
- Flame3.Anchored = true
- Flame3.Name = "Flameslol"
- game:GetService("Debris"):AddItem(Flame3,.25)
- local timeToFade6 = .25
- local object6 = Flame3
- local tweenInfo6 = TweenInfo.new(timeToFade6)
- local goal8 = {}
- goal8.CFrame = Flame3.CFrame * CFrame.new(math.random(-.5,.5),1,math.random(-.5,.5)) * CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
- local tween8 = tweenService:Create(object6, tweenInfo6, goal8)
- tween8:Play()
- local goal9 = {}
- goal9.Color = Color3.fromRGB(255, 155, 0)
- local tween9 = tweenService:Create(object6, tweenInfo6, goal9)
- local goal10 = {}
- goal10.Transparency = .25
- local tween10 = tweenService:Create(object6, tweenInfo6, goal10)
- tween9:Play()
- tween10:Play()
- end
- model:Destroy()
- break
- end
- end
- if not dead and times == 1 then
- for i = 1, 100 do
- wait(0.0325)
- local tweenService = game:GetService("TweenService")
- local Flame3 = Instance.new("SpawnLocation", script)
- Flame3.Size = Vector3.new(0.35,0.35,0.35)
- Flame3.Neutral = false
- Flame3.Enabled = false
- Flame3.CFrame = part.CFrame * CFrame.new(0,1,0)
- Flame3.CanCollide = false
- Flame3.Transparency = 0.35
- Flame3.Color = Color3.fromRGB(250, 250, 250)
- Flame3.Material = "Neon"
- Flame3.Anchored = true
- Flame3.Name = "Flameslol"
- game:GetService("Debris"):AddItem(Flame3,.5)
- local timeToFade6 = .5
- local object6 = Flame3
- local tweenInfo6 = TweenInfo.new(timeToFade6)
- local goal8 = {}
- goal8.CFrame = Flame3.CFrame * CFrame.new(math.random(-.5,.5),3,math.random(-.5,.5)) * CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
- local tween8 = tweenService:Create(object6, tweenInfo6, goal8)
- tween8:Play()
- local goal9 = {}
- goal9.Color = Color3.fromRGB(75, 75, 75)
- local tween9 = tweenService:Create(object6, tweenInfo6, goal9)
- local goal10 = {}
- goal10.Transparency = .5
- local tween10 = tweenService:Create(object6, tweenInfo6, goal10)
- tween9:Play()
- tween10:Play()
- end
- end
- end
- end)()
- end)
- end)
Add Comment
Please, Sign In to add comment