Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- // FlintLock // ---
- -- // By fo43123
- script.Name = 'Flintlock Script for Gay PeopLe'
- local plr = game:GetService('Players').LocalPlayer
- local char = plr.Character
- local hum = char:FindFirstChildOfClass('Humanoid')
- local ts = char:FindFirstChild('Torso')
- local hd = char:FindFirstChild('Head')
- local root = char:FindFirstChild('HumanoidRootPart')
- local ra = char:FindFirstChild('Right Arm')
- local la = char:FindFirstChild('Left Arm')
- local rl = char:FindFirstChild('Right Leg')
- local ll = char:FindFirstChild('Left Leg')
- local rs = ts:FindFirstChild('Right Shoulder')
- local ls = ts:FindFirstChild('Left Shoulder')
- local rh = ts:FindFirstChild('Right Hip')
- local lh = ts:FindFirstChild('Left Hip')
- local nk = ts:FindFirstChild('Neck')
- local rj = root:FindFirstChild('RootJoint')
- local bases = workspace:FindFirstChild('Baseplate') or workspace:FindFirstChild('Base')
- local hitsounds = {'264486467' ,'356551938'}
- local debris = game:GetService('Debris')
- local mouse = plr:GetMouse()
- local gun = Instance.new('Part', ra)
- local cf = {n = CFrame.new, a = CFrame.Angles, euler = CFrame.fromEulerAnglesXYZ, orn = CFrame.fromOrientation}
- local t = {i = table.insert, c = table.concat, r = table.remove}
- local c3 = {rgb = Color3.fromRGB, n = Color3.new, hsv = Color3.fromHSV}
- local str = {b = string.byte, s = string.sub, low = string.lower}
- local m = {c = math.cos, s = math.sin, r = math.rad, rand = math.random, pi = math.pi, huge = math.huge, tan = math.tan}
- local v = {t = Vector3.new, tw = Vector2.new}
- local cam = workspace.CurrentCamera
- local attack = false
- local onsit = false
- local onhit = false
- local cananim = true
- local anim = nil
- local effects = nil
- local regularspeed = 16
- local regularrun = regularspeed*3/2
- local sine = 0
- local change = 1
- local animspeed = 1
- local rsc0, lsc0, rhc0, lhc0, rjc0, nkc0 = rs.C0, ls.C0, rh.C0, lh.C0, rj.C0, nk.C0
- local holder = Instance.new('Part', gun)
- local pew = Instance.new('Sound', holder)
- local asd = Instance.new('ParticleEmitter')
- local gunmesh = Instance.new('SpecialMesh', gun)
- print([[
- -- // Moves // --
- LMB - Flintlock Shoot
- ]])
- gun.CanCollide = false
- gun.Size = v.t(0, 0, 0)
- gunmesh.MeshId = 'rbxassetid://443579590'
- gunmesh.TextureId = 'rbxassetid://443579679'
- gunmesh.Scale = v.t(0.05, 0.05, 0.05)
- holder.Transparency = 1
- pew.SoundId = 'rbxassetid://846233576'
- pew.Volume = 1
- pew.PlaybackSpeed = 0.9
- holder.Size = v.t(0.1, 0.1, 0.1)
- holder.CanCollide = false
- asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.6, 0, 0))
- asd.LightEmission = .1
- asd.Size = NumberSequence.new(0.1)
- asd.Texture = 'rbxassetid://291880914'
- aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
- bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 10), NumberSequenceKeypoint.new(0.01, 0), NumberSequenceKeypoint.new(1, 1)})
- asd.Transparency = bbb
- asd.Size = aaa
- asd.ZOffset = .9
- asd.Acceleration = Vector3.new(0, -5, 0)
- asd.LockedToPart = false
- asd.EmissionDirection = "Back"
- asd.Lifetime = NumberRange.new(1, 2)
- asd.Rotation = NumberRange.new(-100, 100)
- asd.RotSpeed = NumberRange.new(-100, 100)
- asd.Speed = NumberRange.new(10)
- asd.Enabled = false
- asd.VelocitySpread = 100
- function bloody(var, amount)
- local particle = asd:Clone()
- particle.Parent = var
- particle:Emit(amount)
- end
- if char:FindFirstChild('Effects') then
- effects = char:FindFirstChild('Effects')
- else
- effects = Instance.new('Folder', char)
- effects.Name = 'Effects'
- end
- hum.HealthChanged:connect(function()
- hum.MaxHealth = hum.MaxHealth * hum.MaxHealth
- hum.Health = hum.Health * hum.Health
- end)
- char.ChildRemoved:connect(function(lol)
- if effects ~= nil then
- if lol == effects then
- effects = Instance.new('Folder', char)
- effects.Name = 'Effects'
- end
- end
- end)
- ArtificialHB = Instance.new('BindableEvent', script)
- ArtificialHB.Name = 'Heartbeat'
- script:WaitForChild('Heartbeat')
- frame = 1 / 60
- tf = 0
- allowframeloss = false
- tossremaincolorder = false
- lastframe = tick()
- script.Heartbeat:Fire()
- game:GetService('RunService').Heartbeat:connect(function(s, p)
- tf = tf + s
- if tf >= frame then
- if allowframeloss then
- script.Heartbeat:Fire()
- lastframe = tick()
- else
- for i = 1, math.floor(tf / frame) do
- script.Heartbeat:Fire()
- end
- lastframe = tick()
- end
- if tossremaincolorder then
- tf = 0
- else
- tf = tf - frame * math.floor(tf / frame)
- end
- end
- end)
- function swait(t)
- if t == 0 or t == nil then
- script.Heartbeat.Event:Wait()
- else
- for i = 0, t do
- script.Heartbeat.Event:Wait()
- end
- end
- end
- function sound(id, parent, vol, pitch, timeposition)
- local s = Instance.new('Sound')
- s.Parent = parent
- s.SoundId = 'rbxassetid://'..id
- s.Volume = vol
- s.PlaybackSpeed = pitch
- s.TimePosition = timeposition
- s:Play()
- debris:AddItem(s, pitch * 2)
- end
- function weld(parent, p0, p1, c0, c1)
- local gayweld = Instance.new('ManualWeld')
- gayweld.Parent = parent
- gayweld.Part0 = p0
- gayweld.Part1 = p1
- gayweld.C0 = c0
- gayweld.C1 = c1
- return gayweld
- end
- function clerp(a, b, t)
- return a:lerp(b, t)
- end
- function raycast(pos, direction, range, ignoredecendants)
- return workspace:FindPartOnRay(Ray.new(pos, direction.unit * range), ignoredecendants)
- end
- function camshake(duration, intensity)
- coroutine.wrap(function()
- for shake = 1, duration*10 do
- hum.CameraOffset = hum.CameraOffset:lerp(v.t(m.rand(-1, 1), m.rand(-1, 1), m.rand(-1, 1)), intensity)
- swait()
- end
- hum.CameraOffset = v.t(0, 0, 0)
- end)()
- end
- function player(var)
- if var.Parent then
- if var.Parent:IsA('Model') and var.Parent:FindFirstChildOfClass('Humanoid') then
- if var.Parent:FindFirstChild('Torso') or var:FindFirstChild('Head') or var.Parent:FindFirstChild('UpperTorso') then
- if var.Parent.Name ~= plr.Name then
- return var
- end
- end
- end
- end
- end
- function kill(var)
- if player(var) then
- bloody(var, 2)
- local varhum = var.Parent:FindFirstChildOfClass('Humanoid')
- sound(hitsounds[math.random(1, #hitsounds)], var, 5, 1, 0.35)
- if player(var).Parent:FindFirstChildOfClass('Humanoid').Health ~= 0 then
- aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3 * player(var).Size.X/5 * player(var).Size.Y/5 * player(var).Size.Z/5),NumberSequenceKeypoint.new(1, 7)})
- asd.Size = aaa
- local torso = var.Parent:FindFirstChild('Torso') or var.Parent:FindFirstChild('UpperTorso')
- bloody(torso, 2)
- local bv = Instance.new('BodyVelocity', var)
- bv.MaxForce = v.t(math.huge, math.huge, math.huge)
- bv.Velocity = cf.n(gun.Position, var.Position).lookVector*50
- game.Debris:AddItem(bv, 0.1)
- wait()
- player(var).Parent:BreakJoints()
- end
- end
- end
- function shoot()
- attack = true
- cananim = false
- hum.WalkSpeed = 0
- hum.JumpPower = 0
- for i = 1, 3, 0.1 do
- --bg.CFrame = cf.n(root.Position, mouse.Hit.p)
- change = 0.8
- rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(0), m.r(0), m.r(30)) * cf.n(0, 0, 0), 0.15)
- nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(5), m.r(0), m.r(-28)) * cf.n(0, 0, 0), 0.15)
- rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(0), m.r(-30), m.r(90)) * cf.n(0, 0, 0), 0.15)
- ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-3), m.r(5), m.r(0)) * cf.n(0, 0, 0), 0.15)
- rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(-5), m.r(-10), m.r(-1)) * cf.n(0, 0, 0), 0.15)
- lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(0)) * cf.n(0, 0, 0), 0.15)
- swait()
- end
- camshake(1, 0.33)
- local ray = Ray.new(ra.CFrame.p, (mouse.Hit.p - ra.CFrame.p).unit * 999.999)
- local part, pos = workspace:FindPartOnRay(ray, char, false, true)
- local beam = Instance.new('Part', effects)
- local effect = Instance.new('Part', effects)
- local boomeffect = Instance.new('Part', effects)
- effect.Material = 'Neon'
- effect.Size = v.t(0.5, 0.5, 0.5)
- effect.CanCollide = false
- effect.Anchored = true
- effect.BrickColor = BrickColor.new('Gold')
- boomeffect.Material = 'Neon'
- boomeffect.Size = v.t(0.75, 0.75, 0.75)
- boomeffect.CanCollide = false
- boomeffect.Anchored = true
- boomeffect.BrickColor = BrickColor.new('Gold')
- local fakeboomeffect = boomeffect:Clone()
- fakeboomeffect.Parent = effect
- fakeboomeffect.Anchored = false
- fakeboomeffect.Transparency = 1
- beam.CanCollide = false
- beam.Anchored = true
- beam.BrickColor = BrickColor.new('Gold')
- beam.Material = 'Neon'
- beam.Shape = 'Block'
- pew:Play()
- boomeffect.CFrame = mouse.Hit * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
- fakeboomeffect.CFrame = mouse.Hit * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
- coroutine.wrap(function()
- for i = 1, 2, 0.1 do
- effect.CFrame = holder.CFrame * cf.n(0, 0, 0) * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
- swait()
- end
- end)()
- aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
- asd.Size = aaa
- local onlygaystouchthis = fakeboomeffect.Touched:connect(function(gays)
- kill(gays)
- end)
- for i = 1, 3, 0.1 do
- --bg.CFrame = cf.n(root.Position, mouse.Hit.p)
- change = 1
- local dist = (ra.CFrame.p - pos).magnitude
- --effect.CFrame = holder.CFrame * cf.n(0, 0, 0) * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
- beam.CFrame = cf.n(holder.CFrame.p, pos) * cf.n(0, 0, -0.3 - dist/2) * cf.a(m.r(0), m.r(90), m.r(0))
- beam.Size = v.t(dist, 0.3, 0.3)
- effect.Transparency = effect.Transparency + 0.050
- boomeffect.Transparency = boomeffect.Transparency + 0.050
- beam.Transparency = beam.Transparency + 0.050
- rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(-5), m.r(0), m.r(30)) * cf.n(0, 0, 0), 0.15)
- nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(10), m.r(0), m.r(-28)) * cf.n(0, 0, 0), 0.050)
- rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(0), m.r(-30), m.r(110)) * cf.n(0, 0, 0), 0.25)
- ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-10), m.r(5), m.r(10)) * cf.n(0, 0, 0), 0.1)
- rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(-5), m.r(-10), m.r(-10)) * cf.n(0, 0, 0), 0.1)
- lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(10)) * cf.n(0, 0, 0), 0.1)
- swait()
- end
- aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
- asd.Size = aaa
- onlygaystouchthis:Disconnect()
- boomeffect:Destroy()
- beam:Destroy()
- effect:Destroy()
- hum.WalkSpeed = 16
- hum.JumpPower = 50
- cananim = true
- wait(1)
- attack = false
- end
- gun.Anchored = false
- weld(ra, ra, gun, cf.n(0.02, -1.735, -0.01) * cf.a(m.r(0), m.r(90), m.r(-90)), cf.n(0, 0, 0) * cf.a(0, 0, 0))
- weld(gun, gun, holder, cf.n(1.2, 0.75, 0), cf.n(0, 0, 0))
- mouse.Button1Down:connect(function()
- if attack == false then
- shoot()
- end
- end)
- while true do
- sine = sine + change
- local rootvel = (root.Velocity * v.t(1, 0, 1)).magnitude
- local vertvel = (root.Velocity).y
- local hitfloor = raycast(root.Position, (cf.n(root.Position, root.Position + v.t(0, -1, 0))).lookVector, 4 * 1, char)
- pcall(function()
- for i,v in pairs(char:GetChildren()) do
- if v:IsA('LocalScript') and v.Name == 'Animate' then
- v.Parent = nil
- for i,v in pairs(hum:GetPlayingAnimationTracks()) do
- v:Stop()
- end
- coroutine.wrap(function()
- wait(3)
- for i,v in pairs(hum:GetChildren()) do
- if v:IsA('Animator') then
- v.Parent = nil
- end
- end
- end)()
- end
- end
- end)
- if cananim then
- if vertvel > 1 and cananim == true and hitfloor == nil then
- -- jump
- change = 1
- rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(-10), m.r(0) + root.RotVelocity.Y/30, m.r(0)) * cf.n(0, 0, 0), 0.1)
- nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(-15), m.r(0), m.r(0)) * cf.n(0, 0, 0), .1)
- rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(-10), m.r(0) + ra.RotVelocity.Y/30, m.r(-0)) * cf.n(0, -0, 0), .15)
- ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-10), m.r(0) + la.RotVelocity.Y/30, m.r(0)) * cf.n(0, -0, -0), .15)
- rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(0), m.r(0), m.r(-0)) * cf.n(0.55, 1, 0), 0.1)
- lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(0)) * cf.n(0, 0, 0), 0.1)
- elseif vertvel < -1 and hitfloor == nil then
- -- fall
- change = 1
- rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(30), m.r(0) - root.RotVelocity.Y/30, m.r(0)) * cf.n(0, 0, 0), 0.050)
- nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(10), m.r(0), m.r(0)) * cf.n(0, 0, 0), .050)
- rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(-30), m.r(0) - ra.RotVelocity.Y/30, m.r(-0)) * cf.n(0, -0.2, 0), .050)
- ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-30), m.r(0) - la.RotVelocity.Y/30, m.r(0)) * cf.n(0, -0.2, -0), .050)
- rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(0), m.r(0), m.r(-0)) * cf.n(0.55, 1, 0), 0.1)
- lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(0)) * cf.n(0, 0, 0), 0.1)
- elseif rootvel < 2 and hitfloor ~= nil then
- -- idle
- change = 0.8
- rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(0 - 1 * m.c(sine/30)), m.r(0), m.r(0)) * cf.n(0, 0, 0 + 0.05 * m.c(sine/30)), animspeed/10)
- nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(5 - 2 * m.c(sine/30)), m.r(0), m.r(0)) * cf.n(0, 0, 0), animspeed/10)
- rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(-3 - 2 * m.c(sine/30)), m.r(0), m.r(0)) * cf.n(0, 0.050 * m.c(sine/25), 0), animspeed/10)
- ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-3 - 2 * m.c(sine/30)), m.r(0), m.r(0)) * cf.n(0, 0.050 * m.c(sine/25), 0), animspeed/10)
- rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(-5), m.r(-10 + 3 * m.c(sine/30)), m.r(-1 * m.c(sine/30))) * cf.n(0, -0.05 * m.c(sine/30), 0), animspeed/10)
- lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(1 * m.c(sine/30))) * cf.n(0, -0.05 * m.c(sine/30), 0), animspeed/10)
- elseif rootvel < 20 and hitfloor ~= nil then
- -- walk
- change = 0.9
- rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(6), m.r(0) + root.RotVelocity.Y/40, m.r(10 * m.s(sine/6))) * cf.n(0, 0, -0.010 + m.c(sine/3)), 0.050)
- nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(2 * m.s(sine/6)), m.r(-2 * m.s(sine/6)), m.r(-8 * m.s(sine/6)) + root.RotVelocity.Y/50) * cf.n(0, 0, 0), .050)
- rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(-5), m.r(5 * m.c(sine/6)), m.r(-60 * m.s(sine/6))) * cf.n(0, -0, 0), 0.050)
- ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-5), m.r(5 * m.c(sine/6)), m.r(-60 * m.s(sine/6))) * cf.n(0, 0, 0.050), 0.050)
- rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(0) + rl.RotVelocity.Y / 40, m.r(0), m.r(90 * m.s(sine/6))) * cf.n(0.05 + m.c(sine/6), 0.1 + m.c(sine/6), 0), 0.080)
- lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0) + -ll.RotVelocity.Y / 40, m.r(0), m.r(90 * m.s(sine/6))) * cf.n(-0.05 + m.c(sine/6), 0.1 - m.c(sine/6), 0), 0.080)
- end
- end
- swait()
- end
Add Comment
Please, Sign In to add comment