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