Advertisement
Liu-2

Chainsaw - [ Roblox ]

Jun 22nd, 2019
4,627
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 17.03 KB | None | 0 0
  1. --- // Chainsaw // ---
  2. -- // by fo43123
  3.  
  4. script.Name = 'Gay Chainsaw For Gay People'
  5. local me = game:GetService('Players').LocalPlayer
  6. local char = me.Character
  7. local hum = char['Humanoid']
  8. local hd = char['Head']
  9. local ts = char['Torso']
  10. local ra = char['Right Arm']
  11. local la = char['Left Arm']
  12. local rl = char['Right Leg']
  13. local ll = char['Left Leg']
  14. local root = char['HumanoidRootPart']
  15. local rj = root['RootJoint']
  16. local rs = ts['Right Shoulder']
  17. local ls = ts['Left Shoulder']
  18. local rh = ts['Right Hip']
  19. local lh = ts['Left Hip']
  20. local nk = ts['Neck']
  21. local hitsounds = {'703633905', '264486467' ,'356551938'}
  22. local sine = 0
  23. local change = 1
  24. local attack = false
  25. local cananim = true
  26. local equipped = false
  27. local cooldown = true
  28. local isonhit = false
  29. local backidle = false
  30. local hold = false
  31. local onrun = false
  32. local rj0 = rj.C0
  33. local rs0 = rs.C0
  34. local ls0 = ls.C0
  35. local rh0 = rh.C0
  36. local lh0 = lh.C0
  37. local nk0 = nk.C0
  38. local cc = workspace.CurrentCamera
  39. local cos = math.cos
  40. local sin = math.sin
  41. local rad = math.rad
  42. local rand = math.random
  43. local cfn = CFrame.new
  44. local cfa = CFrame.Angles
  45. local v3 = Vector3.new
  46. local ww = Instance.new('Sound', hd); ww.Looped = true; ww.Volume = 3; ww.SoundId = 'rbxassetid://'; ww.PlaybackSpeed = 0.51
  47. local ww2 = Instance.new('Sound', hd); ww2.Looped = true; ww2.Volume = 5; ww2.SoundId = 'rbxassetid://'
  48. local mouse = me:GetMouse()
  49. hum.Name = 'Gay Humanoid For Gay People'
  50. hum.Health = 'inf'
  51. hum.MaxHealth = 'inf'
  52. hum.WalkSpeed = 16
  53. hum.JumpPower = 50
  54. ww:Play()
  55. print([[
  56.     F - Equip Chainsaw
  57.     LMB - Chainsaw attack (Equipped)
  58. ]])
  59.  
  60. ArtificialHB = Instance.new('BindableEvent', script)
  61. ArtificialHB.Name = 'Heartbeat'
  62. script:WaitForChild('Heartbeat')
  63.  
  64. frame = 1 / 60
  65. tf = 0
  66. allowframeloss = false
  67. tossremainder = false
  68. lastframe = tick()
  69. script.Heartbeat:Fire()
  70.  
  71. game:GetService('RunService').Heartbeat:connect(function(s, p)
  72.     tf = tf + s
  73.     if tf >= frame then
  74.         if allowframeloss then
  75.             script.Heartbeat:Fire()
  76.             lastframe = tick()
  77.         else
  78.             for i = 1, math.floor(tf / frame) do
  79.                 script.Heartbeat:Fire()
  80.             end
  81.             lastframe = tick()
  82.         end
  83.         if tossremainder then
  84.             tf = 0
  85.         else
  86.             tf = tf - frame * math.floor(tf / frame)
  87.         end
  88.     end
  89. end)
  90.  
  91. local chainsaw = Instance.new('Part', char)
  92. local chainsaw2 = Instance.new('Part', char)
  93. local chainsawidle = Instance.new('Sound', chainsaw2)
  94. local chainsawON = Instance.new('Sound', chainsaw2)
  95. local asd = Instance.new('ParticleEmitter')
  96. chainsawmesh = Instance.new('SpecialMesh', chainsaw)
  97. chainsaw2mesh = Instance.new('SpecialMesh', chainsaw2)
  98. chainsawweld = Instance.new('ManualWeld', chainsaw)
  99. chainsaw2weld = Instance.new('ManualWeld', chainsaw2)
  100. chainsaw.CanCollide = false
  101. chainsaw2.CanCollide = false
  102. chainsaw.Size = v3(0, 0, 0)
  103. chainsaw2.Size = v3(1, 1, 4)
  104. chainsawmesh.Scale = v3(0.08, 0.08, 0.08)
  105. chainsaw2mesh.Scale = v3(0.08, 0.08, 0.08)
  106. chainsawmesh.MeshId = 'rbxassetid://536945307'
  107. chainsawmesh.TextureId = 'rbxassetid://536945378'
  108. chainsaw2mesh.MeshId = 'rbxassetid://536945307'
  109. chainsaw2mesh.TextureId = 'rbxassetid://536945378'
  110. chainsawweld.Part0 = ts
  111. chainsawweld.Part1 = chainsaw
  112. chainsaw2weld.Part0 = ra
  113. chainsaw2weld.Part1 = chainsaw2
  114. chainsawweld.C0 = cfn(0.2, -0.3, 0.65) * cfa(rad(-90), rad(90), rad(0))
  115. chainsaw2weld.C0 = cfn(0, 0, 0) * cfa(rad(0), rad(0), rad(0))
  116. chainsaw2.Transparency = 1
  117. chainsawidle.SoundId = 'rbxassetid://1165167610'
  118. chainsawON.SoundId = 'rbxassetid://1165167936'
  119. chainsawON.Volume = 2
  120. chainsawON.Looped = true
  121. chainsawidle.Volume = 3
  122. chainsawidle.Looped = true
  123. asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.6, 0, 0))
  124. asd.LightEmission = .1
  125. asd.Size = NumberSequence.new(0.2)
  126. asd.Texture = 'rbxassetid://291880914'
  127. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
  128. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 10), NumberSequenceKeypoint.new(0.01, 0), NumberSequenceKeypoint.new(1, 1)})
  129. asd.Transparency = bbb
  130. asd.Size = aaa
  131. asd.ZOffset = .9
  132. asd.Acceleration = Vector3.new(0, -5, 0)
  133. asd.LockedToPart = false
  134. asd.EmissionDirection = "Back"
  135. asd.Lifetime = NumberRange.new(1, 2)
  136. asd.Rotation = NumberRange.new(-100, 100)
  137. asd.RotSpeed = NumberRange.new(-100, 100)
  138. asd.Speed = NumberRange.new(10)
  139. asd.Enabled = false
  140. asd.VelocitySpread = 100
  141.  
  142. function bloody(var, amount)
  143.     local particle = asd:Clone()
  144.     particle.Parent = var
  145.     particle:Emit(amount)
  146. end
  147.  
  148. function csound(id, parent, volume, pitch)
  149.     local gaysound = Instance.new('Sound')
  150.     gaysound.Parent = parent
  151.     gaysound.SoundId = 'rbxassetid://'..id
  152.     gaysound.PlaybackSpeed = pitch
  153.     gaysound:Play()
  154.     game.Debris:AddItem(gaysound, 5)
  155. end
  156.  
  157. function kill(var)
  158.     if player(var) then
  159.         bloody(var, 2)
  160.         local varhum = var.Parent:FindFirstChildOfClass('Humanoid')
  161.         csound(hitsounds[math.random(1, #hitsounds)], var, 5, 1)
  162.         if player(var).Parent:FindFirstChildOfClass('Humanoid').Health ~= 0 then
  163.             local torso = var.Parent:FindFirstChild('Torso') or var.Parent:FindFirstChild('UpperTorso')
  164.             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)})
  165.             asd.Size = aaa
  166.             bloody(torso, 2)
  167.             player(var).Parent:BreakJoints()
  168.             coroutine.wrap(function()
  169.                 for i = 1, 15 do
  170.                     hum.CameraOffset = hum.CameraOffset:lerp(v3(rand(-1, 1), rand(-1, 1), rand(-1, 1)), 0.5)
  171.                     swait()
  172.                 end
  173.             end)()
  174.             coroutine.wrap(function()
  175.                 if attack then
  176.                     hum.WalkSpeed = 19.9
  177.                     wait(1)
  178.                     hum.WalkSpeed = 14
  179.                 end
  180.             end)()
  181.             local bv = Instance.new('BodyVelocity', var)
  182.             bv.MaxForce = v3(math.huge, math.huge, math.huge)
  183.             bv.Velocity = cfn(chainsaw2.Position, var.Position).lookVector*50
  184.             game.Debris:AddItem(bv, 0.1)
  185.         end
  186.     end
  187. end
  188.  
  189. function clerp(a, b, t)
  190.     return a:lerp(b, t)
  191. end
  192.  
  193. function player(var)
  194.     if var.Parent then
  195.         if var.Parent:IsA('Model') and var.Parent:FindFirstChildOfClass('Humanoid') then
  196.             if var.Parent:FindFirstChild('Torso') or var:FindFirstChild('Head') or var.Parent:FindFirstChild('UpperTorso') then
  197.                 if var.Parent.Name ~= me.Name then
  198.                     return var
  199.                 end
  200.             end
  201.         end
  202.     end
  203. end
  204.  
  205. function raycast(pos, direction, range, ignoredecendants)
  206.     return workspace:FindPartOnRay(Ray.new(pos, direction.unit * range), ignoredecendants)
  207. end
  208.  
  209. function swait(t)
  210.     if t == 0 or t == nil then
  211.         script.Heartbeat.Event:Wait()
  212.     else
  213.         for i = 0, t do
  214.             script.Heartbeat.Event:Wait()
  215.         end
  216.     end
  217. end
  218.  
  219. function activate()
  220.     attack = true
  221.     hold = true
  222.     chainsawidle:Pause()
  223.     aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.3),NumberSequenceKeypoint.new(1, 7)})
  224.     asd.Size = aaa
  225.     hit = chainsaw2.Touched:connect(function(hit)
  226.         kill(hit)
  227.     end)
  228.     local bg = Instance.new('BodyGyro', root)
  229.     bg.MaxTorque = v3(0, 9000, 0)
  230.     bg.D = 400
  231.     bg.P = 9000
  232.     hum.WalkSpeed = 12
  233.     repeat
  234.         bg.CFrame = cfn(root.Position, mouse.Hit.p)
  235.         chainsaw2weld.C0 = chainsaw2weld.C0:lerp(cfn(-1, -1.55, -1.3) * cfa(rad(-30 + 10 * sin(sine/1)), rad(20 + 10 * sin(sine/1)), rad(10 + 10 * sin(sine/1))), 0.1)
  236.         if attack and equipped then
  237.             nk.C0 = clerp(nk.C0, nk0 * cfa(rad(3), rad(0), rad(0)) * cfn(0, 0, 0), .1)
  238.             rs.C0 = clerp(rs.C0, rs0 * cfa(rad(11), rad(-3 + 3 * cos(sine/2)), rad(52)) * cfn(0, -0, 0), .1)
  239.             ls.C0 = clerp(ls.C0, ls0 * cfa(rad(0), rad(-40 - 3 * cos(sine/2)), rad(-85)) * cfn(0, -0.95, 0), .1)
  240.             chainsawON:Resume()
  241.         end
  242.         swait()
  243.     until attack == false
  244.     hum.WalkSpeed = 16
  245.     bg:Destroy()
  246.     hit:disconnect()
  247. end
  248.  
  249. function equip()
  250.     equipped = true
  251.     cananim = false
  252.     chainsaw.Transparency = 1
  253.     chainsaw2.Transparency = 0
  254.     hum.WalkSpeed = 16
  255.     chainsawidle.Volume = 3
  256.     chainsawidle:Resume()
  257.     ww:Pause()
  258.     ww2:Resume()
  259.     repeat
  260.         if attack == false and backidle == false then
  261.             chainsaw2weld.C0 = chainsaw2weld.C0:lerp(cfn(-2, -0.9, -0.3) * cfa(rad(-50 + 1 * sin(sine/1)), rad(75 + 1 * sin(sine/1)), rad(0 + 3 * sin(sine/1))), 1)
  262.         end
  263.         if backidle then
  264.             chainsaw2weld.C0 = chainsaw2weld.C0:lerp(cfn(-2, -0.9, -0.3) * cfa(rad(-50 + 10 * sin(sine/1)), rad(75 + 10 * sin(sine/1)), rad(0 + 10 * sin(sine/1))), 0.080)
  265.         end
  266.         if chainsawidle.IsPaused and equipped then
  267.             cc.FieldOfView = 70 + chainsawON.PlaybackLoudness/90
  268.             hum.CameraOffset = hum.CameraOffset:lerp(v3(rand(-1, 1), rand(-1, 1), rand(-1, 1)), chainsawON.PlaybackLoudness/5000)
  269.         end
  270.         if chainsawON.IsPlaying == false and equipped then
  271.             chainsawidle:Resume()
  272.         end
  273.         if chainsawidle.IsPlaying and equipped then
  274.             cc.FieldOfView = 70 + chainsawidle.PlaybackLoudness/90
  275.             hum.CameraOffset = hum.CameraOffset:lerp(v3(rand(-1, 1), rand(-1, 1), rand(-1, 1)), chainsawidle.PlaybackLoudness/5000)
  276.         end
  277.         hum.JumpPower = 0
  278.         if (root.Velocity * v3(1, 0, 1)).magnitude < 2 then
  279.             rj.C0 = clerp(rj.C0, rj0 * cfa(rad(0), rad(0), rad(0)) * cfn(0, 0, 0.07 * sin(sine/30)), .090)
  280.             nk.C0 = clerp(nk.C0, nk0 * cfa(rad(-5 * sin(sine/30)), rad(0), rad(0)) * cfn(0, 0, 0), .090)
  281.             if attack == false and equipped then
  282.                 rs.C0 = clerp(rs.C0, rs0 * cfa(rad(11), rad(-3), rad(55)) * cfn(0, -0.2, 0), .090)
  283.                 ls.C0 = clerp(ls.C0, ls0 * cfa(rad(-0), rad(-40), rad(-80)) * cfn(0, 0, 0), .1)
  284.             end
  285.             rh.C0 = clerp(rh.C0, rh0 * cfa(rad(-5), rad(-10), rad(0)) * cfn(0, -0.07 * sin(sine/30), 0), .1)
  286.             lh.C0 = clerp(lh.C0, lh0 * cfa(rad(-5), rad(10), rad(0)) * cfn(0, -0.07 * sin(sine/30), 0), .1)
  287.         elseif (root.Velocity * v3(1, 0, 1)).magnitude < 20 then
  288.             rj.C0 = clerp(rj.C0, rj0 * cfa(rad(6), rad(0) + root.RotVelocity.Y/40, rad(10 * sin(sine/6))) * cfn(0, 0, 0.010 + cos(sine/3)), 0.050)
  289.             nk.C0 = clerp(nk.C0, nk0 * cfa(rad(2 * sin(sine/6)), rad(-2 * sin(sine/6)), rad(-8 * sin(sine/6)) + root.RotVelocity.Y/50) * cfn(0, 0, 0), .050)
  290.             if attack == false and equipped then
  291.                 rs.C0 = clerp(rs.C0, rs0 * cfa(rad(11), rad(-3), rad(55)) * cfn(0, -0.2, 0), 0.1)
  292.                 ls.C0 = clerp(ls.C0, ls0 * cfa(rad(0), rad(-47), rad(-80)) * cfn(0, 0, 0), 0.1)
  293.             end
  294.             rh.C0 = clerp(rh.C0, rh0 * cfa(rad(0) + rl.RotVelocity.Y / 40, rad(0), rad(90 * sin(sine/6))) * cfn(-0.030 + cos(sine/6), -0.030 + cos(sine/6), 0), 0.080)
  295.         lh.C0 = clerp(lh.C0, lh0 * cfa(rad(0) + -ll.RotVelocity.Y / 40, rad(0), rad(90 * sin(sine/6))) * cfn(-0.030 + cos(sine/6), -0.010 - cos(sine/6), 0), 0.080)
  296.         end
  297.         swait()
  298.     until equipped == false
  299. end
  300.  
  301. function unequip()
  302.     coroutine.wrap(function()
  303.         for i = 1, 15 do
  304.             chainsawidle.Volume = chainsawidle.Volume - 0.2
  305.             if chainsawidle.Volume <= 0 then
  306.                 chainsawidle:Stop()
  307.             end
  308.             swait()
  309.         end
  310.     end)()
  311.     cananim = true
  312.     ww:Resume()
  313.     ww2:Pause()
  314.     cooldown = false
  315.     chainsawON:Stop()
  316.     hum.JumpPower = 50
  317.     chainsaw2.Transparency = 1
  318.     chainsaw.Transparency = 0
  319.     if onrun then
  320.         hum.WalkSpeed = 18
  321.     else
  322.         hum.WalkSpeed = 16
  323.     end
  324.     pcall(function()
  325.     hit:Disconnect()
  326.     end)
  327.     if root:FindFirstChildOfClass('BodyGyro') then
  328.         root:FindFirstChildOfClass('BodyGyro').Parent = nil
  329.     end
  330.     equipped = false
  331.     wait(0.5)
  332.     cooldown = true
  333. end
  334.  
  335. mouse.Button1Down:connect(function()
  336.     if hold == false and equipped and attack == false then
  337.         hold = true
  338.         backidle = false
  339.         activate()
  340.     end
  341. end)
  342.  
  343. mouse.Button1Up:connect(function()
  344.     if hold and attack then
  345.         hold = false
  346.         attack = false
  347.         backidle = true
  348.         chainsawON:Stop()
  349.     end
  350. end)
  351.  
  352. mouse.KeyDown:connect(function(k)
  353.     if k == 'f' and equipped == false and cooldown then
  354.         equip()
  355.     elseif k == 'f' and equipped then
  356.         unequip()
  357.     end
  358. end)
  359.  
  360. mouse.KeyDown:connect(function(k)
  361.     if k == 'q' and equipped == false then
  362.         if onrun == false then
  363.             onrun = true
  364.             hum.WalkSpeed = 18
  365.         elseif onrun then
  366.             onrun = false
  367.             hum.WalkSpeed = 16
  368.         end
  369.     end
  370. end)
  371.  
  372. while true do
  373.     sine = sine + change
  374.     local tsvel = (root.Velocity * v3(1, 0, 1)).magnitude
  375.     local verticalvel = (root.Velocity).y
  376.     local hitfloor = raycast(root.Position, (cfn(root.Position, root.Position + v3(0, -1, 0))).lookVector, 4 * 1, char)
  377.     if equipped == false then
  378.         cc.FieldOfView = 70 + ww.PlaybackLoudness/500
  379.         hum.CameraOffset = hum.CameraOffset:lerp(v3(rand(-1, 1), rand(-1, 1), rand(-1, 1)), ww.PlaybackLoudness/10000)
  380.         if equipped and ww2.IsPlaying then
  381.             cc.FieldOfView = 70 + ww2.PlaybackLoudness/500
  382.             hum.CameraOffset = hum.CameraOffset:lerp(v3(rand(-1, 1), rand(-1, 1), rand(-1, 1)), ww2.PlaybackLoudness/15000)
  383.         end
  384.     end
  385.     pcall(function()
  386.         for i,v in pairs(char:GetChildren()) do
  387.             if v:IsA('LocalScript') and v.Name == 'Animate' then
  388.                 v.Parent = nil
  389.                 for i,v in pairs(hum:GetPlayingAnimationTracks()) do
  390.                     v:Stop()
  391.                 end
  392.                 coroutine.wrap(function()
  393.                     wait(3)
  394.                     for i,v in pairs(hum:GetChildren()) do
  395.                         if v:IsA('Animator') then
  396.                             v.Parent = nil
  397.                         end
  398.                     end
  399.                 end)()
  400.             end
  401.         end
  402.     end)
  403.     if verticalvel > 1 and cananim and hitfloor == nil then
  404.         change = 1
  405.         rj.C0 = clerp(rj.C0, rj0 * cfa(rad(-10), rad(0) + root.RotVelocity.Y/30, rad(0)) * cfn(0, 0, 0), 0.1)
  406.         nk.C0 = clerp(nk.C0, nk0 * cfa(rad(-15), rad(0), rad(0)) * cfn(0, 0, 0), .1)
  407.         rs.C0 = clerp(rs.C0, rs0 * cfa(rad(-10), rad(0) + ra.RotVelocity.Y/30, rad(-0)) * cfn(0, -0, 0), .15)
  408.         ls.C0 = clerp(ls.C0, ls0 * cfa(rad(-10), rad(0) + la.RotVelocity.Y/30, rad(0)) * cfn(0, -0, -0), .15)
  409.         rh.C0 = clerp(rh.C0, rh0 * cfa(rad(0), rad(0), rad(-0)) * cfn(0.55, 1, 0), 0.1)
  410.         lh.C0 = clerp(lh.C0, lh0 * cfa(rad(0), rad(0), rad(0)) * cfn(0, 0, 0), 0.1)
  411.     elseif verticalvel < -1 and cananim and hitfloor == nil then
  412.         change = 1
  413.         rj.C0 = clerp(rj.C0, rj0 * cfa(rad(30), rad(0) - root.RotVelocity.Y/30, rad(0)) * cfn(0, 0, 0), 0.050)
  414.         nk.C0 = clerp(nk.C0, nk0 * cfa(rad(10), rad(0), rad(0)) * cfn(0, 0, 0), .1)
  415.         rs.C0 = clerp(rs.C0, rs0 * cfa(rad(-30), rad(0) - ra.RotVelocity.Y/30, rad(-0)) * cfn(0, -0.2, 0), .050)
  416.         ls.C0 = clerp(ls.C0, ls0 * cfa(rad(-30), rad(0) - la.RotVelocity.Y/30, rad(0)) * cfn(0, -0.2, -0), .050)
  417.         rh.C0 = clerp(rh.C0, rh0 * cfa(rad(0), rad(0), rad(-0)) * cfn(0.55, 1, 0), 0.1)
  418.         lh.C0 = clerp(lh.C0, lh0 * cfa(rad(0), rad(0), rad(0)) * cfn(0, 0, 0), 0.1)
  419.     elseif tsvel < 2 and cananim and hitfloor ~= nil then
  420.         change = 1
  421.         chainsawweld.C0 = chainsawweld.C0:lerp(cfn(-0.2, -0.3, 0.65) * cfa(rad(-90), rad(90), rad(0)), 0.1)
  422.         hum.CameraOffset = hum.CameraOffset:lerp(v3(0, 0, 0), 0.1)
  423.         rj.C0 = clerp(rj.C0, rj0 * cfa(rad(0), rad(0), rad(0)) * cfn(0, 0, 0.07 * sin(sine/30)), .1)
  424.         nk.C0 = clerp(nk.C0, nk0 * cfa(rad(-2 * sin(sine/30)), rad(0), rad(15)) * cfn(0, 0, 0), .1)
  425.         rs.C0 = clerp(rs.C0, rs0 * cfa(rad(-10), rad(-1 + 5 * sin(sine/30)), rad(-0)) * cfn(0, -0, 0), .1)
  426.         ls.C0 = clerp(ls.C0, ls0 * cfa(rad(-10), rad(1 + 5 * sin(sine/30)), rad(0)) * cfn(0, 0, 0), .1)
  427.         rh.C0 = clerp(rh.C0, rh0 * cfa(rad(-5), rad(-5), rad(0)) * cfn(0, -0.07 * sin(sine/30), 0), .1)
  428.         lh.C0 = clerp(lh.C0, lh0 * cfa(rad(-5), rad(5), rad(0)) * cfn(0, -0.07 * sin(sine/30), 0), .1)
  429.     elseif onrun == false and tsvel < 20 and cananim and hitfloor ~= nil then
  430.         change = 0.9
  431.         chainsawweld.C0 = chainsawweld.C0:lerp(cfn(-0.2, -0.3 + 0.2 * cos(sine/3), 0.65) * cfa(rad(-90) + -0.5 * cos(sine/3), rad(90), rad(0)), 0.030)
  432.         hum.CameraOffset = hum.CameraOffset:lerp(v3(0, 0, 0), 0.1)
  433.         rj.C0 = clerp(rj.C0, rj0 * cfa(rad(6), rad(0) + root.RotVelocity.Y/40, rad(10 * sin(sine/6))) * cfn(0, 0, -0.010 + cos(sine/3)), 0.050)
  434.         nk.C0 = clerp(nk.C0, nk0 * cfa(rad(2 * sin(sine/6)), rad(-2 * sin(sine/6)), rad(-8 * sin(sine/6)) + root.RotVelocity.Y/50) * cfn(0, 0, 0), .050)
  435.         rs.C0 = clerp(rs.C0, rs0 * cfa(rad(-5), rad(5 * cos(sine/6)), rad(-60 * sin(sine/6))) * cfn(0, -0, 0), 0.050)
  436.         ls.C0 = clerp(ls.C0, ls0 * cfa(rad(-5), rad(5 * cos(sine/6)), rad(-60 * sin(sine/6))) * cfn(0, 0, 0.050), 0.050)
  437.         rh.C0 = clerp(rh.C0, rh0 * cfa(rad(0) + rl.RotVelocity.Y / 40, rad(0), rad(90 * sin(sine/6))) * cfn(0.05 + cos(sine/6), 0.1 + cos(sine/6), 0), 0.080)
  438.         lh.C0 = clerp(lh.C0, lh0 * cfa(rad(0) + -ll.RotVelocity.Y / 40, rad(0), rad(90 * sin(sine/6))) * cfn(-0.05 + cos(sine/6), 0.1 - cos(sine/6), 0), 0.080)
  439.     elseif onrun and tsvel < 20 and cananim and hitfloor ~= nil then
  440.         change = 0.9
  441.         chainsawweld.C0 = chainsawweld.C0:lerp(cfn(-0.2, -0.3 + 0.2 * cos(sine/3), 0.65) * cfa(rad(-90) + -0.5 * cos(sine/3), rad(90), rad(0)), 0.050)
  442.         hum.CameraOffset = hum.CameraOffset:lerp(v3(0, 0, 0), 0.1)
  443.         rj.C0 = clerp(rj.C0, rj0 * cfa(rad(8), rad(0) + root.RotVelocity.Y/40, rad(10 * sin(sine/6))) * cfn(0, 0, 0.010 + cos(sine/3)), 0.060)
  444.         nk.C0 = clerp(nk.C0, nk0 * cfa(rad(2 * sin(sine/6)), rad(-2 * sin(sine/6)), rad(-8 * sin(sine/6)) + root.RotVelocity.Y/50) * cfn(0, 0, 0), .060)
  445.         rs.C0 = clerp(rs.C0, rs0 * cfa(rad(-5), rad(5 * cos(sine/6)), rad(-60 * sin(sine/6))) * cfn(0, -0, 0), 0.060)
  446.         ls.C0 = clerp(ls.C0, ls0 * cfa(rad(-5), rad(5 * cos(sine/6)), rad(-60 * sin(sine/6))) * cfn(0, 0, 0.060), 0.060)
  447.         rh.C0 = clerp(rh.C0, rh0 * cfa(rad(0) + rl.RotVelocity.Y / 40, rad(0), rad(90 * sin(sine/6))) * cfn(0.05 + cos(sine/6), 0.1 + cos(sine/6), 0), 0.090)
  448.         lh.C0 = clerp(lh.C0, lh0 * cfa(rad(0) + -ll.RotVelocity.Y / 40, rad(0), rad(90 * sin(sine/6))) * cfn(-0.05 + cos(sine/6), 0.1 - cos(sine/6), 0), 0.090)
  449.     end
  450.     if hum.WalkSpeed > 20 and onrun == false and attack == false then
  451.         hum.WalkSpeed = 16
  452.     elseif hum.WalkSpeed < 20 and onrun and attack == false then
  453.         hum.WalkSpeed = 18
  454.     end
  455.     swait()
  456. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement