local Scale = game.Players.LocalPlayer.Character.Torso.Size.X/2*(game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted") ~= nil and game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted").Scale.Z or 1)*0.8 local Speed = 20*Scale local Gravity = 0.1 local Player = game.Players.LocalPlayer local Character = Player.Character local Humanoid = Character.Humanoid Humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll,false) local Torso = Character.HumanoidRootPart local Mouse = game.Players.LocalPlayer:GetMouse() local RenderStepped = game:GetService("RunService").RenderStepped local Camera = Workspace.CurrentCamera Camera:ClearAllChildren() local Model = Instance.new("Model",Character) local IgnoreList = {Character,Workspace.Terrain} local Part0Joint = CFrame.new(Vector3.new(1,0.75,0)*Scale*1.25) local Part1Joint = CFrame.new(Vector3.new(-0.5,0.75,0)*Scale*1.25) local RotationOffset = CFrame.Angles(math.rad(90),math.rad(0),0) local Gangster = false local Part0JointHead = CFrame.new(Vector3.new(0,1,0)*Scale*1.25) local Part1JointHead = CFrame.new(Vector3.new(0,-0.5,0)*Scale*1.25) local RotationOffsetHead = CFrame.Angles(0,0,0) local Handle = Instance.new("Part",Model) Handle.CanCollide = false Handle.Name = "Handle" Handle.Position = Vector3.new(0,100,0) Handle:BreakJoints() Handle.FormFactor = "Custom" Handle.Size = Vector3.new(0.2,0.2,0.2) Handle.TopSurface = "SmoothNoOutlines" Handle.BottomSurface = "SmoothNoOutlines" Handle.FrontSurface = "SmoothNoOutlines" Handle.BackSurface = "SmoothNoOutlines" Handle.RightSurface = "SmoothNoOutlines" Handle.LeftSurface = "SmoothNoOutlines" Handle.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Handle) Mesh.Scale = Vector3.new(0.25,1,0.4) / 0.2 * Scale local HandleWeld = Instance.new("Motor6D") HandleWeld.Part0 = Character["Right Arm"] HandleWeld.Part1 = Handle HandleWeld.C0 = CFrame.new(Vector3.new(0,-1,0)*Scale) * CFrame.Angles(math.rad(-105),0,0) HandleWeld.Parent = Handle local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("CylinderMesh",Part) Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(-0.115,-0.475,-0.190)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("CylinderMesh",Part) Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0.115,-0.475,0.190)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("CylinderMesh",Part) Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(-0.115,-0.475,0.190)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("CylinderMesh",Part) Mesh.Scale = Vector3.new(0.07,0.2,0.07) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0.115,-0.475,-0.190)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.23,0.2,0.1) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0,-0.475,-0.175)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.23,0.2,0.1) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0,-0.475,0.175)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.1,0.2,0.38) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(-0.1,-0.475,0)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.1,0.2,0.38) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0.1,-0.475,0)*Scale) * CFrame.Angles(0,0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.1,0.3,0.05) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.Angles(math.rad(15),0,0) * CFrame.new(Vector3.new(0,0.25,-0.75)*Scale) * CFrame.Angles(math.rad(-10),0,0) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.1,0.05,0.625) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.Angles(math.rad(15),0,0) * CFrame.new(Vector3.new(0,0.1,-0.435)*Scale) PartWeld.Parent = Part for i = 0,80,10 do local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.25,0.15,0.03555*2) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0,0.15,0.315)*Scale) * CFrame.Angles(math.rad(i-65),0,0) * CFrame.new(Vector3.new(0,0.2,0)*Scale) PartWeld.Parent = Part end local Barrel = Instance.new("Part",Model) Barrel.CanCollide = false Barrel.Position = Vector3.new(0,100,0) Barrel:BreakJoints() Barrel.FormFactor = "Custom" Barrel.Size = Vector3.new(0.2,0.2,0.2) Barrel.TopSurface = "SmoothNoOutlines" Barrel.BottomSurface = "SmoothNoOutlines" Barrel.FrontSurface = "SmoothNoOutlines" Barrel.BackSurface = "SmoothNoOutlines" Barrel.RightSurface = "SmoothNoOutlines" Barrel.LeftSurface = "SmoothNoOutlines" Barrel.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Barrel) Mesh.Scale = Vector3.new(0.25,0.2,2) / 0.2 * Scale local BarrelWeld = Instance.new("Motor6D") BarrelWeld.Part0 = Handle BarrelWeld.Part1 = Barrel BarrelWeld.C0 = CFrame.Angles(math.rad(15),0,0) * CFrame.new(Vector3.new(0,0.5,-0.7)*Scale) BarrelWeld.Parent = Barrel local Barrel1 = Barrel local Barrel2 = Instance.new("Part",Model) Barrel2.CanCollide = false Barrel2.Position = Vector3.new(0,100,0) Barrel2:BreakJoints() Barrel2.FormFactor = "Custom" Barrel2.Size = Vector3.new(0.2,0.2,0.2) Barrel2.TopSurface = "SmoothNoOutlines" Barrel2.BottomSurface = "SmoothNoOutlines" Barrel2.FrontSurface = "SmoothNoOutlines" Barrel2.BackSurface = "SmoothNoOutlines" Barrel2.RightSurface = "SmoothNoOutlines" Barrel2.LeftSurface = "SmoothNoOutlines" Barrel2.BrickColor = BrickColor.new("Really black") local Mesh = Instance.new("BlockMesh",Barrel2) Mesh.Scale = Vector3.new(0.25,0.25,2) / 0.2 * Scale local Barrel2Weld = Instance.new("Motor6D") Barrel2Weld.Part0 = Barrel Barrel2Weld.Part1 = Barrel2 Barrel2Weld.C0 = CFrame.new(Vector3.new(0,0.225,0)*Scale) Barrel2Weld.Parent = Barrel2 local RealBarrel = Instance.new("Part",Model) RealBarrel.CanCollide = false RealBarrel.Position = Vector3.new(0,100,0) RealBarrel:BreakJoints() RealBarrel.FormFactor = "Custom" RealBarrel.Size = Vector3.new(0.2,0.2,0.2) RealBarrel.TopSurface = "SmoothNoOutlines" RealBarrel.BottomSurface = "SmoothNoOutlines" RealBarrel.FrontSurface = "SmoothNoOutlines" RealBarrel.BackSurface = "SmoothNoOutlines" RealBarrel.RightSurface = "SmoothNoOutlines" RealBarrel.LeftSurface = "SmoothNoOutlines" RealBarrel.BrickColor = BrickColor.new("Dark grey metallic") local Mesh = Instance.new("CylinderMesh",RealBarrel) Mesh.Scale = Vector3.new(0.2,2,0.2) / 0.2 * Scale local RealBarrelWeld = Instance.new("Motor6D") RealBarrelWeld.Part0 = Barrel RealBarrelWeld.Part1 = RealBarrel RealBarrelWeld.C0 = CFrame.new(Vector3.new(0,0.1,-0.01)*Scale) * CFrame.Angles(math.rad(-90),0,0) RealBarrelWeld.Parent = RealBarrel for i = 1,75,15 do local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.05,0.065,0.05) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Handle PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0,0.525,-0.515)*Scale) * CFrame.Angles(math.rad(i),0,0) * CFrame.new(Vector3.new(0,0,0.2)*Scale) PartWeld.Parent = Part end local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Really black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.05,0.11,0.1) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Barrel2 PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0.06,0.135,0.925)*Scale) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Really black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.05,0.11,0.1) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Barrel2 PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(-0.06,0.135,0.925)*Scale) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Really black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.025,0.1,0.1) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Barrel2 PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0,0.135,-0.925)*Scale) PartWeld.Parent = Part local Part = Instance.new("Part",Model) Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.Transparency = 1 Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Really black") local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(0.1,0.1,0.1) / 0.2 * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = Barrel PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0,0,-5)*Scale) PartWeld.Parent = Part local Light = Instance.new("PointLight",Part) Light.Color = BrickColor.new("Gold").Color Light.Enabled = true Light.Shadows = true Light.Brightness = 0 Light.Range = 6 local Part = Instance.new("Part",Model) Part.Material = "Neon" Part.CanCollide = false Part.Position = Vector3.new(0,100,0) Part:BreakJoints() Part.FormFactor = "Custom" Part.Size = Vector3.new(0.2,0.2,0.2) Part.TopSurface = "SmoothNoOutlines" Part.BottomSurface = "SmoothNoOutlines" Part.FrontSurface = "SmoothNoOutlines" Part.BackSurface = "SmoothNoOutlines" Part.RightSurface = "SmoothNoOutlines" Part.LeftSurface = "SmoothNoOutlines" Part.BrickColor = BrickColor.new("Bright yellow") Part.Transparency = 0.25 local RecoilMesh = Instance.new("SpecialMesh",Part) RecoilMesh.MeshType = "FileMesh" RecoilMesh.MeshId = "http://www.roblox.com/Asset/?id=1323306" RecoilMesh.TextureId = "http://www.roblox.com/Asset/?id=98896228" RecoilMesh.Scale = Vector3.new(0.175,0,0.175) * Scale local PartWeld = Instance.new("Motor6D") PartWeld.Part0 = RealBarrel PartWeld.Part1 = Part PartWeld.C0 = CFrame.new(Vector3.new(0,0.95,0)*Scale) PartWeld.Parent = Part function ShootBullet(Target,barrel) local barrel = barrel or Barrel local Bullet = Instance.new("Part",Workspace) Barrel.CanCollide = false Bullet.FormFactor = "Custom" Bullet.Size = Vector3.new(0.2,0.2,5)*Scale Bullet.TopSurface = "Smooth" Bullet.BottomSurface = "Smooth" Bullet.Anchored = true Bullet.CanCollide = false Bullet.CFrame = CFrame.new((barrel.CFrame*CFrame.new(0,0,-barrel.Size.Z*barrel.Mesh.Scale.Z/2)).p,Target)*CFrame.new(0,0,-Bullet.Size.Z/2) Bullet.Transparency = 0.1 Bullet.BrickColor = BrickColor.new("Gold") --[[local Mesh = Instance.new("SpecialMesh",Bullet) Mesh.MeshType = "FileMesh" Mesh.Scale = Vector3.new(0.5,0.5,0.2) Mesh.MeshId = "http://www.roblox.com/asset/?id=2697549" --Mesh.TextureId = "http://www.roblox.com/asset/?id=2697544"]] local Mesh = Instance.new("BlockMesh",Bullet) Mesh.Scale = Vector3.new(0.2,0.2,5)*Scale/Bullet.Size IgnoreList[#IgnoreList+1] = Bullet RenderStepped:wait() for i = Speed,1000,Speed do -- Loop to do the bullet movement and stuff. local ray,Hit,Pos,SurfaceNormal; ray = Ray.new(Bullet.Position,((Bullet.CFrame*CFrame.Angles(math.rad(-Gravity),0,0)*CFrame.new(0,0,-Speed)).p-Bullet.Position).unit*Speed) Hit,Pos,SurfaceNormal = Workspace:FindPartOnRayWithIgnoreList(ray,IgnoreList) Bullet.CFrame = Bullet.CFrame*CFrame.Angles(math.rad(-Gravity),0,0)*CFrame.new(0,0,-Speed) if Hit ~= nil then local Hum = Hit.Parent:FindFirstChild("Humanoid") or Hit.Parent.Parent:FindFirstChild("Humanoid") or (Hit.Parent.Parent.Parent ~= nil and Hit.Parent.Parent.Parent:FindFirstChild("Humanoid")) if Hum ~= nil then Hum:TakeDamage((((Gangster and math.random(99999,99999) or math.random(99999,99999))*Scale)/100)*Hum.MaxHealth) end break end RenderStepped:wait() end Bullet:Destroy() end Mouse.Button1Down:connect(function() if not Down and not DB then Down = true while Down do if Humanoid.Health == 0 then break end if not DB then DB = true local Sound = Instance.new("Sound",Barrel) Sound.SoundId = "http://www.roblox.com/Asset/?id=165946426" -- 132373574 Sound.Volume = 5*Scale Sound.Pitch = (math.random(70,110)/100)/((Scale < 0.25 and 0.25) or (Scale > 4 and 4) or Scale) Sound:Play() Spawn(function() ShootBullet(Mouse.Hit.p,Barrel1) end) RecoilMesh.VertexColor = Vector3.new(1,math.random(160,245)/255,20/255) PartWeld.C0 = PartWeld.C0 * CFrame.Angles(0,math.rad(math.random(-40,40)),0) local Shell = Instance.new("Part",Workspace) Shell.FormFactor = "Custom" Shell.BrickColor = BrickColor.new("Bright yellow") Shell.Size = Vector3.new(0.2,0.5,0.2)*Scale Shell.CFrame = Barrel.CFrame*CFrame.new(0.5,0.5,0)*CFrame.Angles(math.rad(-90),0,0) Shell.Velocity = ((Barrel.CFrame*CFrame.new(5,0,math.random(-2,2))).p-Barrel.CFrame.p)*5*Scale local Mesh = Instance.new("CylinderMesh",Shell) Mesh.Scale = Vector3.new(0.2,0.5,0.2)*Scale/Shell.Size Spawn(function() wait(5) Shell:Destroy() end) for i = 1,20,7.5 do RotationOffset = RotationOffset*CFrame.Angles(math.rad(7.5),0,0) Part1Joint = Part1Joint*CFrame.new(Vector3.new(0,-0.15,0)*Scale) Barrel2Weld.C0 = Barrel2Weld.C0*CFrame.new(Vector3.new(0,0,0.15)*Scale) Light.Brightness = Light.Brightness+38 RecoilMesh.Scale = RecoilMesh.Scale+(Vector3.new(0,0.375,0)*Scale) RenderStepped:wait() end wait(0.02) for i = 1,20,3.75 do RotationOffset = RotationOffset*CFrame.Angles(math.rad(-3.75),0,0) Part1Joint = Part1Joint*CFrame.new(Vector3.new(0,0.075,0)*Scale) Barrel2Weld.C0 = Barrel2Weld.C0*CFrame.new(Vector3.new(0,0,-0.075)*Scale) Light.Brightness = Light.Brightness-19 RecoilMesh.Scale = RecoilMesh.Scale+(Vector3.new(0,-0.1875,0)*Scale) RenderStepped:wait() end wait(0.02) DB = false end end end end) Mouse.Button1Up:connect(function() Down = false end) Mouse.KeyDown:connect(function(Key) if Key:lower() == "g" and not DB then DB = true if Gangster == true then for i = 1,70,5 do RotationOffset = RotationOffset*CFrame.Angles(0,math.rad(-5),0) RenderStepped:wait() end Gangster = false else for i = 1,70,5 do RotationOffset = RotationOffset*CFrame.Angles(0,math.rad(5),0) RenderStepped:wait() end Gangster = true end DB = false end end) local Weld = Instance.new("Weld") Weld.Part0 = Torso Weld.Part1 = Character["Right Arm"] Weld.Parent = Torso local Weld2 = Instance.new("Weld") Weld2.Part0 = Torso Weld2.Part1 = Character.Head Weld2.Parent = Torso local RA = Character["Right Arm"] game:GetService("RunService"):BindToRenderStep("Pistol",Enum.RenderPriority.Character.Value,function() local Point = Torso.CFrame:vectorToObjectSpace(Mouse.Hit.p-Torso.CFrame.p) if Point.Z > 0 then if Point.X > 0 then Torso.CFrame = CFrame.new(Torso.Position,Vector3.new(Mouse.Hit.X,Torso.Position.Y,Mouse.Hit.Z))*CFrame.Angles(0,math.rad(90),0) elseif Point.X < 0 then Torso.CFrame = CFrame.new(Torso.Position,Vector3.new(Mouse.Hit.X,Torso.Position.Y,Mouse.Hit.Z))*CFrame.Angles(0,math.rad(-90),0) end end local CFr = (Torso.CFrame*Part0Joint):toObjectSpace(CFrame.new((Torso.CFrame*Part0Joint).p,Mouse.Hit.p))--RayEnd)) Weld.C0 = Part0Joint * (CFr-CFr.p) * RotationOffset Weld.C1 = Part1Joint Weld.Part0 = Torso Weld.Part1 = RA local CFr = (Torso.CFrame*Part0JointHead):toObjectSpace(CFrame.new((Torso.CFrame*Part0JointHead).p,Mouse.Hit.p))--RayEnd)) Weld2.C0 = Part0JointHead * (CFr-CFr.p) * RotationOffsetHead Weld2.C1 = Part1JointHead Weld2.Part0 = Torso Weld2.Part1 = Character.Head local Last = Scale Scale = game.Players.LocalPlayer.Character.Torso.Size.X/2*(game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted") ~= nil and game.Players.LocalPlayer.Character.Torso:FindFirstChild("ScaleInserted").Scale.Z or 1)*0.8 Speed = 20*Scale if Scale ~= Last then Part0Joint = CFrame.new(Vector3.new(1,0.75,0)*Scale*1.25) Part1Joint = CFrame.new(Vector3.new(-0.5,0.75,0)*Scale*1.25) Part0JointHead = CFrame.new(Vector3.new(0,1,0)*Scale*1.25) Part1JointHead = CFrame.new(Vector3.new(0,-0.5,0)*Scale*1.25) end end)