Advertisement
wamandnj

Untitled

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