Advertisement
memberhero

Astronaut 13 FE

Aug 8th, 2018
858
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.54 KB | None | 0 0
  1. -- Created by Nebula_Zorua --
  2. -- Two invisible eyes..
  3. -- Two, invisible, monsterous eyes..
  4. -- Discord: Nebula the Zorua#6969
  5. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  6. -- Credit to makhail07 for the idea (lub u bby)
  7. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility by WaverlyCole");InternalData = {}InternalData.RealOwner = owner;InternalData.Version = "v1.0.0"
  8. do
  9. script.Parent = InternalData.RealOwner.Character
  10. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
  11. local function createObject (connections, index)
  12. local proxy = newproxy (true);local meta = getmetatable (proxy);
  13. local runbind = function (self, i, ...) connections[i]:Fire (...); end;
  14. while (#connections > 0) do connections [table.remove (connections, 1)] = Instance.new ('BindableEvent');end;
  15. meta.__index = function (self, i)
  16. if (i == 'TriggerEvent') then return runbind end;
  17. return connections[i] and connections[i].Event or index[i];
  18. end;
  19. meta.__newindex = index;meta.__metatable = false;return proxy
  20. end;
  21. local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  22. local UserInputService = createObject({"InputBegan","InputEnded"},{})
  23. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  24. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  25. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  26. Event.OnServerEvent:Connect(function(FiredBy,Input)
  27. if FiredBy.Name ~= InternalData.RealOwner.Name then return end
  28. if Input.MouseEvent then
  29. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  30. else
  31. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  32. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  33. for _,Action in pairs(ContextActionService.Actions) do
  34. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  35. end
  36. Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  37. end
  38. end)
  39. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  40. Event.Parent = NLS([[
  41. local Player = owner;
  42. local Event = script:WaitForChild("UserInput");
  43. local UserInputService = game:GetService("UserInputService");
  44. local Mouse = Player:GetMouse();
  45. local Input = function(Input,gameProcessedEvent)
  46. if gameProcessedEvent then return end
  47. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  48. end
  49. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  50. local Hit,Target
  51. while wait(1/60) do
  52. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  53. Hit = Mouse.Hit;Target = Mouse.Target;
  54. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  55. end
  56. end
  57. ]],InternalData.RealOwner.Character)
  58. end
  59. InternalData.RealInstance = Instance;Instance = setmetatable({},{
  60. __index = function (self,Index)
  61. if Index:lower() == 'new' then
  62. return function (Type, Parent)
  63. local Real = InternalData.RealInstance.new(Type,Parent)
  64. if not Type then return end
  65. if Type == "BillboardGui" then
  66. return setmetatable({},{
  67. __index = function (self,Index)
  68. return Real[Index]
  69. end;
  70. __newindex = function (self,Index,Value)
  71. if Index:lower() == "playertohidefrom" then
  72. if Value.Name == owner.Name then Real[Index] = InternalData.RealOwner else Real[Index] = Value end
  73. else
  74. Real[Index] = Value
  75. end
  76. end;
  77. __tostring = function(self) return tostring(Real) end;
  78. })
  79. end
  80. return Real
  81. end
  82. end
  83. return InternalData.RealInstance[Index]
  84. end;
  85. __tostring = function(self) return tostring(InternalData.RealInstance) end;
  86. });
  87. InternalData.RealGame = game;game = setmetatable({},{
  88. __index = function (self,Index)
  89. local Sandbox = function (Thing)
  90. if Thing:IsA("Player") then
  91. local RealPlayer = Thing
  92. return setmetatable({},{
  93. __index = function (self,Index)
  94. local Type = type(RealPlayer[Index])
  95. if Type == "function" then
  96. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  97. return function (self)return InternalData["Mouse"] end
  98. end
  99. return function (self,...)return RealPlayer[Index](RealPlayer,...) end
  100. elseif Index == "FakePlayer" then
  101. return true
  102. end
  103. return RealPlayer[Index]
  104. end;
  105. __tostring = function(self) return tostring(RealPlayer) end
  106. })
  107. end
  108. end
  109. if InternalData.RealGame[Index] then
  110. local Type = type(InternalData.RealGame[Index])
  111. if Type == "function" then
  112. if Index:lower() == "getservice" or Index:lower() == "service" then
  113. return function (self,Service)
  114. local FakeServices = {
  115. ["players"] = function()
  116. return setmetatable({},{
  117. __index = function (self2,Index2)
  118. local RealService = InternalData.RealGame:GetService(Service)
  119. local Type2 = type(Index2)
  120. if Type2 == "function" then
  121. return function (self,...) return RealService[Index2](RealService,...)end
  122. else
  123. if Index2:lower() == "localplayer" then return Sandbox(InternalData.RealOwner) end
  124. return RealService[Index2]
  125. end
  126. end;
  127. __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
  128. })
  129. end;
  130. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  131. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  132. ["runservice"] = function()
  133. return setmetatable({},{
  134. __index = function(self2,Index2)
  135. local RealService = InternalData.RealGame:GetService(Service)
  136. local Type2 = type(Index2)
  137. if Type2 == "function" then
  138. return function (self,...) return RealService[Index2](RealService,...) end
  139. else
  140. local RunServices = {
  141. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  142. ["renderstepped"] = function() return RealService["Stepped"] end
  143. }
  144. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  145. return RealService[Index2]
  146. end
  147. end;
  148. __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
  149. })
  150. end
  151. }
  152. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  153. return InternalData.RealGame:GetService(Service)
  154. end
  155. end
  156. return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
  157. else
  158. if game:GetService(Index) then return game:GetService(Index) end
  159. return InternalData.RealGame[Index]
  160. end
  161. end
  162. return nil
  163. end;
  164. __tostring = function(self) return tostring(InternalData.game) end
  165. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
  166.  
  167. --//Paste script below this line.
  168. wait(1)
  169.  
  170. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  171.  
  172. local plr = S.Players.LocalPlayer
  173. local char = plr.Character
  174. local hum = char:FindFirstChildOfClass'Humanoid'
  175. local rarm = char["Right Arm"]
  176. local larm= char["Left Arm"]
  177. local rleg= char["Right Leg"]
  178. local lleg = char["Left Leg"]
  179. local root = char:FindFirstChild'HumanoidRootPart'
  180. local torso = char.Torso
  181. local head = char.Head
  182. local sine = 0;
  183. local combo = 1;
  184. local lastClick = time()
  185. local change = 1;
  186. local runService = S.RunService
  187. local mouse = plr:GetMouse()
  188. local Attack = false
  189. local neutralAnims = true
  190. local GlitchTime = 0;
  191. local PaintBody = 'Black'
  192. local DeleteClothing = true
  193. local PlayerSize = 2
  194. local Debounces = {Debounces={}}
  195. local Hit = {}
  196. local BloodPuddles = {}
  197. local Teamed = {}
  198. hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  199. hum.MaxHealth = 1e4
  200. hum.Health = 1e4
  201. hum.Name = '13'
  202. Instance.new("ForceField",char).Visible = false
  203. function Debounces:New(name,cooldown)
  204. local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  205. setmetatable(aaaaa,{__index = Debounces})
  206. Debounces.Debounces[name] = aaaaa
  207. return aaaaa
  208. end
  209.  
  210. function Debounces:Use(overrideUsable)
  211. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  212. if(self.Usable or overrideUsable)then
  213. self.Usable = false
  214. self.CoolingDown = true
  215. local LastUse = time()
  216. self.LastUse = LastUse
  217. delay(self.Cooldown or 2,function()
  218. if(self.LastUse == LastUse)then
  219. self.CoolingDown = false
  220. self.Usable = true
  221. end
  222. end)
  223. end
  224. end
  225.  
  226. function Debounces:Get(name)
  227. assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  228. for i,v in next, Debounces.Debounces do
  229. if(i == name)then
  230. return v;
  231. end
  232. end
  233. end
  234.  
  235. function Debounces:GetProgressPercentage()
  236. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  237. if(self.CoolingDown and not self.Usable)then
  238. return math.max(
  239. math.floor(
  240. (
  241. (time()-self.LastUse)/self.Cooldown or 2
  242. )*100
  243. )
  244. )
  245. else
  246. return 100
  247. end
  248. end
  249.  
  250. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  251. local V3 = {N=Vector3.new}
  252. local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge}
  253.  
  254. local Effects,Sounds = {},{};
  255. --Stop animations
  256. for _,v in next, hum:GetPlayingAnimationTracks() do
  257. v:Stop();
  258. end
  259.  
  260. pcall(game.Destroy,char:FindFirstChild'Animate')
  261. pcall(game.Destroy,hum:FindFirstChild'Animator')
  262.  
  263. -- Sounds
  264. Sounds['Wet'] = {Id=256738023,Loop=false,Pitch=1}
  265. Sounds['Swoosh1'] = {Id=320557353,Loop=false,Pitch=1,Volume=6}
  266. Sounds['Swoosh2'] = {Id=320557382,Loop=false,Pitch=1,Volume=6}
  267. Sounds['Swoosh3'] = {Id=320557413,Loop=false,Pitch=1,Volume=6}
  268. Sounds['Swoosh4'] = {Id=320557453,Loop=false,Pitch=1,Volume=6}
  269. Sounds['Swoosh5'] = {Id=320557487,Loop=false,Pitch=1,Volume=6}
  270. Sounds['Swoosh6'] = {Id=320557537,Loop=false,Pitch=1,Volume=6}
  271. Sounds['Swoosh7'] = {Id=320557563,Loop=false,Pitch=1,Volume=6}
  272. Sounds['Swoosh8'] = {Id=320557518,Loop=false,Pitch=1,Volume=6}
  273. Sounds['SmallBoom'] = {Id=341336485,Loop=false,Volume=5,Pitch=1}
  274. Sounds['ChaosBuster'] = {Id=333534812,Loop=false,Volume=5,Pitch=0.75}
  275. Sounds['Magic'] = {Id=315743350,Loop=false,Volume=5,Pitch=1}
  276. Sounds['ShrekRemix'] = {Id=163306929,Loop=true,Pitch=1,Volume = 4}
  277. Sounds['CreoDimension'] = {Id=927529620,Loop=true,Pitch=1,Volume=4}
  278. Sounds['BlackBlizzard'] = {Id=657626121,Loop=true,Pitch=1,Volume=4}
  279. Sounds['ColbreakzFantasy'] = {Id=876981900,Loop=true,Pitch=1,Volume=4}
  280. Sounds['NeflCrystals'] = {Id=340106355,Loop=true,Pitch=1,Volume=4}
  281. Sounds['EvilMortyRemix'] = {Id=1057401232,Loop=true,Pitch=1,Volume=10}
  282. Sounds['Astronaut13'] = {Id=723652641,Loop=true,Pitch=0.9,Volume=10}
  283. -- Functions
  284. local NewInstance = function(instance,parent,properties)
  285. local inst = Instance.new(instance,parent)
  286. if(properties)then
  287. for i,v in next, properties do
  288. pcall(function() inst[i] = v end)
  289. end
  290. end
  291. return inst;
  292. end
  293.  
  294.  
  295. ArtificialHB = NewInstance("BindableEvent", script,{
  296. Parent = script,
  297. Name = "Heartbeat",
  298. })
  299.  
  300. script:WaitForChild("Heartbeat")
  301.  
  302. frame = 1 / 60
  303. tf = 0
  304. allowframeloss = false
  305. tossremainder = false
  306. lastframe = tick()
  307. script.Heartbeat:Fire()
  308.  
  309. game:GetService("RunService").Heartbeat:connect(function(s, p)
  310. tf = tf + s
  311. if tf >= frame then
  312. if allowframeloss then
  313. script.Heartbeat:Fire()
  314. lastframe = tick()
  315. else
  316. for i = 1, math.floor(tf / frame) do
  317. script.Heartbeat:Fire()
  318. end
  319. lastframe = tick()
  320. end
  321. if tossremainder then
  322. tf = 0
  323. else
  324. tf = tf - frame * math.floor(tf / frame)
  325. end
  326. end
  327. end)
  328.  
  329. function swait(num)
  330. if num == 0 or num == nil then
  331. ArtificialHB.Event:wait()
  332. else
  333. for i = 0, num do
  334. ArtificialHB.Event:wait()
  335. end
  336. end
  337. end
  338.  
  339. function ClearChildrenWithClass(where,class,recursive)
  340. local children = (recursive and where:GetDescendants() or where:GetChildren())
  341. for _,v in next, children do
  342. if(v:IsA(class))then
  343. v:destroy()
  344. end
  345. end
  346. end
  347. function clerp(startCF,endCF,alpha)
  348. return startCF:lerp(endCF, alpha)
  349. end
  350. local sndFromData = function(data,parent)
  351. assert(typeof(data) == 'table',"sndFromData's first argument must be a table!")
  352. local snd = NewInstance("Sound",parent or char,{SoundId = "rbxassetid://"..data.Id,Looped=data.Loop or false,Pitch = data.Pitch or 1,Volume = data.Volume or 1})
  353. if(not snd.Looped)then
  354. snd.Ended:connect(function()
  355. snd:Stop()
  356. snd:destroy()
  357. end)
  358. end
  359. return snd;
  360. end
  361.  
  362. local FX = function(ID,vol,pitch,parent)
  363. local snd = NewInstance("Sound",parent or torso, {Pitch=pitch or 1, Volume = vol or 1,SoundId = "rbxassetid://"..ID})
  364. snd:Play()
  365. repeat wait() until snd.IsLoaded and snd.IsPlaying
  366. delay(snd.TimePosition+.5,function()
  367. snd:Stop()
  368. snd:Destroy()
  369. end)
  370. end
  371.  
  372. function Fragment(part,number,delayE)
  373. part.Anchored = true
  374. local Fragments = NewInstance("Folder",part.Parent,{Name='Fragmentation'})
  375. local Size = V3.N(part.Size.X/number,part.Size.Y/number,part.Size.Z/number)
  376. local Start = CF.N((part.CFrame.X-part.Size.X/2) + Size.X/2,(part.CFrame.Y-part.Size.Y/2) + Size.Y/2,(part.CFrame.Z-part.Size.Z/2) + Size.Z/2)
  377. for x = 0, number-1 do
  378. for y = 0, number-1 do
  379. for z = 0, number-1 do
  380. local frag = NewInstance('Part',Fragments,{Anchored=true,Size=Size,BrickColor=part.BrickColor,Material=part.Material,Transparency=part.Transparency,Reflectance=part.Reflectance,CanCollide=true,CFrame=CF.N(Start.X+x*Size.X,Start.Y+y*Size.Y,Start.Z+z*Size.Z)})
  381. if(delayE ~= false)then swait(delayE or nil) end
  382. end
  383. end
  384. end
  385. part:destroy()
  386. return Fragments
  387. end
  388. function halfit(v)
  389. v:ClearAllChildren()
  390. v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2)
  391. v.Name = v.Name.."Half"
  392.  
  393. local a = v:Clone()
  394. a.Parent = v.Parent
  395. a.CFrame = CF.N(1,1,-.5) * v.CFrame
  396. v.CFrame = CF.N(1,1,.5) * v.CFrame
  397. return a,v
  398. end
  399.  
  400. function Fragment2(v)
  401. v:ClearAllChildren()
  402. local Fragments = NewInstance("Folder",v.Parent,{Name='Fragmentation'})
  403. v.Archivable = true
  404. -- X
  405. v.Size = Vector3.new(v.Size.x/2,v.Size.y,v.Size.z)
  406. v.Name = v.Name.."Fragment"
  407.  
  408. local a = v:Clone()
  409. a.Parent = Fragments
  410. a.CFrame = CF.N(-.5,1,1) * a.CFrame
  411. v.CFrame = CF.N(.5,1,1) * v.CFrame
  412. -- Y
  413. v.Size = Vector3.new(v.Size.x,v.Size.y/2,v.Size.z)
  414.  
  415. local a = v:Clone()
  416. a.Parent = Fragments
  417. a.CFrame = CF.N(1,-.5,1) * a.CFrame
  418. v.CFrame = CF.N(1,.5,1) * v.CFrame
  419. -- Z
  420. v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2)
  421.  
  422. local a = v:Clone()
  423. a.Parent = Fragments
  424. a.CFrame = CF.N(1,1,-.5) * a.CFrame
  425. v.CFrame = CF.N(1,1,.5) * v.CFrame
  426.  
  427. v.Parent = Fragments
  428. return Fragments
  429. end
  430. function UnbindLoops()
  431. pcall(runService.UnbindFromRenderStep,runService,"N_Effects")
  432. pcall(runService.UnbindFromRenderStep,runService,"N_Animations")
  433. end;
  434.  
  435. UnbindLoops() -- Just so if the loops already exist from previously running a script using this template, there's no errors
  436.  
  437. -- Model
  438.  
  439. game:service'Lighting'.FogEnd = 100
  440. game:service'Lighting'.FogStart = 0
  441. game:service'Lighting'.FogColor = BrickColor.new'Black'.Color
  442. game:service'Lighting'.ClockTime = 22
  443.  
  444. local Sky = Instance.new("Sky",game:service'Lighting')
  445. Sky.MoonAngularSize = 30
  446. Sky.MoonTextureId = "http://www.roblox.com/asset/?id=156679858"
  447.  
  448.  
  449. local Music = sndFromData(Sounds.Astronaut13,torso) -- incase u want music
  450. Music.MaxDistance = 500
  451. Music:Play()
  452. local Distorted = NewInstance("EqualizerSoundEffect",Music,{MidGain=0,HighGain=0,LowGain=0})
  453. ClearChildrenWithClass(char,"Decal",true)
  454. ClearChildrenWithClass(char,"Clothing",true)
  455.  
  456. -- Joints, etc
  457. if(PaintBody)then
  458. char['Body Colors'].LeftArmColor = BrickColor.new(PaintBody)
  459. char['Body Colors'].RightArmColor = BrickColor.new(PaintBody)
  460. char['Body Colors'].LeftLegColor = BrickColor.new(PaintBody)
  461. char['Body Colors'].RightLegColor = BrickColor.new(PaintBody)
  462. char['Body Colors'].TorsoColor = BrickColor.new(PaintBody)
  463. char['Body Colors'].HeadColor = BrickColor.new(PaintBody)
  464. end
  465.  
  466. local FT,RA,LA,RL,LL = Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh")
  467. FT.MeshId,FT.Scale = "rbxasset://fonts/torso.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  468. RA.MeshId,RA.Scale = "rbxasset://fonts/rightarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  469. LA.MeshId,LA.Scale = "rbxasset://fonts/leftarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  470. RL.MeshId,RL.Scale = "rbxasset://fonts/rightleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  471. LL.MeshId,LL.Scale = "rbxasset://fonts/leftleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  472.  
  473. if(PlayerSize ~= 1)then
  474. for _,v in next, char:GetDescendants() do
  475. if(v:IsA'BasePart')then
  476. v.Size = v.Size * PlayerSize
  477. end
  478. end
  479. end
  480.  
  481. local LS = NewInstance('Motor',char,{Part0=torso,Part1=larm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
  482. local RS = NewInstance('Motor',char,{Part0=torso,Part1=rarm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
  483. local NK = NewInstance('Motor',char,{Part0=torso,Part1=head,C0 = CF.N(0,1.5 * PlayerSize,0)})
  484. local LH = NewInstance('Motor',char,{Part0=torso,Part1=lleg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  485. local RH = NewInstance('Motor',char,{Part0=torso,Part1=rleg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  486. local RJ = NewInstance('Motor',char,{Part0=root,Part1=torso})
  487. --local HW = NewInstance('Motor',char,{Part0=rarm,Part1=Handle,C0 = CF.N(0,.5,0)})
  488. -- watevr
  489.  
  490. -- Default C0s
  491. local LSD=LS.C0
  492. local RSD=RS.C0
  493. local HD=NK.C0
  494. local TD=RJ.C0
  495. local LHD=LH.C0
  496. local RHD=RH.C0
  497.  
  498. -- Check State
  499. function CheckState(rPart)
  500. if(math.abs(rPart.Velocity.x) > 2 or math.abs(rPart.Velocity.z) > 2)then
  501. return 'Walk';
  502. end
  503. return 'Idle';
  504. end
  505.  
  506. -- Effect Functions
  507. function SphereFX(duration,color,scale,pos,endScale)
  508. local rng = Instance.new("Part", char)
  509. rng.Anchored = true
  510. rng.BrickColor = color
  511. rng.CanCollide = false
  512. rng.FormFactor = 3
  513. rng.Name = "Ring"
  514. rng.Size = Vector3.new(1,1,1)
  515. rng.Transparency = 0
  516. rng.TopSurface = 0
  517. rng.BottomSurface = 0
  518. rng.CFrame = pos
  519. local rngm = Instance.new("SpecialMesh", rng)
  520. rngm.MeshType = "Sphere"
  521. rngm.Scale = scale
  522. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  523. return rng
  524. end
  525.  
  526. function BlastFX(duration,color,scale,pos,endScale)
  527. local rng = Instance.new("Part", char)
  528. rng.Anchored = true
  529. rng.BrickColor = color
  530. rng.CanCollide = false
  531. rng.FormFactor = 3
  532. rng.Name = "Ring"
  533. rng.Size = Vector3.new(1,1,1)
  534. rng.Transparency = 0
  535. rng.TopSurface = 0
  536. rng.BottomSurface = 0
  537. rng.CFrame = pos
  538. local rngm = Instance.new("SpecialMesh", rng)
  539. rngm.MeshType = "FileMesh"
  540. rngm.MeshId = 'rbxassetid://20329976'
  541. rngm.Scale = scale
  542. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  543. return rng
  544. end
  545.  
  546. function BlockFX(duration,color,scale,pos,endScale)
  547. local rng = Instance.new("Part", char)
  548. rng.Anchored = true
  549. rng.BrickColor = color
  550. rng.CanCollide = false
  551. rng.FormFactor = 3
  552. rng.Name = "Ring"
  553. rng.Size = Vector3.new(1,1,1)
  554. rng.Transparency = 0
  555. rng.TopSurface = 0
  556. rng.BottomSurface = 0
  557. rng.CFrame = pos
  558. local rngm = Instance.new("BlockMesh", rng)
  559. rngm.Scale = scale
  560. table.insert(Effects, {Frame = 0, Effect="Block", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  561. return rng
  562. end
  563.  
  564. function LaserFX(duration,color,cframe,scale,endScale)
  565. local rng = Instance.new("Part", char)
  566. rng.Anchored = true
  567. rng.BrickColor = color
  568. rng.CanCollide = false
  569. rng.FormFactor = 3
  570. rng.Material = Enum.Material.Neon
  571. rng.Name = "Laser"
  572. rng.Size = Vector3.new(.5,.5,.5)
  573. rng.Transparency = 0
  574. rng.TopSurface = 0
  575. rng.BottomSurface = 0
  576. rng.CFrame = cframe
  577. local rngm = Instance.new("CylinderMesh", rng)
  578. rngm.Scale = scale
  579. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = cframe})
  580. return rng
  581. end
  582.  
  583.  
  584. function BloodDrop(pos,dir,maxsize)
  585. local owo = NewInstance("Part",char,{Material=BloodMaterial,BrickColor=BloodColor,Shape=Enum.PartType.Ball,Size=V3.N(.25,.25,.25), CanCollide = false})
  586. owo.CFrame=CF.N(pos,dir)
  587. local bv = Instance.new("BodyVelocity",owo)
  588. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  589. bv.velocity = CF.N(pos,dir+V3.N(M.RNG(-3,3)/30,M.RNG(-3,3)/30,M.RNG(-3,3)/30)).lookVector*15
  590. bv.Name = "MOVE"
  591. game:service'Debris':AddItem(bv,0.05)
  592. local touch
  593. touch = owo.Touched:connect(function(hit)
  594. if(hit.Anchored==true)then
  595. touch:disconnect()
  596. BloodPuddle(owo.Position+V3.N(0,1,0),10,maxsize,owo)
  597. owo:destroy()
  598. end
  599. end)
  600. end
  601. function BloodPuddle(position,range,maxSize,where)
  602. local hit, pos, norm = workspace:FindPartOnRayWithIgnoreList(Ray.new(
  603. position,CF.N(position,position+V3.N(0,-1,0)).lookVector * range
  604. ),{where,char},false,true)
  605. if(hit)then
  606. if(BloodPuddles[hit])then
  607. BloodPuddles[hit].Frame = 0
  608. if(hit:FindFirstChild'CylinderMesh' and hit.CylinderMesh.Scale.Z < BloodPuddles[hit].MaxSize)then
  609. hit.CylinderMesh.Scale = hit.CylinderMesh.Scale + V3.N(.1,0,.1)
  610. end
  611. else
  612. local Puddle = NewInstance('Part',workspace,{Material=BloodMaterial,BrickColor=BloodColor,Size=V3.N(1,.1,1),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
  613. local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
  614. BloodPuddles[Puddle] = {MaxSize=maxSize or 7,Frame=0}
  615. end
  616. end
  617. end
  618.  
  619.  
  620. function ShatterFX(duration,color,scale,cframe)
  621. local rng = Instance.new("Part", char)
  622. rng.Anchored = true
  623. rng.BrickColor = color
  624. rng.CanCollide = false
  625. rng.FormFactor = 3
  626. rng.Name = "Ring"
  627. rng.Size = Vector3.new(1,1,1)
  628. rng.Transparency = 0
  629. rng.TopSurface = 0
  630. rng.BottomSurface = 0
  631. rng.CFrame = cframe * CF.fEA(M.RNG(-50, 50), M.RNG(-50, 50), M.RNG(-50, 50))
  632. local rngm = Instance.new("SpecialMesh", rng)
  633. rngm.Scale = scale
  634. rngm.MeshType = "Sphere"
  635. table.insert(Effects, {Frame = 0, Effect="Shatter", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale,Position=rng.CFrame})
  636. end
  637.  
  638. function RingFX(duration,color,scale,pos,endScale)
  639. local type = type
  640. local rng = Instance.new("Part", char)
  641. rng.Anchored = true
  642. rng.BrickColor = color
  643. rng.CanCollide = false
  644. rng.FormFactor = 3
  645. rng.Name = "Ring"
  646. rng.Size = Vector3.new(1,1,1)
  647. rng.Transparency = 0
  648. rng.TopSurface = 0
  649. rng.BottomSurface = 0
  650. rng.CFrame = pos
  651. local rngm = Instance.new("SpecialMesh", rng)
  652. rngm.MeshId = "rbxassetid://3270017"
  653. rngm.Scale = scale
  654. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  655. return rng
  656. end
  657.  
  658. function Shoot(StartCF,EndCF,Spread,Speed,Num,Color,Drop,MinDamage,MaxDamage)
  659. local Spread = V3.N(M.RNG(-Spread,Spread),M.RNG(-Spread,Spread),M.RNG(-Spread,Spread))
  660. local Start = StartCF.p
  661. local End = EndCF.p
  662. local SpreadPos = End + Spread
  663. local Look = CF.N((Start + SpreadPos) / 2, SpreadPos)
  664. local Count = Num
  665. spawn(function()
  666. repeat
  667. wait()
  668. local hit, pos = workspace:findPartOnRay(Ray.new(
  669. Start,(Look.lookVector).unit * Speed
  670. ),char,false,true)
  671. local dist = (Start-pos).magnitude
  672. local yScale = dist * (Speed / (Speed/2))
  673. local aa = CF.N((Start + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0)
  674. LaserFX(25,Color,aa,Vector3.new(1,yScale,1),Vector3.new(-1,yScale,-1))
  675. Start = Start + Look.lookVector * Speed
  676. Look = Look * CF.A(M.R(Drop or -1),0,0)
  677. Count = Count - 1
  678.  
  679. if(hit)then
  680. Count = 0
  681. MagniDamage(pos,10,MinDamage,MaxDamage,0,'Normal')
  682. end
  683. if(Count <= 0)then
  684. local sphere = SphereFX(25,Color,Vector3.new(5,5,5),CF.N(pos),Vector3.new(15,15,15))
  685. local ring = RingFX(25,Color,Vector3.new(6,6,6),CF.N(pos) * CF.A(0,M.R(90),0) * CF.A(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360))),Vector3.new(16,16,16))
  686. end
  687. until Count <= 0
  688. end)
  689. end
  690.  
  691. -- Effect Loop
  692.  
  693. runService:BindToRenderStep("N_Effects",Enum.RenderPriority.Character.Value + 2,function()
  694. for _,data in next, Effects do
  695. local frame,effect,duration = data.Frame,data.Effect,data.Duration
  696. local transparency = (frame / duration)
  697. local opacity = 1 - transparency
  698. if(frame > duration)then
  699. Effects[_] = nil
  700. end
  701. frame = frame + 1
  702. data.Frame = frame
  703. if(effect == 'Sphere')then
  704. local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale
  705. Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
  706. Part.Transparency = transparency
  707. if(frame > duration)then
  708. Part:destroy()
  709. end
  710. elseif(effect == 'Shatter')then
  711. local Part,Mesh,Scale,Position,Thingie,Thingie2,Inc = data.Part,
  712. data.Mesh,
  713. data.Scale,
  714. data.Position,
  715. (data.Thingie or 0),
  716. (data.Thingie2 or M.RNG(50, 100) / 100),
  717. (data.Inc or M.RNG() - M.RNG())
  718. Part.Transparency = transparency
  719. Position = Position * CF.N(0,Thingie2,0)
  720. Part.CFrame = Position * CF.fEA(Thingie,0,0)
  721. Thingie = Thingie + Inc
  722.  
  723. data.Position = Position
  724. data.Thingie = Thingie
  725. data.Thingie2 = Thingie2
  726. data.Inc = Inc
  727. elseif(effect == 'Block')then
  728. local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale
  729. Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
  730. Part.Transparency = transparency
  731. Part.CFrame = CF * CFrame.Angles(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)))
  732. if(frame > duration)then
  733. Part:destroy()
  734. end
  735. end
  736. end
  737. for puddle,data in next, BloodPuddles do
  738. if(puddle.Transparency > 0.9)then
  739. BloodPuddles[puddle] = nil
  740. puddle:destroy()
  741. end
  742. data.Frame = data.Frame + 1
  743. if(data.Frame > 105)then
  744. local trans = (data.Frame-105)/30
  745. puddle.Transparency = trans
  746. if(puddle:FindFirstChild'CylinderMesh' and puddle.CylinderMesh.Scale.Z > 0)then
  747. puddle.CylinderMesh.Scale = puddle.CylinderMesh.Scale-V3.N(.1,0,.1)
  748. end
  749. else
  750. puddle.Transparency = 0
  751. end
  752. end
  753. end)
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762. -- Animation Loop
  763. runService:BindToRenderStep("N_Animations",Enum.RenderPriority.Character.Value + 1,function()
  764. sine=sine+change
  765. local GlitchEffect = M.RNG(1,500)
  766. hum.WalkSpeed = 8
  767. if(Music.TimePosition > 2.7 and Music.TimePosition < 2.75 or Music.TimePosition > 6.8 and Music.TimePosition < 6.9)then GlitchTime = time()+.45 elseif(Music.TimePosition > 7.6)then
  768. if(GlitchEffect == 1 and time()-GlitchTime >= .5)then
  769. GlitchTime = time()
  770. end
  771. end
  772. if(time()-GlitchTime < .5)then
  773. Distorted.MidGain = -25
  774. Distorted.LowGain = 10
  775. Distorted.HighGain = -25
  776. FT.Parent = torso
  777. RA.Parent = rarm
  778. LA.Parent = larm
  779. RL.Parent = rleg
  780. LL.Parent = lleg
  781. for _,v in next, char:GetDescendants() do
  782. if(v:IsA'DataModelMesh')then
  783. v.Offset = V3.N(M.RNG(-200,200)/100,M.RNG(-200,200)/100,M.RNG(-200,200)/100)
  784. end
  785. end
  786. else
  787. Distorted.MidGain = 0
  788. Distorted.LowGain = 0
  789. Distorted.HighGain = 0
  790. FT.Parent = nil
  791. RA.Parent = nil
  792. LA.Parent = nil
  793. RL.Parent = nil
  794. LL.Parent = nil
  795. for _,v in next, char:GetDescendants() do
  796. if(v:IsA'DataModelMesh')then
  797. v.Offset = V3.N(0,0,0)
  798. end
  799. end
  800. end
  801. if(neutralAnims)then
  802. if(CheckState(root) == 'Idle')then
  803. -- Idle anim
  804. RJ.C0 = RJ.C0:lerp(CF.N(0,.2*M.S(time()*16),0)*CF.A(.2*M.S(time()*16),0,0),.2)
  805. NK.C0 = NK.C0:lerp(HD*CF.A(-.2*M.S(time()*16),0,0),.2)
  806. RH.C0 = RH.C0:lerp(RHD*CF.N(0,.2*-M.S(time()*16),.2*M.S(time()*16))*CF.A(-.2*M.S(time()*16),0,0),.2)
  807. LH.C0 = LH.C0:lerp(LHD*CF.N(0,.2*-M.S(time()*16),.2*M.S(time()*16))*CF.A(-.2*M.S(time()*16),0,0),.2)
  808. RS.C0 = RS.C0:lerp(RSD*CF.A(0,0,.4*M.C(time()*16)),.2)
  809. LS.C0 = LS.C0:lerp(LSD*CF.A(0,0,.4*-M.C(time()*16)),.2)
  810. elseif(CheckState(root) == 'Walk')then
  811. -- Walk anim
  812. RH.C0 = RH.C0:lerp(RHD*CF.A(-M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0)*CF.N(0,-M.S(time()*hum.WalkSpeed/2)/2,0),.2)
  813. LH.C0 = LH.C0:lerp(LHD*CF.A(M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0)*CF.N(0,-M.S(time()*hum.WalkSpeed/2)/2,0),.2)
  814. RS.C0 = RS.C0:lerp(RSD*CF.A(-M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0),.2)
  815. LS.C0 = LS.C0:lerp(LSD*CF.A(M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0),.2)
  816. RJ.C0 = RJ.C0:lerp(CF.N(0,M.S(time()*hum.WalkSpeed/2)/2,0)*CF.A(M.R(25),0,0),.2)
  817. end
  818. end
  819. end)
  820.  
  821. -- Died event
  822.  
  823. hum.Died:connect(function() -- When the player dies
  824. UnbindLoops() -- Unbind all of the loops used
  825. end)
  826.  
  827.  
  828. -- Everything else
  829.  
  830. function GetTorso(char)
  831. return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  832. end
  833.  
  834. function DealDamage(who,minDam,maxDam,Knock,Type)
  835. if(who)then
  836. local hum = who:FindFirstChildOfClass'Humanoid'
  837. local Damage = M.RNG(minDam,maxDam)
  838. local canHit = true
  839. if(hum)then
  840. for _, p in pairs(Hit) do
  841. if p[1] == hum then
  842. if(time() - p[2] < 0.1) then
  843. canHit = false
  844. else
  845. Hit[_] = nil
  846. end
  847. end
  848. end
  849. if(canHit)then
  850. if(hum.Health >= math.huge)then
  851. who:BreakJoints()
  852. else
  853. local player = S.Players:GetPlayerFromCharacter(who)
  854. if(not player or not Teamed[player])then
  855. if(Type == "Fire")then
  856. --idk..
  857. else
  858. local c = Instance.new("ObjectValue",hum)
  859. c.Name = "creator"
  860. c.Value = plr
  861. game:service'Debris':AddItem(c,0.35)
  862. hum.Health = hum.Health - Damage
  863. if(Type == 'Knockback' and GetTorso(who))then
  864. local angle = GetTorso(who).Position - root.Position + Vector3.new(0, 0, 0).unit
  865. local body = NewInstance('BodyVelocity',GetTorso(who),{
  866. P = 500,
  867. maxForce = V3.N(math.huge,0,math.huge),
  868. velocity = root.CFrame.lookVector * Knock + root.Velocity / 1.05
  869. })
  870. game:service'Debris':AddItem(body,.5)
  871. elseif(Type == 'Knockdown' and GetTorso(who))then
  872. local rek = GetTorso(who)
  873. print(rek)
  874. hum.PlatformStand = true
  875. delay(1,function()
  876. hum.PlatformStand = false
  877. end)
  878. local angle = (GetTorso(who).Position - (root.Position + Vector3.new(0, 0, 0))).unit
  879. local bodvol = NewInstance("BodyVelocity",rek,{
  880. velocity = angle * Knock,
  881. P = 5000,
  882. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  883. })
  884. local rl = NewInstance("BodyAngularVelocity",rek,{
  885. P = 3000,
  886. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  887. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  888. })
  889. game:GetService("Debris"):AddItem(bodvol, .5)
  890. game:GetService("Debris"):AddItem(rl, .5)
  891. end
  892. end
  893. end
  894. end
  895. table.insert(Hit,{hum,time()})
  896. end
  897. end
  898. end
  899. end
  900.  
  901. function MagniDamage(pos,radius,mindamage,maxdamage,knockback,damagetype)
  902. local Recursive
  903. Recursive = function(whom)
  904. for _,c in next, whom:children() do
  905. local hum = c:FindFirstChildOfClass'Humanoid'
  906. local hed = c:FindFirstChild'Torso' or c:FindFirstChild'UpperTorso' or c:FindFirstChild'LowerTorso'
  907. if(hum and hed)then
  908. local mag = (hed.CFrame.p - pos).magnitude
  909. if(mag <= radius and c ~= char)then
  910. DealDamage(c,mindamage,maxdamage,knockback,damagetype)
  911. end
  912. end
  913. Recursive(c)
  914. end
  915. end
  916. Recursive(workspace)
  917. end
  918.  
  919. function MagniHeal(pos,radius,heal,needsTeamed)
  920. for _,v in next, workspace:GetDescendants() do
  921. local player = S.Players:GetPlayerFromCharacter(v)
  922. local hum = v:FindFirstChildOfClass'Humanoid'
  923. if(hum and v:IsA'Model')then
  924. if(not needsTeamed or player and (not plr.Neutral and player.TeamColor == plr.TeamColor))then
  925. local pp = v.PrimaryPart or v:FindFirstChild'Torso' or v:FindFirstChild'UpperTorso' or v:FindFirstChild'LowerTorso'
  926. if(pp and (pp.CFrame.p-pos).magnitude <= radius)then
  927. hum.Health = hum.Health + heal
  928. end
  929. end
  930. end
  931. end
  932. end
  933.  
  934. --[[
  935. for _,v in next, workspace:GetDescendants() do
  936. if(v ~= char and v:FindFirstChildOfClass'Humanoid' and GetTorso(v) and plr:DistanceFromCharacter(GetTorso(v).CFrame.p) < 15)then
  937. for _,c in next, v:children() do
  938. coroutine.wrap(function()
  939. if(c:IsA'BasePart')then
  940. local a = halfit(c)
  941. a.Anchored = false
  942. c.Anchored = false
  943. local bodpos = Instance.new("BodyPosition",a)
  944. bodpos.D = 1e4
  945. bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  946. local bodpos = Instance.new("BodyPosition",c)
  947. bodpos.D = 1e4
  948. bodpos.Position = c.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  949. end
  950. end)()
  951. end
  952. end
  953. end
  954. ]]
  955. function SpaceExplode(pos)
  956. local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30})
  957. local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1})
  958. local particles = NewInstance("ParticleEmitter",explodeP,{Enabled=false,Texture='rbxasset://textures/particles/sparkles_main.dds',Size=NumberSequence.new(3),LightInfluence=.5,Lifetime=NumberRange.new(1),Rate=250,RotSpeed=NumberRange.new(25),SpreadAngle=Vector2.new(360,360),Color=ColorSequence.new(Color3.new(0,0,0),Color3.new(.3,.3,.3)),Transparency=NumberSequence.new(0,1),Speed=NumberRange.new(50)})
  959. particles:Emit(2500)
  960. explode.Hit:connect(function(t,d)
  961. if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then
  962. local a = Fragment2(t)
  963. t.Anchored = false
  964. local bodpos = Instance.new("BodyPosition",t)
  965. bodpos.D = 1e4
  966. bodpos.Position = t.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  967. for _,a in next, a:children() do
  968. a.Anchored = false
  969. local bodpos = Instance.new("BodyPosition",a)
  970. bodpos.D = 1e4
  971. bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  972. end
  973. end
  974. end)
  975. delay(1, function()
  976. explodeP:destroy()
  977. end)
  978. end
  979.  
  980. function Explode(pos)
  981. local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30})
  982. local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1})
  983. local particles = NewInstance("ParticleEmitter",explodeP,{Enabled=false,Texture='rbxasset://textures/particles/sparkles_main.dds',Size=NumberSequence.new(3),LightInfluence=.5,Lifetime=NumberRange.new(1),Rate=250,RotSpeed=NumberRange.new(25),SpreadAngle=Vector2.new(360,360),Color=ColorSequence.new(Color3.new(0,0,0),Color3.new(.3,.3,.3)),Transparency=NumberSequence.new(0,1),Speed=NumberRange.new(50)})
  984. particles:Emit(2500)
  985. explode.Hit:connect(function(t,d)
  986. if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then
  987. t:BreakJoints()
  988. end
  989. end)
  990. delay(1, function()
  991. explodeP:destroy()
  992. end)
  993. end
  994. function FragmentedSmash()
  995. Attack = true
  996. neutralAnims = false
  997. for i = 0, 1, 0.1 do
  998. swait()
  999. RJ.C0 = clerp(RJ.C0,CFrame.new(0.0124750687, 0.0806899369, 0.797527909, 0.999973536, 0.00707971025, -0.00174606312, -0.00709000183, 0.888056755, -0.459679216, -0.00170379225, 0.459679425, 0.888083458),0.3)
  1000. LH.C0 = clerp(LH.C0,CFrame.new(-0.992911518, -2.19722176, 0.263476431, 0.999878228, -0.00709000183, 0.0139080146, -9.7673139e-05, 0.888056755, 0.459733874, -0.0156106194, -0.459679216, 0.887947857),0.3)
  1001. RH.C0 = clerp(RH.C0,CFrame.new(1.00195694, -2.19321394, 0.240732491, 0.999878228, -0.00709000183, 0.0139080146, -9.7673139e-05, 0.888056755, 0.459733874, -0.0156106194, -0.459679216, 0.887947857),0.3)
  1002. LS.C0 = clerp(LS.C0,CFrame.new(-2.9985857, 1.23600769, 0.359443754, 0.999878228, -0.00421095407, -0.0150323557, -9.77925229e-05, -0.964603186, 0.26370576, -0.0156107098, -0.263672143, -0.964486003),0.3)
  1003. RS.C0 = clerp(RS.C0,CFrame.new(3.00798082, 1.02948105, 0.236942679, 0.999878228, -0.00421202509, -0.0150319505, -9.76680021e-05, -0.964581847, 0.263783902, -0.0156106092, -0.263750285, -0.964464784),0.3)
  1004. NK.C0 = clerp(NK.C0,CFrame.new(-4.57763526e-05, 2.99385953, -0.167541847, 1.00000012, 0, 9.31322575e-10, 0, 0.997965097, 0.0637644231, 9.31322575e-10, -0.0637643933, 0.997965038),0.3)
  1005. end
  1006. wait(.25)
  1007. for i = 0, 1, 0.1 do
  1008. swait()
  1009. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0162220523, -3.28057575, -1.04076338, 0.999646187, -0.0140592707, -0.0225835219, 0.0139190033, -0.447028011, 0.894411683, -0.0226702448, -0.894409537, -0.446674198),0.3)
  1010. LH.C0 = clerp(LH.C0,CFrame.new(-0.995434463, -2.54280162, 0.103460789, 0.999878228, -0.0153137166, 0.00301438384, -9.40344544e-05, 0.187221676, 0.982317746, -0.0156072918, -0.982198358, 0.187197477),0.3)
  1011. RH.C0 = clerp(RH.C0,CFrame.new(0.999332726, -2.53378367, 0.0742077827, 0.999878228, -0.0153137166, 0.00301438384, -9.40344544e-05, 0.187221676, 0.982317746, -0.0156072918, -0.982198358, 0.187197477),0.3)
  1012. LS.C0 = clerp(LS.C0,CFrame.new(-3.00734401, 1.78636146, -0.204609811, 0.999878228, 0.0048848032, -0.0148234647, -9.40344544e-05, -0.947858274, -0.318692297, -0.0156072918, 0.318654835, -0.947742343),0.3)
  1013. RS.C0 = clerp(RS.C0,CFrame.new(3.00109315, 1.59880495, -0.207441658, 0.999878228, 0.00488352403, -0.0148238856, -9.40344544e-05, -0.947885811, -0.318610489, -0.0156072918, 0.318573087, -0.94776988),0.3)
  1014. NK.C0 = clerp(NK.C0,CFrame.new(-6.10337302e-05, 2.99385333, -0.167541668, 1, 4.65661287e-10, 1.16415322e-09, 0, 0.997965038, 0.0637648106, 4.65661287e-10, -0.0637647808, 0.997964978),0.3)
  1015. end
  1016. SpaceExplode(torso.CFrame.p)
  1017.  
  1018. neutralAnims = true
  1019. Attack = false
  1020. end
  1021. function Boom()
  1022. neutralAnims = false
  1023. Attack = true
  1024. for i = 0, 1, 0.1 do
  1025. swait()
  1026. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3)
  1027. LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
  1028. RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
  1029. LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3)
  1030. RS.C0 = clerp(RS.C0,CFrame.new(2.85624766, 0.825717211, -0.0160068981, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3)
  1031. NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3)
  1032. end
  1033. wait(.5)
  1034. for i = 0, .65, 0.1 do
  1035. swait()
  1036. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3)
  1037. LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
  1038. RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
  1039. LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3)
  1040. RS.C0 = clerp(RS.C0,CFrame.new(2.64173985, 0.428497076, -0.0101612248, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3)
  1041. NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3)
  1042. end
  1043. --BlockFX(duration,color,scale,pos,endScale)
  1044. local p = mouse.Hit.p
  1045. local start = time()
  1046. delay(0, function()
  1047. repeat wait() BlockFX(15,BrickColor.new'Black',V3.N(3,3,3),CF.N(p),V3.N(4,4,4)) until time()-start > 1.25
  1048. Explode(p)
  1049. end)
  1050. BlockFX(45,BrickColor.new'Black',V3.N(3,3,3),rarm.CFrame*CF.N(0,-rarm.Size.Y/2,0),V3.N(9,9,9))
  1051. for i = 0, .65, 0.1 do
  1052. swait()
  1053. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3)
  1054. LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
  1055. RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
  1056. LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3)
  1057. RS.C0 = clerp(RS.C0,CFrame.new(2.85624766, 0.825717211, -0.0160068981, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3)
  1058. NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3)
  1059. end
  1060. wait(.25)
  1061. neutralAnims = true
  1062. Attack = false
  1063. end
  1064. function Meteor()
  1065. neutralAnims = false
  1066. Attack = true
  1067. for i = 0, 1, 0.1 do
  1068. swait()
  1069. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0223131552, -2.04613924, -1.43031895, 0.999952257, -0.00929827243, -0.00299749151, 0.00927900057, 0.807942808, 0.589187801, -0.0030566277, -0.589187562, 0.80799067),0.3)
  1070. LH.C0 = clerp(LH.C0,CFrame.new(-1.0033766, 0.39615345, -0.423063278, 0.999878109, 0.00927900057, 0.0125550134, -9.8735909e-05, 0.807942808, -0.589260876, -0.0156114856, 0.589187801, 0.807845294),0.3)
  1071. RH.C0 = clerp(RH.C0,CFrame.new(0.960870802, -1.8572216, -2.39271688, 0.999878109, -0.0101528121, 0.0118595241, -9.87424937e-05, 0.75552392, 0.655120969, -0.0156114763, -0.655042291, 0.755430818),0.3)
  1072. LS.C0 = clerp(LS.C0,CFrame.new(-3.0046792, 0.857568204, -0.0285525322, 0.999878109, -0.0146704866, -0.00533898873, -9.87424937e-05, -0.347920358, 0.93752414, -0.0156114763, -0.937409401, -0.347879499),0.3)
  1073. RS.C0 = clerp(RS.C0,CFrame.new(3.00213504, 0.943184912, -0.13698405, 0.999878109, -0.0146704866, -0.00533898873, -9.87424937e-05, -0.347920358, 0.93752414, -0.0156114763, -0.937409401, -0.347879499),0.3)
  1074. NK.C0 = clerp(NK.C0,CFrame.new(-2.44036382e-05, 2.99386311, -0.167564437, 1, 2.0461157e-06, -8.96863639e-07, -1.98557973e-06, 0.99796474, 0.0637678504, 1.02538615e-06, -0.0637679994, 0.99796468),0.3)
  1075. end
  1076. wait(.25)
  1077. for i = 0, 1, 0.1 do
  1078. swait()
  1079. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.051363945, -3.60286617, -3.29043484, 0.999872804, -0.0137674687, -0.00806680601, 0.0137160039, 0.483212173, 0.875395894, -0.00815400854, -0.875395119, 0.483339548),0.3)
  1080. LH.C0 = clerp(LH.C0,CFrame.new(-0.996045709, -1.73839223, 0.0600171089, 0.999878228, 0.00310409069, 0.0153003354, -9.91220222e-05, 0.981277168, -0.192601174, -0.0156117193, 0.19257623, 0.981157899),0.3)
  1081. RH.C0 = clerp(RH.C0,CFrame.new(0.987435639, -1.55498588, -0.69317311, 0.999878228, -0.00418921839, 0.015039484, -9.91220222e-05, 0.961603463, 0.274442703, -0.0156117193, -0.274410754, 0.961485863),0.3)
  1082. LS.C0 = clerp(LS.C0,CFrame.new(-3.0160594, 1.11446631, -0.759037852, 0.999878228, 0.0153746856, -0.00271196151, -9.91220222e-05, -0.167454362, -0.985879958, -0.0156117193, 0.985760093, -0.167432487),0.3)
  1083. RS.C0 = clerp(RS.C0,CFrame.new(2.99049282, 1.03188896, -0.883246303, 0.999878228, 0.0153746856, -0.00271196151, -9.91220222e-05, -0.167454362, -0.985879958, -0.0156117193, 0.985760093, -0.167432487),0.3)
  1084. NK.C0 = clerp(NK.C0,CFrame.new(-2.51147103e-05, 2.99386525, -0.167563885, 1.00000024, 1.80862844e-06, -8.5355714e-07, -1.75042078e-06, 0.997964859, 0.063767463, 9.66712832e-07, -0.063767463, 0.997964919),0.3)
  1085. end
  1086. local meteor = NewInstance("Part",char,{BrickColor=BrickColor.new'Dark stone grey',Material=Enum.Material.Granite,Size=V3.N(5,5,5),CanCollide=false,CFrame = CF.N(mouse.Hit.p)*CF.N(0,200,0)})
  1087. Instance.new("SpecialMesh",meteor).MeshType = Enum.MeshType.Sphere
  1088. meteor.Touched:connect(function(touch)
  1089. if(not touch:IsA'Terrain' and touch.CanCollide and touch.Transparency < .9 and not touch:IsDescendantOf(char))then
  1090. meteor:Destroy()
  1091. Explode(meteor.CFrame.p)
  1092. end
  1093.  
  1094. end)
  1095. wait(.25)
  1096. neutralAnims = true
  1097. Attack = false
  1098. end
  1099.  
  1100.  
  1101. mouse.KeyDown:connect(function(k)
  1102. if(Attack)then return end
  1103. if(k == 'z')then
  1104. Meteor()
  1105. elseif(k == 'x')then
  1106. Boom()
  1107. elseif(k == 'c')then
  1108. FragmentedSmash()
  1109. elseif(k == 'v')then
  1110. SpaceExplode(mouse.Hit.p)
  1111. elseif(k == 'm')then
  1112. Music.Playing = not Music.Playing
  1113. end
  1114. end)
  1115.  
  1116. hum.Died:connect(function()
  1117. SpaceExplode(torso.CFrame.p)
  1118. end)
  1119.  
  1120. runService.RenderStepped:connect(function()
  1121. if(not Attack and combo ~= 1 and time()-lastClick > 0.4)then
  1122. combo = 1
  1123. end
  1124. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement