Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- game:GetService("Chat").BubbleChatEnabled = true
- tool = Instance.new("Tool",owner.Backpack)
- Instance.new("RemoteEvent",tool)
- part = Instance.new("Part",tool)
- part.Name = "Handle"
- part.Size = Vector3.new(4,4,4)
- part.Transparency = 1
- force = 200
- local PartA = Instance.new("Part")
- PartA.Transparency = 1
- PartA.CanCollide = false
- local SA = Instance.new("Sound",PartA)
- SA.SoundId = "rbxasset://sounds/bass.mp3"
- SA.PlayOnRemove = true
- SA.TimePosition = 0.2
- local PartB = Instance.new("Part")
- PartB.Transparency = 1
- PartB.CanCollide = false
- local SB = Instance.new("Sound",PartB)
- SB.SoundId = "rbxasset://sounds/electronicpingshort.wav"
- SB.PlayOnRemove = true
- SB.TimePosition = 0.2
- local PartC = Instance.new("Part")
- PartC.Transparency = 1
- PartC.CanCollide = false
- local SC = Instance.new("Sound",PartC)
- SC.SoundId = "rbxasset://sounds/snap.mp3"
- SC.PlayOnRemove = true
- SC.TimePosition = 0.2
- PartA.Anchored = true
- PartB.Anchored = true
- PartC.Anchored = true
- local VisCount = 0
- function HitEffect(Pos,Type)
- spawn(function()
- VisCount = VisCount + 1
- local P = Instance.new("Part",script)
- P.Name = "HitEffect"
- P.Material = Enum.Material.Neon
- P.Position = Pos
- P.Anchored = true
- P.Locked = true
- P.CanCollide = false
- if Type == 1 then
- P.BrickColor = BrickColor.new("Neon orange")
- elseif Type == 2 then
- P.BrickColor = BrickColor.new("Really red")
- else
- P.BrickColor = BrickColor.new("Cyan")
- end
- local S = {}
- if VisCount < 5 then
- P.Size = Vector3.new(0.5,0.5,0.5)*math.max(1,Type)
- P.Shape = Enum.PartType.Ball
- for i = 1,4 do
- local SE = Instance.new("Part",script)
- SE.Name = "HitOutEffect"
- SE.Size = Vector3.new(0.5,0.5,0.05)*math.max(1,Type)
- SE.Material = Enum.Material.Neon
- SE.Position = Pos
- SE.Orientation = Vector3.new(math.random(0,360),math.random(0,360),math.random(0,360))
- SE.Anchored = true
- SE.Locked = true
- SE.CanCollide = false
- if Type == 1 then
- SE.BrickColor = BrickColor.new("Bright red")
- elseif Type == 2 then
- SE.BrickColor = BrickColor.new("New Yeller")
- else
- SE.BrickColor = BrickColor.new("Bright blue")
- end
- table.insert(S,SE)
- end
- for i = 1,3*math.max(1,Type) do
- P.Size = P.Size + Vector3.new(0.5,0.5,0.5)*math.max(1,Type)
- for i = 1,#S do
- S[i].CFrame = S[i].CFrame*CFrame.new(0,0,0.5*math.max(1,Type))
- S[i].Size = S[i].Size+Vector3.new(0,0,0.5)
- end
- wait(0.05)
- end
- for i = 1,2*math.max(1,Type) do
- P.Transparency = P.Transparency + 0.5/math.max(1,Type)
- for i = 1,#S do
- S[i].CFrame = S[i].CFrame*CFrame.new(0,0,0.25*math.max(1,Type))
- S[i].Size = S[i].Size-Vector3.new(0,0,0.5)
- end
- wait(0.05)
- end
- else
- P.Size = Vector3.new(2.5,2.5,2.5)*math.max(1,Type)
- P.Orientation = Vector3.new(math.random(0,360),math.random(0,360),math.random(0,360))
- wait(0.05*Type)
- P.Transparency = 0.3
- P.Orientation = Vector3.new(math.random(0,360),math.random(0,360),math.random(0,360))
- if Type == 1 then
- P.BrickColor = BrickColor.new("Bright red")
- elseif Type == 2 then
- P.BrickColor = BrickColor.new("New Yeller")
- else
- P.BrickColor = BrickColor.new("Bright blue")
- end
- wait(0.05*Type)
- P.Transparency = 0.6
- P.Orientation = Vector3.new(math.random(0,360),math.random(0,360),math.random(0,360))
- if Type == 1 then
- P.BrickColor = BrickColor.new("Neon orange")
- elseif Type == 2 then
- P.BrickColor = BrickColor.new("Really red")
- else
- P.BrickColor = BrickColor.new("Cyan")
- end
- wait(0.05*Type)
- end
- VisCount = VisCount - 1
- P:Destroy()
- for i = 1,#S do
- S[i]:Destroy()
- end
- end)
- end
- local SoundCount = 0
- function PlayFX(type,pitch,vol,pos)
- if SoundCount < 30 then
- local waiter = 0
- local Part,Sound
- if type == "A" then
- Part,Sound,waiter = PartA,SA,1
- elseif type == "B" then
- Part,Sound,waiter = PartB,SB,0.7
- elseif type == "C" then
- Part,Sound,waiter = PartC,SC,0.4
- end
- Sound.PlaybackSpeed = pitch
- Sound.Volume = vol
- Part.Position = pos
- Part.Parent = script
- Part.Parent = nil
- SoundCount = SoundCount + 1
- delay(waiter/pitch,function()
- SoundCount = SoundCount - 1
- end)
- end
- end
- function Fall(pos)
- spawn(function()
- for i = 1,5 do
- local pos = pos.Position
- PlayFX("B",3,i*0.3,pos)
- wait(0.05)
- end
- for i = 1,20 do
- local pos = pos.Position
- PlayFX("B",3-i*0.025,2-i*0.075,pos)
- wait(0.05)
- end
- end)
- end
- function Snap(pos)
- PlayFX("C",2,1,pos)
- end
- function yotone()
- local rightarm = Instance.new("Weld", owner.Character.Torso)
- rightarm.Part0 = owner.Character.Torso
- rightarm.Part1 = owner.Character["Right Arm"]
- rightarm.C0 = CFrame.new(1.5, 0.5, -0.5) * CFrame.Angles(math.rad(90),0,0)
- rightarm.Name = "RightArmWeld"
- local tweenService = game:GetService("TweenService")
- local timeToFade = 0.175
- local object = rightarm
- local tweenInfo = TweenInfo.new(timeToFade)
- local goal = {}
- goal.C0 = CFrame.new(0.5, 0.5, -1) * CFrame.Angles(math.rad(90),0,0) * CFrame.Angles(0,0,math.rad(-75))
- local tween = tweenService:Create(object, tweenInfo, goal)
- tween:Play()
- tween.Completed:Wait()
- local tweenService = game:GetService("TweenService")
- local timeToFade = 0.25
- local object = rightarm
- local tweenInfo = TweenInfo.new(timeToFade)
- local goal = {}
- goal.C0 = CFrame.new(2, 0.5, -1.5) * CFrame.Angles(math.rad(90),0,0) * CFrame.Angles(0,0,math.rad(35))
- local tween = tweenService:Create(object, tweenInfo, goal)
- tween:Play()
- canattack = true
- tween.Completed:Wait()
- canattack = false
- local tweenService = game:GetService("TweenService")
- local timeToFade = 0.175
- local object = rightarm
- local tweenInfo = TweenInfo.new(timeToFade)
- local goal = {}
- goal.C0 = CFrame.new(1.5, 0.5, -0.5) * CFrame.Angles(math.rad(90),0,0)
- local tween = tweenService:Create(object, tweenInfo, goal)
- tween:Play()
- tween.Completed:Wait()
- rightarm:Destroy()
- end
- canattack = false
- tool.Activated:Connect(function()
- game:GetService("Chat"):Chat(tool.Parent.Head, "watch yo tone", "White")
- yotone()
- end)
- function kill(Character)
- coroutine.wrap(function()
- pcall(function()
- if not Character:findFirstChild("UpperTorso") then
- for i,v in pairs(Character:GetDescendants()) do
- if v:IsA("Motor6D") then
- v:Destroy()
- end
- end
- local Socket = Instance.new("BallSocketConstraint")
- local a1 = Instance.new("Attachment")
- local a2 = Instance.new("Attachment")
- a1.Parent = Character["Left Arm"]
- a2.Parent = Character.Torso
- Socket.Parent = Character["Left Arm"]
- Socket.Attachment0 = a1
- Socket.Attachment1 = a2
- a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
- a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(-1.5,0.5,0)
- Socket.LimitsEnabled = true
- local Socket = Instance.new("BallSocketConstraint")
- local a1 = Instance.new("Attachment")
- local a2 = Instance.new("Attachment")
- a1.Parent = Character["Left Leg"]
- a2.Parent = Character.Torso
- Socket.Parent = Character["Left Leg"]
- Socket.Attachment0 = a1
- Socket.Attachment1 = a2
- a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
- a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(-0.5,-1.5,0)
- Socket.LimitsEnabled = true
- local Socket = Instance.new("BallSocketConstraint")
- local a1 = Instance.new("Attachment")
- local a2 = Instance.new("Attachment")
- a1.Parent = Character["Right Leg"]
- a2.Parent = Character.Torso
- Socket.Parent = Character["Right Leg"]
- Socket.Attachment0 = a1
- Socket.Attachment1 = a2
- Socket.LimitsEnabled = true
- a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
- a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(0.5,-1.5,0)
- local Socket = Instance.new("BallSocketConstraint")
- local a1 = Instance.new("Attachment")
- local a2 = Instance.new("Attachment")
- a1.Parent = Character.HumanoidRootPart
- a2.Parent = Character.Torso
- Socket.Parent = Character.HumanoidRootPart
- Socket.Attachment0 = a1
- Socket.Attachment1 = a2
- a1.WorldCFrame = a1.Parent.CFrame
- a2.WorldCFrame = a1.Parent.CFrame
- Socket.LimitsEnabled = true
- local Socket = Instance.new("BallSocketConstraint")
- local a1 = Instance.new("Attachment")
- local a2 = Instance.new("Attachment")
- a1.Parent = Character.Head
- a2.Parent = Character.Torso
- Socket.Parent = Character.Head
- Socket.Attachment0 = a1
- Socket.Attachment1 = a2
- a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,-0.5,0)
- a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(0,1.0625,0)
- Socket.TwistLimitsEnabled = true
- Socket.LimitsEnabled = true
- local Socket = Instance.new("BallSocketConstraint")
- local a1 = Instance.new("Attachment")
- local a2 = Instance.new("Attachment")
- a1.Parent = Character["Right Arm"]
- a2.Parent = Character.Torso
- Socket.Parent = Character["Right Arm"]
- Socket.Attachment0 = a1
- Socket.Attachment1 = a2
- a1.WorldCFrame = a1.Parent.CFrame * CFrame.new(0,0.5,0)
- a2.WorldCFrame = a2.Parent.CFrame * CFrame.new(1.5,0.5,0)
- Socket.LimitsEnabled = true
- else
- for i,v in pairs(Character:GetDescendants()) do
- if v:IsA("Motor6D") then
- local Socket = Instance.new("BallSocketConstraint")
- local a1 = Instance.new("Attachment")
- local a2 = Instance.new("Attachment")
- a1.Parent = v.Part0
- a2.Parent = v.Part1
- Socket.Parent = v.Parent
- Socket.Attachment0 = a1
- Socket.Attachment1 = a2
- a1.CFrame = v.C0
- a2.CFrame = v.C1
- Socket.LimitsEnabled = true
- Socket.TwistLimitsEnabled = true
- v:Destroy()
- end
- end
- end
- end)
- end)()
- end
- part.Touched:Connect(function(hit)
- if canattack then
- if hit.Parent ~= owner.Character then
- local pos = part.CFrame * CFrame.new(0,0,-2)
- HitEffect(pos.Position,2)
- Fall(hit)
- Snap(hit.Position)
- if hit.Parent:FindFirstChildWhichIsA("Humanoid") then
- canattack = false
- hit.Parent:FindFirstChildWhichIsA("Humanoid").BreakJointsOnDeath = false
- local hum = hit.Parent:FindFirstChildWhichIsA("Humanoid")
- kill(hit.Parent)
- wait()
- coroutine.wrap(function()
- for i = 1, 10 do
- pcall(function()
- wait(0.1)
- hum.Health = 0
- end)
- end
- end)()
- local bf2 = Instance.new("BodyVelocity",hit.Parent:FindFirstChildWhichIsA("Part") )
- bf2.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- bf2.Velocity = owner.Character.Head.CFrame.lookVector * force + owner.Character.Head.CFrame.upVector * force
- game:GetService("Debris"):AddItem(bf2,0.1)
- else
- hit:ApplyImpulse(owner.Character.Head.CFrame.lookVector * hit:GetMass() * force + owner.Character.Head.CFrame.upVector * hit:GetMass() * force)
- end
- end
- end
- end)
Add Comment
Please, Sign In to add comment