Hugo1234cool

Untitled

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