The minos cannon

Run Settings
LanguageLua
Language Version
Run Command
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
Editor Settings
Theme
Key bindings
Full width
Lines