Advertisement
Zebula_The_Scripter

Astronaut 13 FE

Sep 1st, 2018
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 44.74 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5. print("FE Compatibility code by Mokiros")
  6. local rp = RealPlayer
  7. script.Parent = rp.Character
  8.  
  9. --RemoteEvent for communicating
  10. local Event = Instance.new("RemoteEvent")
  11. Event.Name = "UserInput_Event"
  12.  
  13. --Fake event to make stuff like Mouse.KeyDown work
  14. local function fakeEvent()
  15. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16. t.connect = t.Connect
  17. return t
  18. end
  19.  
  20. --Creating fake input objects with fake variables
  21. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  22. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25. end}
  26. --Merged 2 functions into one by checking amount of arguments
  27. CAS.UnbindAction = CAS.BindAction
  28.  
  29. --This function will trigger the events that have been :Connect()'ed
  30. local function te(self,ev,...)
  31. local t = m[ev]
  32. if t and t._fakeEvent then
  33. for _,f in pairs(t.Functions) do
  34. f(...)
  35. end
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=rp then return end
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. if not io.isMouse then
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. for _,t in pairs(CAS.Actions) do
  51. for _,k in pairs(t.Keys) do
  52. if k==io.KeyCode then
  53. t.Function(t.Name,io.UserInputState,io)
  54. end
  55. end
  56. end
  57. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59. end
  60. end)
  61. Event.Parent = NLS([==[
  62. local Player = game:GetService("Players").LocalPlayer
  63. local Event = script:WaitForChild("UserInput_Event")
  64.  
  65. local Mouse = Player:GetMouse()
  66. local UIS = game:GetService("UserInputService")
  67. local input = function(io,a)
  68. if a then return end
  69. --Since InputObject is a client-side instance, we create and pass table instead
  70. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  71. end
  72. UIS.InputBegan:Connect(input)
  73. UIS.InputEnded:Connect(input)
  74.  
  75. local h,t
  76. --Give the server mouse data 30 times every second, but only if the values changed
  77. --If player is not moving their mouse, client won't fire events
  78. while wait(1/30) do
  79. if h~=Mouse.Hit or t~=Mouse.Target then
  80. h,t=Mouse.Hit,Mouse.Target
  81. Event:FireServer({isMouse=true,Target=t,Hit=h})
  82. end
  83. end]==],Player.Character)
  84.  
  85. ----Sandboxed game object that allows the usage of client-side methods and services
  86. --Real game object
  87. local _rg = game
  88.  
  89. --Metatable for fake service
  90. local fsmt = {
  91. __index = function(self,k)
  92. local s = rawget(self,"_RealService")
  93. if s then return s[k] end
  94. end,
  95. __newindex = function(self,k,v)
  96. local s = rawget(self,"_RealService")
  97. if s then s[k]=v end
  98. end,
  99. __call = function(self,...)
  100. local s = rawget(self,"_RealService")
  101. if s then return s(...) end
  102. end
  103. }
  104. local function FakeService(t,RealService)
  105. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106. return setmetatable(t,fsmt)
  107. end
  108.  
  109. --Fake game object
  110. local g = {
  111. GetService = function(self,s)
  112. return self[s]
  113. end,
  114. Players = FakeService({
  115. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116. },"Players"),
  117. UserInputService = FakeService(UIS,"UserInputService"),
  118. ContextActionService = FakeService(CAS,"ContextActionService"),
  119. }
  120. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  121. g.service = g.GetService
  122.  
  123. g.RunService = FakeService({
  124. RenderStepped = _rg:GetService("RunService").Heartbeat,
  125. BindToRenderStep = function(self,name,_,fun)
  126.  
  127. end,
  128. UnbindFromRenderStep = function(self,name)
  129. self._btrs[name]:Disconnect()
  130. end,
  131. },"RunService")
  132.  
  133. setmetatable(g,{
  134. __index=function(self,s)
  135. return _rg:GetService(s) or typeof(_rg[s])=="function"
  136. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  137. end,
  138. __newindex = fsmt.__newindex,
  139. __call = fsmt.__call
  140. })
  141. --Changing owner to fake player object to support owner:GetMouse()
  142. game,owner = g,g.Players.LocalPlayer
  143. end
  144.  
  145. -- Created by Nebula_Zorua --
  146. -- Two invisible eyes..
  147. -- Two, invisible, monsterous eyes..
  148. -- Discord: Nebula the Zorua#6969
  149. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  150. -- Credit to makhail07 for the idea (lub u bby)
  151. wait(1)
  152.  
  153. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  154.  
  155. local plr = owner
  156. local char = plr.Character
  157. local hum = char:FindFirstChildOfClass'Humanoid'
  158. local rarm = char["Right Arm"]
  159. local larm= char["Left Arm"]
  160. local rleg= char["Right Leg"]
  161. local lleg = char["Left Leg"]
  162. local root = char:FindFirstChild'HumanoidRootPart'
  163. local torso = char.Torso
  164. local head = char.Head
  165. local sine = 0;
  166. local combo = 1;
  167. local lastClick = time()
  168. local change = 1;
  169. local runService = S.RunService
  170. local Attack = false
  171. local neutralAnims = true
  172. local GlitchTime = 0;
  173. local PaintBody = 'Black'
  174. local DeleteClothing = true
  175. local PlayerSize = 2
  176. local Debounces = {Debounces={}}
  177. local Hit = {}
  178. local BloodPuddles = {}
  179. local Teamed = {}
  180. hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  181. hum.MaxHealth = 1e4
  182. hum.Health = 1e4
  183. hum.Name = '13'
  184. Instance.new("ForceField",char).Visible = false
  185. function Debounces:New(name,cooldown)
  186. local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  187. setmetatable(aaaaa,{__index = Debounces})
  188. Debounces.Debounces[name] = aaaaa
  189. return aaaaa
  190. end
  191.  
  192. function Debounces:Use(overrideUsable)
  193. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  194. if(self.Usable or overrideUsable)then
  195. self.Usable = false
  196. self.CoolingDown = true
  197. local LastUse = time()
  198. self.LastUse = LastUse
  199. delay(self.Cooldown or 2,function()
  200. if(self.LastUse == LastUse)then
  201. self.CoolingDown = false
  202. self.Usable = true
  203. end
  204. end)
  205. end
  206. end
  207.  
  208. function Debounces:Get(name)
  209. assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  210. for i,v in next, Debounces.Debounces do
  211. if(i == name)then
  212. return v;
  213. end
  214. end
  215. end
  216.  
  217. function Debounces:GetProgressPercentage()
  218. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  219. if(self.CoolingDown and not self.Usable)then
  220. return math.max(
  221. math.floor(
  222. (
  223. (time()-self.LastUse)/self.Cooldown or 2
  224. )*100
  225. )
  226. )
  227. else
  228. return 100
  229. end
  230. end
  231.  
  232. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  233. local V3 = {N=Vector3.new}
  234. local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge}
  235.  
  236. local Effects,Sounds = {},{};
  237. --Stop animations
  238. for _,v in next, hum:GetPlayingAnimationTracks() do
  239. v:Stop();
  240. end
  241.  
  242. pcall(game.Destroy,char:FindFirstChild'Animate')
  243. pcall(game.Destroy,hum:FindFirstChild'Animator')
  244.  
  245. -- Sounds
  246. Sounds['Wet'] = {Id=256738023,Loop=false,Pitch=1}
  247. Sounds['Swoosh1'] = {Id=320557353,Loop=false,Pitch=1,Volume=6}
  248. Sounds['Swoosh2'] = {Id=320557382,Loop=false,Pitch=1,Volume=6}
  249. Sounds['Swoosh3'] = {Id=320557413,Loop=false,Pitch=1,Volume=6}
  250. Sounds['Swoosh4'] = {Id=320557453,Loop=false,Pitch=1,Volume=6}
  251. Sounds['Swoosh5'] = {Id=320557487,Loop=false,Pitch=1,Volume=6}
  252. Sounds['Swoosh6'] = {Id=320557537,Loop=false,Pitch=1,Volume=6}
  253. Sounds['Swoosh7'] = {Id=320557563,Loop=false,Pitch=1,Volume=6}
  254. Sounds['Swoosh8'] = {Id=320557518,Loop=false,Pitch=1,Volume=6}
  255. Sounds['SmallBoom'] = {Id=341336485,Loop=false,Volume=5,Pitch=1}
  256. Sounds['ChaosBuster'] = {Id=333534812,Loop=false,Volume=5,Pitch=0.75}
  257. Sounds['Magic'] = {Id=315743350,Loop=false,Volume=5,Pitch=1}
  258. Sounds['ShrekRemix'] = {Id=163306929,Loop=true,Pitch=1,Volume = 4}
  259. Sounds['CreoDimension'] = {Id=927529620,Loop=true,Pitch=1,Volume=4}
  260. Sounds['BlackBlizzard'] = {Id=657626121,Loop=true,Pitch=1,Volume=4}
  261. Sounds['ColbreakzFantasy'] = {Id=876981900,Loop=true,Pitch=1,Volume=4}
  262. Sounds['NeflCrystals'] = {Id=340106355,Loop=true,Pitch=1,Volume=4}
  263. Sounds['EvilMortyRemix'] = {Id=1057401232,Loop=true,Pitch=1,Volume=10}
  264. Sounds['Astronaut13'] = {Id=723652641,Loop=true,Pitch=0.9,Volume=10}
  265. -- Functions
  266. local NewInstance = function(instance,parent,properties)
  267. local inst = Instance.new(instance,parent)
  268. if(properties)then
  269. for i,v in next, properties do
  270. pcall(function() inst[i] = v end)
  271. end
  272. end
  273. return inst;
  274. end
  275.  
  276.  
  277. ArtificialHB = NewInstance("BindableEvent", script,{
  278. Parent = script,
  279. Name = "Heartbeat",
  280. })
  281.  
  282. script:WaitForChild("Heartbeat")
  283.  
  284. frame = 1 / 60
  285. tf = 0
  286. allowframeloss = false
  287. tossremainder = false
  288. lastframe = tick()
  289. script.Heartbeat:Fire()
  290.  
  291. game:GetService("RunService").Heartbeat:connect(function(s, p)
  292. tf = tf + s
  293. if tf >= frame then
  294. if allowframeloss then
  295. script.Heartbeat:Fire()
  296. lastframe = tick()
  297. else
  298. for i = 1, math.floor(tf / frame) do
  299. script.Heartbeat:Fire()
  300. end
  301. lastframe = tick()
  302. end
  303. if tossremainder then
  304. tf = 0
  305. else
  306. tf = tf - frame * math.floor(tf / frame)
  307. end
  308. end
  309. end)
  310.  
  311. function swait(num)
  312. if num == 0 or num == nil then
  313. ArtificialHB.Event:wait()
  314. else
  315. for i = 0, num do
  316. ArtificialHB.Event:wait()
  317. end
  318. end
  319. end
  320.  
  321. function ClearChildrenWithClass(where,class,recursive)
  322. local children = (recursive and where:GetDescendants() or where:GetChildren())
  323. for _,v in next, children do
  324. if(v:IsA(class))then
  325. v:destroy()
  326. end
  327. end
  328. end
  329. function clerp(startCF,endCF,alpha)
  330. return startCF:lerp(endCF, alpha)
  331. end
  332. local sndFromData = function(data,parent)
  333. assert(typeof(data) == 'table',"sndFromData's first argument must be a table!")
  334. 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})
  335. if(not snd.Looped)then
  336. snd.Ended:connect(function()
  337. snd:Stop()
  338. snd:destroy()
  339. end)
  340. end
  341. return snd;
  342. end
  343.  
  344. local FX = function(ID,vol,pitch,parent)
  345. local snd = NewInstance("Sound",parent or torso, {Pitch=pitch or 1, Volume = vol or 1,SoundId = "rbxassetid://"..ID})
  346. snd:Play()
  347. repeat wait() until snd.IsLoaded and snd.IsPlaying
  348. delay(snd.TimePosition+.5,function()
  349. snd:Stop()
  350. snd:Destroy()
  351. end)
  352. end
  353.  
  354. function Fragment(part,number,delayE)
  355. part.Anchored = true
  356. local Fragments = NewInstance("Folder",part.Parent,{Name='Fragmentation'})
  357. local Size = V3.N(part.Size.X/number,part.Size.Y/number,part.Size.Z/number)
  358. 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)
  359. for x = 0, number-1 do
  360. for y = 0, number-1 do
  361. for z = 0, number-1 do
  362. 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)})
  363. if(delayE ~= false)then swait(delayE or nil) end
  364. end
  365. end
  366. end
  367. part:destroy()
  368. return Fragments
  369. end
  370. function halfit(v)
  371. v:ClearAllChildren()
  372. v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2)
  373. v.Name = v.Name.."Half"
  374.  
  375. local a = v:Clone()
  376. a.Parent = v.Parent
  377. a.CFrame = CF.N(1,1,-.5) * v.CFrame
  378. v.CFrame = CF.N(1,1,.5) * v.CFrame
  379. return a,v
  380. end
  381.  
  382. function Fragment2(v)
  383. v:ClearAllChildren()
  384. local Fragments = NewInstance("Folder",v.Parent,{Name='Fragmentation'})
  385. v.Archivable = true
  386. -- X
  387. v.Size = Vector3.new(v.Size.x/2,v.Size.y,v.Size.z)
  388. v.Name = v.Name.."Fragment"
  389.  
  390. local a = v:Clone()
  391. a.Parent = Fragments
  392. a.CFrame = CF.N(-.5,1,1) * a.CFrame
  393. v.CFrame = CF.N(.5,1,1) * v.CFrame
  394. -- Y
  395. v.Size = Vector3.new(v.Size.x,v.Size.y/2,v.Size.z)
  396.  
  397. local a = v:Clone()
  398. a.Parent = Fragments
  399. a.CFrame = CF.N(1,-.5,1) * a.CFrame
  400. v.CFrame = CF.N(1,.5,1) * v.CFrame
  401. -- Z
  402. v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2)
  403.  
  404. local a = v:Clone()
  405. a.Parent = Fragments
  406. a.CFrame = CF.N(1,1,-.5) * a.CFrame
  407. v.CFrame = CF.N(1,1,.5) * v.CFrame
  408.  
  409. v.Parent = Fragments
  410. return Fragments
  411. end
  412. function UnbindLoops()
  413. pcall(runService.UnbindFromRenderStep,runService,"N_Effects")
  414. pcall(runService.UnbindFromRenderStep,runService,"N_Animations")
  415. end;
  416.  
  417. UnbindLoops() -- Just so if the loops already exist from previously running a script using this template, there's no errors
  418.  
  419. -- Model
  420.  
  421. game:service'Lighting'.FogEnd = 100
  422. game:service'Lighting'.FogStart = 0
  423. game:service'Lighting'.FogColor = BrickColor.new'Black'.Color
  424. game:service'Lighting'.ClockTime = 22
  425.  
  426. local Sky = Instance.new("Sky",game:service'Lighting')
  427. Sky.MoonAngularSize = 30
  428. Sky.MoonTextureId = "http://www.roblox.com/asset/?id=156679858"
  429.  
  430.  
  431. local Music = sndFromData(Sounds.Astronaut13,torso) -- incase u want music
  432. Music.MaxDistance = 500
  433. Music:Play()
  434. local Distorted = NewInstance("EqualizerSoundEffect",Music,{MidGain=0,HighGain=0,LowGain=0})
  435. ClearChildrenWithClass(char,"Decal",true)
  436. ClearChildrenWithClass(char,"Clothing",true)
  437.  
  438. -- Joints, etc
  439. if(PaintBody)then
  440. char['Body Colors'].LeftArmColor = BrickColor.new(PaintBody)
  441. char['Body Colors'].RightArmColor = BrickColor.new(PaintBody)
  442. char['Body Colors'].LeftLegColor = BrickColor.new(PaintBody)
  443. char['Body Colors'].RightLegColor = BrickColor.new(PaintBody)
  444. char['Body Colors'].TorsoColor = BrickColor.new(PaintBody)
  445. char['Body Colors'].HeadColor = BrickColor.new(PaintBody)
  446. end
  447.  
  448. local FT,RA,LA,RL,LL = Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh")
  449. FT.MeshId,FT.Scale = "rbxasset://fonts/torso.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  450. RA.MeshId,RA.Scale = "rbxasset://fonts/rightarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  451. LA.MeshId,LA.Scale = "rbxasset://fonts/leftarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  452. RL.MeshId,RL.Scale = "rbxasset://fonts/rightleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  453. LL.MeshId,LL.Scale = "rbxasset://fonts/leftleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
  454.  
  455. if(PlayerSize ~= 1)then
  456. for _,v in next, char:GetDescendants() do
  457. if(v:IsA'BasePart')then
  458. v.Size = v.Size * PlayerSize
  459. end
  460. end
  461. end
  462.  
  463. 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)})
  464. 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)})
  465. local NK = NewInstance('Motor',char,{Part0=torso,Part1=head,C0 = CF.N(0,1.5 * PlayerSize,0)})
  466. local LH = NewInstance('Motor',char,{Part0=torso,Part1=lleg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  467. local RH = NewInstance('Motor',char,{Part0=torso,Part1=rleg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  468. local RJ = NewInstance('Motor',char,{Part0=root,Part1=torso})
  469. --local HW = NewInstance('Motor',char,{Part0=rarm,Part1=Handle,C0 = CF.N(0,.5,0)})
  470. -- watevr
  471.  
  472. -- Default C0s
  473. local LSD=LS.C0
  474. local RSD=RS.C0
  475. local HD=NK.C0
  476. local TD=RJ.C0
  477. local LHD=LH.C0
  478. local RHD=RH.C0
  479.  
  480. -- Check State
  481. function CheckState(rPart)
  482. if(math.abs(rPart.Velocity.x) > 2 or math.abs(rPart.Velocity.z) > 2)then
  483. return 'Walk';
  484. end
  485. return 'Idle';
  486. end
  487.  
  488. -- Effect Functions
  489. function SphereFX(duration,color,scale,pos,endScale)
  490. local rng = Instance.new("Part", char)
  491. rng.Anchored = true
  492. rng.BrickColor = color
  493. rng.CanCollide = false
  494. rng.FormFactor = 3
  495. rng.Name = "Ring"
  496. rng.Size = Vector3.new(1,1,1)
  497. rng.Transparency = 0
  498. rng.TopSurface = 0
  499. rng.BottomSurface = 0
  500. rng.CFrame = pos
  501. local rngm = Instance.new("SpecialMesh", rng)
  502. rngm.MeshType = "Sphere"
  503. rngm.Scale = scale
  504. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  505. return rng
  506. end
  507.  
  508. function BlastFX(duration,color,scale,pos,endScale)
  509. local rng = Instance.new("Part", char)
  510. rng.Anchored = true
  511. rng.BrickColor = color
  512. rng.CanCollide = false
  513. rng.FormFactor = 3
  514. rng.Name = "Ring"
  515. rng.Size = Vector3.new(1,1,1)
  516. rng.Transparency = 0
  517. rng.TopSurface = 0
  518. rng.BottomSurface = 0
  519. rng.CFrame = pos
  520. local rngm = Instance.new("SpecialMesh", rng)
  521. rngm.MeshType = "FileMesh"
  522. rngm.MeshId = 'rbxassetid://20329976'
  523. rngm.Scale = scale
  524. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  525. return rng
  526. end
  527.  
  528. function BlockFX(duration,color,scale,pos,endScale)
  529. local rng = Instance.new("Part", char)
  530. rng.Anchored = true
  531. rng.BrickColor = color
  532. rng.CanCollide = false
  533. rng.FormFactor = 3
  534. rng.Name = "Ring"
  535. rng.Size = Vector3.new(1,1,1)
  536. rng.Transparency = 0
  537. rng.TopSurface = 0
  538. rng.BottomSurface = 0
  539. rng.CFrame = pos
  540. local rngm = Instance.new("BlockMesh", rng)
  541. rngm.Scale = scale
  542. table.insert(Effects, {Frame = 0, Effect="Block", 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 LaserFX(duration,color,cframe,scale,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.Material = Enum.Material.Neon
  553. rng.Name = "Laser"
  554. rng.Size = Vector3.new(.5,.5,.5)
  555. rng.Transparency = 0
  556. rng.TopSurface = 0
  557. rng.BottomSurface = 0
  558. rng.CFrame = cframe
  559. local rngm = Instance.new("CylinderMesh", rng)
  560. rngm.Scale = scale
  561. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = cframe})
  562. return rng
  563. end
  564.  
  565.  
  566. function BloodDrop(pos,dir,maxsize)
  567. local owo = NewInstance("Part",char,{Material=BloodMaterial,BrickColor=BloodColor,Shape=Enum.PartType.Ball,Size=V3.N(.25,.25,.25), CanCollide = false})
  568. owo.CFrame=CF.N(pos,dir)
  569. local bv = Instance.new("BodyVelocity",owo)
  570. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  571. 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
  572. bv.Name = "MOVE"
  573. game:service'Debris':AddItem(bv,0.05)
  574. local touch
  575. touch = owo.Touched:connect(function(hit)
  576. if(hit.Anchored==true)then
  577. touch:disconnect()
  578. BloodPuddle(owo.Position+V3.N(0,1,0),10,maxsize,owo)
  579. owo:destroy()
  580. end
  581. end)
  582. end
  583. function BloodPuddle(position,range,maxSize,where)
  584. local hit, pos, norm = workspace:FindPartOnRayWithIgnoreList(Ray.new(
  585. position,CF.N(position,position+V3.N(0,-1,0)).lookVector * range
  586. ),{where,char},false,true)
  587. if(hit)then
  588. if(BloodPuddles[hit])then
  589. BloodPuddles[hit].Frame = 0
  590. if(hit:FindFirstChild'CylinderMesh' and hit.CylinderMesh.Scale.Z < BloodPuddles[hit].MaxSize)then
  591. hit.CylinderMesh.Scale = hit.CylinderMesh.Scale + V3.N(.1,0,.1)
  592. end
  593. else
  594. 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'})
  595. local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
  596. BloodPuddles[Puddle] = {MaxSize=maxSize or 7,Frame=0}
  597. end
  598. end
  599. end
  600.  
  601.  
  602. function ShatterFX(duration,color,scale,cframe)
  603. local rng = Instance.new("Part", char)
  604. rng.Anchored = true
  605. rng.BrickColor = color
  606. rng.CanCollide = false
  607. rng.FormFactor = 3
  608. rng.Name = "Ring"
  609. rng.Size = Vector3.new(1,1,1)
  610. rng.Transparency = 0
  611. rng.TopSurface = 0
  612. rng.BottomSurface = 0
  613. rng.CFrame = cframe * CF.fEA(M.RNG(-50, 50), M.RNG(-50, 50), M.RNG(-50, 50))
  614. local rngm = Instance.new("SpecialMesh", rng)
  615. rngm.Scale = scale
  616. rngm.MeshType = "Sphere"
  617. table.insert(Effects, {Frame = 0, Effect="Shatter", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale,Position=rng.CFrame})
  618. end
  619.  
  620. function RingFX(duration,color,scale,pos,endScale)
  621. local type = type
  622. local rng = Instance.new("Part", char)
  623. rng.Anchored = true
  624. rng.BrickColor = color
  625. rng.CanCollide = false
  626. rng.FormFactor = 3
  627. rng.Name = "Ring"
  628. rng.Size = Vector3.new(1,1,1)
  629. rng.Transparency = 0
  630. rng.TopSurface = 0
  631. rng.BottomSurface = 0
  632. rng.CFrame = pos
  633. local rngm = Instance.new("SpecialMesh", rng)
  634. rngm.MeshId = "rbxassetid://3270017"
  635. rngm.Scale = scale
  636. table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
  637. return rng
  638. end
  639.  
  640. function Shoot(StartCF,EndCF,Spread,Speed,Num,Color,Drop,MinDamage,MaxDamage)
  641. local Spread = V3.N(M.RNG(-Spread,Spread),M.RNG(-Spread,Spread),M.RNG(-Spread,Spread))
  642. local Start = StartCF.p
  643. local End = EndCF.p
  644. local SpreadPos = End + Spread
  645. local Look = CF.N((Start + SpreadPos) / 2, SpreadPos)
  646. local Count = Num
  647. spawn(function()
  648. repeat
  649. wait()
  650. local hit, pos = workspace:findPartOnRay(Ray.new(
  651. Start,(Look.lookVector).unit * Speed
  652. ),char,false,true)
  653. local dist = (Start-pos).magnitude
  654. local yScale = dist * (Speed / (Speed/2))
  655. local aa = CF.N((Start + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0)
  656. LaserFX(25,Color,aa,Vector3.new(1,yScale,1),Vector3.new(-1,yScale,-1))
  657. Start = Start + Look.lookVector * Speed
  658. Look = Look * CF.A(M.R(Drop or -1),0,0)
  659. Count = Count - 1
  660.  
  661. if(hit)then
  662. Count = 0
  663. MagniDamage(pos,10,MinDamage,MaxDamage,0,'Normal')
  664. end
  665. if(Count <= 0)then
  666. local sphere = SphereFX(25,Color,Vector3.new(5,5,5),CF.N(pos),Vector3.new(15,15,15))
  667. 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))
  668. end
  669. until Count <= 0
  670. end)
  671. end
  672.  
  673. -- Effect Loop
  674.  
  675. runService:BindToRenderStep("N_Effects",Enum.RenderPriority.Character.Value + 2,function()
  676. for _,data in next, Effects do
  677. local frame,effect,duration = data.Frame,data.Effect,data.Duration
  678. local transparency = (frame / duration)
  679. local opacity = 1 - transparency
  680. if(frame > duration)then
  681. Effects[_] = nil
  682. end
  683. frame = frame + 1
  684. data.Frame = frame
  685. if(effect == 'Sphere')then
  686. local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale
  687. Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
  688. Part.Transparency = transparency
  689. if(frame > duration)then
  690. Part:destroy()
  691. end
  692. elseif(effect == 'Shatter')then
  693. local Part,Mesh,Scale,Position,Thingie,Thingie2,Inc = data.Part,
  694. data.Mesh,
  695. data.Scale,
  696. data.Position,
  697. (data.Thingie or 0),
  698. (data.Thingie2 or M.RNG(50, 100) / 100),
  699. (data.Inc or M.RNG() - M.RNG())
  700. Part.Transparency = transparency
  701. Position = Position * CF.N(0,Thingie2,0)
  702. Part.CFrame = Position * CF.fEA(Thingie,0,0)
  703. Thingie = Thingie + Inc
  704.  
  705. data.Position = Position
  706. data.Thingie = Thingie
  707. data.Thingie2 = Thingie2
  708. data.Inc = Inc
  709. elseif(effect == 'Block')then
  710. local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale
  711. Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
  712. Part.Transparency = transparency
  713. Part.CFrame = CF * CFrame.Angles(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)))
  714. if(frame > duration)then
  715. Part:destroy()
  716. end
  717. end
  718. end
  719. for puddle,data in next, BloodPuddles do
  720. if(puddle.Transparency > 0.9)then
  721. BloodPuddles[puddle] = nil
  722. puddle:destroy()
  723. end
  724. data.Frame = data.Frame + 1
  725. if(data.Frame > 105)then
  726. local trans = (data.Frame-105)/30
  727. puddle.Transparency = trans
  728. if(puddle:FindFirstChild'CylinderMesh' and puddle.CylinderMesh.Scale.Z > 0)then
  729. puddle.CylinderMesh.Scale = puddle.CylinderMesh.Scale-V3.N(.1,0,.1)
  730. end
  731. else
  732. puddle.Transparency = 0
  733. end
  734. end
  735. end)
  736.  
  737.  
  738.  
  739. -- Nametag
  740. local naeeym2 = Instance.new("BillboardGui",char)
  741. naeeym2.AlwaysOnTop = true
  742. naeeym2.Size = UDim2.new(5,35,2,35)
  743. naeeym2.StudsOffset = Vector3.new(0,1,0)
  744. naeeym2.Adornee = head
  745. naeeym2.Name = "Name"
  746. naeeym2.PlayerToHideFrom = plr
  747. local tecks2 = Instance.new("TextLabel",naeeym2)
  748. tecks2.BackgroundTransparency = 1
  749. tecks2.TextScaled = true
  750. tecks2.BorderSizePixel = 0
  751. tecks2.Text = "13"
  752. tecks2.Font = "Antique"
  753. tecks2.TextSize = 30
  754. tecks2.TextStrokeTransparency = 0
  755. tecks2.TextColor3 = Color3.new(0,0,0)
  756. tecks2.TextStrokeColor3 = Color3.new(0.4,0.4,0.4)
  757. tecks2.Size = UDim2.new(1,0,0.5,0)
  758. tecks2.Parent = naeeym2
  759.  
  760. coroutine.wrap(function()
  761. while true do
  762. swait(15)
  763. hum.Health = hum.Health + 15
  764. local name = M.RNG(1,40)
  765. if(name == 1)then
  766. tecks2.Text = "Th1rdt3EM"
  767. elseif(name == 2)then
  768. tecks2.Text = "Three"
  769. elseif(name == 3)then
  770. tecks2.Text = "furdtean"
  771. elseif(name > 3 and name <= 6)then
  772. tecks2.Text = 'Astronaut'
  773. else
  774. tecks2.Text = "13"
  775. end
  776. if(time()-GlitchTime < .5)then
  777. tecks2.Text = tecks2.Text:gsub("",string.char(M.RNG(1,127)))
  778. end
  779. end
  780. end)()
  781.  
  782. -- Animation Loop
  783. runService:BindToRenderStep("N_Animations",Enum.RenderPriority.Character.Value + 1,function()
  784. sine=sine+change
  785. local GlitchEffect = M.RNG(1,500)
  786. hum.WalkSpeed = 8
  787. 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
  788. if(GlitchEffect == 1 and time()-GlitchTime >= .5)then
  789. GlitchTime = time()
  790. end
  791. end
  792. if(time()-GlitchTime < .5)then
  793. Distorted.MidGain = -25
  794. Distorted.LowGain = 10
  795. Distorted.HighGain = -25
  796. FT.Parent = torso
  797. RA.Parent = rarm
  798. LA.Parent = larm
  799. RL.Parent = rleg
  800. LL.Parent = lleg
  801. for _,v in next, char:GetDescendants() do
  802. if(v:IsA'DataModelMesh')then
  803. v.Offset = V3.N(M.RNG(-200,200)/100,M.RNG(-200,200)/100,M.RNG(-200,200)/100)
  804. end
  805. end
  806. else
  807. Distorted.MidGain = 0
  808. Distorted.LowGain = 0
  809. Distorted.HighGain = 0
  810. FT.Parent = nil
  811. RA.Parent = nil
  812. LA.Parent = nil
  813. RL.Parent = nil
  814. LL.Parent = nil
  815. for _,v in next, char:GetDescendants() do
  816. if(v:IsA'DataModelMesh')then
  817. v.Offset = V3.N(0,0,0)
  818. end
  819. end
  820. end
  821. if(neutralAnims)then
  822. if(CheckState(root) == 'Idle')then
  823. -- Idle anim
  824. RJ.C0 = RJ.C0:lerp(CF.N(0,.2*M.S(time()*16),0)*CF.A(.2*M.S(time()*16),0,0),.2)
  825. NK.C0 = NK.C0:lerp(HD*CF.A(-.2*M.S(time()*16),0,0),.2)
  826. 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)
  827. 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)
  828. RS.C0 = RS.C0:lerp(RSD*CF.A(0,0,.4*M.C(time()*16)),.2)
  829. LS.C0 = LS.C0:lerp(LSD*CF.A(0,0,.4*-M.C(time()*16)),.2)
  830. elseif(CheckState(root) == 'Walk')then
  831. -- Walk anim
  832. 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)
  833. 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)
  834. 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)
  835. 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)
  836. RJ.C0 = RJ.C0:lerp(CF.N(0,M.S(time()*hum.WalkSpeed/2)/2,0)*CF.A(M.R(25),0,0),.2)
  837. end
  838. end
  839. end)
  840.  
  841. -- Died event
  842.  
  843. hum.Died:connect(function() -- When the player dies
  844. UnbindLoops() -- Unbind all of the loops used
  845. end)
  846.  
  847.  
  848. -- Everything else
  849.  
  850. function GetTorso(char)
  851. return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  852. end
  853.  
  854. function DealDamage(who,minDam,maxDam,Knock,Type)
  855. if(who)then
  856. local hum = who:FindFirstChildOfClass'Humanoid'
  857. local Damage = M.RNG(minDam,maxDam)
  858. local canHit = true
  859. if(hum)then
  860. for _, p in pairs(Hit) do
  861. if p[1] == hum then
  862. if(time() - p[2] < 0.1) then
  863. canHit = false
  864. else
  865. Hit[_] = nil
  866. end
  867. end
  868. end
  869. if(canHit)then
  870. if(hum.Health >= math.huge)then
  871. who:BreakJoints()
  872. else
  873. local player = S.Players:GetPlayerFromCharacter(who)
  874. if(not player or not Teamed[player])then
  875. if(Type == "Fire")then
  876. --idk..
  877. else
  878. local c = Instance.new("ObjectValue",hum)
  879. c.Name = "creator"
  880. c.Value = plr
  881. game:service'Debris':AddItem(c,0.35)
  882. hum.Health = hum.Health - Damage
  883. if(Type == 'Knockback' and GetTorso(who))then
  884. local angle = GetTorso(who).Position - root.Position + Vector3.new(0, 0, 0).unit
  885. local body = NewInstance('BodyVelocity',GetTorso(who),{
  886. P = 500,
  887. maxForce = V3.N(math.huge,0,math.huge),
  888. velocity = root.CFrame.lookVector * Knock + root.Velocity / 1.05
  889. })
  890. game:service'Debris':AddItem(body,.5)
  891. elseif(Type == 'Knockdown' and GetTorso(who))then
  892. local rek = GetTorso(who)
  893. print(rek)
  894. hum.PlatformStand = true
  895. delay(1,function()
  896. hum.PlatformStand = false
  897. end)
  898. local angle = (GetTorso(who).Position - (root.Position + Vector3.new(0, 0, 0))).unit
  899. local bodvol = NewInstance("BodyVelocity",rek,{
  900. velocity = angle * Knock,
  901. P = 5000,
  902. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  903. })
  904. local rl = NewInstance("BodyAngularVelocity",rek,{
  905. P = 3000,
  906. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  907. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  908. })
  909. game:GetService("Debris"):AddItem(bodvol, .5)
  910. game:GetService("Debris"):AddItem(rl, .5)
  911. end
  912. end
  913. end
  914. end
  915. table.insert(Hit,{hum,time()})
  916. end
  917. end
  918. end
  919. end
  920.  
  921. function MagniDamage(pos,radius,mindamage,maxdamage,knockback,damagetype)
  922. local Recursive
  923. Recursive = function(whom)
  924. for _,c in next, whom:children() do
  925. local hum = c:FindFirstChildOfClass'Humanoid'
  926. local hed = c:FindFirstChild'Torso' or c:FindFirstChild'UpperTorso' or c:FindFirstChild'LowerTorso'
  927. if(hum and hed)then
  928. local mag = (hed.CFrame.p - pos).magnitude
  929. if(mag <= radius and c ~= char)then
  930. DealDamage(c,mindamage,maxdamage,knockback,damagetype)
  931. end
  932. end
  933. Recursive(c)
  934. end
  935. end
  936. Recursive(workspace)
  937. end
  938.  
  939. function MagniHeal(pos,radius,heal,needsTeamed)
  940. for _,v in next, workspace:GetDescendants() do
  941. local player = S.Players:GetPlayerFromCharacter(v)
  942. local hum = v:FindFirstChildOfClass'Humanoid'
  943. if(hum and v:IsA'Model')then
  944. if(not needsTeamed or player and (not plr.Neutral and player.TeamColor == plr.TeamColor))then
  945. local pp = v.PrimaryPart or v:FindFirstChild'Torso' or v:FindFirstChild'UpperTorso' or v:FindFirstChild'LowerTorso'
  946. if(pp and (pp.CFrame.p-pos).magnitude <= radius)then
  947. hum.Health = hum.Health + heal
  948. end
  949. end
  950. end
  951. end
  952. end
  953.  
  954. --[[
  955. for _,v in next, workspace:GetDescendants() do
  956. if(v ~= char and v:FindFirstChildOfClass'Humanoid' and GetTorso(v) and plr:DistanceFromCharacter(GetTorso(v).CFrame.p) < 15)then
  957. for _,c in next, v:children() do
  958. coroutine.wrap(function()
  959. if(c:IsA'BasePart')then
  960. local a = halfit(c)
  961. a.Anchored = false
  962. c.Anchored = false
  963. local bodpos = Instance.new("BodyPosition",a)
  964. bodpos.D = 1e4
  965. bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  966. local bodpos = Instance.new("BodyPosition",c)
  967. bodpos.D = 1e4
  968. bodpos.Position = c.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  969. end
  970. end)()
  971. end
  972. end
  973. end
  974. ]]
  975. function SpaceExplode(pos)
  976. local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30})
  977. local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1})
  978. 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)})
  979. particles:Emit(2500)
  980. explode.Hit:connect(function(t,d)
  981. if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then
  982. local a = Fragment2(t)
  983. t.Anchored = false
  984. local bodpos = Instance.new("BodyPosition",t)
  985. bodpos.D = 1e4
  986. bodpos.Position = t.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  987. for _,a in next, a:children() do
  988. a.Anchored = false
  989. local bodpos = Instance.new("BodyPosition",a)
  990. bodpos.D = 1e4
  991. bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
  992. end
  993. end
  994. end)
  995. delay(1, function()
  996. explodeP:destroy()
  997. end)
  998. end
  999.  
  1000. function Explode(pos)
  1001. local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30})
  1002. local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1})
  1003. 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)})
  1004. particles:Emit(2500)
  1005. explode.Hit:connect(function(t,d)
  1006. if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then
  1007. t:BreakJoints()
  1008. end
  1009. end)
  1010. delay(1, function()
  1011. explodeP:destroy()
  1012. end)
  1013. end
  1014. function FragmentedSmash()
  1015. Attack = true
  1016. neutralAnims = false
  1017. for i = 0, 1, 0.1 do
  1018. swait()
  1019. 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)
  1020. 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)
  1021. 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)
  1022. 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)
  1023. 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)
  1024. 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)
  1025. end
  1026. wait(.25)
  1027. for i = 0, 1, 0.1 do
  1028. swait()
  1029. 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)
  1030. 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)
  1031. 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)
  1032. 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)
  1033. 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)
  1034. 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)
  1035. end
  1036. SpaceExplode(torso.CFrame.p)
  1037.  
  1038. neutralAnims = true
  1039. Attack = false
  1040. end
  1041. function Boom()
  1042. neutralAnims = false
  1043. Attack = true
  1044. for i = 0, 1, 0.1 do
  1045. swait()
  1046. 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)
  1047. 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)
  1048. 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)
  1049. 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)
  1050. 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)
  1051. 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)
  1052. end
  1053. wait(.5)
  1054. for i = 0, .65, 0.1 do
  1055. swait()
  1056. 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)
  1057. 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)
  1058. 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)
  1059. 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)
  1060. 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)
  1061. 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)
  1062. end
  1063. --BlockFX(duration,color,scale,pos,endScale)
  1064. local p = mouse.Hit.p
  1065. local start = time()
  1066. delay(0, function()
  1067. 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
  1068. Explode(p)
  1069. end)
  1070. 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))
  1071. for i = 0, .65, 0.1 do
  1072. swait()
  1073. 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)
  1074. 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)
  1075. 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)
  1076. 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)
  1077. 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)
  1078. 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)
  1079. end
  1080. wait(.25)
  1081. neutralAnims = true
  1082. Attack = false
  1083. end
  1084. function Meteor()
  1085. neutralAnims = false
  1086. Attack = true
  1087. for i = 0, 1, 0.1 do
  1088. swait()
  1089. 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)
  1090. 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)
  1091. 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)
  1092. 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)
  1093. 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)
  1094. 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)
  1095. end
  1096. wait(.25)
  1097. for i = 0, 1, 0.1 do
  1098. swait()
  1099. 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)
  1100. 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)
  1101. 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)
  1102. 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)
  1103. 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)
  1104. 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)
  1105. end
  1106. 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)})
  1107. Instance.new("SpecialMesh",meteor).MeshType = Enum.MeshType.Sphere
  1108. meteor.Touched:connect(function(touch)
  1109. if(not touch:IsA'Terrain' and touch.CanCollide and touch.Transparency < .9 and not touch:IsDescendantOf(char))then
  1110. meteor:Destroy()
  1111. Explode(meteor.CFrame.p)
  1112. end
  1113.  
  1114. end)
  1115. wait(.25)
  1116. neutralAnims = true
  1117. Attack = false
  1118. end
  1119.  
  1120.  
  1121. mouse.KeyDown:connect(function(k)
  1122. if(Attack)then return end
  1123. if(k == 'z')then
  1124. Meteor()
  1125. elseif(k == 'x')then
  1126. Boom()
  1127. elseif(k == 'c')then
  1128. FragmentedSmash()
  1129. elseif(k == 'v')then
  1130. SpaceExplode(mouse.Hit.p)
  1131. elseif(k == 'm')then
  1132. Music.Playing = not Music.Playing
  1133. end
  1134. end)
  1135.  
  1136. hum.Died:connect(function()
  1137. SpaceExplode(torso.CFrame.p)
  1138. end)
  1139.  
  1140. runService.RenderStepped:connect(function()
  1141. if(not Attack and combo ~= 1 and time()-lastClick > 0.4)then
  1142. combo = 1
  1143. end
  1144. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement