Advertisement
GalaxyDelta

Untitled

Jul 20th, 2019
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2.  
  3. local Player,game,owner = owner,game
  4.  
  5. local RealPlayer = Player
  6.  
  7. do print("FE Compatibility code V3 by Desered_ROBLOX")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
  8.  
  9. pls=game:GetService'Players';
  10. rs=game:GetService'RunService';
  11. uinps=game:GetService'UserInputService';
  12. lp=pls.LocalPlayer;
  13. mouse=lp:GetMouse();
  14. c=lp.Character;
  15. rayModel=Instance.new('Model',c);
  16. human=c.Humanoid;
  17. Cone=nil;
  18. human.MaxHealth=5000;
  19. wait();
  20. human.Health=5000;
  21. c.Health:Destroy();
  22. Debounces={
  23. FPS=0;
  24. isAttacking=false;
  25. isMoving=false;
  26. isSprinting=false;
  27. Debounce=false;
  28. isTyping=false;
  29. isJumping=false;
  30. isFlash=false;
  31. };
  32. numLerp=function(start,goal,alpha)
  33. return(((goal-start)*alpha)+start);
  34. end;
  35. CFrameZero=function()
  36. return CFrame.new(Vector3.new());
  37. end;
  38. local function a()
  39. local t=tick();
  40. local l=t%1*3;
  41. local t=.5*math.pi*(l%1);
  42. if l<1 then
  43. return Color3.new(1,1-math.cos(t),1-math.sin(t));
  44. elseif l<2 then
  45. return Color3.new(1-math.sin(t),1,1-math.cos(t));
  46. else
  47. return Color3.new(1-math.cos(t),1-math.sin(t),1);
  48. end;
  49. end;
  50. rad=function(value)
  51. return math.rad(value);
  52. end;
  53. CFAngles=function(Vector)
  54. return CFrame.Angles(rad(Vector.x),rad(Vector.y),rad(Vector.z));
  55. end;
  56. AnimStat={
  57. lerpSpeed=.2;
  58. lerpSpeed2=.35;
  59. lerpTween=0;
  60. };
  61. Joints={
  62. c.HumanoidRootPart.RootJoint;
  63. c.Torso.Neck;
  64. c.Torso['Left Shoulder'];
  65. c.Torso['Right Shoulder'];
  66. c.Torso['Left Hip'];
  67. c.Torso['Right Hip'];
  68. };
  69. JointTargets={
  70. CFrameZero();
  71. CFrameZero();
  72. CFrameZero();
  73. CFrameZero();
  74. CFrameZero();
  75. CFrameZero();
  76. };
  77. prepareCharacter=function()
  78. music=Instance.new('Sound',c.HumanoidRootPart);
  79. music.SoundId='rbxassetid://394144904';
  80. music.Looped=true;
  81. music.Volume=.6;
  82. music2=Instance.new('Sound',c);
  83. music2.SoundId='rbxassetid://259613634';
  84. music2.Looped=true;
  85. music2.Volume=1;
  86. music3=Instance.new('Sound',c.HumanoidRootPart);
  87. music3.SoundId='rbxassetid://266530326';
  88. music3.Looped=true;
  89. music3.Volume=1;
  90. music4=Instance.new('Sound',c.HumanoidRootPart);
  91. music4.SoundId='rbxassetid://155738252';
  92. music4.Looped=true;
  93. music4.Volume=1;
  94. music5=Instance.new('Sound',c.HumanoidRootPart);
  95. music5.SoundId='rbxassetid://215391212';
  96. music5.Looped=true;
  97. music5.Volume=1;
  98. human.WalkSpeed=0;
  99. human.JumpPower=0;
  100. for i,v in pairs(c:children())do
  101. if v:isA'Hat'then v:Destroy();end;
  102. if v:FindFirstChild'roblox'then v.roblox:Destroy();end;
  103. if v.Name=='Head'then v.Transparency=1 for _,x in pairs(v:children())do if x.ClassName=='Sound'then x:Destroy();end;end;end;
  104. if v:FindFirstChild'face'then v.face:Destroy();end;
  105. if v:isA'Part'then v.BrickColor=BrickColor.new'White';end;
  106. end
  107. local shirt=c:FindFirstChild'Shirt'or Instance.new('Shirt',c);
  108. local pants=c:FindFirstChild'Pants'or Instance.new('Pants',c);
  109. shirt.ShirtTemplate='rbxassetid://334755544';
  110. pants.PantsTemplate='rbxassetid://315964941';
  111. local Head=Instance.new('Part',c);
  112. Head.Size=Vector3.new(2.5,2.5,1);
  113. Head.Transparency=1;
  114. Head:BreakJoints();
  115. local hw=Instance.new('Weld',c.Head);
  116. hw.Part0=c.Head;
  117. hw.Part1=Head;
  118. hw.C0=CFrame.new(0,.3,0);
  119. faceDecal=Instance.new('Decal',Head);
  120. faceDecal.Face=Enum.NormalId.Front;
  121. faceDecal.Texture='rbxassetid://400387868';
  122. local backDecal=Instance.new('Decal',Head);
  123. backDecal.Face=Enum.NormalId.Back;
  124. backDecal.Texture='rbxassetid://400377807';
  125. local mes=Instance.new('BlockMesh',Head);
  126. mes.Scale=Vector3.new(1,1,.4);
  127. local Anim=human:FindFirstChild'Animator'
  128. if Anim then Anim:Destroy();end;
  129. end;
  130. setJointCFrames=function(table)
  131. for i=1,#table do
  132. JointTargets[i]=table[i];
  133. end;
  134. end;
  135. triWave=function(x)
  136. local pi2=math.pi/2;
  137. return math.abs((x/pi2)%4-2)-1;
  138. end;
  139. setLerp=function(speed)
  140. AnimStat.lerpSpeed=speed;
  141. end;
  142. setTween=function(tween)
  143. AnimStat.lerpTween=tween;
  144. end;
  145. playSound=function(id,part,vol,pitch)
  146. local vol=vol or 1;
  147. local pitch=pitch or 1;
  148. local x=Instance.new('Sound',part);
  149. x.Volume=vol;
  150. x.Pitch=pitch;
  151. x.SoundId='rbxassetid://'..id;
  152. spawn(function()
  153. wait();
  154. x:Play();
  155. wait(x.TimeLength+.2);
  156. x:Destroy();
  157. end);
  158. end;
  159. lerpBoom=function()
  160. if Cone then
  161. Cone.CFrame=CFrame.new(c.HumanoidRootPart.CFrame.p,c.HumanoidRootPart.CFrame.p+c.HumanoidRootPart.Velocity)*CFrame.Angles(-math.pi/2,0,0);
  162. cMesh.Scale=Vector3.new(20,20+c.HumanoidRootPart.Velocity.magnitude/10,20);
  163. Cone.Transparency=1-c.HumanoidRootPart.Velocity.magnitude/1000;
  164. else
  165. Cone=Instance.new('Part',c);
  166. Cone.Anchored=true;
  167. Cone.CanCollide=false;
  168. Cone.Transparency=math.random(50,70)/100;
  169. Cone.Size=Vector3.new(1,1,1);
  170. Cone.CFrame=CFrame.new(c.HumanoidRootPart.CFrame.p,c.HumanoidRootPart.CFrame.p+c.HumanoidRootPart.Velocity)*CFrame.Angles(-math.pi/2,0,0);
  171. cMesh=Instance.new('SpecialMesh',Cone);
  172. cMesh.MeshId='rbxassetid://1033714';
  173. cMesh.Scale=Vector3.new(20,50,20);
  174. end;
  175. end;
  176. noBoom=function()
  177. if Cone then local x=Cone Cone=nil;
  178. for i=1,20 do
  179. wait();
  180. x.Mesh.Scale=x.Mesh.Scale+Vector3.new(-.5,1,-.5);
  181. x.Transparency=x.Transparency+1/30;
  182. end;
  183. end;
  184. end;
  185. gasterBlast=function(tCFrame,aimPos,charge)
  186. local aimTarget;
  187. if aimPos then
  188. aimTarget=CFrame.new(tCFrame,aimPos);
  189. else
  190. aimTarget=tCFrame;
  191. end;
  192. local gast=Instance.new('Part',c);
  193. gast.Size=Vector3.new(12,.2,12);
  194. gast.CanCollide=false;
  195. gast.Anchored=true;
  196. gast.Transparency=1;
  197. if charge then
  198. playSound(400523331,gast,math.random(90,110)/100);
  199. end;
  200. wait();
  201. for i=1,2 do
  202. local decal=Instance.new('Decal',gast);
  203. decal.Texture='rbxassetid://323497117';
  204. if i==1 then
  205. decal.Face=Enum.NormalId.Top;
  206. else
  207. decal.Face=Enum.NormalId.Bottom;
  208. end;
  209. end;
  210. gast.CFrame=CFrame.new(aimTarget.p-Vector3.new(math.sin(tick()*10)*10,20,math.cos(tick()*10)*10));
  211. spawn(function()
  212. local tarCFrame=gast.CFrame;
  213. local isLooping=true;
  214. spawn(function()
  215. while rs.RenderStepped:wait()and isLooping do
  216. gast.CFrame=gast.CFrame:lerp(tarCFrame,.6/(Debounces.FPS/60));
  217. end;
  218. end);
  219. for i=1,30 do
  220. wait();
  221. tarCFrame=gast.CFrame:lerp(aimTarget,.24);
  222. end;
  223. playSound(340722848,gast,math.random(90,110)/100);
  224. isLooping=false;
  225. wait(.08);
  226. local ray=Ray.new(aimTarget.p,aimTarget.lookVector.unit*999);
  227. local _,pos=workspace:FindPartOnRay(ray,c);
  228. local dis=(aimTarget.p-pos).magnitude;
  229. local rayCFrame=CFrame.new(gast.CFrame.p+(pos-gast.CFrame.p).unit*(dis/2+200),gast.CFrame.p+(pos-gast.CFrame.p).unit*dis*2)*CFrame.Angles(0,math.pi/2,0);
  230. local rayPart=Instance.new('Part',rayModel);
  231. rayPart.Material='Neon';
  232. rayPart.FormFactor='Custom';
  233. rayPart.Color=a();
  234. rayPart.Anchored=true;
  235. rayPart.CanCollide=false;
  236. rayPart.Shape='Cylinder';
  237. rayPart.Size=Vector3.new(dis+400,8,8);
  238. rayPart.CFrame=rayCFrame;
  239. gast:Destroy();
  240. end);
  241. end;
  242. largegasterBlast=function(tCFrame,aimPos)
  243. local aimTarget;
  244. if aimPos then
  245. aimTarget=CFrame.new(tCFrame,aimPos);
  246. else
  247. aimTarget=tCFrame;
  248. end;
  249. local gast=Instance.new('Part',c);
  250. gast.Size=Vector3.new(25,.2,25);
  251. gast.CanCollide=false;
  252. gast.Anchored=true;
  253. gast.Transparency=1;
  254. playSound(400523331,gast,math.random(85,97)/100);
  255. wait();
  256. for i=1,2 do
  257. local decal=Instance.new('Decal',gast);
  258. decal.Texture='rbxassetid://323497117';
  259. if i==1 then
  260. decal.Face=Enum.NormalId.Top;
  261. else
  262. decal.Face=Enum.NormalId.Bottom;
  263. end;
  264. end;
  265. gast.CFrame=CFrame.new(aimTarget.p-Vector3.new(math.sin(tick()*10)*10,20,math.cos(tick()*10)*10));
  266. spawn(function()
  267. local tarCFrame=gast.CFrame;
  268. local isLooping=true;
  269. spawn(function()
  270. while rs.RenderStepped:wait()and isLooping do
  271. gast.CFrame=gast.CFrame:lerp(tarCFrame,.6/(Debounces.FPS/60));
  272. end;
  273. end);
  274. for i=1,40 do
  275. wait();
  276. tarCFrame=gast.CFrame:lerp(aimTarget,.18);
  277. end;
  278. playSound(340722848,gast,math.random(80,95)/100);
  279. isLooping=false;
  280. wait(.08);
  281. local ray=Ray.new(aimTarget.p,aimTarget.lookVector.unit*999);
  282. local _,pos=workspace:FindPartOnRay(ray,c);
  283. local dis=(aimTarget.p-pos).magnitude;
  284. local rayCFrame=CFrame.new(gast.CFrame.p+(pos-gast.CFrame.p).unit*(dis/2+200),gast.CFrame.p+(pos-gast.CFrame.p).unit*dis*2)*CFrame.Angles(0,math.pi/2,0);
  285. local rayPart=Instance.new('Part',rayModel);
  286. rayPart.Material='Neon';
  287. rayPart.FormFactor='Custom';
  288. rayPart.Color=a();
  289. rayPart.Anchored=true;
  290. rayPart.CanCollide=false;
  291. rayPart.Shape='Cylinder';
  292. rayPart.Size=Vector3.new(dis+400,17,17);
  293. rayPart.CFrame=rayCFrame;
  294. gast:Destroy();
  295. end);
  296. end;
  297. prepareCharacter();
  298. spawn(function()
  299. local sine=0;
  300. while wait()do
  301. if Debounces.isFlash then
  302. if(tick()*8)%2>1 then
  303. faceDecal.Texture='rbxassetid://400377503';
  304. else
  305. faceDecal.Texture='rbxassetid://400387868';
  306. end;
  307. else
  308. faceDecal.Texture='rbxassetid://400387868';
  309. end;
  310. if Debounces.isAttacking==false and Debounces.isMoving==false and Debounces.Debounce==false and Debounces.isJumping==false then
  311. setLerp(.8);
  312. local spasm=math.abs(math.sin(tick()*20))*1.1;
  313. local spasm2=math.abs(math.sin(tick()*20-2))*1.1;
  314. local spasm3=math.abs(math.sin(tick()*20-2.3))*1.1;
  315. setJointCFrames({
  316. CFrame.new(Vector3.new(0,0-spasm,0))*CFAngles(Vector3.new(0,0,0));
  317. CFrame.new(Vector3.new(0,1.5,0))*CFAngles(Vector3.new(-0.011,-0.502,-1.177));
  318. CFrame.new(Vector3.new(-1.5-spasm2^2/3,-0.001,0))*CFAngles(Vector3.new(-2.344,7.899,-2.82+spasm3^2*-60));
  319. CFrame.new(Vector3.new(1.569+spasm2^2/3,0,-0.1))*CFAngles(Vector3.new(4.822,1.123,6.383+spasm3^2*60));
  320. CFrame.new(Vector3.new(-0.61,-2+spasm/1.01,-.15))*CFAngles(Vector3.new(-2.206,0.767,-0.582));
  321. CFrame.new(Vector3.new(0.55,-2+spasm/1.01,-.1))*CFAngles(Vector3.new(-0.026,0.463,3.184));
  322. });
  323. elseif Debounces.isAttacking==false and Debounces.isMoving==true and Debounces.Debounce==false and Debounces.isSprinting==false and Debounces.isJumping==false then
  324. sine=tick()*18;
  325. human.WalkSpeed=120;
  326. setLerp(.35);
  327. setJointCFrames({
  328. CFrame.new(Vector3.new(0,math.sin(sine)/50-.3,0))*CFAngles(Vector3.new(-30-math.sin(sine*2)*3,math.sin(sine*2)*15,0));
  329. CFrame.new(Vector3.new(0,1.48,0.099))*CFAngles(Vector3.new(14.999,-0.001,0));
  330. CFrame.new(Vector3.new(-1.5,-0.001,0.2+math.sin(sine*2+math.pi)*1.2))*CFAngles(Vector3.new(-25.001+math.sin(sine*2+math.pi)*-90,0,-15));
  331. CFrame.new(Vector3.new(1.5,-0.001,0.2+math.sin(sine*2)*1.2))*CFAngles(Vector3.new(-25+math.sin(sine*2)*-90,-0.001,14.999));
  332. CFrame.new(Vector3.new(-0.501,-2+math.cos(sine*2+math.pi)/3,.3+math.sin(sine*2)))*CFAngles(Vector3.new(-25+math.sin(sine*2)*-70,0,-0.001));
  333. CFrame.new(Vector3.new(0.499,-2+math.cos(sine*2)/3,.3+math.sin(sine*2+math.pi)))*CFAngles(Vector3.new(-25+math.sin(sine*2)*70,0,0));
  334. });
  335. elseif Debounces.isAttacking==false and Debounces.isMoving==true and Debounces.Debounce==false and Debounces.isSprinting==true and Debounces.isJumping==false then
  336. sine=tick()*28;
  337. human.WalkSpeed=400;
  338. lerpBoom();
  339. setLerp(.65);
  340. setJointCFrames({
  341. CFrame.new(Vector3.new(0,math.sin(sine)/50-.3,0))*CFAngles(Vector3.new(-30-math.sin(sine*2)*3,math.sin(sine*2)*15,0));
  342. CFrame.new(Vector3.new(0,1.48,0.099))*CFAngles(Vector3.new(14.999,-0.001,0));
  343. CFrame.new(Vector3.new(-1.5,-0.001,0.2+math.sin(sine*2+math.pi)*1.2))*CFAngles(Vector3.new(-25.001+math.sin(sine*2+math.pi)*-90,0,-15));
  344. CFrame.new(Vector3.new(1.5,-0.001,0.2+math.sin(sine*2)*1.2))*CFAngles(Vector3.new(-25+math.sin(sine*2)*-90,-0.001,14.999));
  345. CFrame.new(Vector3.new(-0.501,-2+math.cos(sine*2+math.pi)/3,.3+math.sin(sine*2)))*CFAngles(Vector3.new(-25+math.sin(sine*2)*-70,0,-0.001));
  346. CFrame.new(Vector3.new(0.499,-2+math.cos(sine*2)/3,.3+math.sin(sine*2+math.pi)))*CFAngles(Vector3.new(-25+math.sin(sine*2)*70,0,0));
  347. });
  348. elseif Debounces.isJumping==true and Debounces.Debounce==false then
  349. setLerp(.14);
  350. human.WalkSpeed=45;
  351. setJointCFrames({
  352. CFrame.new(Vector3.new(0,0,0))*CFAngles(Vector3.new(-8,0,0));
  353. CFrame.new(Vector3.new(0,1.5,-0.15))*CFAngles(Vector3.new(-10.138,3.687,0.306));
  354. CFrame.new(Vector3.new(-1.23,0.069,-0.56))*CFAngles(Vector3.new(50.809,0.672,18.704));
  355. CFrame.new(Vector3.new(0.929,-0.031,-1.0912))*CFAngles(Vector3.new(63.00,13.85,-36.416));
  356. CFrame.new(Vector3.new(-0.63,-1.82,-0.74))*CFAngles(Vector3.new(31.324,3.424,-1.249));
  357. CFrame.new(Vector3.new(0.619,-1.331,0.82))*CFAngles(Vector3.new(-59.644,0.998,9.776));
  358. });
  359. end;
  360. end;
  361. end);
  362. human.Changed:connect(function(prop)
  363. if prop=='MoveDirection'then
  364. if human.MoveDirection.magnitude>.02 then
  365. Debounces.isMoving=true;
  366. else
  367. Debounces.isMoving=false;
  368. end;
  369. end;
  370. end);
  371. uinps.InputBegan:connect(function(InputObj)
  372. if InputObj.KeyCode==Enum.KeyCode.Slash then
  373. local finishEvent=nil;
  374. Debounces.isTyping=true
  375. finishEvent=uinps.InputBegan:connect(function(InputObj)
  376. if InputObj.KeyCode==Enum.KeyCode.Return or InputObj.UserInputType==Enum.UserInputType.MouseButton1 then
  377. Debounces.isTyping=false;
  378. finishEvent:disconnect();
  379. end;
  380. end);
  381. end;
  382. end);
  383. mouse.KeyDown:connect(function(key)
  384. if key=='0'then
  385. Debounces.isSprinting=true;
  386. playSound(160248522,c.Torso);
  387. for i=1,3 do
  388. spawn(function()
  389. local e=Instance.new('Part',c);
  390. e.Size=Vector3.new(1,1,1);
  391. e.Material='Neon';
  392. e.Color=a();
  393. e.Anchored=true;
  394. e.CFrame=c.HumanoidRootPart.CFrame*CFrame.Angles(0,0,-math.pi/2);
  395. e.CanCollide=false;
  396. local rm=Instance.new('SpecialMesh',e);
  397. rm.MeshType='FileMesh';
  398. rm.MeshId='rbxassetid://3270017';
  399. rm.Scale=Vector3.new(3.2,3.2,10);
  400. for x=1,30 do
  401. wait();
  402. rm.Scale=rm.Scale:lerp(Vector3.new(i*30,i*30,(4-i)*450),.1);
  403. e.Transparency=x/30+.5;
  404. end;
  405. end);
  406. end;
  407. c.HumanoidRootPart.Velocity=c.HumanoidRootPart.CFrame.lookVector*200;
  408. end;
  409. end);
  410. mouse.KeyUp:connect(function(key)
  411. if key=='0'then
  412. Debounces.isSprinting=false;
  413. end;
  414. end);
  415. mouse.KeyDown:connect(function(key)
  416. if key=='v'then
  417. playSound(201858087,c.Torso,math.random(90,120)/100);
  418. local oldPos=c.HumanoidRootPart.CFrame.p;
  419. local mHit=mouse.Hit.p;
  420. for i=1,2 do
  421. spawn(function()
  422. local pos
  423. if i==1 then pos=oldPos else pos=mHit end
  424. local p=Instance.new('Part',workspace);
  425. p.Anchored=true;
  426. p.CanCollide=false;
  427. p.Color=a();
  428. p.FormFactor='Custom';
  429. p.CFrame=CFrame.new(pos+Vector3.new(0,500,0));
  430. p.Transparency=.4;
  431. p.Size=Vector3.new(20,1000,20);
  432. for i=1,20 do
  433. wait();
  434. p.Transparency=.4+(i/10)*.6;
  435. p.Size=Vector3.new(20-i*1.5,1000,20-i*1.5);
  436. p.CFrame=CFrame.new(pos+Vector3.new(0,500,0));
  437. end;
  438. p:Destroy();
  439. end);
  440. end;
  441. if Debounces.isMoving then
  442. c.HumanoidRootPart.CFrame=CFrame.new(mouse.Hit.p+Vector3.new(0,4,0),Vector3.new(c.HumanoidRootPart.Velocity.x,mouse.Hit.p.y+4,c.HumanoidRootPart.Velocity.z));
  443. else
  444. c.HumanoidRootPart.CFrame=CFrame.new(mouse.Hit.p+Vector3.new(0,4,0),Vector3.new(oldPos.x,mouse.Hit.p.y+4,oldPos.z));
  445. end;
  446. end;
  447. end);
  448. mouse.KeyDown:connect(function(key)
  449. if key=='r'then
  450. local pointTarget=mouse.Hit.p;
  451. for i=1,20 do
  452. wait();
  453. gasterBlast(CFrame.new(pointTarget+Vector3.new(math.sin(tick()*10)*20,5+math.abs(math.sin(tick()*5)*10),math.cos(tick()*10)*20),pointTarget));
  454. end;
  455. wait();
  456. largegasterBlast(CFrame.new(pointTarget+Vector3.new(0,35,0),pointTarget));
  457. end;
  458. end);
  459. mouse.KeyDown:connect(function(key)
  460. if key=='f'then
  461. local pointTarget=mouse.Hit.p;
  462. for i=1,20 do
  463. wait();
  464. gasterBlast(CFrame.new(c.HumanoidRootPart.CFrame.p+Vector3.new(0,50,0),pointTarget):toWorldSpace(CFrame.new(math.sin(i/2)*(20-i),math.cos(i/2)*(20-i),-i)));
  465. end;
  466. largegasterBlast(CFrame.new(c.HumanoidRootPart.CFrame.p+Vector3.new(0,50,0),pointTarget):toWorldSpace(CFrame.new(0,0,-25)));
  467. end;
  468. end);
  469. mouse.Button1Down:connect(function()
  470. Debounces.isFlash=true;
  471. end);
  472. mouse.Button1Up:connect(function()
  473. Debounces.isFlash=false;
  474. end);
  475. mouse.KeyDown:connect(function(key)
  476. if key=='k'then
  477. if music.isPlaying then music:Stop();else music:Play();end;
  478. end;
  479. end);
  480. mouse.KeyDown:connect(function(key)
  481. if key=='j'then
  482. if music2.isPlaying then music2:Stop();else music2:Play();end;
  483. end;
  484. end);
  485. mouse.KeyDown:connect(function(key)
  486. if key=='l'then
  487. if music3.isPlaying then music3:Stop();else music3:Play();end;
  488. end;
  489. end);
  490. mouse.KeyDown:connect(function(key)
  491. if key=='p'then
  492. if music4.isPlaying then music4:Stop();else music4:Play();end;
  493. end;
  494. end);
  495. mouse.KeyDown:connect(function(key)
  496. if key=='o'then
  497. if music5.isPlaying then music4:Stop();else music5:Play();end;
  498. end;
  499. end);
  500. mouse.KeyDown:connect(function(key)
  501. if key=='e'then
  502. gasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p,true);
  503. end;
  504. end);
  505. mouse.KeyDown:connect(function(key)
  506. if key=='c'then
  507. largegasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p);
  508. end;
  509. end);
  510. mouse.KeyDown:connect(function(key)
  511. if key=='q'then
  512. for i=1,5 do
  513. wait();
  514. gasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p);
  515. end;
  516. largegasterBlast(c.Torso.CFrame.p+Vector3.new(0,25,0),mouse.Hit.p);
  517. end;
  518. end);
  519. mouse.KeyDown:connect(function(key)
  520. if key=='t'then
  521. local pointTarget=mouse.Hit.p;
  522. for i=1,20 do
  523. gasterBlast(pointTarget+Vector3.new(math.sin(math.deg((360/40)*i))*(20-i),5+i,math.cos(math.deg((360/40)*i))*(20-i)),pointTarget);
  524. end;
  525. wait(.2);
  526. for i=1,10 do
  527. largegasterBlast(pointTarget+Vector3.new(math.sin(math.deg((360/20)*i))*25,20,math.cos(math.deg((360/20)*i))*25),pointTarget);
  528. end;
  529. end;
  530. end);
  531. human.StateChanged:connect(function(os,ns)
  532. if c.HumanoidRootPart.Velocity.Y<.1 and Debounces.isJumping==true and ns==Enum.HumanoidStateType.Landed then
  533. Debounces.isJumping=false;
  534. end;
  535. end);
  536. for i=1,#Joints do
  537. Joints[i].C1=CFrameZero();
  538. end;
  539. rs.RenderStepped:connect(function()
  540. Debounces.FPS=1/rs.RenderStepped:wait();
  541. if Debounces.FPS<30 then
  542. Debounces.FPS=30;
  543. end;
  544. if Debounces.isSprinting then
  545. lerpBoom();
  546. else
  547. noBoom();
  548. end;
  549. for _,v in pairs(rayModel:children())do
  550. v.Transparency=v.Transparency+.06/(Debounces.FPS/60);
  551. if v.Transparency>.99 then v:Destroy();return;end;
  552. v.CanCollide=true;
  553. local tParts=v:GetTouchingParts();
  554. v.CanCollide=false;
  555. local vCFrame=v.CFrame;
  556. v.Size=v.Size+Vector3.new(0,1,1)/(Debounces.FPS/60);
  557. v.CFrame=vCFrame;
  558. for _,x in pairs(tParts)do
  559. if x and x.Parent and x.Parent:FindFirstChild'Humanoid'and x.Parent.Humanoid:isA'Humanoid'and x.Parent~=c then
  560. x.Parent.Humanoid:TakeDamage(1,2);
  561. end;
  562. end;
  563. end;
  564. local FPSLerp=AnimStat.lerpSpeed/(Debounces.FPS/60);
  565. for i=1,#Joints do
  566. Joints[i].C0=Joints[i].C0:lerp(JointTargets[i],FPSLerp);
  567. end;
  568. end);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement