Liu-2

Flintlock - [ Roblox ]

Sep 20th, 2019
772
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 14.37 KB | None | 0 0
  1. --- // FlintLock // ---
  2. -- // By fo43123
  3.  
  4. script.Name = 'Flintlock Script for Gay PeopLe'
  5. local plr = game:GetService('Players').LocalPlayer
  6. local char = plr.Character
  7. local hum = char:FindFirstChildOfClass('Humanoid')
  8. local ts = char:FindFirstChild('Torso')
  9. local hd = char:FindFirstChild('Head')
  10. local root = char:FindFirstChild('HumanoidRootPart')
  11. local ra = char:FindFirstChild('Right Arm')
  12. local la = char:FindFirstChild('Left Arm')
  13. local rl = char:FindFirstChild('Right Leg')
  14. local ll = char:FindFirstChild('Left Leg')
  15. local rs = ts:FindFirstChild('Right Shoulder')
  16. local ls = ts:FindFirstChild('Left Shoulder')
  17. local rh = ts:FindFirstChild('Right Hip')
  18. local lh = ts:FindFirstChild('Left Hip')
  19. local nk = ts:FindFirstChild('Neck')
  20. local rj = root:FindFirstChild('RootJoint')
  21. local bases = workspace:FindFirstChild('Baseplate') or workspace:FindFirstChild('Base')
  22. local hitsounds = {'264486467' ,'356551938'}
  23. local debris = game:GetService('Debris')
  24. local mouse = plr:GetMouse()
  25. local gun = Instance.new('Part', ra)
  26. local cf = {n = CFrame.new, a = CFrame.Angles, euler = CFrame.fromEulerAnglesXYZ, orn = CFrame.fromOrientation}
  27. local t = {i = table.insert, c = table.concat, r = table.remove}
  28. local c3 = {rgb = Color3.fromRGB, n = Color3.new, hsv = Color3.fromHSV}
  29. local str = {b = string.byte, s = string.sub, low = string.lower}
  30. local m = {c = math.cos, s = math.sin, r = math.rad, rand = math.random, pi = math.pi, huge = math.huge, tan = math.tan}
  31. local v = {t = Vector3.new, tw = Vector2.new}
  32. local cam = workspace.CurrentCamera
  33. local attack = false
  34. local onsit = false
  35. local onhit = false
  36. local cananim = true
  37. local anim = nil
  38. local effects = nil
  39. local regularspeed = 16
  40. local regularrun = regularspeed*3/2
  41. local sine = 0
  42. local change = 1
  43. local animspeed = 1
  44. local rsc0, lsc0, rhc0, lhc0, rjc0, nkc0 = rs.C0, ls.C0, rh.C0, lh.C0, rj.C0, nk.C0
  45. local holder = Instance.new('Part', gun)
  46. local pew = Instance.new('Sound', holder)
  47. local asd = Instance.new('ParticleEmitter')
  48. local gunmesh = Instance.new('SpecialMesh', gun)
  49. print([[
  50.     -- // Moves // --
  51.    
  52.     LMB - Flintlock Shoot
  53.    
  54. ]])
  55. gun.CanCollide = false
  56. gun.Size = v.t(0, 0, 0)
  57. gunmesh.MeshId = 'rbxassetid://443579590'
  58. gunmesh.TextureId = 'rbxassetid://443579679'
  59. gunmesh.Scale = v.t(0.05, 0.05, 0.05)
  60. holder.Transparency = 1
  61. pew.SoundId = 'rbxassetid://846233576'
  62. pew.Volume = 1
  63. pew.PlaybackSpeed = 0.9
  64. holder.Size = v.t(0.1, 0.1, 0.1)
  65. holder.CanCollide = false
  66. asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.6, 0, 0))
  67. asd.LightEmission = .1
  68. asd.Size = NumberSequence.new(0.1)
  69. asd.Texture = 'rbxassetid://291880914'
  70. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
  71. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 10), NumberSequenceKeypoint.new(0.01, 0), NumberSequenceKeypoint.new(1, 1)})
  72. asd.Transparency = bbb
  73. asd.Size = aaa
  74. asd.ZOffset = .9
  75. asd.Acceleration = Vector3.new(0, -5, 0)
  76. asd.LockedToPart = false
  77. asd.EmissionDirection = "Back"
  78. asd.Lifetime = NumberRange.new(1, 2)
  79. asd.Rotation = NumberRange.new(-100, 100)
  80. asd.RotSpeed = NumberRange.new(-100, 100)
  81. asd.Speed = NumberRange.new(10)
  82. asd.Enabled = false
  83. asd.VelocitySpread = 100
  84.  
  85. function bloody(var, amount)
  86.     local particle = asd:Clone()
  87.     particle.Parent = var
  88.     particle:Emit(amount)
  89. end
  90.  
  91. if char:FindFirstChild('Effects') then
  92.     effects = char:FindFirstChild('Effects')
  93. else
  94.     effects = Instance.new('Folder', char)
  95.     effects.Name = 'Effects'
  96. end
  97.  
  98. hum.HealthChanged:connect(function()
  99.     hum.MaxHealth = hum.MaxHealth * hum.MaxHealth
  100.     hum.Health = hum.Health * hum.Health
  101. end)
  102.  
  103. char.ChildRemoved:connect(function(lol)
  104.     if effects ~= nil then
  105.         if lol == effects then
  106.             effects = Instance.new('Folder', char)
  107.             effects.Name = 'Effects'
  108.         end
  109.     end
  110. end)
  111.  
  112. ArtificialHB = Instance.new('BindableEvent', script)
  113. ArtificialHB.Name = 'Heartbeat'
  114. script:WaitForChild('Heartbeat')
  115.  
  116. frame = 1 / 60
  117. tf = 0
  118. allowframeloss = false
  119. tossremaincolorder = false
  120. lastframe = tick()
  121. script.Heartbeat:Fire()
  122.  
  123. game:GetService('RunService').Heartbeat:connect(function(s, p)
  124.     tf = tf + s
  125.     if tf >= frame then
  126.         if allowframeloss then
  127.             script.Heartbeat:Fire()
  128.             lastframe = tick()
  129.         else
  130.             for i = 1, math.floor(tf / frame) do
  131.                 script.Heartbeat:Fire()
  132.             end
  133.             lastframe = tick()
  134.         end
  135.         if tossremaincolorder then
  136.             tf = 0
  137.         else
  138.             tf = tf - frame * math.floor(tf / frame)
  139.         end
  140.     end
  141. end)
  142.  
  143. function swait(t)
  144.     if t == 0 or t == nil then
  145.         script.Heartbeat.Event:Wait()
  146.     else
  147.         for i = 0, t do
  148.             script.Heartbeat.Event:Wait()
  149.         end
  150.     end
  151. end
  152.  
  153. function sound(id, parent, vol, pitch, timeposition)
  154.     local s = Instance.new('Sound')
  155.     s.Parent = parent
  156.     s.SoundId = 'rbxassetid://'..id
  157.     s.Volume = vol
  158.     s.PlaybackSpeed = pitch
  159.     s.TimePosition = timeposition
  160.     s:Play()
  161.     debris:AddItem(s, pitch * 2)
  162. end
  163.  
  164. function weld(parent, p0, p1, c0, c1)
  165.     local gayweld = Instance.new('ManualWeld')
  166.     gayweld.Parent = parent
  167.     gayweld.Part0 = p0
  168.     gayweld.Part1 = p1
  169.     gayweld.C0 = c0
  170.     gayweld.C1 = c1
  171.     return gayweld
  172. end
  173.  
  174. function clerp(a, b, t)
  175.     return a:lerp(b, t)
  176. end
  177.  
  178. function raycast(pos, direction, range, ignoredecendants)
  179.     return workspace:FindPartOnRay(Ray.new(pos, direction.unit * range), ignoredecendants)
  180. end
  181.  
  182. function camshake(duration, intensity)
  183.     coroutine.wrap(function()
  184.         for shake = 1, duration*10 do
  185.             hum.CameraOffset = hum.CameraOffset:lerp(v.t(m.rand(-1, 1), m.rand(-1, 1), m.rand(-1, 1)), intensity)
  186.             swait()
  187.         end
  188.     hum.CameraOffset = v.t(0, 0, 0)
  189.     end)()
  190. end
  191.  
  192. function player(var)
  193.     if var.Parent then
  194.         if var.Parent:IsA('Model') and var.Parent:FindFirstChildOfClass('Humanoid') then
  195.             if var.Parent:FindFirstChild('Torso') or var:FindFirstChild('Head') or var.Parent:FindFirstChild('UpperTorso') then
  196.                 if var.Parent.Name ~= plr.Name then
  197.                     return var
  198.                 end
  199.             end
  200.         end
  201.     end
  202. end
  203.  
  204. function kill(var)
  205.     if player(var) then
  206.         bloody(var, 2)
  207.         local varhum = var.Parent:FindFirstChildOfClass('Humanoid')
  208.         sound(hitsounds[math.random(1, #hitsounds)], var, 5, 1, 0.35)
  209.         if player(var).Parent:FindFirstChildOfClass('Humanoid').Health ~= 0 then
  210.             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)})
  211.             asd.Size = aaa
  212.             local torso = var.Parent:FindFirstChild('Torso') or var.Parent:FindFirstChild('UpperTorso')
  213.             bloody(torso, 2)
  214.             local bv = Instance.new('BodyVelocity', var)
  215.             bv.MaxForce = v.t(math.huge, math.huge, math.huge)
  216.             bv.Velocity = cf.n(gun.Position, var.Position).lookVector*50
  217.             game.Debris:AddItem(bv, 0.1)
  218.             wait()
  219.             player(var).Parent:BreakJoints()
  220.         end
  221.     end
  222. end
  223.  
  224. function shoot()
  225.     attack = true
  226.     cananim = false
  227.     hum.WalkSpeed = 0
  228.     hum.JumpPower = 0
  229.     for i = 1, 3, 0.1 do
  230.         --bg.CFrame = cf.n(root.Position, mouse.Hit.p)
  231.         change = 0.8
  232.         rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(0), m.r(0), m.r(30)) * cf.n(0, 0, 0), 0.15)
  233.         nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(5), m.r(0), m.r(-28)) * cf.n(0, 0, 0), 0.15)
  234.         rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(0), m.r(-30), m.r(90)) * cf.n(0, 0, 0), 0.15)
  235.         ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-3), m.r(5), m.r(0)) * cf.n(0, 0, 0), 0.15)
  236.         rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(-5), m.r(-10), m.r(-1)) * cf.n(0, 0, 0), 0.15)
  237.         lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(0)) * cf.n(0, 0, 0), 0.15)
  238.         swait()
  239.     end
  240.     camshake(1, 0.33)
  241.     local ray = Ray.new(ra.CFrame.p, (mouse.Hit.p - ra.CFrame.p).unit * 999.999)
  242.     local part, pos = workspace:FindPartOnRay(ray, char, false, true)
  243.     local beam = Instance.new('Part', effects)
  244.     local effect = Instance.new('Part', effects)
  245.     local boomeffect = Instance.new('Part', effects)
  246.     effect.Material = 'Neon'
  247.     effect.Size = v.t(0.5, 0.5, 0.5)
  248.     effect.CanCollide = false
  249.     effect.Anchored = true
  250.     effect.BrickColor = BrickColor.new('Gold')
  251.     boomeffect.Material = 'Neon'
  252.     boomeffect.Size = v.t(0.75, 0.75, 0.75)
  253.     boomeffect.CanCollide = false
  254.     boomeffect.Anchored = true
  255.     boomeffect.BrickColor = BrickColor.new('Gold')
  256.     local fakeboomeffect = boomeffect:Clone()
  257.     fakeboomeffect.Parent = effect
  258.     fakeboomeffect.Anchored = false
  259.     fakeboomeffect.Transparency = 1
  260.     beam.CanCollide = false
  261.     beam.Anchored = true
  262.     beam.BrickColor = BrickColor.new('Gold')
  263.     beam.Material = 'Neon'
  264.     beam.Shape = 'Block'
  265.     pew:Play()
  266.     boomeffect.CFrame = mouse.Hit * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
  267.     fakeboomeffect.CFrame = mouse.Hit * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
  268.     coroutine.wrap(function()
  269.         for i = 1, 2, 0.1 do
  270.             effect.CFrame = holder.CFrame * cf.n(0, 0, 0) * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
  271.             swait()
  272.         end
  273.     end)()
  274.     aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
  275.     asd.Size = aaa
  276.     local onlygaystouchthis = fakeboomeffect.Touched:connect(function(gays)
  277.         kill(gays)
  278.     end)
  279.     for i = 1, 3, 0.1 do
  280.         --bg.CFrame = cf.n(root.Position, mouse.Hit.p)
  281.         change = 1
  282.         local dist = (ra.CFrame.p - pos).magnitude
  283.         --effect.CFrame = holder.CFrame * cf.n(0, 0, 0) * cf.euler(m.rand(0, 360), m.rand(0, 360), m.rand(0, 360))
  284.         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))
  285.         beam.Size = v.t(dist, 0.3, 0.3)
  286.         effect.Transparency = effect.Transparency + 0.050
  287.         boomeffect.Transparency = boomeffect.Transparency + 0.050
  288.         beam.Transparency = beam.Transparency + 0.050
  289.         rj.C0 = clerp(rj.C0, rjc0 * cf.a(m.r(-5), m.r(0), m.r(30)) * cf.n(0, 0, 0), 0.15)
  290.         nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(10), m.r(0), m.r(-28)) * cf.n(0, 0, 0), 0.050)
  291.         rs.C0 = clerp(rs.C0, rsc0 * cf.a(m.r(0), m.r(-30), m.r(110)) * cf.n(0, 0, 0), 0.25)
  292.         ls.C0 = clerp(ls.C0, lsc0 * cf.a(m.r(-10), m.r(5), m.r(10)) * cf.n(0, 0, 0), 0.1)
  293.         rh.C0 = clerp(rh.C0, rhc0 * cf.a(m.r(-5), m.r(-10), m.r(-10)) * cf.n(0, 0, 0), 0.1)
  294.         lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(10)) * cf.n(0, 0, 0), 0.1)
  295.         swait()
  296.     end
  297.     aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
  298.     asd.Size = aaa
  299.     onlygaystouchthis:Disconnect()
  300.     boomeffect:Destroy()
  301.     beam:Destroy()
  302.     effect:Destroy()
  303.     hum.WalkSpeed = 16
  304.     hum.JumpPower = 50
  305.     cananim = true
  306.     wait(1)
  307.     attack = false
  308. end
  309.  
  310. gun.Anchored = false
  311. 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))
  312. weld(gun, gun, holder, cf.n(1.2, 0.75, 0), cf.n(0, 0, 0))
  313.  
  314. mouse.Button1Down:connect(function()
  315.     if attack == false then
  316.         shoot()
  317.     end
  318. end)
  319.  
  320. while true do
  321.     sine = sine + change
  322.     local rootvel = (root.Velocity * v.t(1, 0, 1)).magnitude
  323.     local vertvel = (root.Velocity).y
  324.     local hitfloor = raycast(root.Position, (cf.n(root.Position, root.Position + v.t(0, -1, 0))).lookVector, 4 * 1, char)
  325.     pcall(function()
  326.         for i,v in pairs(char:GetChildren()) do
  327.             if v:IsA('LocalScript') and v.Name == 'Animate' then
  328.                 v.Parent = nil
  329.                 for i,v in pairs(hum:GetPlayingAnimationTracks()) do
  330.                     v:Stop()
  331.                 end
  332.                 coroutine.wrap(function()
  333.                     wait(3)
  334.                     for i,v in pairs(hum:GetChildren()) do
  335.                         if v:IsA('Animator') then
  336.                             v.Parent = nil
  337.                         end
  338.                     end
  339.                 end)()
  340.             end
  341.         end
  342.     end)
  343.     if cananim then
  344.         if vertvel > 1 and cananim == true and hitfloor == nil then
  345.             -- jump
  346.             change = 1
  347.             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)
  348.             nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(-15), m.r(0), m.r(0)) * cf.n(0, 0, 0), .1)
  349.             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)
  350.             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)
  351.             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)
  352.             lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(0)) * cf.n(0, 0, 0), 0.1)
  353.         elseif vertvel < -1 and hitfloor == nil then
  354.             -- fall
  355.             change = 1
  356.             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)
  357.             nk.C0 = clerp(nk.C0, nkc0 * cf.a(m.r(10), m.r(0), m.r(0)) * cf.n(0, 0, 0), .050)
  358.             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)
  359.             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)
  360.             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)
  361.             lh.C0 = clerp(lh.C0, lhc0 * cf.a(m.r(0), m.r(0), m.r(0)) * cf.n(0, 0, 0), 0.1)
  362.         elseif rootvel < 2 and hitfloor ~= nil then
  363.             -- idle
  364.             change = 0.8
  365.             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)
  366.             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)
  367.             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)
  368.             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)
  369.             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)
  370.             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)
  371.         elseif rootvel < 20 and hitfloor ~= nil then
  372.             -- walk
  373.             change = 0.9
  374.             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)
  375.             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)
  376.             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)
  377.             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)
  378.             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)
  379.             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)
  380.         end
  381.     end
  382.     swait()
  383. end
Add Comment
Please, Sign In to add comment