Advertisement
Christoffer07700Extr

ok you already know what this is

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