Advertisement
PersonsadminTeam

Jarred's Dildo Bat

Dec 13th, 2016
616
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 77.62 KB | None | 0 0
  1. --Jarred made this for Frisk a while ago
  2. --leak it and i'll rip your ass off while i cut your head
  3.  
  4. tool = Instance.new("HopperBin",game.Players.LocalPlayer.Backpack)
  5. tool.Name="hey, thats pretty good!"
  6.  
  7. local status = Instance.new("BoolValue", tool)
  8. local animframe = Instance.new("IntValue", status)
  9. local animtype = Instance.new("StringValue", status)
  10. local animweight = Instance.new("IntValue", status)
  11. local animcanbeinterrupted = Instance.new("BoolValue", status)
  12. status.Name = "Status"
  13. status.Value = true
  14. animframe.Name = "AnimFrame"
  15. animtype.Name = "AnimType"
  16. animtype.Value = "NOTHING AT ALL"
  17. animweight.Name = "AnimWeight"
  18. animcanbeinterrupted.Name = "AnimCanBeInterrupted"
  19. animcanbeinterrupted.Value = true
  20. New = function(Object, Parent, Name, Data)
  21.     local Object = Instance.new(Object)
  22.     for Index, Value in pairs(Data or {}) do
  23.         Object[Index] = Value
  24.     end
  25.     Object.Parent = Parent
  26.     Object.Name = Name
  27.     return Object
  28. end
  29.    
  30. Weapon = New("Model",nil,"Weapon",{})
  31. Part = New("Part",Weapon,"Part",{BrickColor = BrickColor.new("Black"),Material = Enum.Material.SmoothPlastic,Shape = Enum.PartType.Ball,Size = Vector3.new(0.25999999, 0.25999999, 0.25999999),CFrame = CFrame.new(-6.07590628, 2.69000244, 10.4602642, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.105882, 0.164706, 0.207843),})
  32. Part = New("Part",Weapon,"Part",{BrickColor = BrickColor.new("Cashmere"),Material = Enum.Material.SmoothPlastic,Shape = Enum.PartType.Ball,Size = Vector3.new(0.480000079, 0.480000079, 0.480000079),CFrame = CFrame.new(-6.07590628, 4.72000122, 10.4602623, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.827451, 0.745098, 0.588235),})
  33. Part = New("Part",Weapon,"Part",{BrickColor = BrickColor.new("Cashmere"),Material = Enum.Material.SmoothPlastic,Shape = Enum.PartType.Ball,Size = Vector3.new(0.880000174, 0.880000174, 0.880000174),CFrame = CFrame.new(-6.40303469, 5.05891132, 10.8883619, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.827451, 0.745098, 0.588235),})
  34. Part = New("Part",Weapon,"Part",{BrickColor = BrickColor.new("Cashmere"),Material = Enum.Material.SmoothPlastic,Shape = Enum.PartType.Ball,Size = Vector3.new(0.880000174, 0.880000174, 0.880000174),CFrame = CFrame.new(-5.76301908, 5.05891132, 10.8883619, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.827451, 0.745098, 0.588235),})
  35. Handle = New("Part",Weapon,"Handle",{BrickColor = BrickColor.new("Black"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.25, 2.03000021, 0.310000002),CFrame = CFrame.new(-6.07538939, 3.68499947, 10.4633636, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.105882, 0.164706, 0.207843),})
  36. Mesh = New("CylinderMesh",Handle,"Mesh",{})
  37. Part = New("Part",Weapon,"Part",{BrickColor = BrickColor.new("Cashmere"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.519999981, 6.08999968, 0.5),CFrame = CFrame.new(-6.07038641, 7.75500154, 10.4583607, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.827451, 0.745098, 0.588235),})
  38. Mesh = New("CylinderMesh",Part,"Mesh",{})
  39. Spike_Mesh = New("Part",Weapon,"Spike Mesh",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Shape = Enum.PartType.Ball,Size = Vector3.new(0.560000062, 0.560000062, 0.560000062),CFrame = CFrame.new(-6.07590628, 10.8900023, 10.4602623, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
  40. function stick(x, y)
  41.     local weld = Instance.new("Weld")
  42.     weld.Part0 = x
  43.     weld.Part1 = y
  44.     local HitPos = x.Position
  45.     local CJ = CFrame.new(HitPos)
  46.  
  47.     local C0 = x.CFrame:inverse() *CJ
  48.  
  49.     local C1 = y.CFrame:inverse() * CJ
  50.  
  51.  
  52.  
  53.     weld.C0 = C0
  54.  
  55.     weld.C1 = C1
  56.  
  57.     weld.Parent = x
  58. end
  59.  
  60.  
  61.  
  62. list = Weapon:GetChildren()
  63. for x = 1, #list do
  64.     if list[x].className == "Part" then
  65.         stick(Weapon.Handle, list[x])
  66.     end
  67. end
  68.  
  69. vPlayer=game.Players.LocalPlayer
  70.  
  71. char = vPlayer.Character
  72. tor = char.Torso
  73. mouse=vPlayer:GetMouse()
  74. regroup=false
  75. pi=math.pi
  76. rad=math.rad
  77. cf=CFrame.new
  78. ca=CFrame.Angles
  79. mo=Instance.new("Model",tor)
  80. mo.Name="Boobs"
  81. function cp(parent,color,size,transparency,anchored,cancollide)
  82.     local newp=Instance.new("Part",parent)
  83.     newp.TopSurface='Smooth'
  84.     newp.BottomSurface='Smooth'
  85.     newp.FormFactor="Custom"
  86.     newp.BrickColor=BrickColor.new(color)
  87.     newp.Size=size
  88.     newp.Anchored=anchored
  89.     newp.CanCollide=cancollide
  90.     newp.Transparency=transparency
  91.     newp.Material="SmoothPlastic"
  92.     newp:BreakJoints()
  93.     return newp
  94. end
  95. function weld(p0,p1,c0)
  96.     local w=Instance.new("Weld",p0)w.Part0=p0
  97.     w.Part1=p1 w.C1=c0
  98.     return w
  99. end
  100. cm = function(par,num,x,y,z)
  101.     local msh = 0
  102.     if num == 1 then msh = Instance.new("CylinderMesh",par)
  103.     elseif num == 2 then msh = Instance.new("SpecialMesh",par) msh.MeshType = 3
  104.     elseif num == 3 then msh = Instance.new("BlockMesh",par)
  105.     elseif type(num) == 'string' then msh = Instance.new("SpecialMesh",par) msh.MeshId = num
  106.     end
  107.     msh.Scale=Vector3.new(x,y,z)
  108.     return msh
  109. end
  110. Tween = function(Weld, Stop, Step,a)
  111.     ypcall(function()local func = function()
  112.         local Start = Weld.C1 local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
  113.         local Stop = Stop local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
  114.         Spawn(function()
  115.             for i = 0, 1, Step or .1 do wait()
  116.                 Weld.C1 = cf( (Start.p.X * (1 - i)) + (Stop.p.X * i),(Start.p.Y * (1 - i)) + (Stop.p.Y * i),(Start.p.Z * (1 - i)) + (Stop.p.Z * i)) * ca((X1 * (1 - i)) + (X2 * i), (Y1 * (1 - i)) + (Y2 * i),(Z1 * (1 - i)) + (Z2 * i) )
  117.             end
  118.             Weld.C1 = Stop
  119.         end)
  120.         end
  121.         if a then
  122.              coroutine.wrap(func)()
  123.         else func()
  124.         end
  125.     end)
  126. end
  127. function jiggle()
  128.     Tween(b1w,cf(.46,.5+.2,-.5-.2)*ca(rad(70),0,0),.1)
  129.     Tween(b2w,cf(-.46,.5+.2,-.5-.2)*ca(rad(70),0,0),.1)
  130.     wait(.3)
  131.     Tween(b1w,cf(.46,.5,-.5)*ca(-rad(5),0,0),.1)
  132.     Tween(b2w,cf(-.46,.5,-.5)*ca(-rad(5),0,0),.1)
  133.     wait(.3)
  134.     Tween(b1w,cf(.46,.5+.1,-.5-.1)*ca(rad(30),0,0),.1)
  135.     Tween(b2w,cf(-.46,.5+.1,-.5-.1)*ca(rad(30),0,0),.1)
  136.     wait(.3)
  137.     Tween(b1w,cf(.46,.5,-.5)*ca(0,0,0),.1)
  138.     Tween(b2w,cf(-.46,.5,-.5)*ca(0,0,0),.1)
  139.     wait(.3)
  140. end
  141. function jiggle2()
  142.     Tween(b1w,cf(.46,.5+.2,-.5-.2)*ca(rad(20),0,0),.1)
  143.     Tween(b2w,cf(-.46,.5+.2,-.5-.2)*ca(rad(20),0,0),.1)
  144.     wait(.3)
  145.     Tween(b1w,cf(.46,.5,-.5)*ca(0,0,0),.1)
  146.     Tween(b2w,cf(-.46,.5,-.5)*ca(0,0,0),.1)
  147.     wait(.3)
  148. end
  149. function jiggle3()
  150.     Tween(b1w,cf(.46,.5+.2,-.5-.2)*ca(rad(20),0,0),.1)
  151.     Tween(b2w,cf(-.46,.5,-.5)*ca(0,0,0),.1)
  152.     wait(.3)
  153.     Tween(b1w,cf(.46,.5,-.5)*ca(0,0,0),.1)
  154.     Tween(b2w,cf(-.46,.5+.2,-.5-.2)*ca(rad(20),0,0),.1)
  155.     wait(.3)
  156. end
  157. b1=cp(mo,tor.BrickColor.Color,Vector3.new(1,1,1),0,false,false)
  158. cm(b1,2,1,1,1.1)
  159. b1w=weld(b1,tor,cf(.46,.5,-.5))
  160. b2=cp(mo,tor.BrickColor.Color,Vector3.new(1,1,1),0,false,false)
  161. cm(b2,2,1,1,1.1)
  162. b2w=weld(b2,tor,cf(-.46,.5,-.5))
  163. p=cp(mo,char.Head.BrickColor.Color,Vector3.new(1,1,1),0,false,false)
  164. cm(p,2,.6,.6,.6)
  165. weld(p,b1,cf(-0.2,0.2,0))
  166. p=cp(mo,char.Head.BrickColor.Color,Vector3.new(1,1,1),0,false,false)
  167. cm(p,2,.6,.6,.6)
  168. weld(p,b2,cf(0.2,0.2,0))
  169. p=cp(mo,char.Head.BrickColor.Color,Vector3.new(.1,.1,.1),0,false,false)
  170. weld(p,tor,cf(0,.9,-0.401))
  171. mouse.KeyDown:connect(function(k)
  172.     if string.byte(k) == 48 then
  173.         char.Humanoid.WalkSpeed = 25
  174.     end
  175. end)
  176. mouse.KeyUp:connect(function(k)
  177.     if string.byte(k) == 48 then
  178.         char.Humanoid.WalkSpeed = 16
  179.         regroup=true
  180.     end
  181. end)
  182. spawn(function()
  183.     while wait() do
  184.         if regroup==true then
  185.             Tween(b1w,cf(.46,.5,-.5)*ca(0,0,0),.1)
  186.             Tween(b2w,cf(-.46,.5,-.5)*ca(0,0,0),.1)
  187.             wait(.3)
  188.             regroup=false
  189.         end
  190.         if char.Humanoid.jump==true then
  191.             wait(.1)
  192.             jiggle()
  193.         elseif Vector3.new(tor.Velocity.x, 0, tor.Velocity.z).magnitude > 2 then
  194.             if char.Humanoid.WalkSpeed==16 then
  195.                 jiggle2()
  196.             else
  197.                 jiggle3()
  198.             end
  199.         end
  200.     end
  201. end)
  202. mo.Parent=nil
  203.  
  204.  
  205.  
  206. RightShoulder=nil
  207. LeftShoulder=nil
  208. RightHip=nil
  209. LeftHip=nil
  210. Neck=nil
  211. RootJoint=nil
  212.  
  213. RightShoulderC0=CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  214. RightShoulderC1=CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  215. LeftShoulderC0=CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  216. LeftShoulderC1=CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  217. RightHipC0=CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  218. RightHipC1=CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  219. LeftHipC0=CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  220. LeftHipC1=CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  221. NeckC0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  222. NeckC1=CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  223. RootJointC0=CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  224. RootJointC1=CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  225.  
  226. Grip=nil
  227. GripC0=CFrame.new(0,-.85,0)*CFrame.fromEulerAnglesXYZ(-math.pi/2,math.pi/2,0)
  228.  
  229. TrackFunction=nil
  230. PlayerAnimationScript=nil
  231. equipdebounce=true
  232.  
  233. PlayerCanJump = true
  234.  
  235. StickDir=5
  236. StickPos=5
  237. PlayerCombatKeys={}
  238.  
  239. radiushelp = 0
  240.  
  241. InfoGui=nil
  242.  
  243. SoundTable={["Airdash"] = "153092348",
  244. ["BarrierHit"] = "153092205",
  245. ["Grapple"] = "153092304",
  246. ["Hit_Damage_Heavycut"] = "153092274",
  247. ["Hit_Damage_Heavydelaysmack"] = "153092217",
  248. ["Hit_Damage_Heavysmack"] = "153092227",
  249. ["Hit_Damage_Lightcut"] = "153092285",
  250. ["Hit_Damage_Lightsmack"] = "153092249",
  251. ["Hit_Damage_Mediumcut"] = "153092292",
  252. ["Hit_Damage_Medsmack"] = "153092238",
  253. ["Hit_Damage_Medsmack_Alt"] = "153092213",
  254. ["Hit_Damage_Tinycut"] = "153092296",
  255. ["Overdrive_Begin"] = "153092315",
  256. ["Overdrive_End"] = "153092334",
  257. ["none"]="",
  258. }
  259.  
  260. BodyVel=Instance.new("BodyVelocity")
  261. BodyVel.Name="HumanoidMover"
  262. BodyVel.P=2000
  263. BodyVel.maxForce=Vector3.new(4800000,0,4800000)
  264. BodyVel.Parent=nil
  265.  
  266. BodyGyro=Instance.new("BodyGyro")
  267. BodyGyro.P=13000
  268. BodyGyro.maxTorque=Vector3.new(1850000,1850000,1850000)
  269. BodyGyro.D=200
  270.  
  271. CanAttack=true
  272.  
  273. PlayerInputs={}
  274. PlayerInputCullThreshold=30
  275. PlayerInputAgeCullFactor=30
  276. PlayerInputStringFrame=.7
  277.  
  278. CurrentCameraState="3D"
  279. CanChangeCameraState=false
  280. CameraResetTime=180
  281. PlayerFacing="Right"
  282. DesiredPlayerFacing="Right"
  283. CameraPlane=CFrame.new(0,0,0)
  284. CameraOutDir=Vector3.new(0,0,0)
  285. FirstTick=false
  286.  
  287. DesiredWalkspeed=16
  288.  
  289. TwoDInputs={}
  290. setlastnormal=function(key)
  291.     lastnormal=key
  292.     coroutine.resume(coroutine.create(function(k,kt)
  293.         while k == lastnormal do
  294.             if kt + 1.2 < tick() then
  295.                 break
  296.             end
  297.             wait()
  298.         end
  299.         lastnormal=""
  300.         --print("Done")
  301.     end),lastnormal,tick())
  302. end
  303.  
  304. CameraPlane = function()
  305.     local buttspoop = (workspace.CurrentCamera.CoordinateFrame.p - (workspace.CurrentCamera.CoordinateFrame*CFrame.new(0,0,5)).p).unit
  306.     return Vector3.new(buttspoop.x,0,buttspoop.z).unit
  307. end
  308.  
  309. InputNormals={}
  310. LastGrunt=time()
  311. InputNormals["Z"]=function()
  312.     if CurrentAnimation==Animations["Z"] and tool.Status.AnimCanBeInterrupted.Value==false then return end
  313.     RequestAnimationChange("Z",0)
  314.     if CurrentAnimation~=Animations["Z"] then return end
  315.     if TrackFunction~=nil then
  316.         TrackFunction:disconnect()
  317.         TrackFunction=nil
  318.     end
  319.  
  320.     CanInterrupt(false)
  321.     PlayerIsAttacking=true
  322.    
  323.     local rawframes=0
  324.     tool.Status.AnimFrame.Value=0
  325.    
  326.     local DidHit=false
  327.    
  328.     local CPlane=CameraPlane()
  329.     vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  330.    
  331.     local cl = 0
  332.     local clastframe = lastframe
  333.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function()
  334.         BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  335.         BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  336.         BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  337.         if rawframes==0 then
  338.             BodyGyro.Parent.CFrame=BodyGyro.cframe
  339.         end
  340.         if rawframes <= 7 then
  341.             LerpWelds(clastframe,rawframes/7,Animations["Z"]["Animation"](0))
  342.         elseif rawframes > 7 and rawframes <= 14 then
  343.             if rawframes == 8 then
  344.                 p=Instance.new("Sound",vPlayer.Character.Weapon.Handle)
  345.                 p.Volume=1
  346.                 p.Pitch=1
  347.                 p.SoundId="http://www.roblox.com/asset/?id=231917961"
  348.                 wait()
  349.                 p:Play()
  350.                 game:GetService("Debris"):AddItem(p,3)
  351.             end
  352.             cl = cl + (rawframes-7) * .042
  353.             LerpWelds({Animations["Z"]["Animation"](0)},cl,Animations["Z"]["Animation"](1))
  354.         elseif rawframes > 14 and rawframes <= 21 then --overlerp
  355.             local ccl = cl - 1
  356.             LerpWelds({Animations["Z"]["Animation"](0)},1 + ccl - ccl/6*(rawframes-15),Animations["Z"]["Animation"](1))
  357.         elseif rawframes > 22 then
  358.             --print((rawframes-22)/7)
  359.             LerpWelds({Animations["Z"]["Animation"](1)},(rawframes-22)/7,Animations["Stand"]["Animation"](0))
  360.         end
  361.         if rawframes >= 6 and rawframes <= 9 then
  362.             BodyVel.velocity=CPlane*(rawframes)
  363.         else
  364.             BodyVel.velocity=BodyVel.velocity/1.1
  365.         end
  366.         if rawframes >= 9 and rawframes <= 14 then
  367.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon["Spike Mesh"].Position - CPlane * 2,3.5)) do
  368.                 applyDamage(v,16 + math.random(-2,2),CPlane*25,false,false,nil,.2,1)
  369.                 applyCameraShake(v,180,5)
  370.                 if DidHit==false then
  371.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  372.                     s.Volume=1
  373.                     s.SoundId="http://www.roblox.com/asset/?id=191395561"
  374.                     wait()
  375.                     s:Play()
  376.                     game:GetService("Debris"):AddItem(s,2)
  377.                 end
  378.                 DidHit=true
  379.             end
  380.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon["Handle"].Position - CPlane * 1,3)) do
  381.                 applyDamage(v,8 + math.random(-2,2),CPlane*35,false,false,nil,.2,1)
  382.                 applyCameraShake(v,180,5)
  383.                 if DidHit==false then
  384.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  385.                     s.Volume=1
  386.                     s.SoundId="http://www.roblox.com/asset/?id=153092227"
  387.                     wait()
  388.                     s:Play()
  389.                     game:GetService("Debris"):AddItem(s,2)
  390.                 end
  391.                 DidHit=true
  392.             end
  393.         end
  394.         if rawframes==22 then
  395.             CanInterrupt(true)
  396.             setlastnormal("Z")
  397.             --print("JORJ")
  398.         end
  399.         if rawframes == 28 then
  400.             TrackFunction:disconnect()
  401.             TrackFunction=nil
  402.             DesiredWalkspeed=18
  403.             PlayerIsAttacking=false
  404.             CanInterrupt(true)
  405.             setlastnormal("")
  406.             Stand()
  407.         end
  408.         rawframes=rawframes+1
  409.     end)
  410. end
  411.  
  412. InputNormals["ZZ"]=function()
  413.     --print("8)")
  414.     if CurrentAnimation==Animations["ZZ"] and tool.Status.AnimCanBeInterrupted.Value==false then return end
  415.     RequestAnimationChange("ZZ",0)
  416.     if CurrentAnimation~=Animations["ZZ"] then return end
  417.    
  418.     --print("WEEOOB")
  419.    
  420.     if TrackFunction~=nil then
  421.         TrackFunction:disconnect()
  422.         TrackFunction=nil
  423.     end
  424.  
  425.     --print("GOE")
  426.  
  427.     CanInterrupt(false)
  428.     PlayerIsAttacking=true
  429.    
  430.     local rawframes=0
  431.     tool.Status.AnimFrame.Value=0
  432.    
  433.     local DidHit=false
  434.    
  435.     local CPlane=CameraPlane()
  436.     vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  437.    
  438.     local cl = 0
  439.     local clastframe = lastframe
  440.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function()
  441.         BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  442.         BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  443.         BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  444.         if rawframes==0 then
  445.             BodyGyro.Parent.CFrame=BodyGyro.cframe
  446.         end
  447.         if rawframes <= 7 then
  448.             LerpWelds(clastframe,rawframes/7,Animations["ZZ"]["Animation"](0))
  449.         elseif rawframes > 7 and rawframes <= 14 then
  450.             if rawframes == 8 then
  451.                 p=Instance.new("Sound",vPlayer.Character.Weapon.Handle)
  452.                 p.Volume=1
  453.                 p.Pitch=.9
  454.                 p.SoundId="http://www.roblox.com/asset/?id=231917950"
  455.                 wait()
  456.                 p:Play()
  457.                 game:GetService("Debris"):AddItem(p,3)
  458.             end
  459.             cl = cl + (rawframes-7) * .037
  460.             LerpWelds({Animations["ZZ"]["Animation"](0)},cl,Animations["ZZ"]["Animation"](1))
  461.         elseif rawframes > 14 and rawframes <= 21 then --overlerp
  462.             local ccl = cl - 1
  463.             LerpWelds({Animations["ZZ"]["Animation"](0)},1 + ccl - ccl/6*(rawframes-15),Animations["ZZ"]["Animation"](1))
  464.         elseif rawframes > 22 then
  465.             --print((rawframes-22)/7)
  466.             LerpWelds({Animations["ZZ"]["Animation"](1)},(rawframes-22)/7,Animations["Stand"]["Animation"](0))
  467.         end
  468.         if rawframes >= 3 and rawframes <= 6 then
  469.             BodyVel.velocity=CPlane*(rawframes*3)
  470.         else
  471.             BodyVel.velocity=BodyVel.velocity/1.2
  472.         end
  473.         if rawframes >= 9 and rawframes <= 14 then
  474.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon["Spike Mesh"].Position,5)) do
  475.                 applyDamage(v,20 + math.random(-2,2),CPlane*35,false,false,nil,.2,1)
  476.                 applyCameraShake(v,180,5)
  477.                 if DidHit==false then
  478.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  479.                     s.Volume=1
  480.                     s.Pitch=1.05
  481.                     s.SoundId="http://www.roblox.com/asset/?id=191395561"
  482.                     wait()
  483.                     s:Play()
  484.                     game:GetService("Debris"):AddItem(s,2)
  485.                 end
  486.                 DidHit=true
  487.             end
  488.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon["Handle"].Position - CPlane * 1,3)) do
  489.                 applyDamage(v,12 + math.random(-2,2),CPlane*55,false,false,nil,.2,1)
  490.                 applyCameraShake(v,180,5)
  491.                 if DidHit==false then
  492.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  493.                     s.Volume=1
  494.                     s.SoundId="http://www.roblox.com/asset/?id=153092227"
  495.                     wait()
  496.                     s:Play()
  497.                     game:GetService("Debris"):AddItem(s,2)
  498.                 end
  499.                 DidHit=true
  500.             end
  501.         end
  502.         if rawframes==21 then
  503.             CanInterrupt(true)
  504.             setlastnormal("ZZ")
  505.             --print("JORJ")
  506.         end
  507.         if rawframes == 28 then
  508.             TrackFunction:disconnect()
  509.             TrackFunction=nil
  510.             DesiredWalkspeed=18
  511.             PlayerIsAttacking=false
  512.             CanInterrupt(true)
  513.             setlastnormal("")
  514.             Stand()
  515.         end
  516.         rawframes=rawframes+1
  517.     end)
  518. end
  519.  
  520. InputNormals["ZZZ"]=function()
  521.     --print("8)")
  522.     if CurrentAnimation==Animations["ZZZ"] and tool.Status.AnimCanBeInterrupted.Value==false then return end
  523.     RequestAnimationChange("ZZZ",0)
  524.     if CurrentAnimation~=Animations["ZZZ"] then return end
  525.    
  526.     --print("WEEOOB")
  527.    
  528.     if TrackFunction~=nil then
  529.         TrackFunction:disconnect()
  530.         TrackFunction=nil
  531.     end
  532.  
  533.     --print("GOE")
  534.  
  535.     CanInterrupt(false)
  536.     PlayerIsAttacking=true
  537.    
  538.     local rawframes=0
  539.     tool.Status.AnimFrame.Value=0
  540.    
  541.     local DidHit=false
  542.    
  543.     local CPlane=CameraPlane()
  544.     vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  545.    
  546.     local cl = 0
  547.     local clastframe = lastframe
  548.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function()
  549.         BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  550.         BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  551.         BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  552.         if rawframes==0 then
  553.             BodyGyro.Parent.CFrame=BodyGyro.cframe
  554.         end
  555.         if rawframes <= 5 then
  556.             LerpWelds(clastframe,rawframes/5,Animations["ZZZ"]["Animation"](0))
  557.                         if rawframes == 3 then
  558.                 p=Instance.new("Sound",vPlayer.Character.Weapon.Handle)
  559.                 p.Volume=1
  560.                 p.Pitch=1
  561.                 p.SoundId="http://www.roblox.com/asset/?id=231917977"
  562.                 wait()
  563.                 p:Play()
  564.                 game:GetService("Debris"):AddItem(p,3)
  565.                
  566.                 --http://www.roblox.com/SFX-Specialsetup-01-item?id=231917977
  567.                
  568.             end
  569.         elseif rawframes > 5 and rawframes <= 10 then
  570.  
  571.             --print((rawframes - 5)/5)
  572.             LerpWelds({Animations["ZZZ"]["Animation"](0)},(rawframes - 5)/5,Animations["ZZZ"]["Animation"](1))
  573.         elseif rawframes > 13 then
  574.             LerpWelds({Animations["ZZZ"]["Animation"](1)},(rawframes-13)/9,Animations["Stand"]["Animation"](0))
  575.         end
  576.         if rawframes >= 2 and rawframes < 6 and DidHit==false then
  577.             BodyVel.velocity=CPlane*(rawframes*14)
  578.         else
  579.             BodyVel.velocity=BodyVel.velocity/1.2
  580.             if DidHit then
  581.                 BodyVel.velocity=BodyVel.velocity/1.2
  582.             end
  583.         end
  584.         if rawframes >= 6 and rawframes <= 11 then
  585.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Torso.Position + CPlane * 1,4)) do
  586.                 applyDamage(v,12 + math.random(-2,2),CPlane*20,false,false,nil,.2,1)
  587.                 applyCameraShake(v,100,3)
  588.                 if DidHit==false then
  589.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  590.                     s.Volume=1
  591.                     s.Pitch=1.05
  592.                     s.SoundId="http://www.roblox.com/asset/?id=153092213"
  593.                     wait()
  594.                     s:Play()
  595.                     game:GetService("Debris"):AddItem(s,2)
  596.                 end
  597.                 DidHit=true
  598.             end
  599.         end
  600.         if rawframes==16 then
  601.             CanInterrupt(true)
  602.             setlastnormal("ZZZ")
  603.             --print("JORJ")
  604.         end
  605.         if rawframes == 20 then
  606.             TrackFunction:disconnect()
  607.             TrackFunction=nil
  608.             DesiredWalkspeed=18
  609.             PlayerIsAttacking=false
  610.             CanInterrupt(true)
  611.             setlastnormal("")
  612.             Stand()
  613.         end
  614.         rawframes=rawframes+1
  615.     end)
  616. end
  617.  
  618. InputNormals["ZZZZ"]=function()
  619.     --print("8)")
  620.     if CurrentAnimation==Animations["ZZZZ"] and tool.Status.AnimCanBeInterrupted.Value==false then return end
  621.     RequestAnimationChange("ZZZZ",0)
  622.     if CurrentAnimation~=Animations["ZZZZ"] then return end
  623.    
  624.     --print("WEEOOB")
  625.    
  626.     if TrackFunction~=nil then
  627.         TrackFunction:disconnect()
  628.         TrackFunction=nil
  629.     end
  630.  
  631.     --print("GOE")
  632.  
  633.     CanInterrupt(false)
  634.     PlayerIsAttacking=true
  635.    
  636.     local rawframes=0
  637.     tool.Status.AnimFrame.Value=0
  638.    
  639.     local DidHit=false
  640.    
  641.     local CPlane=CameraPlane()
  642.     vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  643.    
  644.     local cl = 0
  645.     local clastframe = lastframe
  646.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function()
  647.         BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  648.         BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  649.         BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  650.         if rawframes==0 then
  651.             BodyGyro.Parent.CFrame=BodyGyro.cframe
  652.         end
  653.         if rawframes <= 5 then
  654.             LerpWelds(clastframe,rawframes/5,Animations["ZZZZ"]["Animation"](0))
  655.         elseif rawframes > 5 and rawframes <= 10 then
  656.             if rawframes == 6 then
  657.                 p=Instance.new("Sound",vPlayer.Character.Weapon.Handle)
  658.                 p.Volume=1
  659.                 p.Pitch=1.4
  660.                 p.SoundId="http://www.roblox.com/asset/?id=231917987"
  661.                 wait()
  662.                 p:Play()
  663.                 game:GetService("Debris"):AddItem(p,3)
  664.             end
  665.             --print((rawframes - 5)/5)
  666.             LerpWelds({Animations["ZZZZ"]["Animation"](0)},(rawframes - 5)/5,Animations["ZZZZ"]["Animation"](1))
  667.         elseif rawframes > 13 then
  668.             LerpWelds({Animations["ZZZZ"]["Animation"](1)},(rawframes-13)/9,Animations["Stand"]["Animation"](0))
  669.         end
  670.         if rawframes >= 5 and rawframes < 7 and DidHit==false then
  671.             BodyVel.velocity=CPlane*(rawframes*9)
  672.         else
  673.             BodyVel.velocity=BodyVel.velocity/1.2
  674.             if DidHit then
  675.                 BodyVel.velocity=BodyVel.velocity/1.2
  676.             end
  677.         end
  678.         if rawframes >= 6 and rawframes <= 11 then
  679.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Torso.Position + CPlane * 4,4)) do
  680.                 applyDamage(v,18 + math.random(-2,2),CPlane*20,false,false,nil,.2,1)
  681.                 applyCameraShake(v,150,3)
  682.                 if DidHit==false then
  683.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  684.                     s.Volume=1
  685.                     s.Pitch=1
  686.                     s.SoundId="http://www.roblox.com/asset/?id=153092274"
  687.                     wait()
  688.                     s:Play()
  689.                     game:GetService("Debris"):AddItem(s,2)
  690.                 end
  691.                 DidHit=true
  692.             end
  693.         end
  694.         if rawframes==13 then
  695.             CanInterrupt(true)
  696.             setlastnormal("ZZZZ")
  697.             --print("JORJ")
  698.         end
  699.         if rawframes == 20 then
  700.             TrackFunction:disconnect()
  701.             TrackFunction=nil
  702.             DesiredWalkspeed=18
  703.             PlayerIsAttacking=false
  704.             CanInterrupt(true)
  705.             setlastnormal("")
  706.             Stand()
  707.         end
  708.         rawframes=rawframes+1
  709.     end)
  710. end
  711.  
  712. InputNormals["ZZZZZ"]=function()
  713.     if CurrentAnimation==Animations["ZZZZZ"] and tool.Status.AnimCanBeInterrupted.Value==false then return end
  714.     RequestAnimationChange("ZZZZZ",0)
  715.     if CurrentAnimation~=Animations["ZZZZZ"] then return end
  716.     if TrackFunction~=nil then
  717.         TrackFunction:disconnect()
  718.         TrackFunction=nil
  719.     end
  720.  
  721.     CanInterrupt(false)
  722.     PlayerIsAttacking=true
  723.    
  724.     local rawframes=0
  725.     tool.Status.AnimFrame.Value=0
  726.    
  727.     local DidHit=false
  728.    
  729.     local CPlane=CameraPlane()
  730.     vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  731.    
  732.     local cl = 0
  733.     local clastframe = lastframe
  734.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function()
  735.         BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  736.         BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  737.         BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  738.         if rawframes==0 then
  739.             BodyGyro.Parent.CFrame=BodyGyro.cframe
  740.         end
  741.         if rawframes <= 3 then
  742.             LerpWelds(clastframe,rawframes/3,Animations["ZZZZZ"]["Animation"](0))
  743.         elseif rawframes > 3 and rawframes <= 9 then
  744.             if rawframes == 4 then
  745.                 p=Instance.new("Sound",vPlayer.Character.Weapon.Handle)
  746.                 p.Volume=1
  747.                 p.Pitch=1
  748.                 p.SoundId="http://www.roblox.com/asset/?id=231917961"
  749.                 wait()
  750.                 p:Play()
  751.                 game:GetService("Debris"):AddItem(p,3)
  752.             end
  753.             cl = cl + (rawframes-3) * .07
  754.             --print(cl,1)
  755.             LerpWelds({Animations["ZZZZZ"]["Animation"](0)},cl,Animations["ZZZZZ"]["Animation"](1))
  756.         elseif rawframes > 9 and rawframes <= 17 then --overlerp
  757.             local ccl = cl - 1
  758.             --print(1 + ccl - ccl/6*(rawframes-9),2)
  759.             LerpWelds({Animations["ZZZZZ"]["Animation"](0)},1 + ccl - ccl/6*(rawframes-10),Animations["ZZZZZ"]["Animation"](1))
  760.         elseif rawframes > 17 then
  761.             --print((rawframes-17)/10,3)
  762.             LerpWelds({Animations["ZZZZZ"]["Animation"](1)},(rawframes-18)/10,Animations["Stand"]["Animation"](0))
  763.         end
  764.         if rawframes >= 6 and rawframes <= 9 then
  765.             BodyVel.velocity=CPlane*(rawframes)
  766.         else
  767.             BodyVel.velocity=BodyVel.velocity/1.1
  768.         end
  769.         if rawframes >= 5 and rawframes <= 7 then
  770.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon["Spike Mesh"].Position,4)) do
  771.                 applyDamage(v,14 + math.random(-2,2),CPlane*10 + Vector3.new(0,55,0),true,false,nil,.2,1)
  772.                 applyCameraShake(v,220,5)
  773.                 if DidHit==false then
  774.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  775.                     s.Volume=1
  776.                     s.SoundId="http://www.roblox.com/asset/?id=191395579"
  777.                     wait()
  778.                     s:Play()
  779.                     game:GetService("Debris"):AddItem(s,2)
  780.                 end
  781.                 DidHit=true
  782.             end
  783.             for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon["Handle"].Position - CPlane * 1,3)) do
  784.                 applyDamage(v,6 + math.random(-2,2),CPlane*35,false,false,nil,.2,1)
  785.                 applyCameraShake(v,220,5)
  786.                 if DidHit==false then
  787.                     local s = Instance.new("Sound",v:FindFirstChild("Torso"))
  788.                     s.Volume=1
  789.                     s.SoundId="http://www.roblox.com/asset/?id=153092227"
  790.                     wait()
  791.                     s:Play()
  792.                     game:GetService("Debris"):AddItem(s,2)
  793.                 end
  794.                 DidHit=true
  795.             end
  796.         end
  797.         if rawframes==18 then
  798.             CanInterrupt(true)
  799.             setlastnormal("")
  800.             --print("JORJ")
  801.         end
  802.         if rawframes == 26 then
  803.             TrackFunction:disconnect()
  804.             TrackFunction=nil
  805.             DesiredWalkspeed=18
  806.             PlayerIsAttacking=false
  807.             CanInterrupt(true)
  808.             setlastnormal("")
  809.             Stand()
  810.         end
  811.         rawframes=rawframes+1
  812.     end)
  813. end
  814.  
  815. GetNubs=function()
  816.     scrubs={}
  817.     for _,v in pairs(game.Workspace:children()) do
  818.         if v:FindFirstChild("Humanoid")~=nil and v:FindFirstChild("Torso")~=nil and v.Name~=game.Players.LocalPlayer.Name then
  819.             table.insert(scrubs,v)
  820.         end
  821.     end
  822.     return scrubs
  823. end
  824.  
  825. GetNubsInRadius=function(pos,radius)
  826.     radius=radius+radiushelp
  827.     scrubs=GetNubs()
  828.     filtered={}
  829.     for _,v in pairs(scrubs) do
  830.         if v:FindFirstChild("Torso")~=nil then
  831.             if (v.Torso.Position-pos).magnitude<=radius then
  832.                 table.insert(filtered,v)
  833.             end
  834.         end
  835.     end
  836.     return filtered
  837. end
  838.  
  839. noy=function(pos)
  840.     return Vector3.new(pos.x,0,pos.z)
  841. end
  842.  
  843. applyCameraShake=function(Noob,Intens,Time)
  844. end
  845.  
  846. applyHitEffect=function(Noob,Level,CutBlunt)
  847.     t=Noob:FindFirstChild("Torso")
  848.     if Level==nil then Level=0 end
  849.     if t~=nil then
  850.        
  851.         if CutBlunt=="Blunt" then
  852.             p=Instance.new("Part")
  853.             p.Name="HITEFFECT"
  854.             p.CanCollide=false
  855.             p.TopSurface=0
  856.             p.BottomSurface=0
  857.             p.BrickColor=BrickColor.new("Institutional white")
  858.             p.Anchored=true
  859.             p.CFrame=t.CFrame + Vector3.new(math.random(-15,15)/10,math.random(-15,15)/10,math.random(-15,15)/10)
  860.             p.formFactor="Symmetric"
  861.             p.Size=Vector3.new(1,1,1)
  862.             p.Parent=t.Parent
  863.             m=Instance.new("SpecialMesh")
  864.             m.MeshType="Sphere"
  865.             m.Parent=p
  866.             game:GetService("Debris"):AddItem(p,5)
  867.             coroutine.resume(coroutine.create(function(p,l)
  868.             for i=1, 9 do
  869.                 p.Transparency=.5+i/18
  870.                 p.Mesh.Scale=p.Mesh.Scale+Vector3.new(.6+l,.6+l,.6+l)
  871.                 wait(.031)
  872.             end
  873.             p:Remove() end),p,(Level-1)/4)
  874.         end
  875.        
  876.         p=Instance.new("Part")
  877.         p.Name="HITEFFECT"
  878.         p.CanCollide=false
  879.         p.TopSurface=0
  880.         p.BottomSurface=0
  881.         p.BrickColor=BrickColor.new("Institutional white")
  882.         p.Anchored=true
  883.         p.CFrame=t.CFrame
  884.         p.formFactor="Symmetric"
  885.         p.Size=Vector3.new(1,1,1)
  886.         p.Parent=t.Parent
  887.         m=Instance.new("SpecialMesh")
  888.         m.MeshType="Sphere"
  889.         m.Parent=p
  890.         game:GetService("Debris"):AddItem(p,5)
  891.         coroutine.resume(coroutine.create(function(p)
  892.         for i=1, 8 do
  893.             p.Transparency=i/8
  894.             p.Mesh.Scale=p.Mesh.Scale+Vector3.new(.5,.5,.5)
  895.             wait(.031)
  896.         end
  897.         p:Remove() end),p)
  898.         if Level>=2 then
  899.             for i=1, Level do
  900.                 p=Instance.new("Part")
  901.                 p.Name="HITEFFECT"
  902.                 p.CanCollide=false
  903.                 p.TopSurface=0
  904.                 p.BottomSurface=0
  905.                 p.BrickColor=BrickColor.new("Institutional white")
  906.                 p.Anchored=true
  907.                 p.CFrame=t.CFrame * CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
  908.                 p.formFactor="Symmetric"
  909.                 p.Size=Vector3.new(1,1,1)
  910.                 p.Parent=t.Parent
  911.                 m=Instance.new("SpecialMesh")
  912.                 m.MeshId="http://www.roblox.com/asset/?id=3270017"
  913.                 m.Scale=Vector3.new(2.4+i,2.4+i,.6)
  914.                 m.Parent=p
  915.                 game:GetService("Debris"):AddItem(p,5)
  916.                 coroutine.resume(coroutine.create(function(p,l)
  917.                 for i=1, 8 do
  918.                     p.Transparency=i/8
  919.                     p.Mesh.Scale=p.Mesh.Scale+Vector3.new(1.2+l,1.2+l,0)
  920.                     wait(.031)
  921.                 end
  922.                 p:Remove() end),p,Level/3)
  923.             end
  924.         end
  925.     end
  926. end
  927. LastHitTime=time()
  928. LastDamage=0
  929. ComboHits=0
  930. asset = math.random(1,10^8)
  931. --print("asset roll: "..asset)
  932. applyDamage=function(Noob,Damage,KnockDir,Down,ForceDown,addFunc,DebounceTime,aYvel)
  933.     if KnockDir==nil then
  934.         KnockDir=Vector3.new(0,0,0)
  935.     end
  936.     if Down==nil then
  937.         Down=false
  938.     end
  939.     if addFunc==nil then
  940.         addFunc=function() end
  941.     end
  942.     if aYvel==nil then
  943.         aYvel=0
  944.     end
  945.     local h=Noob:FindFirstChild("Humanoid")
  946.     local t=Noob:FindFirstChild("HumanoidRootPart")
  947.     if t==nil then
  948.         t=Noob:FindFirstChild("Torso")
  949.     end
  950.     if h~=nil and t~=nil then
  951.         if h:FindFirstChild("SADebounce"..asset) == nil then
  952.             local b = Instance.new("BoolValue",h)
  953.             b.Name="SADebounce"..asset
  954.             game:GetService("Debris"):AddItem(b,DebounceTime)
  955.         else
  956.             return
  957.         end
  958.         addonCullMovers(Noob)
  959.         if addFunc~=nil then
  960.             addFunc(Noob)
  961.         end
  962.         coroutine.resume(coroutine.create(function(t,KnockDir,aYvel,KnockForce,aHitstop)
  963.             v=Instance.new("BodyVelocity")
  964.             v.Name="AIDS"
  965.             v.P=4500
  966.             if KnockDir.magnitude > 0 then
  967.                 v.Parent=t
  968.             end
  969.             v.maxForce=Vector3.new(9000000,aYvel*9000000,9000000)*2
  970.             v.velocity=Vector3.new(KnockDir.x,KnockDir.y,KnockDir.z)*1
  971.             game:GetService("Debris"):AddItem(v,.25)
  972.             t.CFrame = t.CFrame + KnockDir / 30
  973.         end),t,KnockDir,aYvel)
  974.         if Down==true then
  975.             g=Instance.new("BodyAngularVelocity")
  976.             g.P=4000
  977.             g.maxTorque=Vector3.new(800000000000,800000000000,800000000000)
  978.             g.angularvelocity=KnockDir / 1.5 + Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  979.             g.Parent=t
  980.             game:GetService("Debris"):AddItem(g,.5)
  981.             --print(g.Parent)
  982.             if ForceDown==true then
  983.                 g:Remove()
  984.                 t.CFrame=t.CFrame*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)+Vector3.new(0,.3,0)
  985.                 g=Instance.new("BodyGyro")
  986.                 g.P=400
  987.                 g.maxTorque=Vector3.new(80000,80000,80000)
  988.                 g.D=20
  989.                 g.cframe=CFrame.new(vPlayer.Character.Torso.Position,vPlayer.Character.Torso.Position-Vector3.new(0,50,0))
  990.                 g.Parent=v.Parent
  991.                 game:GetService("Debris"):AddItem(g,1)
  992.             end
  993.         end
  994.         h:TakeDamage(Damage*1)
  995.     end
  996. end
  997.  
  998. coroutine.resume(coroutine.create(function()
  999.     while true do
  1000.         wait()
  1001.         if Hitstop>1 then
  1002.             vPlayer.Character.HumanoidRootPart.Anchored=true
  1003.         else
  1004.             vPlayer.Character.HumanoidRootPart.Anchored=false
  1005.         end
  1006.         if Comboing==true then
  1007.             if InfoGui==nil then
  1008.                
  1009.                 InfoGui=script.InfoGui:clone()
  1010.                 if vPlayer:FindFirstChild("PlayerGui")~=nil then
  1011.                     InfoGui.Parent=vPlayer.PlayerGui
  1012.                 end
  1013.                
  1014.                 Scrubs=0
  1015.                 for _,v in pairs(ComboNubs) do
  1016.                     Scrubs=Scrubs+1
  1017.                 end
  1018.                 if Scrubs==0 then Scrubs=1 end
  1019.                
  1020.                 InfoGui.Frame.HitsLabel.Text=ComboHits
  1021.                 InfoGui.Frame.DamageLabel.Text=LastDamage
  1022.                 InfoGui.Frame.EffectiveDamageLabel.Text=LastDamage / Scrubs
  1023.                
  1024.             else
  1025.                
  1026.                 Scrubs=0
  1027.                 for _,v in pairs(ComboNubs) do
  1028.                     Scrubs=Scrubs+1
  1029.                 end
  1030.                 if Scrubs==0 then Scrubs=1 end
  1031.                
  1032.                 InfoGui.Frame.HitsLabel.Text=ComboHits
  1033.                 InfoGui.Frame.DamageLabel.Text=math.floor(LastDamage)
  1034.                 InfoGui.Frame.EffectiveDamageLabel.Text=math.floor(LastDamage / Scrubs)
  1035.                 TimeDiff = LastHitTime - time()
  1036.                
  1037.                 InfoGui.Frame.HitstunFrame.Fill.Size=UDim2.new(0,40 * TimeDiff,0,10)
  1038.                 InfoGui.Frame.HitstunFrame.Fill.Position=UDim2.new(.5,-20 * TimeDiff,0,0)
  1039.                
  1040.             end
  1041.         else
  1042.             if InfoGui~=nil then
  1043.                 coroutine.resume(coroutine.create(function(g)
  1044.                     for i=1, 15 do
  1045.                         g.Frame.Position=g.Frame.Position+UDim2.new(0,10 + i,0,0)
  1046.                         wait(.03)
  1047.                     end
  1048.                     g:Remove()
  1049.                 end),InfoGui)
  1050.                 InfoGui=nil
  1051.             end
  1052.         end
  1053.         if LastHitTime<=time() and Comboing==true then
  1054.             Scrubs=0
  1055.             for _,v in pairs(ComboNubs) do
  1056.                 Scrubs=Scrubs+1
  1057.             end
  1058.             if Scrubs==0 then Scrubs=1 end
  1059.             ComboNubs={}
  1060.             LastDamage=LastDamage/Scrubs
  1061.             --print("Combo Ended: "..LastDamage.." effective damage.")
  1062.             wait(.05)
  1063.             ComboHits=0
  1064.             LastDamage=0
  1065.             Comboing=false
  1066.         end
  1067.     end
  1068. end))
  1069.  
  1070. addonHoldDown=function(Noob)
  1071.     local t=Noob:FindFirstChild("HumanoidRootPart")
  1072.     if t==nil then
  1073.         t=Noob:FindFirstChild("Torso")
  1074.     end
  1075.     add=Vector3.new(0,0,0)
  1076.     if t:FindFirstChild("AIDS")~=nil then
  1077.         add=t.AIDS.velocity
  1078.         t.AIDS:Remove()
  1079.         --print(":)")
  1080.     end
  1081.     v=Instance.new("BodyPosition")
  1082.     v.P=2000
  1083.     v.D=v.D/2
  1084.     v.maxForce=Vector3.new(6000000000,600000,6000000000)
  1085.     v.position=t.Position-Vector3.new(0,10,0)+add
  1086.     v.Parent=t
  1087.     game:GetService("Debris"):AddItem(v,1.2)
  1088.     Noob.Humanoid.PlatformStand=true
  1089.     coroutine.resume(coroutine.create(function(noob,t)
  1090.         wait(.5)
  1091.         while t:FindFirstChild("BodyPosition")~=nil do
  1092.             wait(.01)
  1093.         end
  1094.         noob.PlatformStand=false
  1095.     end),Noob.Humanoid,t)
  1096. end
  1097.  
  1098. addonCullMovers=function(Noob)
  1099.     local t=Noob:FindFirstChild("HumanoidRootPart")
  1100.     if t==nil then
  1101.         t=Noob:FindFirstChild("Torso")
  1102.     end
  1103.     for _,v in pairs(t:children()) do
  1104.         if v:IsA("BodyMover") then
  1105.             v:Remove()
  1106.         end
  1107.     end
  1108. end
  1109.  
  1110. LerpWelds=function(orig,alpha,RJ0,N0,RS0,LS0,RH0,LH0,GR0,RJ1,N1,RS1,LS1,RH1,LH1)
  1111.     local e = tick()
  1112.     RootJoint.C0 = clerp(orig[1],RJ0,alpha)
  1113.     Neck.C0 = clerp(orig[2],N0,alpha)
  1114.     RightShoulder.C0 = clerp(orig[3],RS0,alpha)
  1115.     LeftShoulder.C0 = clerp(orig[4],LS0,alpha)
  1116.     RightHip.C0 = clerp(orig[5],RH0,alpha)
  1117.     LeftHip.C0 = clerp(orig[6],LH0,alpha)
  1118.     Grip.C0 = clerp(orig[7],GR0,alpha)
  1119.    
  1120.     RootJoint.C1 = clerp(orig[8],RJ1,alpha)
  1121.     Neck.C1 = clerp(orig[9],N1,alpha)
  1122.     RightShoulder.C1 = clerp(orig[10],RS1,alpha)
  1123.     LeftShoulder.C1 = clerp(orig[11],LS1,alpha)
  1124.     RightHip.C1 = clerp(orig[12],RH1,alpha)
  1125.     LeftHip.C1 = clerp(orig[13],LH1,alpha)
  1126.    
  1127.     lastframe = {RootJoint.C0,Neck.C0,RightShoulder.C0,LeftShoulder.C0,RightHip.C0,LeftHip.C0,Grip.C0,RootJoint.C1,Neck.C1,RightShoulder.C1,LeftShoulder.C1,RightHip.C1,LeftHip.C1}
  1128.     return (tick() - e)
  1129. end
  1130.  
  1131. sRootJoint,sNeck,sRightShoulder,sLeftShoulder,sRightHip,sLeftHip,sGrip = Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D")
  1132. sresetWelds=function()
  1133.     sRootJoint.C0=RootJointC0
  1134.     sNeck.C0=NeckC0
  1135.     sRightShoulder.C0=RightShoulderC0
  1136.     sLeftShoulder.C0=LeftShoulderC0
  1137.     sRightHip.C0=RightHipC0
  1138.     sLeftHip.C0=LeftHipC0
  1139.     sRootJoint.C1=RootJointC1
  1140.     sNeck.C1=NeckC1
  1141.     sRightShoulder.C1=RightShoulderC1
  1142.     sLeftShoulder.C1=LeftShoulderC1
  1143.     sRightHip.C1=RightHipC1
  1144.     sLeftHip.C1=LeftHipC1
  1145.     sGrip.C0=GripC0
  1146. end
  1147.  
  1148. --//XLegoX's spherical linear interpolation
  1149.  
  1150. function clerp(a,b,t)
  1151.     local qa = {QuaternionFromCFrame(a)}
  1152.     local qb = {QuaternionFromCFrame(b)}
  1153.     local ax, ay, az = a.x, a.y, a.z
  1154.     local bx, by, bz = b.x, b.y, b.z
  1155.     local _t = 1-t
  1156.     return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  1157. end
  1158.  
  1159. function QuaternionFromCFrame(cf)
  1160.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1161.     local trace = m00 + m11 + m22
  1162.     if trace > 0 then
  1163.     local s = math.sqrt(1 + trace)
  1164.     local recip = 0.5/s
  1165.     return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  1166.     else
  1167.     local i = 0
  1168.     if m11 > m00 then
  1169.     i = 1
  1170.     end
  1171.     if m22 > (i == 0 and m00 or m11) then
  1172.     i = 2
  1173.     end
  1174.     if i == 0 then
  1175.     local s = math.sqrt(m00-m11-m22+1)
  1176.     local recip = 0.5/s
  1177.     return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  1178.     elseif i == 1 then
  1179.     local s = math.sqrt(m11-m22-m00+1)
  1180.     local recip = 0.5/s
  1181.     return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  1182.     elseif i == 2 then
  1183.     local s = math.sqrt(m22-m00-m11+1)
  1184.     local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  1185.     end
  1186.     end
  1187. end
  1188.  
  1189. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1190.     local xs, ys, zs = x + x, y + y, z + z
  1191.     local wx, wy, wz = w*xs, w*ys, w*zs
  1192.     local xx = x*xs
  1193.     local xy = x*ys
  1194.     local xz = x*zs
  1195.     local yy = y*ys
  1196.     local yz = y*zs
  1197.     local zz = z*zs
  1198.     return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  1199. end
  1200.  
  1201. function QuaternionSlerp(a, b, t)
  1202.     local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  1203.     local startInterp, finishInterp;
  1204.     if cosTheta >= 0.0001 then
  1205.     if (1 - cosTheta) > 0.0001 then
  1206.     local theta = math.acos(cosTheta)
  1207.     local invSinTheta = 1/math.sin(theta)
  1208.     startInterp = math.sin((1-t)*theta)*invSinTheta
  1209.     finishInterp = math.sin(t*theta)*invSinTheta  
  1210.     else
  1211.     startInterp = 1-t
  1212.     finishInterp = t
  1213.     end
  1214.     else
  1215.     if (1+cosTheta) > 0.0001 then
  1216.     local theta = math.acos(-cosTheta)
  1217.     local invSinTheta = 1/math.sin(theta)
  1218.     startInterp = math.sin((t-1)*theta)*invSinTheta
  1219.     finishInterp = math.sin(t*theta)*invSinTheta
  1220.     else
  1221.     startInterp = t-1
  1222.     finishInterp = t
  1223.     end
  1224.     end
  1225.     return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  1226. end
  1227.  
  1228. PlayerKeys={}
  1229.  
  1230. -----
  1231.  
  1232. -----
  1233.  
  1234. CurrentAnimation=nil
  1235. Hitstop=0
  1236.  
  1237. DesiredWalkspeed=18
  1238.  
  1239. -----
  1240. -----
  1241. -----
  1242. -----
  1243.  
  1244. CanInterrupt=function(t)
  1245.     tool.Status.AnimCanBeInterrupted.Value=t
  1246. end
  1247.  
  1248. PlayerCanJump=function()
  1249.     if CurrentAnimation~=nil then
  1250.         local doescancel=false
  1251.         for _,v in pairs(CurrentAnimation["Cancels"]) do
  1252.             if v=="Jump" or v=="Everything" then
  1253.                 doescancel=true
  1254.                 break
  1255.             end
  1256.         end
  1257.         if tool.Status.AnimCanBeInterrupted.Value==true then
  1258.             return doescancel
  1259.         else
  1260.             return false
  1261.         end
  1262.     end
  1263. end
  1264.  
  1265.  
  1266.  
  1267.  
  1268. -----------
  1269. -----------
  1270.  
  1271. --[[Section 3: ATTACKING]]
  1272.  
  1273. ComboNubs={}
  1274. GetNubs=function()
  1275.     scrubs={}
  1276.     for _,v in pairs(game.Workspace:children()) do
  1277.         if v:FindFirstChild("Humanoid")~=nil and v:FindFirstChild("Torso")~=nil and v.Name~=game.Players.LocalPlayer.Name then
  1278.             table.insert(scrubs,v)
  1279.         end
  1280.     end
  1281.     return scrubs
  1282. end
  1283.  
  1284. PlaySound=function(SName,Vol,Pitch,Par)
  1285.     if Par==nil then Par=script end
  1286.     local s=Instance.new("Sound")
  1287.     s.Volume=Vol
  1288.     s.Pitch=Pitch
  1289.     s.SoundId="http://www.roblox.com/asset/?id="..SName
  1290.     s.Parent=Par
  1291.     wait()
  1292.     s:Play()
  1293.     game:GetService("Debris"):AddItem(s,10)
  1294. end
  1295.  
  1296. -----------
  1297. -----------
  1298.  
  1299.  
  1300. -----
  1301.  
  1302.  
  1303. -------
  1304. -------
  1305.  
  1306. --[[Section 4: HARD ANIMSET FUNCTIONS]]
  1307.  
  1308. Stand=function()
  1309.     if TrackFunction~=nil then
  1310.         TrackFunction:disconnect()
  1311.     end
  1312.     if CurrentAnimation~=Animations["Stand"] then
  1313.         RequestAnimationChange("Stand",0)
  1314.         tool.Status.AnimFrame.Value=0
  1315.     end
  1316.     local el = 40
  1317.     local elv = 1
  1318.     local cel = 0
  1319.     local clastframe = lastframe
  1320.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function(Step)
  1321.         if cel > 3 then
  1322.             LerpWelds({Animations["Stand"]["Animation"](0)},el / 40,Animations["Stand"]["Animation"](1))
  1323.             el = el + elv
  1324.             if el >= 40 then
  1325.                 elv = -1
  1326.             elseif el == 0 then
  1327.                 elv = 1
  1328.             end
  1329.         elseif cel <= 3 then
  1330.             LerpWelds(clastframe,cel/3,Animations["Stand"]["Animation"](0))
  1331.         end
  1332.         cel = cel + 1
  1333.     end)
  1334. end
  1335.  
  1336. Walk=function()
  1337.     if TrackFunction~=nil then
  1338.         TrackFunction:disconnect()
  1339.     end
  1340.     if CurrentAnimation~=Animations["Walk"] then
  1341.         RequestAnimationChange("Walk",0)
  1342.         tool.Status.AnimFrame.Value=0
  1343.     end
  1344.     local e = 0
  1345.     local clastframe = lastframe
  1346.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function(Step)
  1347.         if e <= 5 then
  1348.             LerpWelds(clastframe,e/5,Animations["Walk"]["Animation"](0))
  1349.         else
  1350.             LerpWelds(clastframe,1,Animations["Walk"]["Animation"](0))
  1351.         end
  1352.         e = e+1
  1353.     end)
  1354. end
  1355.  
  1356. DesiredWalkspeedLast=18
  1357. PlayerInAir=false
  1358. lastplayervel=0
  1359.  
  1360. Jump=function()
  1361.     if tool.Status.AnimCanBeInterrupted.Value==false then return end
  1362.     if TrackFunction~=nil then
  1363.         TrackFunction:disconnect()
  1364.     end
  1365.    
  1366.     if CurrentAnimation~=Animations["Jump"] then
  1367.         RequestAnimationChange("Jump",0)
  1368.         tool.Status.AnimFrame.Value=0
  1369.         ----print("Jumping!")
  1370.     end
  1371.     Hitstop=0
  1372.     local e = 0
  1373.     local clastframe = lastframe
  1374.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function(Step)
  1375.         if e <= 3 then
  1376.             LerpWelds(clastframe,e/3,Animations["Jump"]["Animation"](0))
  1377.         else
  1378.             LerpWelds(clastframe,1,Animations["Jump"]["Animation"](0))
  1379.         end
  1380.         e = e+1
  1381.     end)
  1382.     enddir=Vector3.new(0,0,0)
  1383.    
  1384.     lastplayervel=enddir
  1385.    
  1386.     v_h=vPlayer.Character.Torso:FindFirstChild("JUMP_PROP")
  1387.     if v_h==nil then
  1388.         v_h=Instance.new("BodyVelocity")
  1389.         v_h.P=650
  1390.         v_h.maxForce=Vector3.new(0,2800000,0)
  1391.         v_h.velocity=Vector3.new(lastplayervel.x,75,lastplayervel.z)
  1392.         v_h.Parent=vPlayer.Character.Torso
  1393.         v_h.Name="JUMP_PROP"
  1394.     else
  1395.         v_h.P=650
  1396.         v_h.maxForce=Vector3.new(0,2800000,0)
  1397.         v_h.velocity=Vector3.new(lastplayervel.x,75,lastplayervel.z)
  1398.     end
  1399.  
  1400.    
  1401.     local cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,-1,0)
  1402.     local par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-8,0)),vPlayer.Character)
  1403.    
  1404.     timejump=time()
  1405.     bumped=false
  1406.     canland=false
  1407.     PlayerState="Jumping"
  1408.     CanInterrupt(true)
  1409.     local ttimejump=time()
  1410.     local rr = TrackFunction
  1411.     DesiredMovespeed=19
  1412.     while v_h.Parent~=nil and timejump==ttimejump do
  1413.         PlayerInAir=true
  1414.         if time()-timejump>.4 then
  1415.             canland=true
  1416.         end
  1417.         if (loc-cpos.p).magnitude<6 and canland==true or rawequal(rr,TrackFunction) == false then
  1418.             break
  1419.         end
  1420.         local ss = game:GetService("RunService").Heartbeat:wait()
  1421.         cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
  1422.         par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-15,0)),vPlayer.Character)
  1423.         if vPlayer.Character.HumanoidRootPart.Anchored==false then
  1424.             v_h.velocity=v_h.velocity-Vector3.new(0,186.2*ss,0)
  1425.         end
  1426.     end
  1427.     if timejump~=ttimejump or rawequal(rr,TrackFunction) == false then
  1428.         return
  1429.     end
  1430.    
  1431.     PlayerState="Standing"
  1432.     PlayerInAir=false
  1433.    
  1434.     DesiredMovespeed=19
  1435.     vPlayer.Character.Humanoid.WalkSpeed=DesiredMovespeed
  1436.     v_h:Remove()
  1437.     CanInterrupt(true)
  1438.     PlayerIsAttacking=false
  1439.     Stand()
  1440. end
  1441. Jump_Cont=function()
  1442.     lastplayervel = vPlayer.Character.Torso.Velocity
  1443.     cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
  1444.     par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-15,0)),vPlayer.Character)
  1445.     if (loc-cpos.p).magnitude<4 then
  1446.         PlayerState="Standing"
  1447.         CanInterrupt(true)
  1448.         return Stand()
  1449.     end
  1450.     if TrackFunction~=nil then
  1451.         TrackFunction:disconnect()
  1452.         TrackFunction=nil
  1453.     end
  1454.    
  1455.     if CurrentAnimation~=Animations["Jump"] then
  1456.         RequestAnimationChange("Jump",0)
  1457.         tool.Status.AnimFrame.Value=0
  1458.         CurrentAnimation = Animations["Jump"]
  1459.         ----print("Jumping!")
  1460.     end
  1461.     Hitstop=0
  1462.     local e = 0
  1463.     local clastframe = lastframe
  1464.     TrackFunction=game:GetService("RunService").Heartbeat:connect(function(Step)
  1465.         if e <= 4 then
  1466.             LerpWelds(clastframe,e/4,Animations["Jump"]["Animation"](0))
  1467.         else
  1468.             LerpWelds(clastframe,1,Animations["Jump"]["Animation"](0))
  1469.         end
  1470.         e = e+1
  1471.     end)
  1472.     timejump=time()
  1473.     bumped=false
  1474.     canland=false
  1475.     PlayerState="Jumping"
  1476.     CanInterrupt(true)
  1477.     local ttimejump=time()
  1478.     local rr = TrackFunction
  1479.  
  1480.     v_h=vPlayer.Character.Torso:FindFirstChild("JUMP_PROP")
  1481.     if v_h==nil then
  1482.         v_h=Instance.new("BodyVelocity")
  1483.         v_h.P=650
  1484.         v_h.maxForce=Vector3.new(0,2800000,0)
  1485.         v_h.velocity=Vector3.new(lastplayervel.x,lastplayervel.y,lastplayervel.z)
  1486.         v_h.Parent=vPlayer.Character.Torso
  1487.         v_h.Name="JUMP_PROP"
  1488.     else
  1489.         v_h.P=650
  1490.         v_h.maxForce=Vector3.new(0,2800000,0)
  1491.         v_h.velocity=Vector3.new(lastplayervel.x,lastplayervel.y,lastplayervel.z)
  1492.     end
  1493.  
  1494.     local cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,-1,0)
  1495.     local par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-8,0)),vPlayer.Character)
  1496.    
  1497.     timejump=time()
  1498.     bumped=false
  1499.     canland=false
  1500.     PlayerState="Jumping"
  1501.     CanInterrupt(true)
  1502.     local ttimejump=time()
  1503.     local rr = TrackFunction
  1504.     DesiredMovespeed = 18
  1505.     while v_h.Parent~=nil and timejump==ttimejump do
  1506.         PlayerInAir=true
  1507.         if time()-timejump>.4 then
  1508.             canland=true
  1509.         end
  1510.         if (loc-cpos.p).magnitude<6 and canland==true or rawequal(rr,TrackFunction) == false then
  1511.             break
  1512.         end
  1513.         local ss = game:GetService("RunService").Heartbeat:wait()
  1514.         cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
  1515.         par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-15,0)),vPlayer.Character)
  1516.         if vPlayer.Character.HumanoidRootPart.Anchored==false then
  1517.             v_h.velocity=v_h.velocity-Vector3.new(0,186.2*ss,0)
  1518.         end
  1519.     end
  1520.    
  1521.     if timejump~=ttimejump or rawequal(rr,TrackFunction) == false then
  1522.         return
  1523.     end
  1524.    
  1525.     PlayerState="Standing"
  1526.     PlayerInAir=false
  1527.    
  1528.     DesiredMovespeed=19
  1529.     vPlayer.Character.Humanoid.WalkSpeed=DesiredMovespeed
  1530.     v_h:Remove()
  1531.     CanInterrupt(true)
  1532.     DesiredMovespeed=19
  1533.     PlayerIsAttacking=false
  1534.     CanDoubleJump=true
  1535.     TrackFunction:disconnect()
  1536.     TrackFunction = nil
  1537.     Walk()
  1538. end
  1539.  
  1540.  
  1541. -------
  1542. -------
  1543.  
  1544. -------------------------------
  1545. --------------------------------
  1546. ---------CORE FUNCTIONS----------
  1547. --------------------------------
  1548. -------------------------------
  1549. Hitstop=0
  1550. RequestNewFrame=function(f)
  1551.     if CurrentAnimation==nil then return end
  1552.     if Hitstop~=nil then
  1553.         if Hitstop>0 then
  1554.             Hitstop=Hitstop-1
  1555.         else
  1556.             CurrentAnimation["Animation"](0)
  1557.             ----print(f)
  1558.         end
  1559.     end
  1560.     return f
  1561. end
  1562. RequestAnimationChange=function(n,f)
  1563.     _nanim=Animations[n]
  1564.     if CurrentAnimation~=nil then
  1565.         local doescancel=false
  1566.         for _,v in pairs(CurrentAnimation["Cancels"]) do
  1567.             if v==_nanim["Reference"] or v=="Everything" then
  1568.                 doescancel=true
  1569.                 break
  1570.             end
  1571.         end
  1572.         if doescancel==true and tool.Status.AnimCanBeInterrupted.Value==true then
  1573.             CurrentAnimation=_nanim
  1574.  
  1575.             return CurrentAnimation
  1576.         else
  1577.  
  1578.         end
  1579.     else
  1580.         CurrentAnimation=Animations[n] --:/
  1581.     end
  1582.     return false
  1583. end
  1584.  
  1585. getWelds=function(c) --designate weld variables
  1586.     local t=c.Torso
  1587.     local hrp=c.HumanoidRootPart.RootJoint
  1588.     RightShoulder=t:FindFirstChild("Right Shoulder")
  1589.     LeftShoulder=t:FindFirstChild("Left Shoulder")
  1590.     RightHip=t:FindFirstChild("Right Hip")
  1591.     LeftHip=t:FindFirstChild("Left Hip")
  1592.     RootJoint=hrp
  1593.     Neck=t:FindFirstChild("Neck")
  1594. end
  1595. resetWelds=function(ext,occ) --extent 1-3; occlusion
  1596.     --1 == reset desiredangle/currentangle
  1597.     --2 == reset C0/C1
  1598.     --3 == reset both des/cur/c0/c1
  1599.     local r={RightShoulder,LeftShoulder,RightHip,LeftHip,RootJoint,Neck}
  1600.     for _,v in pairs(r) do
  1601.         for i=1, #occ do
  1602.             if occ[i]==v then
  1603.                 table.remove(r,_)
  1604.             end
  1605.         end
  1606.     end
  1607.     for _,v in pairs(r) do
  1608.         if v.Name=="Right Shoulder" then
  1609.             if ext==1 then
  1610.                 v.DesiredAngle=0
  1611.                 v.CurrentAngle=0
  1612.             elseif ext==2 then
  1613.                 v.C0=RightShoulderC0
  1614.                 v.C1=RightShoulderC1
  1615.             elseif ext==3 then
  1616.                 v.DesiredAngle=0
  1617.                 v.CurrentAngle=0
  1618.                 v.C0=RightShoulderC0
  1619.                 v.C1=RightShoulderC1
  1620.             end
  1621.         elseif v.Name=="Left Shoulder" then
  1622.             if ext==1 then
  1623.                 v.DesiredAngle=0
  1624.                 v.CurrentAngle=0
  1625.             elseif ext==2 then
  1626.                 v.C0=LeftShoulderC0
  1627.                 v.C1=LeftShoulderC1
  1628.             elseif ext==3 then
  1629.                 v.DesiredAngle=0
  1630.                 v.CurrentAngle=0
  1631.                 v.C0=LeftShoulderC0
  1632.                 v.C1=LeftShoulderC1
  1633.             end
  1634.         elseif v.Name=="Right Hip" then
  1635.             if ext==1 then
  1636.                 v.DesiredAngle=0
  1637.                 v.CurrentAngle=0
  1638.             elseif ext==2 then
  1639.                 v.C0=RightHipC0
  1640.                 v.C1=RightHipC1
  1641.             elseif ext==3 then
  1642.                 v.DesiredAngle=0
  1643.                 v.CurrentAngle=0
  1644.                 v.C0=RightHipC0
  1645.                 v.C1=RightHipC1
  1646.             end
  1647.         elseif v.Name=="Left Hip" then
  1648.             if ext==1 then
  1649.                 v.DesiredAngle=0
  1650.                 v.CurrentAngle=0
  1651.             elseif ext==2 then
  1652.                 v.C0=LeftHipC0
  1653.                 v.C1=LeftHipC1
  1654.             elseif ext==3 then
  1655.                 v.DesiredAngle=0
  1656.                 v.CurrentAngle=0
  1657.                 v.C0=LeftHipC0
  1658.                 v.C1=LeftHipC1
  1659.             end
  1660.         elseif v.Name=="Neck" then
  1661.             if ext==1 then
  1662.                 v.DesiredAngle=0
  1663.                 v.CurrentAngle=0
  1664.             elseif ext==2 then
  1665.                 v.C0=NeckC0
  1666.                 v.C1=NeckC1
  1667.             elseif ext==3 then
  1668.                 v.DesiredAngle=0
  1669.                 v.CurrentAngle=0
  1670.                 v.C0=NeckC0
  1671.                 v.C1=NeckC1
  1672.             end
  1673.         elseif v.Name=="RootJoint" then
  1674.             if ext==1 then
  1675.                 v.DesiredAngle=0
  1676.                 v.CurrentAngle=0
  1677.             elseif ext==2 then
  1678.                 v.C0=RootJointC0
  1679.                 v.C1=RootJointC1
  1680.             elseif ext==3 then
  1681.                 v.DesiredAngle=0
  1682.                 v.CurrentAngle=0
  1683.                 v.C0=RootJointC0
  1684.                 v.C1=RootJointC1
  1685.             end
  1686.         elseif v.Name=="RightGrip" then
  1687.             if ext==1 then
  1688.             elseif ext==2 then
  1689.                 Grip.C0=nGrip.C0
  1690.                 Grip.C1=nGrip.C1
  1691.             elseif ext==3 then
  1692.                 Grip.C0=nGrip.C0
  1693.                 Grip.C1=nGrip.C1
  1694.             end
  1695.         end
  1696.     end
  1697. end
  1698.  
  1699. setMotorParameters=function(Motor,DesiredAngle,CurrentAngle,MaxVelocity,C0,C1)
  1700.     if C0==nil then C0=Motor.C0 end
  1701.     if C1==nil then C1=Motor.C1 end
  1702.     if DesiredAngle==nil then DesiredAngle=Motor.DesiredAngle end
  1703.     if CurrentAngle==nil then CurrentAngle=Motor.CurrentAngle end
  1704.     if MaxVelocity==nil then MaxVelocity=Motor.MaxVelocity end
  1705.     Motor.C0=C0
  1706.     Motor.C1=C1
  1707.     Motor.DesiredAngle=DesiredAngle
  1708.     Motor.CurrentAngle=CurrentAngle
  1709.     Motor.MaxVelocity=MaxVelocity
  1710. end
  1711.  
  1712. PlayerIsAttacking=false
  1713. PlayerBeingAttacked=false
  1714. PlayerState="Standing"
  1715.  
  1716. getCharacterState=function()
  1717.     if tool.Status.AnimCanBeInterrupted.Value==false or PlayerIsAttacking==true then return end
  1718.     local CPlayer=game.Players.LocalPlayer.Character
  1719.     local moveVelocity=CPlayer.HumanoidRootPart.Velocity.magnitude
  1720.     if PlayerIsAttacking==false and PlayerState~="Jumping" then
  1721.         if moveVelocity >= 5 then
  1722.             PlayerState="Moving"
  1723.             if StickPos>3 or CurrentCameraState=="3D" then
  1724.                 if MovementPreference=="Walk" then
  1725.                     if CurrentAnimation~=Animations["Walk"] and tool.Status.AnimCanBeInterrupted.Value==true and PlayerState~="Jumping" then
  1726.                         Walk()
  1727.                     end
  1728.                 end
  1729.             end
  1730.         else
  1731.             PlayerState="Standing"
  1732.             --print("SS")
  1733.             if StickPos>3 or CurrentCameraState=="3D" then
  1734.                 if CurrentAnimation~=Animations["Stand"] and tool.Status.AnimCanBeInterrupted.Value==true then
  1735.                     DesiredWalkspeed=18
  1736.                     Stand()
  1737.                 end
  1738.             end
  1739.         end
  1740.     end
  1741. end
  1742. lastinput=time()
  1743. MovementPreference="Walk"
  1744.  
  1745. playerDash=function()
  1746. end
  1747.  
  1748. ----
  1749.  
  1750. NewInput=function(Key,atTick,Edge)
  1751.     local new={["Input"]=Key,["Tick"]=atTick,["Edge"]=Edge,["Age"]=0}
  1752.     table.insert(PlayerInputs,new)
  1753. end
  1754.  
  1755. FindInputStrings=function()
  1756.    
  1757.     local curtime=tick()
  1758.     local strunginputs={}
  1759.     for _,v in pairs(PlayerInputs) do
  1760.         if curtime - v["Tick"] <= PlayerInputStringFrame then
  1761.             table.insert(strunginputs,v)
  1762.         end
  1763.     end
  1764.     table.sort(strunginputs,(function(x,y) if x["Tick"]<y["Tick"] then return true end return false end))
  1765.    
  1766.     return strunginputs
  1767. end
  1768.  
  1769. MorphInputs=function(i)
  1770.    
  1771.     i=string.upper(i)
  1772.    
  1773.     if CurrentCameraState=="3D" then
  1774.         i=string.gsub(i,"A","")
  1775.         i=string.gsub(i,"S","<")
  1776.         i=string.gsub(i,"D","")
  1777.         i=string.gsub(i,"W",">")
  1778.     else
  1779.         if PlayerFacing=="Left" then
  1780.             i=string.gsub(i,"A","<")
  1781.             i=string.gsub(i,"S","v")
  1782.             i=string.gsub(i,"D",">")
  1783.             i=string.gsub(i,"W","^")
  1784.         else
  1785.             i=string.gsub(i,"A",">")
  1786.             i=string.gsub(i,"S","v")
  1787.             i=string.gsub(i,"D","<")
  1788.             i=string.gsub(i,"W","^")
  1789.         end
  1790.     end
  1791.    
  1792.     return i
  1793.    
  1794. end
  1795.  
  1796. CullPlayerInput=function()
  1797.     local toremove={}
  1798.     for _,v in pairs(PlayerInputs) do
  1799.         v["Age"]=v["Age"]+1
  1800.         if tick() - v["Tick"] > (PlayerInputStringFrame+.05) or _>PlayerInputCullThreshold then
  1801.             table.remove(PlayerInputs,_)
  1802.         end
  1803.     end
  1804.     table.sort(PlayerInputs,(function(x,y) if x["Tick"]<y["Tick"] then return true end return false end))
  1805. end
  1806.  
  1807. IgnoreEdge=function(st)
  1808.     str=string.gsub(st,".%-","")
  1809.     str=string.gsub(str,"%+","")
  1810.     return str
  1811. end
  1812. RequestNewAnimation=RequestAnimationChange
  1813. LastDashInput=time()
  1814.  
  1815. CheckDeb=true
  1816. LastKeyCheck=""
  1817. LastCheckTime=time()
  1818. lastnormal=""
  1819. CheckNormals=function()
  1820.     KeyCheck=""
  1821.     if PlayerKeys["z"]~=nil then
  1822.         KeyCheck="Z"
  1823.     end
  1824.     if PlayerKeys["x"]~=nil then
  1825.         KeyCheck="X"
  1826.     end
  1827.     j=""
  1828.     if PlayerState=="Jumping" or PlayerIsInAir==true then
  1829.         j="j"
  1830.     end
  1831.     if InputNormals[j..lastnormal..KeyCheck]~=nil and CheckDeb==true and LastKeyCheck~=KeyCheck and tool.Status.AnimCanBeInterrupted.Value==true then
  1832.         LastKeyCheck=KeyCheck
  1833.         LastCheckTime=time()
  1834.         Hitstop=0
  1835.         --print("JIMMIES RUSTLED")
  1836.         --print(j..lastnormal..KeyCheck)
  1837.         InputNormals[j..lastnormal..KeyCheck]()
  1838.     end
  1839.     if time()-LastCheckTime > .23 then
  1840.         LastKeyCheck=""
  1841.     end
  1842. end
  1843. timejump=time()
  1844. DetectInput=function()
  1845.     local Scrub=FindInputStrings()
  1846.     DURRD=false
  1847.     if PlayerIsAttacking==false then
  1848.         BodyGyro:Remove()
  1849.         BodyVel:Remove()
  1850.     end
  1851.     if #Scrub>0 then
  1852.         local input=""
  1853.         for _,v in pairs(Scrub) do
  1854.             input=input..v["Input"]..v["Edge"]
  1855.         end
  1856.         input=MorphInputs(input)
  1857.         edgelessinput=IgnoreEdge(input)
  1858.         DURRD=false
  1859.         for _,v in pairs(TwoDInputs) do
  1860.             for __,vv in pairs(v["Inputs"]) do
  1861.                 if edgelessinput==vv and tool.Status.AnimCanBeInterrupted.Value==true then
  1862.                     DURRD=true
  1863.                     DesiredMovespeed=0
  1864.                     v["Function"]()
  1865.                 elseif IgnoreEdge(input,true)==vv and tool.Status.AnimCanBeInterrupted.Value==true then
  1866.                     DURRD=true
  1867.                     DesiredMovespeed=0
  1868.                     v["Function"]()
  1869.                 end
  1870.             end
  1871.         end
  1872.     end
  1873.     if DURRD==false then
  1874.         CheckNormals()
  1875.     end
  1876. end
  1877.  
  1878. rawKeyInput=function()
  1879. end
  1880.  
  1881. SetCombatKey=function(k)
  1882.     PlayerCombatKeys[k]=true
  1883.     coroutine.resume(coroutine.create(function(k)
  1884.         for i=1, 1000 do
  1885.             wait(.01)
  1886.             if PlayerCombatKeys[k]==nil then
  1887.                 break
  1888.             end
  1889.         end
  1890.         PlayerCombatKeys[k]=nil
  1891.     end),k)
  1892. end
  1893.  
  1894. getCharacterState=function()
  1895.     if tool.Status.AnimCanBeInterrupted.Value==false or PlayerIsAttacking==true then return end
  1896.     local CPlayer=game.Players.LocalPlayer.Character
  1897.     local moveVelocity=(Vector3.new(0,0,0) - CPlayer.HumanoidRootPart.Velocity).magnitude
  1898.     if PlayerIsAttacking==false and PlayerState~="Jumping" then
  1899.         if moveVelocity >= 5 then
  1900.             PlayerState="Moving"
  1901.             if MovementPreference=="Walk" then
  1902.                 if CurrentAnimation~=Animations["Walk"] and tool.Status.AnimCanBeInterrupted.Value==true and PlayerState~="Jumping" then
  1903.                     Walk()
  1904.                 end
  1905.             end
  1906.         else
  1907.             PlayerState="Standing"
  1908.             if PlayerIsAttacking==false and tool.Status.AnimCanBeInterrupted.Value==true then
  1909.                 if CurrentAnimation~=Animations["Stand"] and tool.Status.AnimCanBeInterrupted.Value==true then
  1910.                     DesiredWalkspeed=18
  1911.                     Stand()
  1912.                 end
  1913.             end
  1914.         end
  1915.     end
  1916. end
  1917. lastinput=time()
  1918. MovementPreference="Walk"
  1919.  
  1920. controllerStore={}
  1921. LastHealth=0
  1922. Wep=nil
  1923. onEquip=function(mouse)
  1924.     mo.Parent=char
  1925.     PlayerAnimationScript=vPlayer.Character:FindFirstChild("Animate")
  1926.     if PlayerAnimationScript~=nil then
  1927.         PlayerAnimationScript.Disabled=true
  1928.     end
  1929.    
  1930.     getWelds(vPlayer.Character)
  1931.     resetWelds(3,{})
  1932.    
  1933.     Wep=Weapon:Clone()
  1934.     Wep.Parent=vPlayer.Character
  1935.     Grip=Instance.new("Weld",Wep.Handle)
  1936.     Grip.Part0=vPlayer.Character["Right Arm"]
  1937.     Grip.Part1=Grip.Parent
  1938.     Grip.C0=GripC0
  1939.    
  1940.     wait(.5)
  1941.    
  1942.     tool.Status.AnimFrame.Value=0
  1943.     Stand()
  1944.  
  1945.     LastHealth=vPlayer.Character.Humanoid.Health
  1946.     chs=game:GetService("RunService").Heartbeat:connect(function()
  1947.         CullPlayerInput()
  1948.         rawKeyInput()
  1949.     end)
  1950.     chsCS=game:GetService("RunService").Heartbeat:connect(function()
  1951.         getCharacterState()
  1952.         DetectInput()
  1953.     end)
  1954.     chsj=vPlayer.Character.Humanoid.Changed:connect(function(v)
  1955.         vPlayer.Character.Humanoid.Jump=false
  1956.     end)
  1957.     mouse.KeyDown:connect(function(key)
  1958.         PlayerKeys[key]=true
  1959.         NewInput(key,tick(),"+")
  1960.         SetCombatKey(key)
  1961.         if key == " " and PlayerCanJump()==true then
  1962.             if PlayerState == "Jumping" then
  1963.                 if CanDoubleJump then
  1964.                     CanDoubleJump=false
  1965.                     Jump()
  1966.                 end
  1967.             else
  1968.                 Jump()
  1969.             end
  1970.         end
  1971.     end)
  1972.     mouse.KeyUp:connect(function(key) PlayerKeys[key] = nil end)
  1973. end
  1974. Down=nil
  1975. onEquipLocal=function(mouse)
  1976.  
  1977. end
  1978. onPutaway=function()
  1979.     mo.Parent=nil
  1980.     TrackFunction:disconnect()
  1981.     TrackFunction=nil
  1982.     chs:disconnect()
  1983.     chs=nil
  1984.     chsj:disconnect()
  1985.     chsj=nil
  1986.     chsCS:disconnect()
  1987.     chsCS=nil
  1988.     BodyVel.Parent=nil BodyGyro.Parent=nil
  1989.     Wep.Parent=nil
  1990.     Wep=nil
  1991.     if PlayerAnimationScript~=nil then
  1992.         PlayerAnimationScript.Disabled=false
  1993.     end
  1994.     resetWelds(3,{})
  1995. end
  1996. tool.Selected:connect(onEquip) tool.Selected:connect(onEquipLocal)
  1997. tool.Deselected:connect(onPutaway)
  1998.  
  1999. Animations={}
  2000. Animations["Stand"]={["Animation"]=function(fr)
  2001.     local keyframe={}
  2002.     sresetWelds()
  2003.     keyframe[0]=function()
  2004.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.225)*CFrame.Angles(math.rad(8),math.rad(0),math.rad(46))
  2005.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(6),math.rad(-3),math.rad(-24))
  2006.            
  2007.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(12),math.rad(-9),math.rad(64))
  2008.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-88),math.rad(0))
  2009.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.35,-.6,.3)*CFrame.Angles(math.rad(8),math.rad(20),-math.rad(100))
  2010.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  2011.        
  2012.         sRightHip.C0=sRightHip.C0*CFrame.new(-.25,.25,0)*CFrame.Angles(math.rad(-9),math.rad(0),math.rad(0))
  2013.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(45),math.rad(-7))
  2014.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.1,0)*CFrame.Angles(math.rad(-6),math.rad(9),math.rad(0))
  2015.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(18),math.rad(0))
  2016.        
  2017.         sGrip.C0 = GripC0 * CFrame.new(.1,.5,0) * CFrame.Angles(math.rad(0),math.rad(60),math.rad(0))
  2018.     end
  2019.     keyframe[1]=function()
  2020.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.2)*CFrame.Angles(math.rad(10),math.rad(0),math.rad(46))
  2021.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(6),math.rad(-3),math.rad(-26))
  2022.            
  2023.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(12),math.rad(-8),math.rad(61))
  2024.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-88),math.rad(0))
  2025.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.3,-.6,.3)*CFrame.Angles(math.rad(8),math.rad(20),-math.rad(94))
  2026.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  2027.        
  2028.         sRightHip.C0=sRightHip.C0*CFrame.new(-.25,.25,0)*CFrame.Angles(math.rad(-9),math.rad(-2),math.rad(0))
  2029.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(48),math.rad(-7))
  2030.         sLeftHip.C0=sLeftHip.C0*CFrame.new(-.075,.1,0)*CFrame.Angles(math.rad(-6),math.rad(9),math.rad(0))
  2031.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(24),math.rad(0))
  2032.        
  2033.         sGrip.C0 = GripC0 * CFrame.new(.1,.5,0) * CFrame.Angles(math.rad(-1),math.rad(40),math.rad(-1))
  2034.     end
  2035.     keyframe[fr]()
  2036.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1
  2037. end,["Cancels"]={"Everything"},["Reference"]="Stand"}
  2038. Animations["Z"]={["Animation"]=function(fr)
  2039.     local keyframe={}
  2040.     sresetWelds()
  2041.     keyframe[0]=function()
  2042.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.2)*CFrame.Angles(math.rad(8),math.rad(0),math.rad(66))
  2043.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(6),math.rad(-3),math.rad(-24))
  2044.            
  2045.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(80))
  2046.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  2047.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.1,-.6,.3)*CFrame.Angles(math.rad(4),math.rad(30),-math.rad(88))
  2048.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(100),math.rad(0))
  2049.        
  2050.         sRightHip.C0=sRightHip.C0*CFrame.new(-.4,.25,0)*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(-10))
  2051.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(60),math.rad(-7))
  2052.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.1,0)*CFrame.Angles(math.rad(-6),math.rad(9),math.rad(0))
  2053.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(18),math.rad(0))
  2054.        
  2055.         sGrip.C0 = GripC0 * CFrame.new(.1,.5,0) * CFrame.Angles(math.rad(0),math.rad(-10),math.rad(0))
  2056.     end
  2057.     keyframe[1]=function()
  2058.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,-.5,-.4)*CFrame.Angles(math.rad(25),math.rad(-12),math.rad(-10))
  2059.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-6),math.rad(-3),math.rad(15))
  2060.            
  2061.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,-.5,.4)*CFrame.Angles(math.rad(-30),math.rad(-90),math.rad(80))
  2062.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-80),math.rad(0))
  2063.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.1,-.6,.3)*CFrame.Angles(math.rad(4),math.rad(30),-math.rad(88))
  2064.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(100),math.rad(0))
  2065.        
  2066.         sRightHip.C0=sRightHip.C0*CFrame.new(0.45,.6,-.1)*CFrame.Angles(math.rad(-3),math.rad(0),math.rad(25))
  2067.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  2068.         sLeftHip.C0=sLeftHip.C0*CFrame.new(-.05,.05,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  2069.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-10),math.rad(0))
  2070.        
  2071.         sGrip.C0 = GripC0 * CFrame.new(.3,.3,0) * CFrame.Angles(math.rad(0),math.rad(-10),math.rad(-35))
  2072.     end
  2073.     keyframe[fr]()
  2074.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1
  2075. end,["Cancels"]={"Stand","ZZ"},["Reference"]="Z"}
  2076. Animations["ZZ"]={["Animation"]=function(fr)
  2077.     local keyframe={}
  2078.     sresetWelds()
  2079.     keyframe[0]=function()
  2080.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.3)*CFrame.Angles(math.rad(15),math.rad(-5),math.rad(-105))
  2081.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(10),math.rad(3),math.rad(60))
  2082.            
  2083.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,.5,.4)*CFrame.Angles(math.rad(20),math.rad(-30),math.rad(70))
  2084.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(80),math.rad(0))
  2085.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-1,.6,0)*CFrame.Angles(math.rad(-30),math.rad(-65),-math.rad(100))
  2086.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-100),math.rad(0))
  2087.        
  2088.         sRightHip.C0=sRightHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(5),math.rad(0),math.rad(0))
  2089.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(0))
  2090.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.5,0)*CFrame.Angles(math.rad(-30),math.rad(0),math.rad(0))
  2091.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-15),math.rad(0))
  2092.        
  2093.         sGrip.C0 = GripC0 * CFrame.new(.1,-2,0) * CFrame.Angles(math.rad(0),math.rad(10),math.rad(0))
  2094.     end
  2095.     keyframe[1]=function()
  2096.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,-1.2,-.3)*CFrame.Angles(math.rad(15),math.rad(0),math.rad(25))
  2097.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(10),math.rad(3),math.rad(-10))
  2098.            
  2099.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,.5,.4)*CFrame.Angles(math.rad(-3),math.rad(20),math.rad(100))
  2100.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  2101.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.15,.45,.4)*CFrame.Angles(math.rad(0),math.rad(50),-math.rad(100))
  2102.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-100),math.rad(0))
  2103.        
  2104.         sRightHip.C0=sRightHip.C0*CFrame.new(0,.4,0)*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(15))
  2105.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(0))
  2106.         sLeftHip.C0=sLeftHip.C0*CFrame.new(-.8,.3,-.2)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(10))
  2107.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(25),math.rad(0))
  2108.        
  2109.         sGrip.C0 = GripC0 * CFrame.new(.3,-.6,0) * CFrame.Angles(math.rad(0),math.rad(10),math.rad(-170))
  2110.     end
  2111.     keyframe[fr]()
  2112.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1
  2113. end,["Cancels"]={"Stand","ZZZ"},["Reference"]="ZZ"}
  2114. Animations["ZZZ"]={["Animation"]=function(fr)
  2115.     local keyframe={}
  2116.     sresetWelds()
  2117.     keyframe[0]=function()
  2118.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.2)*CFrame.Angles(math.rad(8),math.rad(0),math.rad(90))
  2119.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(6),math.rad(-3),math.rad(-75))
  2120.            
  2121.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(30),math.rad(0),math.rad(80))
  2122.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  2123.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.5,-.1,.5)*CFrame.Angles(math.rad(-10),math.rad(30),-math.rad(140))
  2124.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(100),math.rad(0))
  2125.        
  2126.         sRightHip.C0=sRightHip.C0*CFrame.new(-.4,.25,-.4)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(-10))
  2127.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(80),math.rad(-7))
  2128.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.05,0)*CFrame.Angles(math.rad(-6),math.rad(9),math.rad(0))
  2129.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(18),math.rad(0))
  2130.        
  2131.         sGrip.C0 = GripC0 * CFrame.new(.1,.5,0) * CFrame.Angles(math.rad(0),math.rad(-10),math.rad(0))
  2132.     end
  2133.     keyframe[1]=function()
  2134.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,-1,-.2)*CFrame.Angles(math.rad(40),math.rad(0),math.rad(90))
  2135.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(5),math.rad(-10),math.rad(-75))
  2136.            
  2137.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(30),math.rad(0),math.rad(36))
  2138.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  2139.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.05,-.1,.5)*CFrame.Angles(math.rad(-5),math.rad(20),-math.rad(100))
  2140.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(100),math.rad(0))
  2141.        
  2142.         sRightHip.C0=sRightHip.C0*CFrame.new(-.4,.35,-.35)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0))
  2143.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(95),math.rad(0))
  2144.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,-.5,-.3)*CFrame.Angles(math.rad(10),math.rad(9),math.rad(0))
  2145.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(18),math.rad(0))
  2146.        
  2147.         sGrip.C0 = GripC0 * CFrame.new(.1,.5,0) * CFrame.Angles(math.rad(5),math.rad(-10),math.rad(0))
  2148.     end
  2149.     keyframe[fr]()
  2150.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1
  2151. end,["Cancels"]={"Stand","ZZZZ"},["Reference"]="ZZZ"}
  2152.  
  2153. Animations["ZZZZ"]={["Animation"]=function(fr)
  2154.     local keyframe={}
  2155.     sresetWelds()
  2156.     keyframe[0]=function()
  2157.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.25)*CFrame.Angles(math.rad(15),math.rad(10),math.rad(80))
  2158.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(6),math.rad(-3),math.rad(-54))
  2159.            
  2160.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(70))
  2161.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  2162.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.3,-.5,.3)*CFrame.Angles(math.rad(4),math.rad(40),-math.rad(70))
  2163.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(100),math.rad(0))
  2164.        
  2165.         sRightHip.C0=sRightHip.C0*CFrame.new(-.4,.05,-.4)*CFrame.Angles(math.rad(-30),math.rad(0),math.rad(10))
  2166.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(80),math.rad(0))
  2167.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,-.1,0)*CFrame.Angles(math.rad(-6),math.rad(9),math.rad(0))
  2168.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  2169.        
  2170.         sGrip.C0 = GripC0 * CFrame.new(.1,3.7,0) * CFrame.Angles(math.rad(180),math.rad(-30),math.rad(0))
  2171.     end
  2172.     keyframe[1]=function()
  2173.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,-1,-.25)*CFrame.Angles(math.rad(5),math.rad(15),math.rad(80))
  2174.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(12),math.rad(-8),math.rad(-54))
  2175.            
  2176.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(-5),math.rad(-50),math.rad(80))
  2177.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  2178.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.3,-.5,.3)*CFrame.Angles(math.rad(0),math.rad(-40),-math.rad(80))
  2179.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(100),math.rad(0))
  2180.        
  2181.         sRightHip.C0=sRightHip.C0*CFrame.new(-.4,.05,-.4)*CFrame.Angles(math.rad(15),math.rad(0),math.rad(10))
  2182.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(80),math.rad(0))
  2183.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-30),math.rad(4),math.rad(0))
  2184.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  2185.        
  2186.         sGrip.C0 = GripC0 * CFrame.new(-1.25,1.5,0) * CFrame.Angles(math.rad(178),math.rad(0),math.rad(-45))
  2187.     end
  2188.     keyframe[fr]()
  2189.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1
  2190. end,["Cancels"]={"Stand","ZZZZZ"},["Reference"]="ZZZZ"}
  2191.  
  2192. Animations["Walk"]={["Animation"]=function(fr)
  2193.     local keyframe={}
  2194.     sresetWelds()
  2195.     keyframe[0]=function()
  2196.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,math.abs(math.cos(time()*9.6)*.06) - .2)*CFrame.Angles(math.rad(28) - math.rad(math.cos(time()*9.6)*3),0,math.rad(math.cos(time()*9.6)*3))
  2197.         sNeck.C0=sNeck.C0*CFrame.Angles(-math.rad(16) + math.rad(math.cos(time()*9.6)*2),math.rad(math.cos(time()*9.6)*2),-math.rad(math.cos(time()*9.6)*4))
  2198.            
  2199.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(15)-math.cos(time()*9.6)/15,-math.cos(time()*9.6)/15,math.rad(64) - math.cos(time()*9.6)/8)
  2200.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-88),math.rad(0))
  2201.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.15 + math.cos(time()*9.6)/6,-.6,.3)*CFrame.Angles(0,math.cos(time()*9.6)/17,-math.rad(98) + math.cos(time()*9.6)/5.8)
  2202.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(88),math.rad(0))
  2203.        
  2204.         sRightHip.C0=sRightHip.C0*CFrame.new(0,0,0)*CFrame.Angles(-math.rad(2),-math.cos(time()*9.6)/8,-math.cos(time()*9.6)*1 + math.rad(10))
  2205.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(-math.rad(2),-math.cos(time()*9.6)/8,-math.cos(time()*9.6)*1 - math.rad(10))
  2206.        
  2207.         sGrip.C0 = GripC0 * CFrame.new(.1,.5,0) * CFrame.Angles(0,math.cos(time()*9.6)/6,math.cos(time()*9.6)/9)
  2208.     end
  2209.     keyframe[fr]()
  2210.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1
  2211. end,["Cancels"]={"Everything"},["Reference"]="Walk"}
  2212.  
  2213. Animations["Jump"]={["AnimType"]="Movement",["AnimWeight"]=0,["Animation"]=function(fr)
  2214.     local keyframe={}
  2215.     sresetWelds()
  2216.     keyframe[0]=function()
  2217.         resetWelds(3,{})
  2218.         local vely=vPlayer.Character.Torso.Velocity.y
  2219.         if vely>65 then
  2220.             vely=65
  2221.         elseif vely<-65 then
  2222.             vely=-65
  2223.         end
  2224.         local vely2=1
  2225.         local vely3=0
  2226.         if vely<0 then
  2227.             vely2=0
  2228.             vely3=1
  2229.         end
  2230.         sRootJoint.C0=sRootJoint.C0*CFrame.fromEulerAnglesXYZ(math.rad(-1 - vely*vely3/6),0,0)
  2231.         sNeck.C0=sNeck.C0*CFrame.fromEulerAnglesXYZ(-math.rad(vely/3),0,0)
  2232.  
  2233.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(15),0,math.rad(64) - math.rad(vely/1.8))
  2234.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-88),math.rad(0))
  2235.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.15 + math.rad(vely/2),-.6,.3)*CFrame.Angles(0,0,-math.rad(98) + math.rad(vely/1.8))
  2236.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(88),math.rad(0))
  2237.        
  2238.         sRightHip.C0=sRightHip.C0*CFrame.fromEulerAnglesXYZ(-math.rad(1 - vely/10),-math.rad(1 - vely*vely3/4),math.rad(-vely/2.6*vely2) - math.rad(3))
  2239.         sLeftHip.C0=sLeftHip.C0*CFrame.fromEulerAnglesXYZ(-math.rad(1 - vely/10),math.rad(1 - vely*vely3/4),math.rad(vely/2.6*vely2) + math.rad(3))
  2240.         sGrip.C0 = GripC0 * CFrame.new(.1,.5,0) * CFrame.Angles(0,math.rad(60),math.rad(vely/18.8))
  2241.     end
  2242.     keyframe[fr]()
  2243.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1
  2244. end,
  2245. ["Cancels"]={"Walk","Stand"},
  2246. ["Reference"]="Jump",
  2247. }
  2248.  
  2249. Animations["ZZZZZ"]={["Animation"]=function(fr)
  2250.     local keyframe={}
  2251.     sresetWelds()
  2252.     keyframe[0]=function()
  2253.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,-1,-.15)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(80))
  2254.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(12),math.rad(-8),math.rad(-54))
  2255.            
  2256.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.5,.4)*CFrame.Angles(math.rad(20),math.rad(-50),math.rad(70))
  2257.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  2258.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.6,-.5,0)*CFrame.Angles(math.rad(0),math.rad(-66),-math.rad(100))
  2259.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  2260.        
  2261.         sRightHip.C0=sRightHip.C0*CFrame.new(-.4,.05,-.4)*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0))
  2262.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(70),math.rad(0))
  2263.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-10),math.rad(10),math.rad(0))
  2264.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  2265.        
  2266.         sGrip.C0 = GripC0 * CFrame.new(-1,1.5,0) * CFrame.Angles(math.rad(178),math.rad(0),math.rad(-45))
  2267.     end
  2268.     keyframe[1]=function()
  2269.         sRootJoint.C0=sRootJoint.C0*CFrame.new(0,-1,-.1)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(83))
  2270.         sNeck.C0=sNeck.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(25),math.rad(-15),math.rad(-54))
  2271.            
  2272.         sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.5,-.5,.4)*CFrame.Angles(math.rad(20),math.rad(-50),math.rad(140))
  2273.         sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  2274.         sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-1,-.8,-.7)*CFrame.Angles(math.rad(-20),math.rad(-86),-math.rad(130))
  2275.         sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  2276.        
  2277.         sRightHip.C0=sRightHip.C0*CFrame.new(-.4,-.2,-.4)*CFrame.Angles(math.rad(15),math.rad(0),math.rad(0))
  2278.         sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(70),math.rad(0))
  2279.         sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.4,0)*CFrame.Angles(math.rad(-25),math.rad(0),math.rad(0))
  2280.         sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  2281.        
  2282.         sGrip.C0 = GripC0 * CFrame.new(-.5,.5,0) * CFrame.Angles(math.rad(170),math.rad(0),math.rad(-80))
  2283.     end
  2284.     keyframe[fr]()
  2285.     return sRootJoint.C0,sNeck.C0,sRightShoulder.C0,sLeftShoulder.C0,sRightHip.C0,sLeftHip.C0,sGrip.C0,sRootJoint.C1,sNeck.C1,sRightShoulder.C1,sLeftShoulder.C1,sRightHip.C1,sLeftHip.C1,sGrip.C1
  2286. end,["Cancels"]={"Stand"},["Reference"]="ZZZZZ"}
  2287.  
  2288. lastframe = {Animations["Stand"]["Animation"](0)}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement