Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait()
- local Player = script.Parent.Parent
- local Char = Player.Character
- local Torso = Char.Torso
- local rs,ls,rh,lh,root,neck = Torso["Right Shoulder"],Torso["Left Shoulder"],Torso["Right Hip"],Torso["Left Hip"],Char.HumanoidRootPart.RootJoint,Torso.Neck
- local Go = false
- local On = false
- function fakeJoint(joint)
- local Part0 = joint.Part0
- joint.Part0 = nil
- local Joint = Instance.new("Motor6D",game.JointsService)
- Joint.Part0 = Part0
- Joint.Part1 = joint.Part1
- Joint.C0 = joint.C0
- Joint.C1 = joint.C1
- return Joint
- end
- function Spin()
- local Part = Instance.new("Part")
- Part.BrickColor = BrickColor.new("Bright orange")
- Part.Transparency = 0.3
- Part.Material = "Neon"
- Part.CanCollide = false
- Part.TopSurface = "Smooth"
- Part.BottomSurface = "Smooth"
- local Mesh = Instance.new("SpecialMesh",Part)
- Mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
- Mesh.MeshType = "FileMesh"
- Mesh.Scale = Vector3.new(1,1,1)
- return Part
- end
- local Tool = Instance.new("Tool",Char)
- Tool.Name = "Steel Ball"
- Tool.CanBeDropped = false
- Tool.RequiresHandle = false
- Tool.Activated:connect(function()
- if Go then return end
- Go = true
- local RS = fakeJoint(rs)
- local LS = fakeJoint(ls)
- local Body = fakeJoint(root)
- local Neck = fakeJoint(neck)
- local Ball = Instance.new("Part",Torso)
- Ball.BrickColor = BrickColor.new("Lime green")
- Ball.Material = "Marble"
- Ball.CanCollide = false
- Ball.Size = Vector3.new(1,1,1)
- Ball.TopSurface = "Smooth"
- Ball.BottomSurface = "Smooth"
- local Mesh = Instance.new("SpecialMesh",Ball)
- Mesh.MeshType = "Sphere"
- local w = Instance.new("Weld",Ball)
- w.Part0 = Char["Right Arm"]
- w.Part1 = Ball
- w.C0 = CFrame.new(0,-1.4,0)
- spawn(function()
- Ball.Touched:connect(function(Hit)
- if On then
- if Hit.Parent:findFirstChild("Humanoid") ~= nil then
- local vHuman = Hit.Parent.Humanoid
- if vHuman.Parent ~= Char and vHuman.Parent:findFirstChild(Char.Name) == nil then
- vHuman:TakeDamage(40)
- vHuman.Sit = true
- Hit.Velocity = Char.HumanoidRootPart.CFrame.lookVector * 100
- local Tag = Instance.new("ObjectValue",vHuman.Parent)
- Tag.Name = Char.Name
- spawn(function()
- repeat wait() until not On
- Tag:Destroy()
- end)
- end
- end
- end
- end)
- end)
- for i = 1,6 do wait()
- RS.C0 = RS.C0:lerp(rs.C0*CFrame.Angles(math.rad(-20),0,math.rad(-30)),0.6)
- LS.C0 = LS.C0:lerp(ls.C0*CFrame.Angles(math.rad(-20),0,math.rad(-30)),0.6)
- Body.C0 = Body.C0:lerp(root.C0*CFrame.Angles(math.rad(5),0,math.rad(-40)),0.6)
- Neck.C0 = Neck.C0:lerp(neck.C0*CFrame.Angles(0,0,math.rad(40)),0.6)
- end
- On = true
- spawn(function()
- while On do wait(0.15)
- local Spin = Spin()
- Spin.CFrame = CFrame.new(0,500000,0)*CFrame.Angles(math.rad(45),0,0) -- This is gross, sorry.
- local Vel = Instance.new("BodyVelocity",Spin)
- Vel.maxForce = Vector3.new(math.huge,math.huge,math.huge)
- Vel.velocity = Ball.Velocity
- Spin.Parent = Torso
- spawn(function()
- while Spin ~= nil do game:GetService("RunService").Heartbeat:wait(0)
- Vel.velocity = Ball.Velocity
- Spin.CFrame = CFrame.new(Ball.Position)
- end
- end)
- spawn(function()
- for i = 1,10 do wait()
- Spin.Mesh.Scale = Spin.Mesh.Scale + Vector3.new(0.25,0.25,0.25)
- Spin.Transparency = Spin.Transparency + 0.7/10
- end
- Spin:Destroy()
- end)
- end
- end)
- wait(2)
- for i = 1,6 do wait()
- RS.C0 = RS.C0:lerp(rs.C0*CFrame.Angles(0,math.rad(-60),math.rad(100)),0.6)
- LS.C0 = LS.C0:lerp(ls.C0*CFrame.Angles(0,0,math.rad(-30)),0.6)
- Body.C0 = Body.C0:lerp(root.C0*CFrame.Angles(math.rad(10),0,math.rad(60)),0.6)
- Neck.C0 = Neck.C0:lerp(neck.C0*CFrame.Angles(0,0,math.rad(-50)),0.6)
- end
- local C0 = w.C0
- for i = 1,18 do wait()
- w.C0 = w.C0:lerp(C0*CFrame.new(0,-50,0),0.125)
- end
- wait(0.1)
- for i = 1,25 do wait()
- w.C0 = w.C0:lerp(C0,0.225)
- end
- On = false
- for i = 1,6 do wait()
- RS.C0 = RS.C0:lerp(rs.C0,0.6)
- LS.C0 = LS.C0:lerp(ls.C0,0.6)
- Body.C0 = Body.C0:lerp(root.C0,0.6)
- Neck.C0 = Neck.C0:lerp(neck.C0,0.6)
- end
- Ball:Destroy()
- RS:Destroy()
- LS:Destroy()
- Body:Destroy()
- Neck:Destroy()
- rs.Part0 = Torso
- ls.Part0 = Torso
- root.Part0 = Char.HumanoidRootPart
- neck.Part0 = Torso
- wait(0.5)
- Go = false
- end)
Advertisement
Add Comment
Please, Sign In to add comment