Advertisement
ManOhMan

Untitled

Jul 27th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has been converted to FE by iPxter
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7. print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
  8. script.Parent = Player.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,Connect=function(self,f)self.Function=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()}
  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 and t.Function then
  34. t.Function(...)
  35. end
  36. end
  37. m.TrigEvent = te
  38. UIS.TrigEvent = te
  39.  
  40. Event.OnServerEvent:Connect(function(plr,io)
  41. if plr~=Player then return end
  42. if io.isMouse then
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. else
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. for _,t in pairs(CAS.Actions) do
  51. for _,k in pairs(t.Keys) do
  52. if k==io.KeyCode then
  53. t.Function(t.Name,io.UserInputState,io)
  54. end
  55. end
  56. end
  57. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59. end
  60. end)
  61. Event.Parent = NLS([==[
  62. local Player = game:GetService("Players").LocalPlayer
  63. local Event = script:WaitForChild("UserInput_Event")
  64.  
  65. local UIS = game:GetService("UserInputService")
  66. local input = function(io,a)
  67. if a then return end
  68. --Since InputObject is a client-side instance, we create and pass table instead
  69. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70. end
  71. UIS.InputBegan:Connect(input)
  72. UIS.InputEnded:Connect(input)
  73.  
  74. local Mouse = Player:GetMouse()
  75. local h,t
  76. --Give the server mouse data 30 times every second, but only if the values changed
  77. --If player is not moving their mouse, client won't fire events
  78. while wait(1/30) do
  79. if h~=Mouse.Hit or t~=Mouse.Target then
  80. h,t=Mouse.Hit,Mouse.Target
  81. Event:FireServer({isMouse=true,Target=t,Hit=h})
  82. end
  83. end]==],Player.Character)
  84. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86. local health = 500
  87. local speed = 20
  88. local damage = 20
  89.  
  90. local runDummyScript = function(f,scri)
  91. local oldenv = getfenv(f)
  92. local newenv = setmetatable({}, {
  93. __index = function(_, k)
  94. if k:lower() == 'script' then
  95. return scri
  96. else
  97. return oldenv[k]
  98. end
  99. end
  100. })
  101. setfenv(f, newenv)
  102. ypcall(function() f() end)
  103. end
  104. cors = {}
  105. mas = Instance.new("Model",game:GetService("Lighting"))
  106. mas.Name = "CompiledModel"
  107. o1 = Instance.new("Model")
  108. o2 = Instance.new("Part")
  109. o3 = Instance.new("Part")
  110. o4 = Instance.new("Part")
  111. o5 = Instance.new("Part")
  112. o6 = Instance.new("Part")
  113. o7 = Instance.new("Part")
  114. o8 = Instance.new("Part")
  115. o9 = Instance.new("Part")
  116. o10 = Instance.new("Part")
  117. o11 = Instance.new("Part")
  118. o12 = Instance.new("Part")
  119. o13 = Instance.new("Part")
  120. o1.Name = "Saber"
  121. o1.Parent = mas
  122. o2.Name = "Handle"
  123. o2.Parent = o1
  124. o2.Material = Enum.Material.SmoothPlastic
  125. o2.BrickColor = BrickColor.new("Dark stone grey")
  126. o2.Position = Vector3.new(56, 5.11798573, 33.7409973)
  127. o2.Rotation = Vector3.new(90.0000076, -90, 0)
  128. o2.Anchored = true
  129. o2.CanCollide = false
  130. o2.Shape = Enum.PartType.Cylinder
  131. o2.Size = Vector3.new(2, 0.5, 0.5)
  132. o2.CFrame = CFrame.new(56, 5.11798573, 33.7409973, 1.50995831e-007, -1.50995774e-007, -1, -1, -1.50995817e-007, -1.50995803e-007, -1.50995788e-007, 1, -1.50995803e-007)
  133. o2.BottomSurface = Enum.SurfaceType.Smooth
  134. o2.TopSurface = Enum.SurfaceType.Smooth
  135. o2.Color = Color3.new(0.388235, 0.372549, 0.384314)
  136. o2.Position = Vector3.new(56, 5.11798573, 33.7409973)
  137. o3.Parent = o1
  138. o3.Material = Enum.Material.SmoothPlastic
  139. o3.BrickColor = BrickColor.new("Smoky grey")
  140. o3.Position = Vector3.new(56, 4.11000824, 33.7409973)
  141. o3.Rotation = Vector3.new(90.0000076, -90, 0)
  142. o3.Anchored = true
  143. o3.CanCollide = false
  144. o3.Shape = Enum.PartType.Cylinder
  145. o3.Size = Vector3.new(0.200000003, 0.600000024, 0.600000024)
  146. o3.CFrame = CFrame.new(56, 4.11000824, 33.7409973, 1.50995831e-007, -1.50995774e-007, -1, -1, -1.50995817e-007, -1.50995803e-007, -1.50995788e-007, 1, -1.50995803e-007)
  147. o3.BottomSurface = Enum.SurfaceType.Smooth
  148. o3.TopSurface = Enum.SurfaceType.Smooth
  149. o3.Color = Color3.new(0.356863, 0.364706, 0.411765)
  150. o3.Position = Vector3.new(56, 4.11000824, 33.7409973)
  151. o4.Parent = o1
  152. o4.Material = Enum.Material.SmoothPlastic
  153. o4.BrickColor = BrickColor.new("Smoky grey")
  154. o4.Position = Vector3.new(56, 6.01100636, 33.7409973)
  155. o4.Rotation = Vector3.new(90.0000076, -90, 0)
  156. o4.Anchored = true
  157. o4.CanCollide = false
  158. o4.Shape = Enum.PartType.Cylinder
  159. o4.Size = Vector3.new(0.200000003, 0.600000024, 0.600000024)
  160. o4.CFrame = CFrame.new(56, 6.01100636, 33.7409973, 1.50995831e-007, -1.50995774e-007, -1, -1, -1.50995817e-007, -1.50995803e-007, -1.50995788e-007, 1, -1.50995803e-007)
  161. o4.BottomSurface = Enum.SurfaceType.Smooth
  162. o4.TopSurface = Enum.SurfaceType.Smooth
  163. o4.Color = Color3.new(0.356863, 0.364706, 0.411765)
  164. o4.Position = Vector3.new(56, 6.01100636, 33.7409973)
  165. o5.Parent = o1
  166. o5.Material = Enum.Material.SmoothPlastic
  167. o5.BrickColor = BrickColor.new("Really black")
  168. o5.Position = Vector3.new(55.9981995, 6.02698612, 33.7367439)
  169. o5.Rotation = Vector3.new(90, 90, 0)
  170. o5.Anchored = true
  171. o5.CanCollide = false
  172. o5.Shape = Enum.PartType.Cylinder
  173. o5.Size = Vector3.new(0.200000003, 0.400000006, 0.5)
  174. o5.CFrame = CFrame.new(55.9981995, 6.02698612, 33.7367439, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  175. o5.BottomSurface = Enum.SurfaceType.Smooth
  176. o5.TopSurface = Enum.SurfaceType.Smooth
  177. o5.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  178. o5.Position = Vector3.new(55.9981995, 6.02698612, 33.7367439)
  179. o6.Name = "Blade"
  180. o6.Parent = o1
  181. o6.Material = Enum.Material.Neon
  182. o6.BrickColor = BrickColor.new("Really red")
  183. o6.Transparency = 1
  184. o6.Position = Vector3.new(55.9981995, 7.85400581, 33.7367439)
  185. o6.Rotation = Vector3.new(90, 90, 0)
  186. o6.Anchored = true
  187. o6.CanCollide = false
  188. o6.Shape = Enum.PartType.Cylinder
  189. o6.Size = Vector3.new(3.5, 0.400000006, 0.5)
  190. o6.CFrame = CFrame.new(55.9981995, 7.85400581, 33.7367439, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  191. o6.BottomSurface = Enum.SurfaceType.Smooth
  192. o6.TopSurface = Enum.SurfaceType.Smooth
  193. o6.Position = Vector3.new(55.9981995, 7.85400581, 33.7367439)
  194. o7.Parent = o1
  195. o7.Material = Enum.Material.SmoothPlastic
  196. o7.BrickColor = BrickColor.new("Black")
  197. o7.Position = Vector3.new(56, 4.34401417, 33.7409973)
  198. o7.Rotation = Vector3.new(90.0000076, -90, 0)
  199. o7.Anchored = true
  200. o7.CanCollide = false
  201. o7.Shape = Enum.PartType.Cylinder
  202. o7.Size = Vector3.new(0.200000003, 0.550000012, 0.600000024)
  203. o7.CFrame = CFrame.new(56, 4.34401417, 33.7409973, -4.37113883e-008, 0, -1, -1, -1.62920685e-007, 4.37113883e-008, -1.62920685e-007, 1, 7.12148964e-015)
  204. o7.BottomSurface = Enum.SurfaceType.Smooth
  205. o7.TopSurface = Enum.SurfaceType.Smooth
  206. o7.Color = Color3.new(0.105882, 0.164706, 0.207843)
  207. o7.Position = Vector3.new(56, 4.34401417, 33.7409973)
  208. o8.Parent = o1
  209. o8.Material = Enum.Material.SmoothPlastic
  210. o8.BrickColor = BrickColor.new("Black")
  211. o8.Position = Vector3.new(56, 4.74401188, 33.7409973)
  212. o8.Rotation = Vector3.new(90.0000076, -90, 0)
  213. o8.Anchored = true
  214. o8.CanCollide = false
  215. o8.Shape = Enum.PartType.Cylinder
  216. o8.Size = Vector3.new(0.200000003, 0.550000012, 0.600000024)
  217. o8.CFrame = CFrame.new(56, 4.74401188, 33.7409973, -4.37113883e-008, 0, -1, -1, -1.62920685e-007, 4.37113883e-008, -1.62920685e-007, 1, 7.12148964e-015)
  218. o8.BottomSurface = Enum.SurfaceType.Smooth
  219. o8.TopSurface = Enum.SurfaceType.Smooth
  220. o8.Color = Color3.new(0.105882, 0.164706, 0.207843)
  221. o8.Position = Vector3.new(56, 4.74401188, 33.7409973)
  222. o9.Parent = o1
  223. o9.Material = Enum.Material.SmoothPlastic
  224. o9.BrickColor = BrickColor.new("Black")
  225. o9.Position = Vector3.new(56, 5.08402443, 33.7409973)
  226. o9.Rotation = Vector3.new(90.0000076, -90, 0)
  227. o9.Anchored = true
  228. o9.CanCollide = false
  229. o9.Shape = Enum.PartType.Cylinder
  230. o9.Size = Vector3.new(0.200000003, 0.550000012, 0.600000024)
  231. o9.CFrame = CFrame.new(56, 5.08402443, 33.7409973, -4.37113883e-008, 0, -1, -1, -1.62920685e-007, 4.37113883e-008, -1.62920685e-007, 1, 7.12148964e-015)
  232. o9.BottomSurface = Enum.SurfaceType.Smooth
  233. o9.TopSurface = Enum.SurfaceType.Smooth
  234. o9.Color = Color3.new(0.105882, 0.164706, 0.207843)
  235. o9.Position = Vector3.new(56, 5.08402443, 33.7409973)
  236. o10.Parent = o1
  237. o10.Material = Enum.Material.SmoothPlastic
  238. o10.BrickColor = BrickColor.new("Black")
  239. o10.Position = Vector3.new(56, 5.41400814, 33.7409973)
  240. o10.Rotation = Vector3.new(90.0000076, -90, 0)
  241. o10.Anchored = true
  242. o10.CanCollide = false
  243. o10.Shape = Enum.PartType.Cylinder
  244. o10.Size = Vector3.new(0.200000003, 0.550000012, 0.600000024)
  245. o10.CFrame = CFrame.new(56, 5.41400814, 33.7409973, -4.37113883e-008, 0, -1, -1, -1.62920685e-007, 4.37113883e-008, -1.62920685e-007, 1, 7.12148964e-015)
  246. o10.BottomSurface = Enum.SurfaceType.Smooth
  247. o10.TopSurface = Enum.SurfaceType.Smooth
  248. o10.Color = Color3.new(0.105882, 0.164706, 0.207843)
  249. o10.Position = Vector3.new(56, 5.41400814, 33.7409973)
  250. o11.Parent = o1
  251. o11.Material = Enum.Material.SmoothPlastic
  252. o11.BrickColor = BrickColor.new("Smoky grey")
  253. o11.Position = Vector3.new(56.0248947, 5.70129061, 33.5617981)
  254. o11.Anchored = true
  255. o11.CanCollide = false
  256. o11.Size = Vector3.new(0.300000012, 0.300000012, 0.200000003)
  257. o11.CFrame = CFrame.new(56.0248947, 5.70129061, 33.5617981, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  258. o11.BottomSurface = Enum.SurfaceType.Smooth
  259. o11.TopSurface = Enum.SurfaceType.Smooth
  260. o11.Color = Color3.new(0.356863, 0.364706, 0.411765)
  261. o11.Position = Vector3.new(56.0248947, 5.70129061, 33.5617981)
  262. o12.Parent = o1
  263. o12.Material = Enum.Material.SmoothPlastic
  264. o12.BrickColor = BrickColor.new("Smoky grey")
  265. o12.Position = Vector3.new(56, 5.70401382, 33.7409973)
  266. o12.Rotation = Vector3.new(90.0000076, -90, 0)
  267. o12.Anchored = true
  268. o12.CanCollide = false
  269. o12.Shape = Enum.PartType.Cylinder
  270. o12.Size = Vector3.new(0.200000003, 0.550000012, 0.600000024)
  271. o12.CFrame = CFrame.new(56, 5.70401382, 33.7409973, -4.37113883e-008, 0, -1, -1, -1.62920685e-007, 4.37113883e-008, -1.62920685e-007, 1, 7.12148964e-015)
  272. o12.BottomSurface = Enum.SurfaceType.Smooth
  273. o12.TopSurface = Enum.SurfaceType.Smooth
  274. o12.Color = Color3.new(0.356863, 0.364706, 0.411765)
  275. o12.Position = Vector3.new(56, 5.70401382, 33.7409973)
  276. o13.Name = "Button"
  277. o13.Parent = o1
  278. o13.Material = Enum.Material.SmoothPlastic
  279. o13.BrickColor = BrickColor.new("Really red")
  280. o13.Position = Vector3.new(56.0299988, 5.69999981, 33.5109978)
  281. o13.Rotation = Vector3.new(2.04905682e-005, -90, 0)
  282. o13.Anchored = true
  283. o13.CanCollide = false
  284. o13.Shape = Enum.PartType.Cylinder
  285. o13.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  286. o13.CFrame = CFrame.new(56.0299988, 5.69999981, 33.5109978, -4.37113883e-008, 0, -1, -3.57627869e-007, 1, 1.56324098e-014, 1, 3.57627869e-007, -4.37113883e-008)
  287. o13.BottomSurface = Enum.SurfaceType.Smooth
  288. o13.TopSurface = Enum.SurfaceType.Smooth
  289. o13.Color = Color3.new(1, 0, 0)
  290. o13.Position = Vector3.new(56.0299988, 5.69999981, 33.5109978)
  291. mas.Parent = workspace
  292. mas:MakeJoints()
  293. local mas1 = mas:GetChildren()
  294. for i=1,#mas1 do
  295. mas1[i].Parent = workspace
  296. ypcall(function() mas1[i]:MakeJoints() end)
  297. end
  298. mas:Destroy()
  299. for i=1,#cors do
  300. coroutine.resume(cors[i])
  301. end
  302.  
  303.  
  304. function indicate(part,damagevar)
  305. local clonepart = Instance.new("Part", workspace)
  306. clonepart.Size = Vector3.new(1,1,1)
  307. clonepart.CanCollide = false
  308. clonepart.Anchored = true
  309. clonepart.CFrame = part.CFrame
  310. clonepart.Transparency = 1
  311. local base1 = Instance.new("BillboardGui", clonepart)
  312. base1.Name = "damage"
  313. base1.ExtentsOffset = Vector3.new(-0.1,2,0)
  314. base1.Size = UDim2.new(1,0,1,0)
  315. base1.Adornee = clonepart
  316. local indicator = Instance.new("TextLabel", base1)
  317. indicator.Text = "-"..math.floor(damagevar)
  318. indicator.TextScaled = false
  319. indicator.TextWrapped = false
  320. indicator.TextColor3 = Color3.new(1,0,0)
  321. indicator.TextScaled = true
  322. indicator.FontSize = 7
  323. indicator.Size = UDim2.new(1,0,1,0)
  324. indicator.BackgroundTransparency = 1
  325. local change = coroutine.wrap(function(thing,thing2)
  326. for i=1, 20 do
  327. thing.TextTransparency = thing.TextTransparency + 0.05
  328. thing2.ExtentsOffset = thing2.ExtentsOffset + Vector3.new(0,0.1,0)
  329. wait(0.0001)
  330. end
  331. indicator.Parent.Parent:Remove()
  332. end)
  333. change(indicator,base1)
  334. end
  335.  
  336. ---------------------------------------------------------------------------------------------------
  337.  
  338.  
  339.  
  340. local saber = o1
  341. local handle = o1:FindFirstChild("Handle")
  342. local blade = o1:FindFirstChild("Blade")
  343. local button = o1:FindFirstChild("Button")
  344. local Player = owner
  345. o1.Parent = Player.Character
  346. local hitter = false
  347. local animstate = -1
  348. local equipped = false
  349. local keyframe = 0
  350. local cooled = true
  351. local cooled2 = true
  352. local cooled3 = true
  353. local cooled4 = true
  354. local attacking = false
  355. local hits = {}
  356. local combo = 0
  357. local qtarget = nil
  358. local animating = false
  359. local indexer = 0
  360. local ready = true
  361. local ready1 = true
  362. local ready2 = true
  363.  
  364. Player.Character.Humanoid.MaxHealth = health
  365. wait()
  366. Player.Character.Humanoid.Health = Player.Character.Humanoid.MaxHealth
  367. Player.Character.Humanoid.WalkSpeed = speed
  368.  
  369. if script.Parent ~= Player.Backpack then
  370. script.Parent = Player.Backpack
  371. end
  372. local Character = Player.Character
  373. Character.Animate:remove()
  374. Character.Humanoid.Animator:remove()
  375.  
  376. for _,v in pairs (saber:GetChildren()) do
  377. if v.Name ~= "Handle" then
  378. local NewWeld = Instance.new("Weld")
  379. NewWeld.Part0 = handle
  380. NewWeld.Part1 = v
  381. NewWeld.C0 = CFrame.new()
  382. NewWeld.C1 = v.CFrame:toObjectSpace(handle.CFrame)
  383. if v.Name == "Blade" then
  384. NewWeld.Name = "BladeWeld"
  385. end
  386. NewWeld.Parent = handle
  387. end
  388. wait()
  389. end
  390. for _,v in pairs (saber:GetChildren()) do
  391. v.Anchored = false
  392. wait()
  393. end
  394.  
  395. handle.CFrame = Character:FindFirstChild("Right Arm").CFrame*CFrame.new(0,-1.2,-3)*CFrame.Angles(0,math.rad(270),math.rad(180))
  396.  
  397. local HandleWeld = Instance.new("Weld")
  398. HandleWeld.Name = "HandleWeld"
  399. HandleWeld.Part0 = Character:FindFirstChild("Right Arm")
  400. HandleWeld.Part1 = handle
  401. HandleWeld.C0 = CFrame.new(0,0,0)
  402. HandleWeld.C1 = handle.CFrame:toObjectSpace(Character:FindFirstChild("Right Arm").CFrame)
  403. HandleWeld.Parent = handle
  404.  
  405. numLerp=function(start,goal,alpha)
  406. return(((goal-start)*alpha)+start);
  407. end;
  408. CFrameZero=function()
  409. return CFrame.new(Vector3.new());
  410. end;
  411. local function a()
  412. local t=tick();
  413. local l=t%1*3;
  414. local t=.5*math.pi*(l%1);
  415. if l<1 then
  416. return Color3.new(1,1-math.cos(t),1-math.sin(t));
  417. elseif l<2 then
  418. return Color3.new(1-math.sin(t),1,1-math.cos(t));
  419. else
  420. return Color3.new(1-math.cos(t),1-math.sin(t),1);
  421. end;
  422. end;
  423. rad=function(value)
  424. return math.rad(value);
  425. end;
  426. CFAngles=function(Vector)
  427. return CFrame.Angles(rad(Vector.x),rad(Vector.y),rad(Vector.z));
  428. end;
  429. AnimStat={
  430. lerpSpeed=.2;
  431. lerpSpeed2=.35;
  432. lerpTween=0;
  433. }
  434. Joints={
  435. Character.HumanoidRootPart.RootJoint;
  436. Character.Torso.Neck;
  437. Character.Torso['Left Shoulder'];
  438. Character.Torso['Right Shoulder'];
  439. Character.Torso['Left Hip'];
  440. Character.Torso['Right Hip'];
  441. handle:FindFirstChild("HandleWeld")
  442. }
  443. local orig1 = Joints[1].C0
  444. local orig2 = Joints[2].C0
  445. local orig3 = Joints[3].C0
  446. local orig4 = Joints[4].C0
  447. local orig5 = Joints[5].C0
  448. local orig6 = Joints[6].C0
  449. local orig7 = Joints[7].C0
  450. JointTargets={
  451. Character.HumanoidRootPart.RootJoint.C0;
  452. Character.Torso.Neck.C0;
  453. Character.Torso['Left Shoulder'].C0;
  454. Character.Torso['Right Shoulder'].C0;
  455. Character.Torso['Left Hip'].C0;
  456. Character.Torso['Right Hip'].C0;
  457. handle:FindFirstChild("HandleWeld").C0;
  458. }
  459. setJointCFrames=function(table)
  460. for i=1,#table do
  461. JointTargets[i]=table[i];
  462. end
  463. end
  464. triWave=function(x)
  465. local pi2=math.pi/2;
  466. return math.abs((x/pi2)%4-2)-1;
  467. end
  468. setLerp=function(speed)
  469. AnimStat.lerpSpeed=speed;
  470. end;
  471. setTween=function(tween)
  472. AnimStat.lerpTween=tween;
  473. end
  474. local FPSLerp=AnimStat.lerpSpeed
  475.  
  476. local animator = coroutine.wrap(function()
  477. while Player.Character do
  478.  
  479. if Player.Character.Humanoid.MoveDirection == Vector3.new(0,0,0) and not attacking and animstate ~= 0 then
  480. ready = true
  481. animstate = 0
  482. keyframe = 0
  483. elseif Player.Character.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and not attacking and animstate ~= 1 then
  484. ready = true
  485. animstate = 1
  486. keyframe = 0
  487. end
  488.  
  489. if animstate == 0 and ready then
  490.  
  491. if keyframe == 0 then
  492. ready = false
  493. JointTargets={
  494. orig1*CFrame.Angles(0,0,math.rad(15));
  495. orig2*CFrame.Angles(0,0,math.rad(-15));
  496. orig3*CFrame.Angles(math.rad(40),math.rad(65),0);
  497. orig4*CFrame.Angles(math.rad(40),math.rad(85),math.rad(20));
  498. orig5*CFrame.Angles(math.rad(-15),0,0);
  499. orig6*CFrame.Angles(math.rad(-5),math.rad(-15),0);
  500. Joints[7].C0;
  501. }
  502. local lerper = coroutine.wrap(function(rate)
  503. for i=1, 10 do
  504. for p=1,#Joints do
  505. if animstate == 0 then
  506. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  507. end
  508. end
  509. wait(rate)
  510. end
  511. if animstate == 0 then
  512. keyframe = 1
  513. ready = true
  514. end
  515. end)
  516. lerper(0.001)
  517. elseif keyframe == 1 then
  518. ready = false
  519. JointTargets={
  520. orig1*CFrame.new(0,0,0.05)*CFrame.Angles(0,0,math.rad(15));
  521. orig2*CFrame.Angles(math.rad(3),0,math.rad(-15));
  522. orig3*CFrame.Angles(math.rad(35),math.rad(60),0);
  523. orig4*CFrame.Angles(math.rad(38),math.rad(83),math.rad(18));
  524. orig5*CFrame.new(0,-0.05,-0.025)*CFrame.Angles(math.rad(-15),0,0);
  525. orig6*CFrame.new(0,-0.05,-0.025)*CFrame.Angles(math.rad(-5),math.rad(-15),0);
  526. Joints[7].C0;
  527. }
  528.  
  529. if indexer + 1 <= 22 then
  530. indexer = indexer + 1
  531. for p=1,#Joints do
  532. if animstate == 0 then
  533. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],indexer/50)
  534. end
  535. end
  536.  
  537. ready = true
  538. else
  539. indexer = 0
  540. keyframe = 2
  541. ready = true
  542. end
  543. elseif keyframe == 2 then
  544. ready = false
  545. JointTargets={
  546. orig1*CFrame.Angles(0,0,math.rad(15));
  547. orig2*CFrame.Angles(0,0,math.rad(-15));
  548. orig3*CFrame.Angles(math.rad(40),math.rad(65),0);
  549. orig4*CFrame.Angles(math.rad(40),math.rad(85),math.rad(20));
  550. orig5*CFrame.Angles(math.rad(-15),0,0);
  551. orig6*CFrame.Angles(math.rad(-5),math.rad(-15),0);
  552. Joints[7].C0;
  553. }
  554.  
  555. if indexer + 1 <= 22 then
  556. indexer = indexer + 1
  557. for p=1,#Joints do
  558. if animstate == 0 then
  559. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],indexer/50)
  560. end
  561. end
  562.  
  563. ready = true
  564. else
  565. indexer = 0
  566. keyframe = 1
  567. ready = true
  568. end
  569. end
  570.  
  571. elseif animstate == 1 and ready then
  572.  
  573. if keyframe == 0 then
  574. ready = false
  575. JointTargets={
  576. orig1;
  577. orig2*CFrame.Angles(math.rad(15),0,0);
  578. orig3*CFrame.Angles(math.rad(40),math.rad(65),0);
  579. orig4*CFrame.Angles(math.rad(40),math.rad(-65),math.rad(90));
  580. orig5*CFrame.Angles(0,0,math.rad(35));
  581. orig6*CFrame.Angles(0,0,math.rad(35));
  582. Joints[7].C0;
  583. }
  584. local lerper = coroutine.wrap(function(rate)
  585. for i=1, 10 do
  586. for p=1,#Joints do
  587. if animstate == 1 then
  588. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  589. end
  590. end
  591. wait(rate)
  592. end
  593. if animstate == 1 then
  594. keyframe = 1
  595. ready = true
  596. end
  597. end)
  598. lerper(0.001)
  599. elseif keyframe == 1 then
  600. ready = false
  601. JointTargets={
  602. orig1;
  603. orig2*CFrame.Angles(math.rad(15),0,0);
  604. orig3*CFrame.Angles(math.rad(40),math.rad(65),0);
  605. orig4*CFrame.Angles(math.rad(40),math.rad(-65),math.rad(90));
  606. orig5*CFrame.Angles(0,0,math.rad(-35));
  607. orig6*CFrame.Angles(0,0,math.rad(-35));
  608. Joints[7].C0;
  609. }
  610. local lerper = coroutine.wrap(function(rate)
  611. for i=1, 10 do
  612. for p=1,#Joints do
  613. if animstate == 1 then
  614. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  615. end
  616. end
  617. wait(rate)
  618. end
  619. if animstate == 1 then
  620. keyframe = 0
  621. ready = true
  622. end
  623. end)
  624. lerper(0.001)
  625. end
  626.  
  627. elseif animstate == 2 and ready then
  628.  
  629. if combo == 1 then
  630. if keyframe == 0 then
  631. ready = false
  632. cooled = false
  633. animating = true
  634. JointTargets={
  635. orig1*CFrame.Angles(0,0,math.rad(45));
  636. orig2*CFrame.Angles(0,0,math.rad(-25));
  637. orig3*CFrame.Angles(math.rad(-35),0,0);
  638. orig4*CFrame.Angles(math.rad(65),0,math.rad(155));
  639. Joints[5].C0;
  640. Joints[6].C0;
  641. Joints[7].C0;
  642. }
  643. local lerper = coroutine.wrap(function(rate)
  644. for i=1, 5 do
  645. for p=1,#Joints do
  646. if animstate == 2 then
  647. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.2*i)
  648. end
  649. end
  650. wait(rate)
  651. end
  652. ready = true
  653. keyframe = 1
  654. end)
  655. lerper(0)
  656. elseif keyframe == 1 then
  657. ready = false
  658. hitter = true
  659. JointTargets={
  660. orig1*CFrame.Angles(0,0,math.rad(85));
  661. orig2*CFrame.Angles(0,0,math.rad(-65));
  662. orig3*CFrame.Angles(math.rad(-35),0,0);
  663. orig4*CFrame.Angles(math.rad(65),0,math.rad(65));
  664. Joints[5].C0;
  665. Joints[6].C0;
  666. Joints[7].C0;
  667. }
  668. local lerper = coroutine.wrap(function(rate)
  669. for i=1, 10 do
  670. for p=1,#Joints do
  671. if animstate == 2 then
  672. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  673. end
  674. end
  675. print(i)
  676. wait(rate)
  677. end
  678. ready = true
  679. hitter = false
  680. attacking = false
  681. animating = false
  682. hits = {}
  683. keyframe = 0
  684. animstate = -1
  685. local comboer = coroutine.wrap(function(limit)
  686. cooled = true
  687. wait(limit)
  688. if animstate ~= 2 then
  689. cooled = false
  690. combo = 0
  691. wait(0.35)
  692. cooled = true
  693. end
  694. end)
  695. comboer(0.3)
  696. end)
  697. lerper(0.0001)
  698. end
  699.  
  700. elseif combo == 2 then
  701. if keyframe == 0 then
  702. ready = false
  703. cooled = false
  704. animating = true
  705. JointTargets={
  706. orig1*CFrame.Angles(0,0,math.rad(85));
  707. orig2*CFrame.Angles(0,0,math.rad(-65));
  708. orig3*CFrame.Angles(math.rad(-45),0,0);
  709. orig4*CFrame.Angles(math.rad(-50),0,math.rad(55));
  710. Joints[5].C0;
  711. Joints[6].C0;
  712. Joints[7].C0;
  713. }
  714. local lerper = coroutine.wrap(function(rate)
  715. for i=1, 5 do
  716. for p=1,#Joints do
  717. if animstate == 2 then
  718. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.2*i)
  719. end
  720. end
  721. wait(rate)
  722. end
  723. ready = true
  724. keyframe = 1
  725. end)
  726. lerper(0)
  727. elseif keyframe == 1 then
  728. ready = false
  729. hitter = true
  730. JointTargets={
  731. orig1*CFrame.Angles(0,0,math.rad(15));
  732. orig2*CFrame.Angles(0,0,math.rad(-5));
  733. orig3*CFrame.Angles(math.rad(-35),0,0);
  734. orig4*CFrame.Angles(math.rad(-65),0,math.rad(-55));
  735. Joints[5].C0;
  736. Joints[6].C0;
  737. Joints[7].C0;
  738. }
  739. local lerper = coroutine.wrap(function(rate)
  740. for i=1, 10 do
  741. for p=1,#Joints do
  742. if animstate == 2 then
  743. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  744. end
  745. end
  746. wait(rate)
  747. end
  748. ready = true
  749. hitter = false
  750. attacking = false
  751. animating = false
  752. hits = {}
  753. keyframe = 0
  754. animstate = -1
  755. local comboer = coroutine.wrap(function(limit)
  756. cooled = true
  757. wait(limit)
  758. if animstate ~= 2 then
  759. cooled = false
  760. combo = 0
  761. wait(0.35)
  762. cooled = true
  763. end
  764. end)
  765. comboer(0.3)
  766. end)
  767. lerper(0.001)
  768. end
  769.  
  770. elseif combo == 3 then
  771. if keyframe == 0 then
  772. ready = false
  773. cooled = false
  774. animating = true
  775. JointTargets={
  776. orig1*CFrame.Angles(0,0,math.rad(125));
  777. orig2*CFrame.Angles(0,0,math.rad(-105));
  778. orig3*CFrame.Angles(math.rad(-35),0,0);
  779. orig4*CFrame.Angles(math.rad(-50),0,math.rad(55));
  780. Joints[5].C0;
  781. Joints[6].C0;
  782. Joints[7].C0;
  783. }
  784. local lerper = coroutine.wrap(function(rate)
  785. for i=1, 5 do
  786. for p=1,#Joints do
  787. if animstate == 2 then
  788. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.2*i)
  789. end
  790. end
  791. wait(rate)
  792. end
  793. ready = true
  794. keyframe = 1
  795. end)
  796. lerper(0)
  797. elseif keyframe == 1 then
  798. ready = false
  799. hitter = true
  800. JointTargets={
  801. orig1*CFrame.Angles(0,0,math.rad(-35));
  802. orig2*CFrame.Angles(0,0,math.rad(-15));
  803. orig3*CFrame.Angles(math.rad(-15),0,0);
  804. orig4*CFrame.Angles(math.rad(65),0,math.rad(65));
  805. Joints[5].C0;
  806. Joints[6].C0;
  807. Joints[7].C0;
  808. }
  809. local lerper = coroutine.wrap(function(rate)
  810. for i=1, 10 do
  811. for p=1,#Joints do
  812. if animstate == 2 then
  813. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  814. end
  815. end
  816. print(i)
  817. wait(rate)
  818. end
  819. JointTargets={
  820. orig1*CFrame.Angles(0,0,math.rad(125));
  821. orig2*CFrame.Angles(0,0,math.rad(-105));
  822. orig3*CFrame.Angles(math.rad(-45),0,0);
  823. orig4*CFrame.Angles(math.rad(65),0,math.rad(65));
  824. Joints[5].C0;
  825. Joints[6].C0;
  826. Joints[7].C0;
  827. }
  828. local lerper2 = coroutine.wrap(function(rate2)
  829. for o=1, 10 do
  830. for y=1,#Joints do
  831. Joints[y].C0=Joints[y].C0:lerp(JointTargets[y],0.1*o)
  832. end
  833. print(o)
  834. wait(rate2)
  835. end
  836. ready = true
  837. hitter = false
  838. attacking = false
  839. animating = false
  840. hits = {}
  841. keyframe = 0
  842. animstate = -1
  843. local comboer = coroutine.wrap(function()
  844. combo = 0
  845. wait(0.35)
  846. cooled = true
  847. end)
  848. comboer()
  849. end)
  850. hits = {}
  851. lerper2(0.00001)
  852. end)
  853. lerper(0.001)
  854. end
  855.  
  856. end
  857.  
  858. elseif animstate == 3 and ready then
  859.  
  860. if keyframe == 0 then
  861. Player.Character.Humanoid.WalkSpeed = 0
  862. ready = false
  863. cooled2 = false
  864. animating = true
  865. JointTargets={
  866. orig1*CFrame.Angles(0,0,math.rad(-85));
  867. orig2*CFrame.Angles(0,0,math.rad(85));
  868. orig3*CFrame.Angles(math.rad(-90),math.rad(90),0);
  869. orig4*CFrame.Angles(math.rad(-35),0,0);
  870. Joints[5].C0;
  871. Joints[6].C0;
  872. Joints[7].C0;
  873. }
  874. local lerper = coroutine.wrap(function(rate)
  875. for i=1, 10 do
  876. for p=1,#Joints do
  877. if animstate == 3 then
  878. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  879. end
  880. end
  881. wait(rate)
  882. end
  883. keyframe = 1
  884. ready = true
  885. end)
  886. lerper(0.001)
  887. elseif keyframe == 1 then
  888. ready = false
  889. local velocity = Instance.new("BodyVelocity",qtarget:FindFirstChild("Torso"))
  890. velocity.Velocity = Vector3.new(0,1.5,0)
  891. local lerper = coroutine.wrap(function(rate)
  892. for i=1, 20 do
  893. if animstate == 3 then
  894. qtarget:FindFirstChild("Humanoid"):TakeDamage(damage*0.06)
  895. indicate(qtarget:FindFirstChild("Head"),damage*0.06)
  896. if i%2 == 0 then
  897. local wave = Instance.new("Part", game.Workspace)
  898. wave.FormFactor = 0
  899. wave.Size = Vector3.new(5,5,1)
  900. wave.Transparency = 0.6
  901. wave.Anchored = true
  902. wave.CanCollide = false
  903. wave.CFrame = Player.Character.Torso.CFrame * CFrame.new(0,-2.75,0) * CFrame.Angles(0, -(3), 0)
  904. wave.BrickColor = BrickColor.new("Institutional white")
  905. local mesh = Instance.new("SpecialMesh", wave)
  906. mesh.MeshType = 5
  907. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  908. mesh.Scale = Vector3.new(1,0.5,1)
  909. local grow = coroutine.wrap(function(part)
  910. game:GetService("Debris"):AddItem(part, 2)
  911. for x = 1, 25 do
  912. part.Mesh.Scale = part.Mesh.Scale + Vector3.new(0.5,0.25,0.5)
  913. part.Transparency = part.Transparency + 0.02
  914. wait()
  915. end
  916. part:Destroy()
  917. end)
  918. grow(wave)
  919. end
  920. end
  921. wait(rate)
  922. end
  923. keyframe = 2
  924. ready = true
  925. velocity:remove()
  926. end)
  927. lerper(0.1)
  928. elseif keyframe == 2 then
  929. ready = false
  930. attacking = false
  931. animating = false
  932. keyframe = 0
  933. animstate = -1
  934. local cooler = coroutine.wrap(function(limit)
  935. wait(limit)
  936. cooled2 = true
  937. end)
  938. cooler(8)
  939. ready = true
  940. Player.Character.Humanoid.WalkSpeed = speed
  941. end
  942.  
  943. elseif animstate == 4 and ready then
  944.  
  945. if keyframe == 0 then
  946. ready = false
  947. cooled3 = false
  948. animating = true
  949. JointTargets={
  950. orig1*CFrame.Angles(math.rad(15),0,0);
  951. orig2*CFrame.Angles(math.rad(-15),0,0);
  952. orig3*CFrame.Angles(math.rad(-10),0,math.rad(20));
  953. orig4*CFrame.Angles(math.rad(-10),0,math.rad(-20));
  954. orig5*CFrame.Angles(math.rad(-5),0,0);
  955. orig6*CFrame.Angles(math.rad(-5),0,0);
  956. Joints[7].C0
  957. }
  958. local lerper = coroutine.wrap(function(rate)
  959. for i=1, 10 do
  960. for p=1,#Joints do
  961. if animstate == 4 then
  962. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  963. end
  964. end
  965. wait(rate)
  966. end
  967. keyframe = 1
  968. ready = true
  969. end)
  970. lerper(0)
  971. local wave = Instance.new("Part", game.Workspace)
  972. wave.FormFactor = 0
  973. wave.Size = Vector3.new(5,5,1)
  974. wave.Transparency = 0.6
  975. wave.Anchored = true
  976. wave.CanCollide = false
  977. wave.CFrame = Player.Character.HumanoidRootPart.CFrame * CFrame.new(0,0,1) * CFrame.Angles(math.rad(90), -(3), 0)
  978. wave.BrickColor = BrickColor.new("Institutional white")
  979. local mesh = Instance.new("SpecialMesh", wave)
  980. mesh.MeshType = 5
  981. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  982. mesh.Scale = Vector3.new(1,0.5,1)
  983. local grow = coroutine.wrap(function(part)
  984. game:GetService("Debris"):AddItem(part, 2)
  985. for x = 1, 25 do
  986. part.Mesh.Scale = part.Mesh.Scale + Vector3.new(0.25,0.125,0.25)
  987. part.Transparency = part.Transparency + 0.02
  988. wait()
  989. end
  990. part:Destroy()
  991. end)
  992. grow(wave)
  993.  
  994. Player.Character.HumanoidRootPart.Velocity = Player.Character.HumanoidRootPart.CFrame.lookVector*200
  995.  
  996. elseif keyframe == 1 then
  997. ready = false
  998. local cooler = coroutine.wrap(function()
  999. wait(2)
  1000. cooled3 = true
  1001. end)
  1002. cooler()
  1003. wait(0.01)
  1004. ready = true
  1005. attacking = false
  1006. animating = false
  1007. keyframe = 0
  1008. animstate = -1
  1009. end
  1010.  
  1011. elseif animstate == 5 and ready then
  1012.  
  1013. if keyframe == 0 then
  1014. Player.Character.Humanoid.WalkSpeed = 0
  1015. ready = false
  1016. cooled4 = false
  1017. animating = true
  1018. JointTargets={
  1019. orig1*CFrame.Angles(0,0,math.rad(-45));
  1020. orig2*CFrame.Angles(0,0,math.rad(45));
  1021. orig3*CFrame.Angles(math.rad(-45),math.rad(40),0);
  1022. orig4*CFrame.new(0,-0.5,0.5)*CFrame.Angles(math.rad(-90),0,0);
  1023. Joints[5].C0;
  1024. Joints[6].C0;
  1025. Joints[7].C0;
  1026. }
  1027.  
  1028. local lerper = coroutine.wrap(function(rate)
  1029. for i=1, 10 do
  1030. for p=1,#Joints do
  1031. if animstate == 5 then
  1032. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  1033. end
  1034. end
  1035. wait(rate)
  1036. end
  1037. keyframe = 1
  1038. ready = true
  1039. end)
  1040. lerper(0.00001)
  1041. elseif keyframe == 1 then
  1042. ready = false
  1043. JointTargets={
  1044. orig1*CFrame.Angles(0,0,math.rad(90));
  1045. orig2*CFrame.Angles(0,0,math.rad(-90));
  1046. orig3*CFrame.Angles(math.rad(-25),0,0);
  1047. orig4*CFrame.new(0,-0.25,0.5)*CFrame.Angles(math.rad(-90),0,0);
  1048. Joints[5].C0;
  1049. Joints[6].C0;
  1050. Joints[7].C0;
  1051. }
  1052.  
  1053. local lerper = coroutine.wrap(function(rate)
  1054. for i=1, 10 do
  1055. for p=1,#Joints do
  1056. if animstate == 5 then
  1057. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  1058. end
  1059. end
  1060. wait(rate)
  1061. end
  1062. keyframe = 2
  1063. ready = true
  1064. end)
  1065. lerper(0)
  1066. elseif keyframe == 2 then
  1067. ready = false
  1068. local hitter2 = true
  1069. local hits2 = {}
  1070. local throwbox = Instance.new("Part",workspace)
  1071. throwbox.Size = Vector3.new(1,9,1)
  1072. throwbox.CanCollide = false
  1073. throwbox.Anchored = false
  1074. throwbox.Transparency = 1
  1075. throwbox.CFrame = handle.CFrame*CFrame.Angles(0,0,math.rad(90))
  1076. throwbox.Name = "hitbox"
  1077.  
  1078. throwbox.Touched:connect(function(hit)
  1079. if hitter2 and hit ~= nil and hit.Parent ~= nil and hit.Parent:FindFirstChild("Humanoid") ~= nil then
  1080. local humanoid = hit.Parent:findFirstChild("Humanoid")
  1081. if humanoid ~= nil and humanoid ~= Character.Humanoid and Character.Humanoid ~= nil then
  1082. local donthit = false
  1083. for _,v in pairs (hits2) do
  1084. if v == hit.Parent.Name then
  1085. donthit = true
  1086. end
  1087. end
  1088. if not donthit then
  1089. local sound = Instance.new("Sound", hit.Parent:FindFirstChild("Torso"))
  1090. sound.SoundId = "rbxassetid://526719128"
  1091. sound.Volume = 0.7
  1092. sound.PlayOnRemove = true
  1093. sound:Remove()
  1094. humanoid:TakeDamage(damage)
  1095. indicate(hit.Parent:FindFirstChild("Head"),damage)
  1096. table.insert(hits2,hit.Parent.Name)
  1097. end
  1098. end
  1099. end
  1100. end)
  1101.  
  1102. JointTargets={
  1103. Joints[1].C0;
  1104. Joints[2].C0;
  1105. Joints[3].C0;
  1106. Joints[4].C0;
  1107. Joints[5].C0;
  1108. Joints[6].C0;
  1109. orig7*CFrame.new(0,-35,0)*CFrame.Angles(math.rad(180),0,0);
  1110. }
  1111.  
  1112. local lerper = coroutine.wrap(function(rate)
  1113. for i=1, 20 do
  1114. for p=1,#Joints do
  1115. if animstate == 5 then
  1116. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.05*i)
  1117. throwbox.CFrame = handle.CFrame*CFrame.Angles(0,0,math.rad(90))
  1118. end
  1119. end
  1120. wait(rate)
  1121. end
  1122. hits2 = {}
  1123.  
  1124. JointTargets={
  1125. Joints[1].C0;
  1126. Joints[2].C0;
  1127. Joints[3].C0;
  1128. Joints[4].C0;
  1129. Joints[5].C0;
  1130. Joints[6].C0;
  1131. orig7;
  1132. }
  1133.  
  1134. local lerper2 = coroutine.wrap(function(rate2)
  1135. for y=1, 20 do
  1136. for o=1,#Joints do
  1137. if animstate == 5 then
  1138. Joints[o].C0=Joints[o].C0:lerp(JointTargets[o],0.05*y)
  1139. throwbox.CFrame = handle.CFrame*CFrame.Angles(0,0,math.rad(90))
  1140. end
  1141. end
  1142. wait(rate2)
  1143. end
  1144. ready = true
  1145. hitter2 = false
  1146. attacking = false
  1147. animating = false
  1148. hits2 = {}
  1149. keyframe = 0
  1150. animstate = -1
  1151. throwbox:Remove()
  1152. Player.Character.Humanoid.WalkSpeed = speed
  1153. local cooler = coroutine.wrap(function()
  1154. wait(10)
  1155. cooled4 = true
  1156. end)
  1157. cooler()
  1158. end)
  1159. lerper2(0.001)
  1160. end)
  1161. lerper(0.001)
  1162. end
  1163.  
  1164. elseif animstate == 6 and ready then
  1165.  
  1166. if keyframe == 0 then
  1167. Player.Character.Humanoid.WalkSpeed = 0
  1168. ready = false
  1169. JointTargets={
  1170. orig1*CFrame.Angles(0,0,math.rad(90));
  1171. orig2*CFrame.Angles(0,0,math.rad(-90));
  1172. orig3*CFrame.Angles(math.rad(-25),math.rad(-10),0);
  1173. orig4*CFrame.new(0,-0.5,0.5)*CFrame.Angles(math.rad(-90),0,0);
  1174. Joints[5].C0;
  1175. Joints[6].C0;
  1176. orig7*CFrame.Angles(0,math.rad(-90),0);
  1177. }
  1178.  
  1179. local lerper = coroutine.wrap(function(rate)
  1180. for i=1, 10 do
  1181. for p=1,#Joints do
  1182. if animstate == 6 then
  1183. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],0.1*i)
  1184. end
  1185. end
  1186. wait(rate)
  1187. end
  1188. keyframe = 1
  1189. ready = true
  1190. end)
  1191. lerper(0)
  1192. elseif keyframe == 1 then
  1193. ready = false
  1194. local bladeweld = handle:FindFirstChild("BladeWeld")
  1195. if not equipped then
  1196. bladeweld.C0 = bladeweld.C0*CFrame.new(Vector3.new(3.5,0,0))
  1197. end
  1198. local grower = coroutine.wrap(function()
  1199. for i=1, 20 do
  1200. if not equipped then
  1201. if i == 10 then
  1202. blade.Transparency = blade.Transparency - 0.5
  1203. end
  1204. if i > 10 then
  1205. blade.Transparency = blade.Transparency - 0.05
  1206. end
  1207. bladeweld.C0 = bladeweld.C0*CFrame.new(Vector3.new(-(0.35/2),0,0))
  1208. else
  1209. blade.Transparency = blade.Transparency + 0.05
  1210. end
  1211. wait(0.001)
  1212. end
  1213. if not equipped then
  1214. equipped = true
  1215. else
  1216. equipped = false
  1217. end
  1218. JointTargets={
  1219. Joints[1].C0;
  1220. Joints[2].C0;
  1221. Joints[3].C0;
  1222. Joints[4].C0;
  1223. Joints[5].C0;
  1224. Joints[6].C0;
  1225. orig7;
  1226. }
  1227.  
  1228. local lerper = coroutine.wrap(function(rate)
  1229. for p=1,#Joints do
  1230. Joints[p].C0=Joints[p].C0:lerp(JointTargets[p],1)
  1231. end
  1232. Player.Character.Humanoid.WalkSpeed = speed
  1233. ready = true
  1234. attacking = false
  1235. animating = false
  1236. animstate = -1
  1237. keyframe = 0
  1238. end)
  1239. lerper()
  1240. end)
  1241. grower()
  1242. end
  1243.  
  1244. end
  1245. wait()
  1246. end
  1247. end)
  1248. animator()
  1249.  
  1250. Mouse.KeyDown:connect(function(key)
  1251. if key == 'f' and not attacking and not animating then
  1252. if not equipped then
  1253. animating = true
  1254. attacking = true
  1255. button.BrickColor = BrickColor.new("Black")
  1256. ready = true
  1257. keyframe = 0
  1258. animstate = 6
  1259. elseif equipped then
  1260. animating = true
  1261. attacking = true
  1262. button.BrickColor = BrickColor.new("Really red")
  1263. ready = true
  1264. keyframe = 0
  1265. animstate = 6
  1266. end
  1267. elseif key=='e' and equipped and not animating and cooled and combo < 3 then
  1268. print("epress")
  1269. attacking = true
  1270. ready = true
  1271. animstate = 2
  1272. keyframe = 0
  1273. combo = combo + 1
  1274. print(combo)
  1275. elseif key=='q' and not animating and not attacking and cooled2 and Mouse.Target and Mouse.Target.Parent and Mouse.Target.Parent:FindFirstChild("Humanoid") and Mouse.Target.Parent ~= Player.Character and (Player.Character.Torso.Position-Mouse.Target.Parent:FindFirstChild("Torso").Position).magnitude <= 45 then
  1276. print("qpress")
  1277. attacking = true
  1278. qtarget = Mouse.Target.Parent
  1279. ready = true
  1280. animstate = 3
  1281. keyframe = 0
  1282. elseif key=='r' and not animating and cooled3 then
  1283. print("rpress")
  1284. attacking = true
  1285. ready = true
  1286. animstate = 4
  1287. keyframe = 0
  1288. elseif key=='t' and not animating and cooled4 and equipped and not attacking then
  1289. print("tpress")
  1290. attacking = true
  1291. ready = true
  1292. animstate = 5
  1293. keyframe = 0
  1294. end
  1295. end)
  1296.  
  1297. blade.Touched:connect(function(hit)
  1298. if hitter and hit ~= nil and hit.Parent ~= nil and hit.Parent:FindFirstChild("Humanoid") ~= nil then
  1299. local humanoid = hit.Parent:findFirstChild("Humanoid")
  1300. if humanoid ~= nil and humanoid ~= Character.Humanoid and Character.Humanoid ~= nil then
  1301. local donthit = false
  1302. for _,v in pairs (hits) do
  1303. if v == hit.Parent.Name then
  1304. donthit = true
  1305. end
  1306. end
  1307. if not donthit then
  1308. local sound = Instance.new("Sound", hit.Parent:FindFirstChild("Torso"))
  1309. sound.SoundId = "rbxassetid://526719128"
  1310. sound.Volume = 0.7
  1311. sound.PlayOnRemove = true
  1312. sound:Remove()
  1313. humanoid:TakeDamage(damage)
  1314. indicate(hit.Parent:FindFirstChild("Head"),damage)
  1315. table.insert(hits,hit.Parent.Name)
  1316. end
  1317. end
  1318. end
  1319. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement