flashbang

Run Settings
LanguageLua
Language Version
Run Command
local plr = owner local char = plr.Character local hum = char:FindFirstChildOfClass("Humanoid") local torso = char:FindFirstChild("Torso") or char:FindFirstChild("HumanoidRootPart") local tool = Tool0 local handle = Part1 Tool0 = Instance.new("Tool") Part1 = Instance.new("Part") SpecialMesh3 = Instance.new("SpecialMesh") Tool0.Name = "Flash Bang" Tool0.CanBeDropped = false Tool0.Parent = plr:FindFirstChild("Backpack") Part1.Name = "Handle" Part1.Parent = Tool0 Part1.Size = Vector3.new(0.7, 1.56, 0.65) Part1.BottomSurface = Enum.SurfaceType.Smooth Part1.Anchored = false Part1.CanCollide = false Part1.Material = Enum.Material.SmoothPlastic Part1.TopSurface = Enum.SurfaceType.Smooth Part1.CustomPhysicalProperties = PhysicalProperties.new(0.699999988, 1.5, 0.5, 2, 1) SpecialMesh3.Parent = Part1 SpecialMesh3.MeshId = "rbxassetid://454819719" SpecialMesh3.Scale = Vector3.new(0.002, 0.002, 0.002) SpecialMesh3.TextureId = "rbxassetid://454819722" SpecialMesh3.MeshType = Enum.MeshType.FileMesh local plr = Tool0.Parent.Parent local char = plr.Character local hum = char:FindFirstChildOfClass("Humanoid") local torso = char['Torso'] or char['UpperTorso'] local tool = Tool0 local handle = Part1 local debris = game:GetService("Debris") local tween = game:GetService("TweenService") local using = false local equipped = false local holding = false local amount = 1/0 local junk = script local hits = {1543854566,1543854764,1543854943,1543855404} local explosions = {2814354886,2814355346,2814355743,2814354338} local ls = [[ local plr = game:GetService("Players").LocalPlayer local char = plr.Character local ScreenGui0 = Instance.new("ScreenGui") ScreenGui0.DisplayOrder = 10 ScreenGui0.IgnoreGuiInset = true local Frame1 = Instance.new("Frame") ScreenGui0.Parent = script.Parent.Parent:FindFirstChildOfClass("PlayerGui") local flashed = Instance.new("Sound") flashed.Parent = ScreenGui0 flashed.Looped = true flashed.Volume = 2 flashed.SoundId = 'rbxassetid://9069161602' flashed:Play() ScreenGui0.ZIndexBehavior = Enum.ZIndexBehavior.Sibling Frame1.Parent = ScreenGui0 Frame1.Size = UDim2.new(1, 0, 1, 0) Frame1.BackgroundColor = BrickColor.new("Institutional white") Frame1.BackgroundColor3 = Color3.new(1, 1, 1) Frame1.ZIndex = 2 local power = 0 local pos = script:WaitForChild('pos').Value local t = 5 local t2 = 2 local camera = workspace.CurrentCamera local distance = pos-camera.CFrame.Position local direction = distance/distance.Magnitude power = direction:Dot(camera.CFrame.LookVector) local max_dist = 150 local multiplier = math.clamp(distance.Magnitude,0,max_dist)/max_dist multiplier = 1-multiplier if 0 > power then power = math.abs(power) t = (1-power)*(5*multiplier) t2 = (1-power)*(2*multiplier) else t = (5*multiplier) t2 = (2*multiplier) end local ViewportFrame = Instance.new("ViewportFrame", ScreenGui0) ViewportFrame.Size = UDim2.new(1, 0, 1, 0) ViewportFrame.BackgroundTransparency = 1 ViewportFrame.ImageTransparency = 0.2 local ViewportCamera = Instance.new("Camera", ViewportFrame) ViewportFrame.CurrentCamera = ViewportCamera ViewportCamera.CFrame = workspace.CurrentCamera.CFrame for i,v in pairs(workspace:GetChildren()) do if (v.ClassName == "Part" or v.ClassName == "MeshPart" or v.ClassName == "Model" or v.ClassName == "Folder") and not script:IsDescendantOf(v) and v ~= char then v.Archivable = true local vclone = v:Clone() for i,m in pairs(vclone:GetDescendants()) do if m:IsA("ScreenGui") then m:Destroy() end m.Name = ' ' end vclone.Parent = ViewportFrame if vclone:findFirstChildOfClass("Script") then vclone:findFirstChildOfClass("Script").Disabled = true end if vclone:findFirstChildOfClass("LocalScript") then vclone:findFirstChildOfClass("LocalScript").Disabled = true end end end spawn(function() wait(t2) game:GetService("TweenService"):Create(flashed,TweenInfo.new(t),{Volume = 0}):Play() game:GetService("TweenService"):Create(Frame1,TweenInfo.new(t),{BackgroundTransparency = 1}):Play() wait(t/4) game:GetService("TweenService"):Create(ViewportFrame,TweenInfo.new(t),{ImageTransparency = 1}):Play() end) game:GetService("Debris"):AddItem(ViewportFrame,t+1) game:GetService("Debris"):AddItem(ScreenGui0,t*2) ]] function play(id,par,vol,pitch,loop,starting,ending) local current = Instance.new("Sound",par) current.SoundId = "rbxassetid://" ..id current.Parent = par or script current.Volume = vol or 1 current.PlaybackSpeed = pitch or 1 current.Looped = loop or false current:Play() current.TimePosition = starting or 0 spawn(function() if ending ~= nil and tonumber(ending) then repeat wait() until current.TimePositon >= ending current:Stop() debris:AddItem(current,1) else repeat wait() until not current.IsPlaying debris:AddItem(current,1) end end) return current end function effect(par,p) local cval = Instance.new("ObjectValue") cval.Name = 'flashed' cval.Parent = par game:GetService("Debris"):AddItem(cval,0.2) for i,v in pairs(game:GetService("Players"):GetChildren()) do if v.Name == par.Name then local s = NLS(ls,v:FindFirstChild("Backpack")) local bval = Instance.new("Vector3Value") bval.Name = 'pos' bval.Value = p bval.Parent = s end end end function bang(par,pos) local Part0 = Instance.new("Part") Part0.Name = "grenade" Part0.Parent = par Part0.Position = pos Part0.Transparency = 1 Part0.Size = Vector3.new(4, 0.0500000007, 4) Part0.Anchored = true Part0.BottomSurface = Enum.SurfaceType.Smooth Part0.CanCollide = false Part0.Locked = true Part0.TopSurface = Enum.SurfaceType.Smooth play(explosions[math.random(1,#explosions)],Part0,1) local s = 150 local hitbox = Instance.new("Part",Part0) hitbox.Name = "hit box" hitbox.Size = Vector3.new(s,s,s) hitbox.CanCollide = false hitbox.Anchored = true hitbox.Transparency = 1 hitbox.Position = pos --local reg = Region3.new(hitbox.Position-hitbox.Size/2,hitbox.Position+hitbox.Size/2) --local parts = workspace:FindPartsInRegion3(reg,hitbox,1/0) --for _,obj in pairs(parts) do for i,v in pairs(game:GetService("Players"):GetPlayers()) do local targchar,tarhum,targtorso,targhead pcall(function() targchar = v.Character --obj.Parent end) pcall(function() tarhum = targchar:FindFirstChildOfClass("Humanoid") end) pcall(function() targtorso = targchar:FindFirstChild("HumanoidRootPart") or targchar:FindFirstChild("Torso") end) pcall(function() targhead = targchar:FindFirstChild("Head") end) if targchar and tarhum and tarhum.Parent and targtorso and targtorso.Parent and targhead then local p1 = pos+Vector3.new(0,1,0) local p2 = (targhead.Position-p1) local chars = {} for i,vv in pairs(workspace:GetChildren()) do local targchar2,tarhum2,targtorso2 pcall(function() targchar2 = vv --obj.Parent end) pcall(function() tarhum2 = targchar2:FindFirstChildOfClass("Humanoid") end) pcall(function() targtorso2 = targchar2:FindFirstChild("HumanoidRootPart") or targchar2:FindFirstChild("Torso") end) if targchar2 and tarhum2 and tarhum2.Parent and targtorso2 and targtorso2.Parent then table.insert(chars,targchar2) end end local params = RaycastParams.new() params.IgnoreWater = true params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = {script,Part0,targchar,unpack(chars),junk} local blocked = false local hit = workspace:Raycast( p1, p2.Unit*p2.Magnitude, params ) if hit and 0.5 > hit.Instance.Transparency then blocked = true end if not targchar:FindFirstChild("flashed") and targchar:IsA("Model") and not blocked then effect(targchar,hitbox.Position) end end end local light = Instance.new("PointLight") light.Brightness = 40 light.Range = s/2 light.Shadows = true light.Parent = Part0 game:GetService("TweenService"):Create(light,TweenInfo.new(0.25),{Brightness = 0}):Play() spawn(function() wait(0.25) debris:AddItem(Part0,5) hitbox:Destroy() end) end function throw(mpos) local pag = Instance.new("Part") pag.Parent = junk pag.CanCollide = false pag.Transparency = 1 pag.Anchored = true pag.CanCollide = false pag.CFrame = CFrame.new(handle.Position,mpos) --play('2552682980',torso,1) play('711753382',handle,1) local fake = handle:Clone() fake.Parent = junk fake.Name = "grenade" fake.CanCollide = true fake.Velocity = pag.CFrame.lookVector * 130 local hit = Instance.new("Sound") hit.SoundId = "rbxassetid://" .. tostring(hits[math.random(1,#hits)]) hit.Parent = fake hit.Volume = 1 local bouncing = false local activated = false fake.Touched:Connect(function(obj) if obj and not bouncing then bouncing = true hit.SoundId = "rbxassetid://2552417180"-- .. tostring(hits[math.random(1,#hits)]) hit:Play() spawn(function() wait(.1) bouncing = false end) if not activated then activated = true spawn(function() wait(1.5) bang(junk,fake.Position) fake:Destroy() pag:Destroy() end) end end end) end tool.Equipped:Connect(function() equipped = true end) tool.Unequipped:Connect(function() equipped = false end) local remote = script:FindFirstChild('RemoteEvent') or Instance.new("RemoteEvent") remote.Parent = plr:FindFirstChildOfClass("Backpack") remote.OnServerEvent:Connect(function(lplr,data) if plr == lplr and data then else return end if equipped and not using then using = true throw(data) amount -= 1 if 0 >= amount then tool:Destroy() end wait(0.25) using = false end end) NLS([[ local mouse = game:GetService("Players").LocalPlayer:GetMouse() local remote = script.Parent mouse.Button1Down:Connect(function() remote:FireServer(mouse.Hit.p) end) ]],remote)
Editor Settings
Theme
Key bindings
Full width
Lines