Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tool = Instance.new("Tool",owner.Backpack)
- tool.Grip = CFrame.Angles(0,math.rad(-90),math.rad(-90)) * CFrame.new(0,-0.5,-0.5)
- local part = Instance.new("Part",tool)
- part.Name = "Handle"
- part.Size = Vector3.new(4.438, 0.722, 1.333)
- local light = Instance.new("PointLight",part)
- light.Shadows = true
- light.Brightness = 4
- light.Color = Color3.fromRGB(255, 50, 50)
- light.Range = 7
- local m = Instance.new("SpecialMesh",part)
- m.MeshId = "rbxassetid://8100732694"
- part.Color = Color3.fromRGB(136, 101, 101)
- local loop = Instance.new("Sound",part)
- loop.Looped = true
- loop.SoundId = "rbxassetid://7091804797"
- loop:Play()
- loop:Pause()
- local s = Instance.new("Sound")
- s.Volume = 1
- s.PlayOnRemove = true
- s.SoundId = "rbxassetid://174915286"
- local tab = {"7007963665","7007957247","7007954282"}
- local force = 0
- tool.Equipped:Connect(function()
- loop:Resume()
- end)
- tool.Unequipped:Connect(function()
- loop:Pause()
- end)
- tool.Activated:Connect(function()
- force = 0.05
- end)
- tool.Deactivated:Connect(function()
- s.Parent = part
- s.Pitch = 1 + math.random(-200,200)/250
- s.Parent = nil
- local a = Instance.new("Part")
- a.CFrame = part.CFrame * CFrame.new(part.Size.x * 0.65,0,0.5)
- a.Position = a.Position + owner.Character.Head.Velocity * owner:GetNetworkPing()
- a.Size = Vector3.new(1, 1, 1) * 3
- a.Transparency = 0.15
- a.Shape = "Ball"
- local light = Instance.new("PointLight",a)
- light.Shadows = true
- light.Brightness = 1.5
- light.Color = Color3.fromRGB(222, 240, 250)
- light.Range = 7
- local density = 1
- local friction = 0
- local elasticity = 10
- local frictionWeight = 10000
- local elasticityWeight = 10000000000
- local physProperties = PhysicalProperties.new(density, friction, elasticity, frictionWeight, elasticityWeight)
- a.CustomPhysicalProperties = physProperties
- local rand = math.random(1,#tab)
- local sound = Instance.new("Sound",a)
- sound.SoundId = "rbxassetid://"..tab[rand]
- sound.Volume = 2
- local sound2 = Instance.new("Sound",a)
- sound2.PlayOnRemove = true
- sound2.SoundId = "rbxassetid://243702774"
- local m = Instance.new("SpecialMesh",a)
- m.MeshId = "rbxassetid://9905760611"
- m.TextureId = "rbxassetid://9905764784"
- m.Scale = Vector3.new(3,3,3)
- local a2 = Instance.new("Part",a)
- a2.Massless = true
- a2.Size = Vector3.new()
- a2.Transparency = 0.15
- local w = Instance.new("Weld",a)
- w.Part0 = a2
- w.Part1 = a
- w.C0 = CFrame.new(0,0,0.5)
- local m = Instance.new("SpecialMesh",a2)
- m.MeshId = "rbxassetid://9905774749"
- m.TextureId = "rbxassetid://9905778219"
- m.Scale = Vector3.new(3,3,3)
- local a3 = Instance.new("Part",a)
- a3.Massless = true
- a3.Size = Vector3.new()
- a3.Transparency = 0.02
- local w = Instance.new("Weld",a)
- w.Part0 = a3
- w.Part1 = a
- w.C1 = CFrame.new(0,0,0.5)
- w.C0 = CFrame.Angles(math.rad(90),0,0)
- local m = Instance.new("SpecialMesh",a3)
- m.MeshId = "rbxassetid://9905794909"
- m.TextureId = "rbxassetid://9905795492"
- m.Scale = Vector3.new(3,3,3)
- local rnd = Random.new()
- a.Parent = script
- a:SetNetworkOwner(owner)
- a2:SetNetworkOwner(owner)
- a3:SetNetworkOwner(owner)
- a.Velocity = a.Velocity + owner.Character.Head.CFrame.lookVector * (100 * force) + Vector3.new(0,a:GetMass() * 2,0)
- a.RotVelocity = Vector3.new(rnd:NextNumber(-20, 20), rnd:NextNumber(-20, 20), rnd:NextNumber(-20, 20))
- task.wait(0.05)
- force = 0
- sound:Play()
- coroutine.wrap(function()
- task.wait(0.05)
- local bounces = 0
- local db = false
- a.Touched:Connect(function(wha)
- if not db then
- db = true
- coroutine.wrap(function()
- task.wait(0.05)
- db = false
- end)()
- bounces += 1
- if bounces == 5 then
- if not (wha:FindFirstAncestorWhichIsA("Model") and wha:FindFirstAncestorWhichIsA("Model") == owner.Character) and wha.Parent ~= script then
- a.Anchored = true
- a.Transparency = 1
- a2.Transparency = 1
- a3.Transparency = 1
- local attach = Instance.new("Attachment",workspace.Terrain)
- attach.WorldPosition = a.Position
- local boom2 = Instance.new("ParticleEmitter",attach)
- boom2.ZOffset = -10
- boom2.LightEmission = 0
- boom2.LightInfluence = 1
- boom2.Drag = 0.5
- boom2.Enabled = false
- boom2.Lifetime = NumberRange.new(1 * 0.5, 1.05 * 0.5)
- boom2.Rate = 1000
- boom2.RotSpeed = NumberRange.new(500,500)
- boom2.Rotation = NumberRange.new(100,100)
- boom2.SpreadAngle = Vector2.new(360,360)
- boom2.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0, 0.587), NumberSequenceKeypoint.new(0.703, 0.563), NumberSequenceKeypoint.new(1, 1)}
- boom2.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 0, 0)), ColorSequenceKeypoint.new(0.499, Color3.fromRGB(138, 138, 138)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 0, 0))}
- boom2.Texture = "rbxassetid://284205403"
- boom2.Speed = NumberRange.new(15 * 0.5,35 * 0.5)
- boom2.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 4.973 * 0.125), NumberSequenceKeypoint.new(0.502, 10 * 0.125), NumberSequenceKeypoint.new(0.921, 2.787 * 0.125), NumberSequenceKeypoint.new(1, 0.125 * 0.125)}
- local boom = Instance.new("ParticleEmitter",attach)
- boom.LightEmission = 1
- boom.LightInfluence = 1
- boom.Drag = 2
- boom.Enabled = false
- boom.Lifetime = NumberRange.new(0.875 * 0.5, 0.9 * 0.5)
- boom.Rate = 1000
- boom.RotSpeed = NumberRange.new(100,100)
- boom.Rotation = NumberRange.new(100,100)
- boom.SpreadAngle = Vector2.new(5000,5000)
- boom.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.8,0),NumberSequenceKeypoint.new(1,0)})
- boom.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(153, 69, 20)), ColorSequenceKeypoint.new(0.499, Color3.fromRGB(204, 106, 41)), ColorSequenceKeypoint.new(1, Color3.fromRGB(22, 22, 22))}
- boom.Texture = "rbxassetid://284205403"
- boom.Speed = NumberRange.new(15 * 0.5,25 * 0.5)
- boom.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 4.098 * 0.125), NumberSequenceKeypoint.new(0.491, 8.033 * 0.125), NumberSequenceKeypoint.new(0.914, 2.186 * 0.125), NumberSequenceKeypoint.new(1, 0.5 * 0.125)}
- local boom3 = Instance.new("ParticleEmitter",attach)
- boom3.LightEmission = 0.5
- boom3.LightInfluence = 1
- boom3.Drag = 1
- boom3.Enabled = false
- boom3.Lifetime = NumberRange.new(1.075 * 0.5, 1.1 * 0.5)
- boom3.Rate = 1000
- boom3.RotSpeed = NumberRange.new(100,100)
- boom3.Rotation = NumberRange.new(100,100)
- boom3.SpreadAngle = Vector2.new(5000,5000)
- boom3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.8,0),NumberSequenceKeypoint.new(1,0)})
- boom3.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(153, 69, 20)), ColorSequenceKeypoint.new(0.499, Color3.fromRGB(204, 106, 41)), ColorSequenceKeypoint.new(1, Color3.fromRGB(22, 22, 22))}
- boom3.Texture = "rbxassetid://284205403"
- boom3.Speed = NumberRange.new(15 * 0.5,25 * 0.5)
- boom3.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 6.175 * 0.125), NumberSequenceKeypoint.new(0.494, 10 * 0.125), NumberSequenceKeypoint.new(0.916, 3.443 * 0.125), NumberSequenceKeypoint.new(1, 0.5 * 0.125)}
- boom3:Emit(300)
- boom:Emit(300)
- boom2:Emit(300)
- local explod = Instance.new("Explosion",workspace)
- explod.BlastRadius = 15
- explod.DestroyJointRadiusPercent = 0
- explod.BlastPressure = 700000
- explod.Visible = false
- explod.Position = a.Position
- local modelsHit = {}
- explod.Hit:Connect(function(whatp, distance)
- local parentModel = whatp.Parent
- if parentModel then
- if modelsHit[parentModel] then
- return
- end
- modelsHit[parentModel] = true
- local humanoid = parentModel:FindFirstChild("Humanoid")
- if humanoid then
- humanoid.Sit = true
- end
- end
- end)
- a:Destroy()
- end
- elseif wha:FindFirstAncestorWhichIsA("Model") and wha:FindFirstAncestorWhichIsA("Model"):FindFirstChildWhichIsA("Humanoid") and wha:FindFirstAncestorWhichIsA("Model") ~= owner.Character then
- a.Anchored = true
- a.Transparency = 1
- a2.Transparency = 1
- a3.Transparency = 1
- local attach = Instance.new("Attachment",workspace.Terrain)
- attach.WorldPosition = wha.Position
- local boom2 = Instance.new("ParticleEmitter",attach)
- boom2.ZOffset = -10
- boom2.LightEmission = 0
- boom2.LightInfluence = 1
- boom2.Drag = 0.5
- boom2.Enabled = false
- boom2.Lifetime = NumberRange.new(1 * 0.5, 1.05 * 0.5)
- boom2.Rate = 1000
- boom2.RotSpeed = NumberRange.new(500,500)
- boom2.Rotation = NumberRange.new(100,100)
- boom2.SpreadAngle = Vector2.new(360,360)
- boom2.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0, 0.587), NumberSequenceKeypoint.new(0.703, 0.563), NumberSequenceKeypoint.new(1, 1)}
- boom2.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 0, 0)), ColorSequenceKeypoint.new(0.499, Color3.fromRGB(138, 138, 138)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 0, 0))}
- boom2.Texture = "rbxassetid://284205403"
- boom2.Speed = NumberRange.new(15 * 0.5,35 * 0.5)
- boom2.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 4.973 * 0.125), NumberSequenceKeypoint.new(0.502, 10 * 0.125), NumberSequenceKeypoint.new(0.921, 2.787 * 0.125), NumberSequenceKeypoint.new(1, 0.125 * 0.125)}
- local boom = Instance.new("ParticleEmitter",attach)
- boom.LightEmission = 1
- boom.LightInfluence = 1
- boom.Drag = 2
- boom.Enabled = false
- boom.Lifetime = NumberRange.new(0.875 * 0.5, 0.9 * 0.5)
- boom.Rate = 1000
- boom.RotSpeed = NumberRange.new(100,100)
- boom.Rotation = NumberRange.new(100,100)
- boom.SpreadAngle = Vector2.new(5000,5000)
- boom.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.8,0),NumberSequenceKeypoint.new(1,0)})
- boom.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(153, 69, 20)), ColorSequenceKeypoint.new(0.499, Color3.fromRGB(204, 106, 41)), ColorSequenceKeypoint.new(1, Color3.fromRGB(22, 22, 22))}
- boom.Texture = "rbxassetid://284205403"
- boom.Speed = NumberRange.new(15 * 0.5,25 * 0.5)
- boom.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 4.098 * 0.125), NumberSequenceKeypoint.new(0.491, 8.033 * 0.125), NumberSequenceKeypoint.new(0.914, 2.186 * 0.125), NumberSequenceKeypoint.new(1, 0.5 * 0.125)}
- local boom3 = Instance.new("ParticleEmitter",attach)
- boom3.LightEmission = 0.5
- boom3.LightInfluence = 1
- boom3.Drag = 1
- boom3.Enabled = false
- boom3.Lifetime = NumberRange.new(1.075 * 0.5, 1.1 * 0.5)
- boom3.Rate = 1000
- boom3.RotSpeed = NumberRange.new(100,100)
- boom3.Rotation = NumberRange.new(100,100)
- boom3.SpreadAngle = Vector2.new(5000,5000)
- boom3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.8,0),NumberSequenceKeypoint.new(1,0)})
- boom3.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(153, 69, 20)), ColorSequenceKeypoint.new(0.499, Color3.fromRGB(204, 106, 41)), ColorSequenceKeypoint.new(1, Color3.fromRGB(22, 22, 22))}
- boom3.Texture = "rbxassetid://284205403"
- boom3.Speed = NumberRange.new(15 * 0.5,25 * 0.5)
- boom3.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 6.175 * 0.125), NumberSequenceKeypoint.new(0.494, 10 * 0.125), NumberSequenceKeypoint.new(0.916, 3.443 * 0.125), NumberSequenceKeypoint.new(1, 0.5 * 0.125)}
- boom3:Emit(300)
- boom:Emit(300)
- boom2:Emit(300)
- local explod = Instance.new("Explosion",workspace)
- explod.BlastRadius = 15
- explod.DestroyJointRadiusPercent = 0
- explod.BlastPressure = 700000
- explod.Visible = false
- explod.Position = a.Position
- local modelsHit = {}
- explod.Hit:Connect(function(whatp, distance)
- local parentModel = whatp.Parent
- if parentModel then
- if modelsHit[parentModel] then
- return
- end
- modelsHit[parentModel] = true
- local humanoid = parentModel:FindFirstChild("Humanoid")
- if humanoid then
- humanoid.Sit = true
- end
- end
- end)
- a:Destroy()
- end
- end
- end)
- end)()
- end)
- while task.wait() do
- if (tool.Parent ~= owner.Character and tool.Parent ~= owner.Backpack) then
- tool.Parent = owner.Character
- end
- if force > 0 then
- force = math.clamp(force + 0.1,0,3)
- local rand = (Random.new():NextNumber(-0.5,0.5)*math.sin(45*tick()))
- local rand2 = (Random.new():NextNumber(-0.5,0.5)*math.sin(45*tick()))
- local rand3 = (Random.new():NextNumber(-0.5,0.5)*math.sin(45*tick()))
- tool.Grip = CFrame.Angles(0,math.rad(-90),math.rad(-90)) * CFrame.new(0,-0.5,-0.5) * CFrame.Angles(math.rad(rand2 * force),math.rad(rand * force),math.rad(rand3 * force))
- else
- local rand = (Random.new():NextNumber(-0.5,0.5)*math.sin(45*tick()))
- local rand2 = (Random.new():NextNumber(-0.5,0.5)*math.sin(45*tick()))
- local rand3 = (Random.new():NextNumber(-0.5,0.5)*math.sin(45*tick()))
- tool.Grip = CFrame.Angles(0,math.rad(-90),math.rad(-90)) * CFrame.new(0,-0.5,-0.5) * CFrame.Angles(math.rad(rand2 * 1),math.rad(rand * 1),math.rad(rand3 * 1))
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement