Advertisement
wamandnj

Untitled

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