Advertisement
NextFlamePB

ROBLOX World Eater Script

Jul 31st, 2017
6,819
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 26.50 KB | None | 0 0
  1. --[[ World eater Script ]]--
  2. --[[ Declarations ]]--
  3. wait(.0000000000000000000001)
  4. local Player = game:GetService("Players").LocalPlayer
  5. local Character = Player.Character
  6. local Head = Character.Head
  7. local Torso = Character.Torso
  8. local Right_Arm = Character["Right Arm"]
  9. local Right_Leg = Character["Right Leg"]
  10. local Left_Arm = Character["Left Arm"]
  11. local Left_Leg = Character["Left Leg"]
  12. local Humanoid = Character.Humanoid
  13. local Animation = "Idle"
  14. local Mouse = Player:GetMouse()
  15. local LeftShoulder = Torso["Left Shoulder"]
  16. local Left_Hip = Torso["Left Hip"]
  17. local RightShoulder = Torso["Right Shoulder"]
  18. local Right_Hip = Torso["Right Hip"]
  19. local Root = Character.HumanoidRootPart
  20. local RootJoint = Root.RootJoint
  21. local Attacking = false
  22. local CanAttack = true
  23. local Anim = "Idle"
  24. local Combo = 1
  25. local Blocking = false
  26. local MaxDestruction = 1000
  27. local Destruction = 0
  28. local MaxBlock = 100
  29. local Effects = {}
  30. local Color = "Bright yellow"
  31. local Invert = false
  32. local Idle = 0
  33. local Equipped = false
  34. local Running = false
  35. local Unseathed = false
  36. local Shard = "None"
  37.  
  38. Humanoid.MaxHealth = 3000
  39. Humanoid.Health = 3000
  40.  
  41. local WorldEaterTheme = Instance.new("Sound",Character)
  42. WorldEaterTheme.Name = "WorldEaterTheme"
  43. WorldEaterTheme.Looped = true
  44. WorldEaterTheme.SoundId = "http://www.roblox.com/asset?id=149981769"
  45. WorldEaterTheme:Play()
  46.  
  47. Left_Shoulder = Instance.new("Weld", Torso)
  48. Left_Shoulder.Part0 = Torso
  49. Left_Shoulder.Part1 = Left_Arm
  50. Left_Shoulder.Name = "Left Shoulder"
  51. Left_Shoulder.C0 = CFrame.new(-1.5,0,0)
  52.  
  53. Right_Shoulder = Instance.new("Weld", Torso)
  54. Right_Shoulder.Part0 = Torso
  55. Right_Shoulder.Part1 = Right_Arm
  56. Right_Shoulder.Name = "Right Shoulder"
  57. Right_Shoulder.C0 = CFrame.new(1.5,0,0)
  58.  
  59. LeftShoulder.Parent = nil
  60. RightShoulder.Parent = nil
  61. Humanoid.WalkSpeed = 10
  62.  
  63. local RootCFrame = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)
  64. Necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  65. Necko2 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  66. Right_Hip_C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  67. Left_Hip_C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  68.  
  69.  
  70. Movemment = 1
  71. Walk = 0
  72.  
  73. Animator = Humanoid.Animator
  74. --Animate = Character.Animate
  75.  
  76. Animator.Parent = nil
  77. --Animate.Parent = nil
  78.  
  79. local Services = {
  80.  
  81. SoundService = game:GetService("SoundService");
  82. Players = game:GetService("Players");
  83. Debris = game:GetService("Debris");
  84. Workspace = game:GetService("Workspace");
  85. Lighting = game:GetService("Lighting");
  86. HttpService = game:GetService("HttpService");
  87. InsertService = game:GetService("InsertService");
  88.    
  89. }
  90.  
  91. local ManaBarGUI = Instance.new("ScreenGui", Player.PlayerGui)
  92. ManaBarGUI.Name = "ManaBarGUI"
  93.  
  94. local ManaBarP1 = Instance.new("Frame", ManaBarGUI)
  95. ManaBarP1.Name = "ManaBarPart1"
  96. ManaBarP1.Size = UDim2.new(0,300,0,20)
  97. ManaBarP1.Position = UDim2.new(0,350,0.1,0)
  98. ManaBarP1.BackgroundColor3 = BrickColor.Black().Color
  99.  
  100. local ManaBarP2 = Instance.new("Frame", ManaBarP1)
  101. ManaBarP2.Name = "ManaBarPart2"
  102. ManaBarP2.Size = UDim2.new(0,300,0,20)
  103. ManaBarP2.Position = UDim2.new(0,0,0,0)
  104. ManaBarP2.BackgroundColor3 = BrickColor.new("Black").Color
  105.  
  106. local ManaBarText = Instance.new("TextLabel", ManaBarP1)
  107. ManaBarText.Name = "ManaBarText"
  108. ManaBarText.Size = UDim2.new(0,300,0,20)
  109. ManaBarText.Position = UDim2.new(0,0,-1.5,0)   
  110. ManaBarText.TextScaled = true
  111. ManaBarText.Text = "<{[ Destruction ]}> 0 <{[ Destruction ]}>"
  112. ManaBarText.BackgroundTransparency = 1
  113. ManaBarText.TextStrokeTransparency = 0
  114. ManaBarText.TextStrokeColor3 = Color3.new(1,1,1)
  115. ManaBarText.TextColor3 = Color3.new(0,0,0)
  116. ManaBarText.Font = "Garamond"
  117.  
  118. local WorldEaterGui = Instance.new("BillboardGui", Head)
  119. WorldEaterGui.ExtentsOffset = Vector3.new(0,5,0)
  120. WorldEaterGui.Adornee = Head
  121. WorldEaterGui.AlwaysOnTop = true
  122. WorldEaterGui.Enabled = true
  123. WorldEaterGui.Size = UDim2.new(0, 200,0, 50)
  124.  
  125. local WorldEaterText = Instance.new("TextLabel", WorldEaterGui)
  126. WorldEaterText.BackgroundTransparency = 1
  127. WorldEaterText.Font = "Garamond"
  128. WorldEaterText.Size = UDim2.new(0, 200,0, 50)
  129. WorldEaterText.TextStrokeColor3 = BrickColor.Red().Color
  130. WorldEaterText.TextStrokeTransparency = 0
  131. WorldEaterText.TextColor3 = BrickColor.Black().Color
  132. WorldEaterText.TextScaled = true
  133. WorldEaterText.Text = "World Eater"
  134.  
  135. --------[[ Mesh Ids ]]--------
  136.  
  137. SpikeMeshId = 1033714
  138. SpikeBallId = 9982590
  139. StarMeshId = 45428961
  140. CrystalMeshId = 9756362
  141.  
  142. --[[ Essential Functions ]]--
  143. function NoOutlines(Part)
  144.         Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
  145. end
  146.    
  147.  
  148. local CreatePart = function(Parent, Name, Color, Size, Material, Transparency, Shape)
  149.  
  150. local Part = Instance.new("Part", Parent)
  151. Part.Name = Name
  152. Part.BrickColor = BrickColor.new(Color)
  153. Part.Size = Size
  154. Part.Material = Material
  155. Part.Transparency = Transparency
  156. Part.Shape = Shape
  157. Part.CanCollide = false
  158. NoOutlines(Part)
  159.  
  160. return Part
  161.  
  162. end
  163.  
  164. local CreateMesh = function(Parent, Scale, Shape)
  165.  
  166.  
  167. local Mesh = Instance.new("BlockMesh", Parent)
  168. Mesh.Scale = Scale
  169.  
  170. return Mesh
  171.  
  172. end
  173.  
  174. local CreateWedge = function(Parent, Name, Color, Size, Material, Transparency)
  175.  
  176. local WedgePart = Instance.new("WedgePart", Parent)
  177. WedgePart.Name = Name
  178. WedgePart.BrickColor = BrickColor.new(Color)
  179. WedgePart.Size = Size
  180. WedgePart.Material = Material
  181. WedgePart.Transparency = Transparency
  182. WedgePart.CanCollide = false
  183. NoOutlines(WedgePart)
  184.  
  185. return WedgePart
  186.  
  187. end
  188.  
  189. local CreateWeld = function(Parent, Cframe, P1 , P0)
  190.    
  191. local Weld = Instance.new("Weld", Parent)
  192. Weld.Part0 = P0
  193. Weld.Part1 = P1
  194. Weld.Name = P0.Name .. "To" .. P1.Name
  195. Weld.C0 = Cframe
  196.  
  197. return Weld
  198.    
  199. end
  200.  
  201. local CreateVelocity = function(Parent,Velocity,Force)
  202.    
  203. local BodyVelocity = Instance.new("BodyVelocity", Parent)
  204. BodyVelocity.Velocity = Velocity
  205. BodyVelocity.MaxForce = Force  
  206.  
  207.    
  208.    
  209. return BodyVelocity
  210.    
  211. end
  212.  
  213.  
  214. local CreateCrystal = function(Parent, Name, Color, Size, Material, Transparency, Scale)
  215.  
  216.  
  217. local Part = Instance.new("Part", Parent)
  218. Part.Name = Name
  219. Part.BrickColor = BrickColor.new(Color)
  220. Part.Size = Size
  221. Part.Material = Material
  222. Part.Transparency = Transparency
  223. Part.CanCollide = false
  224. NoOutlines(Part)
  225.  
  226. local Mesh = Instance.new("SpecialMesh", Part)
  227. Mesh.MeshId = "http://www.roblox.com/asset?id=" .. CrystalMeshId
  228. Mesh.Scale = Scale
  229.  
  230. return Mesh and Part
  231.  
  232. end
  233.  
  234. local MakeSFX = function(Parent, Id, Volume, Pitch, Type)
  235.    
  236. local SFX = Instance.new("Sound", Parent)
  237. SFX.SoundId = "http://www.roblox.com/asset?id=" .. Id
  238. SFX.Name = "SFX"
  239. SFX:Play()
  240. SFX.Volume = Volume
  241. SFX.Pitch = Pitch
  242. SFX.PlayOnRemove = true
  243. SFX:Remove()
  244.    
  245. if Type == "Echo" then
  246.    
  247. Instance.new("EchoSoundEffect", SFX)   
  248.    
  249. end
  250.    
  251. end
  252.  
  253. local CreateSpike = function(Parent, Name, Color, Size, Material, Transparency, Scale)
  254.  
  255.  
  256. local Part = Instance.new("Part", Parent)
  257. Part.Name = Name
  258. Part.BrickColor = BrickColor.new(Color)
  259. Part.Size = Size
  260. Part.Material = Material
  261. Part.Transparency = Transparency
  262. Part.CanCollide = false
  263. NoOutlines(Part)
  264.  
  265. local Mesh = Instance.new("SpecialMesh", Part)
  266. Mesh.MeshId = "http://www.roblox.com/asset?id=" .. SpikeMeshId
  267. Mesh.Scale = Scale
  268.  
  269. return Mesh and Part
  270.  
  271. end
  272.  
  273. CircleEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  274.    
  275. local Part = Instance.new("Part", Parent)
  276. Part.Transparency = Transparency
  277. Part.Name = "CircleEffect"
  278. Part.Size = Vector3.new()
  279. Part.Anchored = true
  280. Part.CanCollide = false
  281. Part.Position = Position
  282. Part.BrickColor = BrickColor.new(Brickcolor)
  283. Part.Material = Material
  284. NoOutlines(Part)
  285.  
  286. local Mesh = Instance.new("SpecialMesh", Part)
  287. Mesh.MeshType = "Sphere"
  288. Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
  289.  
  290. Services.Debris:AddItem(Part, Time)
  291.  
  292.  
  293. table.insert(Effects, {Part, "Circle", Time, SX, SY, SZ})
  294.  
  295.  
  296. end
  297.  
  298. BlockEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  299.    
  300. local Part = Instance.new("Part", Parent)
  301. Part.Transparency = Transparency
  302. Part.Name = "BlockEffect"
  303. Part.Size = Vector3.new()
  304. Part.Anchored = true
  305. Part.Position = Position
  306. Part.CanCollide = false
  307. Part.BrickColor = BrickColor.new(Brickcolor)
  308. Part.Material = Material
  309. NoOutlines(Part)
  310.  
  311. local Mesh = Instance.new("BlockMesh", Part)
  312. Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
  313.  
  314. Services.Debris:AddItem(Part, Time)
  315.  
  316. table.insert(Effects, {Part, "Block", Time, SX, SY, SZ})
  317.  
  318.  
  319. end
  320.  
  321. --[[ Damage function ]]--
  322.  
  323.  
  324. function DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
  325.    
  326. local HitHumanoid = Hit.Parent.Humanoid
  327.  
  328.  
  329. local Damage = math.random(Min, Max)
  330.  
  331.  
  332. coroutine.resume(coroutine.create(function()
  333. HitHumanoid:TakeDamage(Damage)
  334. end))
  335.    
  336. if Type == "Shrink" then
  337. MakeSFX(Hit.Parent.Torso, 209527235, 1, 1) 
  338. for i,v in pairs(Hit.Parent:children()) do
  339. if v:IsA("Part") then
  340. coroutine.resume(coroutine.create(function()       
  341. for i = 1,100 do
  342. wait() 
  343. v.Size = v.Size - Vector3.new(0.05,0.05,0.05)
  344. v.Transparency = v.Transparency + 0.05
  345.    
  346. end    
  347. end))
  348. end
  349. end
  350.    
  351. end
  352.    
  353.    
  354.    
  355. if Type == "Normal" then
  356.    
  357. local Push = CreateVelocity(Hit.Parent.Torso, Torso.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  358. Services.Debris:AddItem(Push, 0)   
  359. DamageLabel(Hit.Parent, Damage, Hit)
  360.  
  361. elseif Type == "Ranged" then
  362. local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  363. Services.Debris:AddItem(Push, 0)   
  364. DamageLabel(Hit.Parent, Damage, Hit)
  365.  
  366. elseif Type == "Impale" then
  367.  
  368. local Spike = CreateSpike(Services.Workspace, "D e a t h", "Black", Vector3.new(), "SmoothPlastic", 0, Vector3.new(1,20,1))
  369. Spike.Anchored = true
  370. Spike.Rotation = Vector3.new(math.random(-50,50), 0 , math.random(-50,50))
  371. Spike.Position = Hit.Parent.Torso.Position
  372.  
  373.  
  374. Services.Debris:AddItem(Spike, 30)
  375.  
  376. Hit.Parent:BreakJoints()
  377. Hit.Parent.Torso.Position = Spike.Position + Vector3.new(0,5,0)
  378. Hit.Parent.Torso.Anchored = true
  379.    
  380. MakeSFX(Spike, 306247724, 1,1) 
  381. MakeSFX(Hit.Parent.Torso, 209527175, 10,1)
  382. elseif Type == "Knockdown" then
  383.    
  384.        
  385. local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  386. DamageLabel(Hit.Parent, Damage, Hit)
  387. Services.Debris:AddItem(Push, 0.3)
  388.  
  389. coroutine.resume(coroutine.create(function()
  390.    
  391. HitHumanoid.PlatformStand = true
  392. wait(1)
  393. HitHumanoid.PlatformStand = false  
  394.    
  395.    
  396. end))  
  397. end
  398.  
  399. if HitSFX == "Penetration" then
  400.    
  401. MakeSFX(Hit, 199149269, 1 , 1)
  402.  
  403. elseif HitSFX == "Punch" then
  404.    
  405. MakeSFX(Hit, 278062209, 1 , 1)
  406.    
  407.    
  408.    
  409.    
  410. end
  411. end
  412.  
  413. function DamageLabel(HitCharacter, DamageDealt, Hit)
  414.    
  415. local DamageShowingPart = CreatePart(Services.Workspace, "ShowDamage", "Bright yellow", Vector3.new(0.8,0.8,0.8), "Neon", 1, "Block")
  416. DamageShowingPart.Position = HitCharacter.Head.Position
  417.  
  418. local DamageGui = Instance.new("BillboardGui", DamageShowingPart)
  419. DamageGui.Name = "Damage"
  420. DamageGui.AlwaysOnTop = true
  421. DamageGui.Size = UDim2.new(5, 0, 5, 0)
  422.  
  423. local DamageNumber = Instance.new("TextLabel", DamageGui)
  424. DamageNumber.Size = UDim2.new(1,0,1,0)
  425. if Hit.Parent:FindFirstChild("Head") then
  426. DamageNumber.TextStrokeColor3 = Hit.Parent.Head.BrickColor.Color
  427. DamageNumber.TextColor3 = Hit.BrickColor.Color
  428. end
  429. DamageNumber.TextStrokeTransparency = 0
  430. DamageNumber.BackgroundTransparency = 1
  431. DamageNumber.Font = "SourceSansBold"
  432. DamageNumber.TextScaled = true
  433. DamageNumber.Text = DamageDealt
  434.    
  435. local BodyVelocity = Instance.new("BodyVelocity", DamageShowingPart)
  436. BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  437. BodyVelocity.Velocity = Vector3.new(0,2,0) 
  438.    
  439. Services.Debris:AddItem(DamageShowingPart, 3)
  440.    
  441.    
  442. end
  443.  
  444. function ValidateDamage(Part, Distance ,Min , Max, Type, HitSFX, Knockback)
  445. for _,WorkspaceChildren in pairs(workspace:children()) do
  446.    
  447. local HitHumanoid = WorkspaceChildren:findFirstChild("Humanoid")
  448.  
  449. if HitHumanoid ~= nil then
  450. local Hit = WorkspaceChildren:findFirstChild("Torso")
  451.  
  452. if Hit ~= nil then
  453.    
  454. local Target = Hit.Position - Part.Position
  455.  
  456. local Magnitude = Target.magnitude
  457.  
  458. if Magnitude <= Distance and WorkspaceChildren.Name ~= Player.Name then
  459.    
  460. local HitBlock = Hit.Parent:FindFirstChild("Block")
  461.    
  462. if HitBlock ~= nil and HitBlock:FindFirstChild("BlockDurability") and HitBlock.Value == true then
  463.  
  464. local HitBlock2 = Hit.Parent.Block.BlockDurability 
  465.    
  466. if HitBlock2.Value > 15 then
  467.    
  468. local HitN = math.random(1,5)
  469.    
  470. HitBlock2.Value = HitBlock2.Value - 15 
  471.    
  472.    
  473. if HitN == 1 then
  474. MakeSFX(Hit ,199148971, 0.5, 1)
  475. end
  476.  
  477. if HitN == 2 then
  478. MakeSFX(Hit ,199149025, 0.5, 1)
  479. end
  480.  
  481. if HitN == 3 then
  482. MakeSFX(Hit ,199149072, 0.5, 1)
  483. end
  484.  
  485. if HitN == 4 then
  486. MakeSFX(Hit ,199149109, 0.5, 1)
  487. end
  488.  
  489. if HitN == 5 then
  490. MakeSFX(Hit ,199149119, 0.5, 1)
  491. end
  492. return
  493. end
  494. end
  495.  
  496. DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
  497.  
  498.    
  499.  
  500. end
  501. end
  502. end
  503. end
  504. end
  505.  
  506.  
  507.  
  508. local Cloak = Instance.new("Part", Character)
  509. Cloak.Name = "Cloak"
  510. Cloak.CanCollide = false
  511. Cloak.BrickColor = BrickColor.new("Institutional white")
  512.  
  513. local CloakMesh = Instance.new("SpecialMesh", Cloak)
  514. CloakMesh.MeshId = "http://www.roblox.com/asset?id=16150814"
  515. CloakMesh.TextureId = "http://www.roblox.com/asset?id=16150799"
  516.  
  517. local CloakWeld = CreateWeld(Cloak, CFrame.new(0,0,0) * CFrame.Angles(0,0,0), Head , Cloak, "ArkusToCharacter")
  518.  
  519. for i,v in pairs(Character:children()) do
  520. if v:IsA("Accessory") then
  521.     v:Remove()
  522. elseif v:IsA("Shirt") then
  523.     v:Remove()
  524. elseif v:IsA("Pants") then
  525.     v:Remove() 
  526. elseif v:IsA("BodyColors") then
  527.  
  528. Head.BrickColor =BrickColor.new("Really black")
  529. Torso.BrickColor = BrickColor.new("Really black")
  530. Right_Arm.BrickColor = BrickColor.new("Really black")
  531. Right_Leg.BrickColor = BrickColor.new("Really black")
  532. Left_Arm.BrickColor = BrickColor.new("Really black")
  533. Left_Leg.BrickColor = BrickColor.new("Really black")
  534.  
  535. v.HeadColor = BrickColor.new("Really black")
  536. v.TorsoColor = BrickColor.new("Really black")
  537. v.RightArmColor = BrickColor.new("Really black")
  538. v.LeftArmColor = BrickColor.new("Really black")
  539. v.RightLegColor = BrickColor.new("Really black")
  540. v.LeftLegColor = BrickColor.new("Really black")
  541.    
  542. end
  543. end
  544.  
  545.  
  546.  
  547. --[[ CLerp Declarations ]]--
  548.  
  549. function clerp(a,b,t)
  550.     local qa = {QuaternionFromCFrame(a)}
  551.     local qb = {QuaternionFromCFrame(b)}
  552.     local ax, ay, az = a.x, a.y, a.z
  553.     local bx, by, bz = b.x, b.y, b.z
  554.     local _t = 1-t
  555.     return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  556. end
  557.  
  558. function QuaternionFromCFrame(cf) -- dis one
  559.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  560.     local trace = m00 + m11 + m22
  561.     if trace > 0 then
  562.         local s = math.sqrt(1 + trace)
  563.         local recip = 0.5/s
  564.         return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  565.     else
  566.         local i = 0
  567.         if m11 > m00 then
  568.             i = 1
  569.         end
  570.         if m22 > (i == 0 and m00 or m11) then
  571.             i = 2
  572.         end
  573.         if i == 0 then
  574.             local s = math.sqrt(m00-m11-m22+1)
  575.             local recip = 0.5/s
  576.             return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  577.         elseif i == 1 then
  578.             local s = math.sqrt(m11-m22-m00+1)
  579.             local recip = 0.5/s
  580.             return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  581.         elseif i == 2 then
  582.             local s = math.sqrt(m22-m00-m11+1)
  583.             local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  584.         end
  585.     end
  586. end
  587.  
  588. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  589.     local xs, ys, zs = x + x, y + y, z + z
  590.     local wx, wy, wz = w*xs, w*ys, w*zs
  591.     local xx = x*xs
  592.     local xy = x*ys
  593.     local xz = x*zs
  594.     local yy = y*ys
  595.     local yz = y*zs
  596.     local zz = z*zs
  597.     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))
  598. end
  599.  
  600. function QuaternionSlerp(a, b, t)
  601.     local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  602.     local startInterp, finishInterp;
  603.     if cosTheta >= 0.0001 then
  604.         if (1 - cosTheta) > 0.0001 then
  605.             local theta = math.acos(cosTheta)
  606.             local invSinTheta = 1/math.sin(theta)
  607.             startInterp = math.sin((1-t)*theta)*invSinTheta
  608.             finishInterp = math.sin(t*theta)*invSinTheta  
  609.         else
  610.             startInterp = 1-t
  611.             finishInterp = t
  612.         end
  613.     else
  614.         if (1+cosTheta) > 0.0001 then
  615.             local theta = math.acos(-cosTheta)
  616.             local invSinTheta = 1/math.sin(theta)
  617.             startInterp = math.sin((t-1)*theta)*invSinTheta
  618.             finishInterp = math.sin(t*theta)*invSinTheta
  619.         else
  620.             startInterp = t-1
  621.             finishInterp = t
  622.         end
  623.     end
  624.     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
  625. end
  626.  
  627. function RayCast(Pos, Dir, Max, Ignore)
  628.     return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  629. end
  630.  
  631.  
  632. function Bars()
  633.    
  634. --[[ Mana Bar ]]-- 
  635. if Destruction ~= MaxDestruction then
  636.    
  637. Destruction = Destruction + 1
  638.  
  639. end
  640.  
  641. if Destruction >= MaxDestruction then
  642.    
  643. Destruction = Destruction
  644.    
  645. end
  646.  
  647.  
  648. ManaBarText.Text = "<{[ Destruction ]}> <|"..Destruction.."|> <{[ Destruction ]}>"
  649.  
  650. ManaBarP2.Size = UDim2.new(Destruction / Destruction,0,0,20)   
  651.    
  652. end
  653. local EyeReference = CreatePart(Character, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  654. local EyeReferenceWeld = CreateWeld(EyeReference,  CFrame.new(0.15,-0.1,-0.7), EyeReference, Head)
  655.  
  656. coroutine.resume(coroutine.create(function()
  657.    
  658. while wait(3) do
  659.  
  660.    
  661. CircleEffect(EyeReference.Position, Services.Workspace,  1, 1, 1, 1, 1, 1, 0.5, "Bright red", "Neon", 0.5)
  662.    
  663.    
  664. end
  665.    
  666. end))
  667. --[[ Attacks ]]--
  668.  
  669. function Attack1()
  670. Attacking = true
  671. MakeSFX(EyeReference, 341336274, 1,1)
  672. wait(0.3)
  673. local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  674. local ReferenceWeld = CreateWeld(Reference,  CFrame.new(0,0.5,-5), Reference, Root)
  675.  
  676. local Reference2 = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  677. local Reference2Weld = CreateWeld(Reference2,  CFrame.new(0,0.5,-2), Reference2, Root)
  678.  
  679.  
  680. for i = 1,10 do
  681.  
  682. wait()
  683. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,-1.6),0.5)
  684. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,1.3),0.2)
  685. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
  686. Left_Shoulder.C0 = clerp(Left_Shoulder.C0,  CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(0,0,-1.6), 0.4)
  687. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0) * CFrame.Angles(0,1.6,0),0.3)
  688. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0) * CFrame.Angles(0,-1.6,0),0.3)
  689.  
  690. end
  691.  
  692. CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  693. wait(0.5)
  694. CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  695. wait(0.5)
  696. CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  697. wait(0.5)
  698. CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  699. wait(0.5)
  700. MakeSFX(Reference, 306247724, 1,1) 
  701. CircleEffect(Reference.Position, Services.Workspace,  1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
  702. ValidateDamage(Reference, 10 ,10 , 14, "Shrink", "Penetration", 5)
  703. Attacking = false
  704. end
  705.  
  706. function Attack2()
  707.    
  708. Attacking = true
  709. Humanoid.WalkSpeed = 0
  710. Humanoid.JumpPower = 0
  711.  
  712.  
  713. for i = 1,25 do
  714. wait()
  715.  
  716. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(-0.5,0,0),0.2)
  717. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
  718. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1, 1, 0) * CFrame.Angles(3.2,0,-0.6), 0.3)
  719. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1, 1, 0) * CFrame.Angles(3.2,0,0.6), 0.3)
  720. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
  721. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
  722.    
  723. end
  724.  
  725. MakeSFX(Torso, 142070127, 1, 1)
  726. ValidateDamage(Torso, 60 ,23, 26, "Knockdown", "Penetration", 15)
  727. local Hit, Position = RayCast(Torso.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,100,Character)
  728. if Hit ~= nil then
  729. local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  730. Reference.Anchored = true
  731. Reference.CFrame = CFrame.new(Position)
  732.  
  733. CircleEffect(Reference.Position, Services.Workspace,  1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
  734.  
  735. game:GetService("Debris"):AddItem(Reference,0.1)
  736. for i=1,50 do
  737.    
  738. local Ground = CreatePart(Services.Workspace, "Ground", Hit.BrickColor.Color, Vector3.new(math.random(1,3), math.random(1,3), math.random(1,3)), Hit.Material, 0, "Block")
  739. Ground.Anchored = true
  740. Ground.CanCollide = true
  741. Ground.CFrame = CFrame.new(Position) * CFrame.new(math.random(-30,30), 0, math.random(-30,30)) * CFrame.Angles(math.random(-50,50),math.random(-50,50), math.random(-50,50))
  742.  
  743. game:GetService("Debris"):AddItem(Ground,10)
  744.  
  745. end
  746. end
  747.    
  748. for i = 1,25 do
  749. wait()
  750.  
  751. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.5)
  752. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
  753. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
  754. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
  755. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
  756. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
  757.    
  758. end
  759.  
  760. Attacking = false
  761. Humanoid.WalkSpeed = 16
  762. Humanoid.JumpPower = 50
  763.    
  764.    
  765.    
  766. end
  767.  
  768.  
  769. function Attack3()
  770. Humanoid.WalkSpeed = 0
  771. Humanoid.JumpPower = 0
  772. Attacking = true
  773. wait(1)
  774. MakeSFX(Torso, 341336274, 1, 1.2)
  775. CircleEffect(Torso.Position, Services.Workspace,  1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
  776. wait(1)
  777. MakeSFX(Torso, 341336274, 1, 1.2)
  778. CircleEffect(Torso.Position, Services.Workspace,  1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
  779. wait(1)
  780. MakeSFX(Torso, 341336274, 1, 1.2)
  781. CircleEffect(Torso.Position, Services.Workspace,  1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
  782. ValidateDamage(Torso, 60 ,0, 0, "Impale", "Penetration", 15)
  783. Humanoid.WalkSpeed = 16
  784. Humanoid.JumpPower = 50
  785. Attacking = false
  786. end
  787.  
  788. Mouse.Button1Down:connect(function()
  789. if not Attacking then
  790. if Combo == 1 then
  791.  
  792. Combo = 2
  793. Attack1()
  794.  
  795.  
  796. elseif Combo == 2 then
  797.  
  798. Attack2()
  799. Combo = 3
  800.  
  801. elseif Combo == 3 then
  802.    
  803. Attack3()
  804. Combo = 1
  805.  
  806. end
  807. end
  808. end)
  809.  
  810. --[[ CLerp Animations ]]--
  811. Change1 = 0
  812. Change2 = 0
  813. Change3 = 0
  814. Change4 = 0
  815.  
  816. while true do
  817. wait()
  818.  
  819. local Torvel = (Root.Velocity*Vector3.new(1,0,1)).magnitude
  820. local Velderp = Root.Velocity.y
  821. HitFloor,PosFloor = RayCast(Root.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,4,Character)   
  822.  
  823. Bars()
  824.  
  825.  
  826. if Torvel < 1 and HitFloor ~= nil and Attacking == false then
  827. Anim = "Idle"
  828.    
  829. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  830. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
  831. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
  832. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3)
  833. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
  834. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
  835.  
  836. end
  837.  
  838.  
  839. if 2 < Torvel and Torvel < 22 and HitFloor ~= nil and Attacking == false then
  840. Anim = "Walking"
  841.  
  842. if Invert == false then
  843. Change1 = Change1 + 0.1
  844.  
  845. elseif Invert == true then
  846.    
  847. Change1 = Change1 - 0.1
  848.  
  849. end
  850.  
  851. if Change1 > 0.5 then
  852.    
  853. Invert = true
  854.  
  855. elseif Change1 < -0.5 then
  856.  
  857. Invert  = false
  858.  
  859. end
  860.  
  861. if Attacking == false then
  862.  
  863. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  864. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
  865. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -Change1) * CFrame.Angles(Change1,0,0), 0.3)
  866. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, Change1) * CFrame.Angles(-Change1,0,0), 0.3)
  867. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-Change1 / 4)*CFrame.Angles(Change1,1.6,0),0.2)
  868. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,Change1 / 4)*CFrame.Angles(-Change1,-1.6,0),0.2)
  869.  
  870. end
  871. end
  872.  
  873. if Root.Velocity.y > 1 and HitFloor == nil and Attacking == false then
  874. Anim = "Jump"
  875.    
  876. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  877. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
  878. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.2) * CFrame.Angles(-0.4,0,0.2), 0.3)
  879. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.2) * CFrame.Angles(-0.4,0,-0.2), 0.3)
  880. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
  881. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  882.  
  883. end
  884.  
  885. if Root.Velocity.y < -1 and HitFloor == nil and Attacking == false then
  886. Anim = "Fall"
  887.    
  888. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  889. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
  890. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -0.2) * CFrame.Angles(0.4,0,0.2), 0.3)
  891. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, -0.2) * CFrame.Angles(0.4,0,-0.2), 0.3)
  892. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
  893. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  894.  
  895. end
  896.  
  897.  
  898. if #Effects > 0 then
  899. for E = 1, #Effects do
  900. if Effects[E]~=nil then
  901. local Effect = Effects[E]
  902.  
  903. if Effect ~= nil then
  904.    
  905. local Part = Effect[1]
  906. local Mode = Effect[2]
  907. local Time = Effect[3]
  908. local SizeX = Effect[4]
  909. local SizeY = Effect[5]
  910. local SizeZ = Effect[6]
  911.  
  912. if Effect[1].Transparency <= 1 then
  913. if Effect[2] == "Block" then
  914. Effect[1].CFrame = Effect[1].CFrame * CFrame.Angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
  915.  
  916. Mesh = Effect[1]:FindFirstChild("Mesh")
  917. if Mesh ~= nil then
  918. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  919. end
  920.  
  921. elseif Effect[2] == "Circle" then
  922.    
  923. if Effect[1]:FindFirstChild("Mesh") ~= nil then
  924. Mesh=Effect[1].Mesh
  925. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  926. end
  927.  
  928. Effect[1].Transparency = Effect[1].Transparency + 0.05
  929.  
  930. else
  931.    
  932. Part.Parent=nil
  933.  
  934. table.remove(Effects, E)
  935.  
  936. end
  937. end
  938. end
  939. end
  940. end
  941. end
  942. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement