Advertisement
DarkScriptZEditors

Untitled

Jan 3rd, 2019
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.53 KB | None | 0 0
  1.  
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code by Mokiros")
  7. local rp = RealPlayer
  8. script.Parent = rp.Character
  9.  
  10. --RemoteEvent for communicating
  11. local Event = Instance.new("RemoteEvent")
  12. Event.Name = "UserInput_Event"
  13.  
  14. --Fake event to make stuff like Mouse.KeyDown work
  15. local function fakeEvent()
  16. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  17. t.connect = t.Connect
  18. return t
  19. end
  20.  
  21. --Creating fake input objects with fake variables
  22. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  23. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26. end}
  27. --Merged 2 functions into one by checking amount of arguments
  28. CAS.UnbindAction = CAS.BindAction
  29.  
  30. --This function will trigger the events that have been :Connect()'ed
  31. local function te(self,ev,...)
  32. local t = m[ev]
  33. if t and t._fakeEvent then
  34. for _,f in pairs(t.Functions) do
  35. f(...)
  36. end
  37. end
  38. end
  39. m.TrigEvent = te
  40. UIS.TrigEvent = te
  41.  
  42. Event.OnServerEvent:Connect(function(plr,io)
  43. if plr~=rp then return end
  44. m.Target = io.Target
  45. m.Hit = io.Hit
  46. if not io.isMouse then
  47. local b = io.UserInputState == Enum.UserInputState.Begin
  48. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  49. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  50. end
  51. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  52. return m:TrigEvent(b and "Button2Down" or "Button2Up")
  53. end
  54. for _,t in pairs(CAS.Actions) do
  55. for _,k in pairs(t.Keys) do
  56. if k==io.KeyCode then
  57. t.Function(t.Name,io.UserInputState,io)
  58. end
  59. end
  60. end
  61. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  62. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  63. end
  64. end)
  65. Event.Parent = NLS([==[
  66. local Player = game:GetService("Players").LocalPlayer
  67. local Event = script:WaitForChild("UserInput_Event")
  68. local Mouse = Player:GetMouse()
  69. local UIS = game:GetService("UserInputService")
  70. local input = function(io,a)
  71. if a then return end
  72. --Since InputObject is a client-side instance, we create and pass table instead
  73. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  74. end
  75. UIS.InputBegan:Connect(input)
  76. UIS.InputEnded:Connect(input)
  77. local h,t
  78. --Give the server mouse data 30 times every second, but only if the values changed
  79. --If player is not moving their mouse, client won't fire events
  80. while wait(1/30) do
  81. if h~=Mouse.Hit or t~=Mouse.Target then
  82. h,t=Mouse.Hit,Mouse.Target
  83. Event:FireServer({isMouse=true,Target=t,Hit=h})
  84. end
  85. end]==],Player.Character)
  86.  
  87. ----Sandboxed game object that allows the usage of client-side methods and services
  88. --Real game object
  89. local _rg = game
  90.  
  91. --Metatable for fake service
  92. local fsmt = {
  93. __index = function(self,k)
  94. local s = rawget(self,"_RealService")
  95. if s then
  96. return typeof(s[k])=="function"
  97. and function(_,...)return s[k](s,...)end or s[k]
  98. end
  99. end,
  100. __newindex = function(self,k,v)
  101. local s = rawget(self,"_RealService")
  102. if s then s[k]=v end
  103. end
  104. }
  105. local function FakeService(t,RealService)
  106. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  107. return setmetatable(t,fsmt)
  108. end
  109.  
  110. --Fake game object
  111. local g = {
  112. GetService = function(self,s)
  113. return rawget(self,s) or _rg:GetService(s)
  114. end,
  115. Players = FakeService({
  116. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  117. },"Players"),
  118. UserInputService = FakeService(UIS,"UserInputService"),
  119. ContextActionService = FakeService(CAS,"ContextActionService"),
  120. RunService = FakeService({
  121. _btrs = {},
  122. RenderStepped = _rg:GetService("RunService").Heartbeat,
  123. BindToRenderStep = function(self,name,_,fun)
  124. self._btrs[name] = self.Heartbeat:Connect(fun)
  125. end,
  126. UnbindFromRenderStep = function(self,name)
  127. self._btrs[name]:Disconnect()
  128. end,
  129. },"RunService")
  130. }
  131. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  132. g.service = g.GetService
  133. FakeService(g,game)
  134. --Changing owner to fake player object to support owner:GetMouse()
  135. game,owner = g,g.Players.LocalPlayer
  136. end
  137. --------------------------------------------------------
  138.  
  139. pls = game:GetService'Players'
  140. rs = game:GetService'RunService'
  141. uinps = game:GetService'UserInputService'
  142. lp = pls.LocalPlayer
  143. mouse = lp:GetMouse()
  144. c = lp.Character
  145. rayModel = Instance.new("Model",c)
  146. human = c.Humanoid
  147. Cone = nil
  148. human.MaxHealth = 500
  149. wait()
  150. human.Health = 500
  151. c.Health:Destroy()
  152.  
  153. --------------------------------------------------------
  154.  
  155. Debounces = {
  156. FPS = 0;
  157. isAttacking = false;
  158. isMoving = false;
  159. isSprinting = false;
  160. Debounce = false;
  161. isTyping = false;
  162. isJumping = false;
  163. isFlash = false;
  164. }
  165.  
  166. --------------------------------------------------------
  167.  
  168. numLerp = function(start, goal, alpha)
  169. return(((goal - start) * alpha) + start)
  170. end
  171.  
  172. CFrameZero = function()
  173. return CFrame.new(Vector3.new())
  174. end
  175. local function a()
  176. local t=tick();
  177. local l=t%1*3;
  178. local t=.5*math.pi*(l%1);
  179. if l<1 then
  180. return Color3.new(1,1-math.cos(t),1-math.sin(t));
  181. elseif l<2 then
  182. return Color3.new(1-math.sin(t),1,1-math.cos(t));
  183. else
  184. return Color3.new(1-math.cos(t),1-math.sin(t),1);
  185. end;
  186. end;
  187. rad = function(value)
  188. return math.rad(value)
  189. end
  190.  
  191. CFAngles = function(Vector)
  192. return CFrame.Angles(rad(Vector.x),rad(Vector.y),rad(Vector.z))
  193. end
  194.  
  195. --------------------------------------------------------
  196.  
  197. AnimStat = {
  198. lerpSpeed = .2;
  199. lerpSpeed2 = .35;
  200. lerpTween = 0;
  201. }
  202.  
  203. Joints = {
  204. c.HumanoidRootPart.RootJoint;
  205. c.Torso.Neck;
  206. c.Torso['Left Shoulder'];
  207. c.Torso['Right Shoulder'];
  208. c.Torso['Left Hip'];
  209. c.Torso['Right Hip'];
  210. }
  211.  
  212. JointTargets = {
  213. CFrameZero();
  214. CFrameZero();
  215. CFrameZero();
  216. CFrameZero();
  217. CFrameZero();
  218. CFrameZero();
  219. }
  220.  
  221.  
  222. --------------------------------------------------------
  223.  
  224. prepareCharacter = function()
  225. music = Instance.new("Sound",c.HumanoidRootPart)
  226. music.SoundId = "rbxassetid://394144904"
  227. music.Looped = true
  228. music.Volume = .6
  229. music2 = Instance.new("Sound",c)
  230. music2.SoundId = "rbxassetid://259613634"
  231. music2.Looped = true
  232. music2.Volume = 1
  233. music3 = Instance.new("Sound",c.HumanoidRootPart)
  234. music3.SoundId = "rbxassetid://266530326"
  235. music3.Looped = true
  236. music3.Volume = 1
  237. music4 = Instance.new("Sound",c.HumanoidRootPart)
  238. music4.SoundId = "rbxassetid://155738252"
  239. music4.Looped = true
  240. music4.Volume = 1
  241. music5 = Instance.new("Sound",c.HumanoidRootPart)
  242. music5.SoundId = "rbxassetid://215391212"
  243. music5.Looped = true
  244. music5.Volume = 1
  245. human.WalkSpeed = 0
  246. human.JumpPower = 0
  247. for i,v in pairs (c:children()) do
  248. if v:isA"Hat" then v:Destroy() end
  249. if v:FindFirstChild("roblox") then v.roblox:Destroy() end
  250. 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
  251. if v:FindFirstChild("face") then v.face:Destroy() end
  252. if v:isA"Part" then v.BrickColor = BrickColor.new("White") end
  253. end
  254. local shirt = c:FindFirstChild("Shirt") or Instance.new("Shirt",c)
  255. local pants = c:FindFirstChild("Pants") or Instance.new("Pants",c)
  256. shirt.ShirtTemplate = "rbxassetid://429009258"
  257. pants.PantsTemplate = "rbxassetid://429011265"
  258. local Head = Instance.new("Part",c)
  259. Head.Size = Vector3.new(2,2,1)
  260. Head.Transparency = 1
  261. Head:BreakJoints()
  262. local hw = Instance.new("Weld",c.Head)
  263. hw.Part0 = c.Head
  264. hw.Part1 = Head
  265. hw.C0 = CFrame.new(0,.3,0)
  266. faceDecal = Instance.new("Decal",Head)
  267. faceDecal.Face = Enum.NormalId.Front
  268. faceDecal.Texture = "rbxassetid://409451128"
  269. local backDecal = Instance.new("Decal",Head)
  270. backDecal.Face = Enum.NormalId.Back
  271. backDecal.Texture = "rbxassetid://409451128"
  272. local mes = Instance.new("BlockMesh",Head)
  273. mes.Scale = Vector3.new(1,1,.4)
  274. local Anim = human:FindFirstChild("Animator")
  275. if Anim then Anim:Destroy() end
  276. end
  277.  
  278. setJointCFrames = function(table)
  279. for i = 1,#table do
  280. JointTargets[i] = table[i]
  281. end
  282. end
  283.  
  284. triWave = function(x) --> triangular sine
  285. local pi2 = math.pi/2
  286. return math.abs((x/pi2)%4-2)-1
  287. end
  288.  
  289. setLerp = function(speed)
  290. AnimStat.lerpSpeed = speed
  291. end
  292.  
  293. setTween = function(tween)
  294. AnimStat.lerpTween = tween
  295. end
  296.  
  297. playSound = function(id,part,vol,pitch)
  298. local vol = vol or 1
  299. local pitch = pitch or 1
  300. local x = Instance.new("Sound",part)
  301. x.Volume = vol
  302. x.Pitch = pitch
  303. x.SoundId = "rbxassetid://"..id
  304. spawn(function()
  305. wait()
  306. x:Play()
  307. wait(x.TimeLength + .2)
  308. x:Destroy()
  309. end)
  310. end
  311.  
  312. lerpBoom = function()
  313. if Cone then
  314. Cone.CFrame = CFrame.new(c.HumanoidRootPart.CFrame.p,c.HumanoidRootPart.CFrame.p + c.HumanoidRootPart.Velocity) * CFrame.Angles(-math.pi/2,0,0)
  315. cMesh.Scale = Vector3.new(20,20+c.HumanoidRootPart.Velocity.magnitude/10,20)
  316. Cone.Transparency = 1-c.HumanoidRootPart.Velocity.magnitude/1000
  317. else
  318. Cone = Instance.new("Part",c)
  319. Cone.Anchored = true
  320. Cone.CanCollide = false
  321. Cone.Transparency = math.random(50,70)/100
  322. Cone.Size = Vector3.new(1,1,1)
  323. Cone.CFrame = CFrame.new(c.HumanoidRootPart.CFrame.p,c.HumanoidRootPart.CFrame.p + c.HumanoidRootPart.Velocity) * CFrame.Angles(-math.pi/2,0,0)
  324. cMesh = Instance.new("SpecialMesh",Cone)
  325. cMesh.MeshId = "rbxassetid://1033714"
  326. cMesh.Scale = Vector3.new(20,50,20)
  327. end
  328. end
  329.  
  330. noBoom = function()
  331. if Cone then local x = Cone Cone = nil
  332. for i = 1,20 do
  333. wait()
  334. x.Mesh.Scale = x.Mesh.Scale + Vector3.new(-.5,1,-.5)
  335. x.Transparency = x.Transparency + 1/30
  336. end
  337. end
  338. end
  339.  
  340. gasterBlast = function(tCFrame,aimPos,charge)
  341. local aimTarget
  342. if aimPos then
  343. aimTarget = CFrame.new(tCFrame,aimPos)
  344. else
  345. aimTarget = tCFrame
  346. end
  347. local gast = Instance.new("Part",c)
  348. gast.Size = Vector3.new(12,.2,12)
  349. gast.CanCollide = false
  350. gast.Anchored = true
  351. gast.Transparency = 1
  352. if charge then
  353. playSound(130992510,gast,math.random(90,110)/100)
  354. end
  355. wait()
  356. for i = 1,2 do
  357. local decal = Instance.new("Decal",gast)
  358. decal.Texture = "rbxassetid://337889681"
  359. if i == 1 then
  360. decal.Face = Enum.NormalId.Top
  361. else
  362. decal.Face = Enum.NormalId.Bottom
  363. end
  364. end
  365. gast.CFrame = CFrame.new(aimTarget.p - Vector3.new(math.sin(tick()*10)*10,20,math.cos(tick()*10)*10))
  366. spawn(function()
  367. local tarCFrame = gast.CFrame
  368. local isLooping = true
  369. spawn(function()
  370. while rs.RenderStepped:wait() and isLooping do
  371. gast.CFrame = gast.CFrame:lerp(tarCFrame,.6/(Debounces.FPS/60))
  372. end
  373. end)
  374. for i = 1,30 do
  375. wait()
  376. tarCFrame = gast.CFrame:lerp(aimTarget,.24)
  377. end
  378. --playSound(340722848,gast,math.random(90,110)/100)
  379. isLooping = false
  380. wait(.08)
  381. local ray = Ray.new(aimTarget.p,aimTarget.lookVector.unit * 999)
  382. local _, pos = workspace:FindPartOnRay(ray,c)
  383. local dis = (aimTarget.p - pos).magnitude
  384. 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)
  385. local rayPart = Instance.new("Part",rayModel)
  386. rayPart.Material = "Neon"
  387. rayPart.FormFactor = "Custom"
  388. rayPart.Color = a();
  389. rayPart.Anchored = true
  390. rayPart.CanCollide = false
  391. rayPart.Shape = "Cylinder"
  392. rayPart.Size = Vector3.new(dis + 400,8,8)
  393. rayPart.CFrame = rayCFrame
  394. gast:Destroy()
  395. end)
  396. end
  397.  
  398. largegasterBlast = function(tCFrame,aimPos)
  399. local aimTarget
  400. if aimPos then
  401. aimTarget = CFrame.new(tCFrame,aimPos)
  402. else
  403. aimTarget = tCFrame
  404. end
  405. local gast = Instance.new("Part",c)
  406. gast.Size = Vector3.new(25,.2,25)
  407. gast.CanCollide = false
  408. gast.Anchored = true
  409. gast.Transparency = 1
  410. playSound(130992510,gast,math.random(85,97)/100)
  411. wait()
  412. for i = 1,2 do
  413. local decal = Instance.new("Decal",gast)
  414. decal.Texture = "rbxassetid://337889681"
  415. if i == 1 then
  416. decal.Face = Enum.NormalId.Top
  417. else
  418. decal.Face = Enum.NormalId.Bottom
  419. end
  420. end
  421. gast.CFrame = CFrame.new(aimTarget.p - Vector3.new(math.sin(tick()*10)*10,20,math.cos(tick()*10)*10))
  422. spawn(function()
  423. local tarCFrame = gast.CFrame
  424. local isLooping = true
  425. spawn(function()
  426. while rs.RenderStepped:wait() and isLooping do
  427. gast.CFrame = gast.CFrame:lerp(tarCFrame,.6/(Debounces.FPS/60))
  428. end
  429. end)
  430. for i = 1,40 do
  431. wait()
  432. tarCFrame = gast.CFrame:lerp(aimTarget,.18)
  433. end
  434. --playSound(340722848,gast,math.random(80,95)/100)
  435. isLooping = false
  436. wait(.08)
  437. local ray = Ray.new(aimTarget.p,aimTarget.lookVector.unit * 999)
  438. local _, pos = workspace:FindPartOnRay(ray,c)
  439. local dis = (aimTarget.p - pos).magnitude
  440. 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)
  441. local rayPart = Instance.new("Part",rayModel)
  442. rayPart.Material = "Neon"
  443. rayPart.FormFactor = "Custom"
  444. rayPart.Color = a();
  445. rayPart.Anchored = true
  446. rayPart.CanCollide = false
  447. rayPart.Shape = "Cylinder"
  448. rayPart.Size = Vector3.new(dis + 400,17,17)
  449. rayPart.CFrame = rayCFrame
  450. gast:Destroy()
  451. end)
  452. end
  453.  
  454. --------------------------------------------------------
  455.  
  456. prepareCharacter()
  457.  
  458. --------------------------------------------------------
  459.  
  460. spawn(function()
  461. local sine = 0
  462. while wait() do
  463. if Debounces.isFlash then
  464. if (tick()*8)%2 > 1 then
  465. faceDecal.Texture = "rbxassetid://409451128"
  466. else
  467. faceDecal.Texture = "rbxassetid://409451128"
  468. end
  469. else
  470. faceDecal.Texture = "rbxassetid://409451128"
  471. end
  472. if Debounces.isAttacking == false and Debounces.isMoving == false and Debounces.Debounce == false and Debounces.isJumping == false then
  473. setLerp(.8)
  474. local spasm = math.abs(math.sin(tick()*20))*1.1
  475. local spasm2 = math.abs(math.sin(tick()*20-2))*1.1
  476. local spasm3 = math.abs(math.sin(tick()*20-2.3))*1.1
  477. setJointCFrames({
  478. CFrame.new(Vector3.new(0, 0-spasm, 0)) * CFAngles(Vector3.new(0, 0, 0));
  479. CFrame.new(Vector3.new(0, 1.5, 0)) * CFAngles(Vector3.new(-0.011, -0.502, -1.177));
  480. CFrame.new(Vector3.new(-1.5-spasm2^2/3, -0.001, 0)) * CFAngles(Vector3.new(-2.344, 7.899, -2.82+spasm3^2*-60));
  481. CFrame.new(Vector3.new(1.569+spasm2^2/3, 0, -0.1)) * CFAngles(Vector3.new(4.822, 1.123, 6.383+spasm3^2*60));
  482. CFrame.new(Vector3.new(-0.61, -2+spasm/1.01, -.15)) * CFAngles(Vector3.new(-2.206, 0.767, -0.582));
  483. CFrame.new(Vector3.new(0.55, -2+spasm/1.01, -.1)) * CFAngles(Vector3.new(-0.026, 0.463, 3.184));
  484. })
  485. elseif Debounces.isAttacking == false and Debounces.isMoving == true and Debounces.Debounce == false and Debounces.isSprinting == false and Debounces.isJumping == false then
  486. sine = tick()*18
  487. human.WalkSpeed = 45
  488. setLerp(.35)
  489. setJointCFrames({
  490. 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));
  491. CFrame.new(Vector3.new(0, 1.48, 0.099)) * CFAngles(Vector3.new(14.999, -0.001, 0));
  492. 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));
  493. 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));
  494. 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));
  495. 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));
  496. })
  497. elseif Debounces.isAttacking == false and Debounces.isMoving == true and Debounces.Debounce == false and Debounces.isSprinting == true and Debounces.isJumping == false then
  498. sine = tick()*28
  499. human.WalkSpeed = 30
  500. lerpBoom()
  501. setLerp(.65)
  502. setJointCFrames({
  503. 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));
  504. CFrame.new(Vector3.new(0, 1.48, 0.099)) * CFAngles(Vector3.new(14.999, -0.001, 0));
  505. 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));
  506. 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));
  507. 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));
  508. 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));
  509. })
  510. elseif Debounces.isJumping == true and Debounces.Debounce == false then
  511. setLerp(.14)
  512. human.WalkSpeed = 45
  513. setJointCFrames({
  514. CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(-8, 0, 0));
  515. CFrame.new(Vector3.new(0, 1.5, -0.15)) * CFAngles(Vector3.new(-10.138, 3.687, 0.306));
  516. CFrame.new(Vector3.new(-1.23, 0.069, -0.56)) * CFAngles(Vector3.new(50.809, 0.672, 18.704));
  517. CFrame.new(Vector3.new(0.929, -0.031, -1.0912)) * CFAngles(Vector3.new(63.00, 13.85, -36.416));
  518. CFrame.new(Vector3.new(-0.63, -1.82, -0.74)) * CFAngles(Vector3.new(31.324, 3.424, -1.249));
  519. CFrame.new(Vector3.new(0.619, -1.331, 0.82)) * CFAngles(Vector3.new(-59.644, 0.998, 9.776));
  520. })
  521. end
  522. end
  523. end)
  524.  
  525. human.Changed:connect(function(prop)
  526. if prop == "MoveDirection" then
  527. if human.MoveDirection.magnitude > .02 then
  528. Debounces.isMoving = true
  529. else
  530. Debounces.isMoving = false
  531. end
  532. end
  533. end)
  534.  
  535. uinps.InputBegan:connect(function(InputObj)
  536. if InputObj.KeyCode == Enum.KeyCode.Slash then
  537. local finishEvent = nil
  538. Debounces.isTyping = true
  539. finishEvent = uinps.InputBegan:connect(function(InputObj)
  540. if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then
  541. Debounces.isTyping = false
  542. finishEvent:disconnect()
  543. end
  544. end)
  545. end
  546. end)
  547.  
  548. mouse.KeyDown:connect(function(key)
  549. if key == "0" then
  550. Debounces.isSprinting = true
  551. playSound(160248522,c.Torso)
  552. for i = 1,3 do
  553. spawn(function()
  554. local e = Instance.new("Part",c)
  555. e.Size = Vector3.new(1,1,1)
  556. e.Material = "Neon"
  557. e.Color = a();
  558. e.Anchored = true
  559. e.CFrame = c.HumanoidRootPart.CFrame * CFrame.Angles(0,0,-math.pi/2)
  560. e.CanCollide = false
  561. local rm = Instance.new("SpecialMesh",e)
  562. rm.MeshType = "FileMesh"
  563. rm.MeshId = "rbxassetid://3270017"
  564. rm.Scale = Vector3.new(3.2,3.2,10)
  565. for x = 1,30 do
  566. wait()
  567. rm.Scale = rm.Scale:lerp(Vector3.new(i*30,i*30,(4-i)*450),.1)
  568. e.Transparency = x/30+.5
  569. end
  570. end)
  571. end
  572. c.HumanoidRootPart.Velocity = c.HumanoidRootPart.CFrame.lookVector * 200
  573. end
  574. end)
  575.  
  576. mouse.KeyUp:connect(function(key)
  577. if key == "0" then
  578. Debounces.isSprinting = false
  579. end
  580. end)
  581.  
  582. mouse.KeyDown:connect(function(key)
  583. if key == "v" then
  584. playSound(201858087,c.Torso,math.random(90,120)/100)
  585. local oldPos = c.HumanoidRootPart.CFrame.p
  586. local mHit = mouse.Hit.p
  587. for i = 1,2 do
  588. spawn(function()
  589. local pos
  590. if i == 1 then pos = oldPos else pos = mHit end
  591. local p = Instance.new("Part",workspace)
  592. p.Anchored = true
  593. p.CanCollide = false
  594. p.Color = a();
  595. p.FormFactor = "Custom"
  596. p.CFrame = CFrame.new(pos + Vector3.new(0,500,0))
  597. p.Transparency = .4
  598. p.Size = Vector3.new(20,1000,20)
  599. for i = 1,20 do
  600. wait()
  601. p.Transparency = .4 + (i/10)*.6
  602. p.Size = Vector3.new(20-i*1.5,1000,20-i*1.5)
  603. p.CFrame = CFrame.new(pos + Vector3.new(0,500,0))
  604. end
  605. p:Destroy()
  606. end)
  607. end
  608. if Debounces.isMoving then
  609. 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))
  610. else
  611. c.HumanoidRootPart.CFrame = CFrame.new(mouse.Hit.p + Vector3.new(0,4,0),Vector3.new(oldPos.x,mouse.Hit.p.y+4,oldPos.z))
  612. end
  613. end
  614. end)
  615.  
  616. mouse.KeyDown:connect(function(key)
  617. if key == "r" then
  618. local pointTarget = mouse.Hit.p
  619. for i = 1,20 do
  620. wait()
  621. 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))
  622. end
  623. wait()
  624. largegasterBlast(CFrame.new(pointTarget + Vector3.new(0,35,0),pointTarget))
  625. end
  626. end)
  627.  
  628. mouse.KeyDown:connect(function(key)
  629. if key == "f" then
  630. local pointTarget = mouse.Hit.p
  631. for i = 1,20 do
  632. wait()
  633. 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)))
  634. end
  635. largegasterBlast(CFrame.new(c.HumanoidRootPart.CFrame.p + Vector3.new(0,50,0),pointTarget):toWorldSpace(CFrame.new(0,0,-25)))
  636. end
  637. end)
  638.  
  639. mouse.Button1Down:connect(function()
  640. Debounces.isFlash = true
  641. end)
  642.  
  643. mouse.Button1Up:connect(function()
  644. Debounces.isFlash = false
  645. end)
  646.  
  647. mouse.KeyDown:connect(function(key)
  648. if key == "k" then
  649. if music.isPlaying then music:Stop() else music:Play() end
  650. end
  651. end)
  652.  
  653. mouse.KeyDown:connect(function(key)
  654. if key == "j" then
  655. if music2.isPlaying then music2:Stop() else music2:Play() end
  656. end
  657. end)
  658.  
  659. mouse.KeyDown:connect(function(key)
  660. if key == "l" then
  661. if music3.isPlaying then music3:Stop() else music3:Play() end
  662. end
  663. end)
  664.  
  665. mouse.KeyDown:connect(function(key)
  666. if key == "p" then
  667. if music4.isPlaying then music4:Stop() else music4:Play() end
  668. end
  669. end)
  670.  
  671. mouse.KeyDown:connect(function(key)
  672. if key == "o" then
  673. if music5.isPlaying then music4:Stop() else music5:Play() end
  674. end
  675. end)
  676.  
  677. mouse.KeyDown:connect(function(key)
  678. if key == "e" then
  679. gasterBlast(c.Torso.CFrame.p + Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p,true)
  680. end
  681. end)
  682.  
  683. mouse.KeyDown:connect(function(key)
  684. if key == "c" then
  685. largegasterBlast(c.Torso.CFrame.p + Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p)
  686. end
  687. end)
  688.  
  689. mouse.KeyDown:connect(function(key)
  690. if key == "q" then
  691. for i = 1,5 do
  692. wait()
  693. gasterBlast(c.Torso.CFrame.p + Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p)
  694. end
  695. largegasterBlast(c.Torso.CFrame.p + Vector3.new(0,25,0),mouse.Hit.p)
  696. end
  697. end)
  698.  
  699. mouse.KeyDown:connect(function(key)
  700. if key == "t" then
  701. local pointTarget = mouse.Hit.p
  702. for i = 1,20 do
  703. 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)
  704. end
  705. wait(.2)
  706. for i = 1,10 do
  707. largegasterBlast(pointTarget + Vector3.new(math.sin(math.deg((360/20)*i))*25,20,math.cos(math.deg((360/20)*i))*25),pointTarget)
  708. end
  709. end
  710. end)
  711.  
  712. human.StateChanged:connect(function(os,ns)
  713. if c.HumanoidRootPart.Velocity.Y < .1 and Debounces.isJumping == true and ns == Enum.HumanoidStateType.Landed then
  714. Debounces.isJumping = false
  715. end
  716. end)
  717.  
  718. for i = 1,#Joints do
  719. Joints[i].C1 = CFrameZero()
  720. end
  721.  
  722. rs.RenderStepped:connect(function()
  723. Debounces.FPS = 1/rs.RenderStepped:wait()
  724. if Debounces.FPS < 30 then
  725. Debounces.FPS = 30
  726. end
  727. if Debounces.isSprinting then
  728. lerpBoom()
  729. else
  730. noBoom()
  731. end
  732. for _,v in pairs (rayModel:children()) do
  733. v.Transparency = v.Transparency + .06/(Debounces.FPS/60)
  734. if v.Transparency > .99 then v:Destroy() return end
  735. v.CanCollide = true
  736. local tParts = v:GetTouchingParts()
  737. v.CanCollide = false
  738. local vCFrame = v.CFrame
  739. v.Size = v.Size + Vector3.new(0,1,1)/(Debounces.FPS/60)
  740. v.CFrame = vCFrame
  741. for _,x in pairs (tParts) do
  742. if x and x.Parent and x.Parent:FindFirstChild("Humanoid") and x.Parent.Humanoid:isA'Humanoid' and x.Parent ~= c then
  743. x.Parent.Humanoid:TakeDamage(1,2)
  744. end
  745. end
  746. end
  747. local FPSLerp = AnimStat.lerpSpeed/(Debounces.FPS/60)
  748. for i = 1,#Joints do
  749. Joints[i].C0 = Joints[i].C0:lerp(JointTargets[i], FPSLerp)
  750. end
  751. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement