-- Location: Players.Cronizete.Character.BODYGUARDSV2 -- Synapse Decompiler -- Purchase Here: https://brack4712.xyz/synapse/purchase --// Controls --// X = Summon a bodyguard --// M = Change Types of bodyguards (Snipers, riflers) Sniper is the default --// Q = Aim --// C = Makes all the bodyguards disappear. --// Click = Shoot (You have to aim at somebody for snipers, you don't have to for the rifles) plr = game:service'Players'.LocalPlayer char = plr.Character --// Anti double script.Name = "BODYGUARDSV2_TEMP" for _, a in pairs(char:GetDescendants()) do if a.Name == "BODYGUARDSV2" then a:Destroy() elseif a.Name == "" then a:Destroy() end end script.Name = "BODYGUARDSV2" --// Main Script head = char.Head mouse = plr:GetMouse() sam = 0 char.Archivable = true arms = nil torso = nil follow = false current = nil curfollow = nil rifleshoot = false targ, huma = nil,nil --// points point1 = Instance.new('Part', char) point1.Anchored = false point1.CanCollide = false point1.Transparency = 1 point1.Size = Vector3.new(0.2,0.2,0.2) Weld = Instance.new("Weld",game.Players.LocalPlayer.Character) Weld.Part0 = game.Players.LocalPlayer.Character["Torso"] Weld.Part1 = point1 Weld.C1 = CFrame.new(10, 0, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0) point2 = Instance.new('Part', char) point2.Anchored = false point2.CanCollide = false point2.Transparency = 1 point2.Size = Vector3.new(0.2,0.2,0.2) Weld = Instance.new("Weld",game.Players.LocalPlayer.Character) Weld.Part0 = game.Players.LocalPlayer.Character["Torso"] Weld.Part1 = point2 Weld.C1 = CFrame.new(-10, 0, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0) --// points --// Configuration max = 15 max1 = 2 maxammo = 30 mode = "Snipers" --// snipers,riflers,welds = {},{},{} skinc = { 'Rust', 'Cool yellow', 'Br. yellowish orange', 'Pastel yellow', 'CGA brown' } props = { 'HeadColor', 'LeftArmColor', 'RightArmColor', 'TorsoColor', 'RightLegColor', 'LeftLegColor' } snpr = char:Clone() snpr.Name = "" for _, a in pairs(snpr:children()) do if a:IsA'CharacterMesh' or a:IsA'Accessory' or a:IsA'Shirt' or a:IsA'Pants' then a:Destroy() end end snpr.Parent = nil bg = Instance.new("BodyGyro", snpr.HumanoidRootPart) bg.maxTorque = Vector3.new(math.huge, math.huge, math.huge) bg.Name = "FOLLOW" bg.P = 10000 bg.D = 100 sfx = Instance.new('Sound', snpr.Head) sfx.SoundId = "rbxassetid://740599871" sfx.Volume = 3 sfx2 = Instance.new('Sound', snpr) sfx2.Name = "SNIPERSOUND" sfx2.SoundId = "rbxassetid://136523485" sfx2.Volume = 3 lazor = Instance.new('Part', snpr) lazor.Name = "Laser" lazor.Anchored = true lazor.Shape = Enum.PartType.Ball lazor.Size = Vector3.new(0.3,0.3,0.3) lazor.BrickColor = BrickColor.new('Really red') lazor.Transparency = 0.4 lazor.CanCollide = false shirt = Instance.new('Shirt', snpr) shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=139465409" pants = Instance.new('Pants', snpr) pants.PantsTemplate = "http://www.roblox.com/asset/?id=139466214" ---------------------------------------------------------------- hat = Instance.new('Part', snpr) hat.Name = 'Hat' hat.Anchored = false hat.CanCollide = false mesh = Instance.new('SpecialMesh', hat) mesh.MeshId = "http://www.roblox.com/asset/?id=31152467" mesh.TextureId = "http://www.roblox.com/asset/?id=32002857" mesh.Scale = Vector3.new(1,1,1) weld = Instance.new('Weld', hat) weld.Part0 = hat weld.Part1 = snpr.Head weld.C0 = CFrame.new(0,-0.2,0) -------------------------------------------- sniper = Instance.new('Part', snpr) sniper.Anchored = false sniper.CanCollide = false sniper.Name = "Sniper" sniper.Size = Vector3.new(7.88, 1.77, 1) mesh = Instance.new('SpecialMesh', sniper) mesh.MeshId = "rbxassetid://462309398" mesh.TextureId = "rbxassetid://462309404" mesh.Scale = Vector3.new(0.006, 0.006, 0.006) weld = Instance.new('Weld', sniper) weld.Part0 = sniper weld.Part1 = snpr.Head weld.C0 = CFrame.new(-2,0.5,-0.2) * CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)) arms = {snpr:FindFirstChild("Left Arm"), snpr:FindFirstChild("Right Arm")} torso = snpr:FindFirstChild("Torso") if arms ~= nil and torso ~= nil then local sh = {torso:FindFirstChild("Left Shoulder"), torso:FindFirstChild("Right Shoulder")} if sh ~= nil then local yes = true if yes then yes = false sh[1].Part1 = nil sh[2].Part1 = nil local weld1 = Instance.new("Weld") weld1.Part0 = torso weld1.Parent = torso weld1.Part1 = arms[1] weld1.C1 = CFrame.new(-0.249, 1.35, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90)) welds[1] = weld1 local weld2 = Instance.new("Weld") weld2.Part0 = torso weld2.Parent = torso weld2.Part1 = arms[2] weld2.C1 = CFrame.new(-1, -0.2, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-15), 0) welds[2] = weld2 end end end function sniper(pos) if sam <= max - 1 then local sniper = snpr:Clone() local bodyc = sniper:FindFirstChildOfClass'BodyColors' local skincolor = skinc[math.random(1,5)] for _, a in pairs(props) do bodyc[a] = BrickColor.new(skincolor) end sniper.Parent = char sniper:MoveTo(pos) sniper.Torso.CFrame = CFrame.new(sniper.Torso.Position, head.Position) table.insert(snipers, sniper) sam = sam + 1 end end function rifler(pos) if sam <= max1 - 1 then local rifler = snpr:Clone() local bodyc = rifler:FindFirstChildOfClass'BodyColors' local skincolor = skinc[math.random(1,5)] for _, a in pairs(props) do bodyc[a] = BrickColor.new(skincolor) end for _, a in pairs(rifler:GetDescendants()) do if a:IsA'BodyGyro' then a:Destroy() end end rifler.Parent = char rifler:MoveTo(pos) rifler.Torso.CFrame = CFrame.new(rifler.Torso.Position, head.Position) rifler:FindFirstChild'SNIPERSOUND'.Pitch = 1.2 rifle = rifler:FindFirstChild'Sniper' rifle.Name = "Rifle" rifle:FindFirstChildOfClass'SpecialMesh'.TextureId = "rbxassetid://546505949" rifle:FindFirstChildOfClass'SpecialMesh'.MeshId = "rbxassetid://546505802" rifle:FindFirstChildOfClass'SpecialMesh'.Scale = Vector3.new(0.2, 0.2, 0.2) rifle:FindFirstChildOfClass'Weld'.C0 = CFrame.new(-.4,.6,1.6) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) table.insert(riflers, rifler) sam = sam + 1 end end function ray(a,b) local ray = Ray.new(a.CFrame.p, (b - a.CFrame.p).unit * 700) local part, position = workspace:FindPartOnRay(ray, char, false, true) local beam = Instance.new("Part", workspace) beam.FormFactor = "Custom" beam.Material = "Plastic" beam.Transparency = 0.25 beam.Anchored = true beam.Locked = true beam.CanCollide = false beam.BrickColor = BrickColor.new('Really black') local distance = (a.CFrame.p - position).magnitude beam.Size = Vector3.new(0.08, 0.08, distance) beam.CFrame = CFrame.new(a.CFrame.p, position) * CFrame.new(0, 0, -distance / 2) game:GetService('Debris'):AddItem(beam, 0.1) end mouse.KeyDown:connect(function(k) local key = k:lower() if key == "x" then follow = false if mode == "Snipers" then sniper(mouse.Hit.p) elseif mode == "Riflers" then rifler(mouse.Hit.p) end wait(.3) if curfollow then follow = true elseif not curfollow then follow = false end elseif key == "c" then for _, a in pairs(char:children()) do if a.Name == "" then for i = 1,10 do a:FindFirstChild'HumanoidRootPart'.CFrame = a:FindFirstChild'HumanoidRootPart'.CFrame * CFrame.new(0,-i + 0.8,0) wait() end wait(.15) a:Destroy() sam = sam - 1 end end elseif key == "m" then if mode == "Snipers" then mode = "Riflers" elseif mode == "Riflers" then mode = "Snipers" end elseif key == "q" then if not follow then follow = true curfollow = true on = false for i = 1, sam / 2 do wait(.6) local now ypcall(function() if mode == "Snipers" then now = snipers[math.random(1,#snipers)] elseif mode == "Riflers" then now = riflers[math.random(1,#riflers)] end end) for _, a in pairs(riflers) do bg = Instance.new("BodyGyro", a.HumanoidRootPart) bg.maxTorque = Vector3.new(math.huge, math.huge, math.huge) bg.Name = "FOLLOW" bg.P = 10000 bg.D = 100 end now.Head.Sound:Resume() current = now.Head.Sound.SoundId end elseif follow then for _, a in pairs(riflers) do for _, b in pairs(a:GetDescendants()) do if b:IsA'BodyGyro' then b:Destroy() end end end follow = false curfollow = false end end end) mouse.Button1Down:connect(function() if follow and mode ~= "Riflers" and mouse.Target and mouse.Target.Parent and mouse.Target.Parent:FindFirstChildOfClass'Humanoid' then follow = false local targ = mouse.Target huma = targ.Parent:FindFirstChildOfClass'Humanoid' for _, a in pairs(targ.Parent:children()) do if a:IsA'ForceField' then a:Destroy() end end huma.MaxHealth = 100 huma.Name = "Humanoid" if mode == "Snipers" then for _, a in pairs(snipers) do if a:FindFirstChild'HumanoidRootPart' then wait(.2) rootpart = a.HumanoidRootPart snd = rootpart.Parent:FindFirstChild'SNIPERSOUND' snd:Play() ray(a:FindFirstChild'Sniper',targ.Parent.Head.Position) huma:TakeDamage(huma.MaxHealth/2/2/2) end end follow = true end end end) mouse.Button1Down:connect(function() if mode == "Riflers" then rifleshoot = true end end) mouse.Button1Up:connect(function() if mode == "Riflers" then rifleshoot = false end end) while wait() do ypcall(function() riflers[1]:FindFirstChildOfClass'Humanoid':MoveTo(point1.Position) riflers[2]:FindFirstChildOfClass'Humanoid':MoveTo(point2.Position) end) if follow then if mode == "Snipers" then for _, a in pairs(snipers) do if a:FindFirstChild'HumanoidRootPart' then rootpart = a.HumanoidRootPart rootpart.FOLLOW.CFrame = CFrame.new(rootpart.Position, mouse.Hit.p * Vector3.new(1,0,1) + rootpart.Position * Vector3.new(0,1,0)) rootpart.Parent:WaitForChild'Laser'.CFrame = mouse.Hit end end elseif mode == "Riflers" then for _, a in pairs(riflers) do if a:FindFirstChild'HumanoidRootPart' then rootpart = a.HumanoidRootPart ypcall(function() rootpart.FOLLOW.CFrame = CFrame.new(rootpart.Position, mouse.Hit.p * Vector3.new(1,0,1) + rootpart.Position * Vector3.new(0,1,0)) end) rootpart.Parent:WaitForChild'Laser'.CFrame = mouse.Hit end end end end if rifleshoot and follow and mouse.Target and mouse.Target.Parent then local targ = mouse.Target local huma = nil if targ.Parent:FindFirstChildOfClass'Humanoid' then huma = targ.Parent:FindFirstChildOfClass'Humanoid' else huma = nil end if huma ~= nil then for _, a in pairs(riflers) do if a:FindFirstChild'HumanoidRootPart' and huma.Health ~= 0 then wait(.02) rootpart = a.HumanoidRootPart snd = rootpart.Parent:FindFirstChild'SNIPERSOUND' snd.Pitch = 80 snd:Resume() ray(a:FindFirstChild'Rifle',targ.Parent.Head.Position) huma:TakeDamage(huma.MaxHealth/2/2/2/2/2) end end else for _, a in pairs(riflers) do snd = rootpart.Parent:FindFirstChild'SNIPERSOUND' snd.Pitch = 80 snd:Resume() ray(a:FindFirstChild'Rifle',mouse.Hit.p) end end end end