wamandnj

Untitled

Mar 5th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has been converted to FE by iPxter
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7. print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
  8. script.Parent = Player.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,Connect=function(self,f)self.Function=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()}
  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 and t.Function then
  34. t.Function(...)
  35. end
  36. end
  37. m.TrigEvent = te
  38. UIS.TrigEvent = te
  39.  
  40. Event.OnServerEvent:Connect(function(plr,io)
  41. if plr~=Player then return end
  42. if io.isMouse then
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. else
  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 UIS = game:GetService("UserInputService")
  66. local input = function(io,a)
  67. if a then return end
  68. --Since InputObject is a client-side instance, we create and pass table instead
  69. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70. end
  71. UIS.InputBegan:Connect(input)
  72. UIS.InputEnded:Connect(input)
  73.  
  74. local Mouse = Player:GetMouse()
  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. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86.  
  87.  
  88.  
  89. --Player
  90. local player = owner
  91.  
  92. repeat
  93. wait()
  94. until player.Character
  95. local character = player.Character
  96. local humanoid = character:WaitForChild("Humanoid")
  97. local mouse = Mouse
  98.  
  99. --Health
  100. coroutine.resume(coroutine.create(function()
  101. while true do
  102. wait()
  103. humanoid.PlatformStand = false
  104. humanoid.MaxHealth = 1000
  105. end
  106. end))
  107.  
  108. --Other
  109. local mousedown = false
  110. local enabled = false
  111. local rightready = false
  112. local leftready = false
  113. local available = true
  114. local fastmode = 1
  115. local rainbow = false
  116. local active = false
  117. local spacepress = false
  118. local regen = true
  119. local cooldown = 0.3
  120. local firespeed = cooldown
  121. local heat = 50
  122. local beat = 1
  123. local order = 1
  124.  
  125. local mindamage = 27
  126. local maxdamage = 43
  127. local pierce = 3
  128.  
  129. --Sound
  130. local firesound = Instance.new("Sound")
  131. firesound.SoundId = "rbxassetid://10209257" --rbxassetid://146830902
  132. firesound.Volume = 10
  133. firesound.EmitterSize = 3
  134. firesound.Pitch = 1
  135. local setupsound = Instance.new("Sound")
  136. setupsound.SoundId = "rbxassetid://10209240"
  137. setupsound.Volume = 10
  138. setupsound.EmitterSize = 3
  139. setupsound.Pitch = 1
  140. local lasersound = Instance.new("Sound")
  141. lasersound.SoundId = "rbxassetid://1146690806"
  142. lasersound.Volume = 10
  143. lasersound.EmitterSize = 3
  144. lasersound.Pitch = 1
  145.  
  146. --Parts
  147. local head = character.Head
  148. local torso = character.Torso
  149. local rightarm = character["Right Arm"]
  150. local leftarm = character["Left Arm"]
  151. local rs = torso["Right Shoulder"]
  152. local ls = torso["Left Shoulder"]
  153. local neck = torso["Neck"]
  154.  
  155. --Useful functions
  156.  
  157. local function Weld(part0, part1, parent, anchored)
  158. part0.Anchored = true
  159. local weld = Instance.new("Weld")
  160. weld.Name = "Weldy"
  161. weld.Part0 = part0
  162. weld.Part1 = part1
  163. weld.C0 = CFrame.new()
  164. weld.C1 = part1.CFrame:toObjectSpace(part0.CFrame)
  165. weld.Parent = parent
  166. if anchored == true then
  167. part0.Anchored = true
  168. elseif anchored == false then
  169. part0.Anchored = false
  170. end
  171. end
  172.  
  173. local function Mesh(meshtype, parent, scale, id)
  174. local mesh = Instance.new("SpecialMesh")
  175. mesh.MeshType = meshtype
  176. mesh.Name = "Meshy"
  177. if scale ~= nil then
  178. mesh.Scale = scale
  179. end
  180. if meshtype == "FileMesh" then
  181. mesh.MeshId = "http://www.roblox.com/asset?id="..id
  182. end
  183. mesh.Parent = parent
  184. end
  185.  
  186. local function Light(range, brightness, color, parent)
  187. local light = Instance.new("PointLight")
  188. light.Range = range
  189. light.Brightness = brightness
  190. light.Color = color
  191. light.Name = "Lighty"
  192. light.Parent = parent
  193. coroutine.resume(coroutine.create(function()
  194. while parent and light do
  195. if rainbow == true then
  196. light.Color = parent.Color
  197. else
  198. light.Color = color
  199. end
  200. wait()
  201. end
  202. end))
  203. end
  204.  
  205. --GuiText
  206. local bgui = Instance.new("BillboardGui",character)
  207. bgui.Size = UDim2.new(0,100,0,40)
  208. bgui.StudsOffset = Vector3.new(0,2,0)
  209. bgui.Adornee = character.Head
  210. local text = Instance.new("TextLabel", bgui)
  211. text.BackgroundTransparency = 1
  212. text.BorderSizePixel = 0
  213. text.Text = "oof"
  214. text.Font = "ArialBold"
  215. text.FontSize = "Size24"
  216. text.TextTransparency = 0
  217. text.TextStrokeTransparency = 0
  218. text.TextStrokeColor3 = Color3.new(255,0,0)
  219. text.TextColor3 = Color3.new(255,155,155)
  220. text.Size = UDim2.new(1,0,0.5,0)
  221.  
  222. player.Chatted:connect(function(chat)
  223. chat = game.Chat:FilterStringForBroadcast(chat, player)
  224. for i=1,string.len(chat) do
  225. text.Text = string.sub(chat, 1, i)
  226. wait()
  227. end
  228.  
  229. wait(0.5)
  230. for i=1,10 do
  231. text.TextTransparency = text.TextTransparency + 0.1
  232. text.TextStrokeTransparency = text.TextStrokeTransparency + 0.1
  233. wait()
  234. end
  235. text.TextTransparency = 0
  236. text.TextStrokeTransparency = 0
  237. text.Text = ""
  238. end)
  239. wait(1)
  240. text.Text = ""
  241. text.FontSize = "Size28"
  242.  
  243. local function Chat(stringg, waitstart, waitend)
  244. for i=1,string.len(stringg) do
  245. text.Text = string.sub(stringg, 1, i)
  246. wait(waitstart)
  247. end
  248. wait(0.5)
  249. for i=1,10 do
  250. text.TextTransparency = text.TextTransparency + 0.1
  251. text.TextStrokeTransparency = text.TextStrokeTransparency + 0.1
  252. wait()
  253. end
  254. text.TextTransparency = 0
  255. text.TextStrokeTransparency = 0
  256. text.Text = ""
  257. end
  258.  
  259. text.TextStrokeColor3 = Color3.new(255,0,0)
  260. text.TextColor3 = Color3.new(255,155,155)
  261.  
  262. --Fix
  263. torso.Anchored = true
  264. local original_cframe = torso.CFrame
  265. torso.CFrame = CFrame.new(torso.Position, torso.Position + Vector3.new(0,0,-1))
  266.  
  267. --Main Model
  268.  
  269. local minigun = Instance.new("Model")
  270. minigun.Name = "Minigun"
  271. minigun.Parent = character
  272.  
  273. local bullets = Instance.new("Model")
  274. bullets.Name = "Bullets"
  275. bullets.Parent = character
  276.  
  277. --Eye
  278. local eye = Instance.new("Part")
  279. eye.Size = Vector3.new(0.2,0.3,0.2)
  280. eye.CFrame = CFrame.new((head.Position + Vector3.new(0.2,0.2,0)) + (head.CFrame.lookVector * 0.5), head.Position + (head.CFrame.lookVector * 12000))
  281. eye.Material = Enum.Material.Neon
  282. eye.CanCollide = false
  283. eye.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
  284. eye.Name = "Eye"
  285. eye.BrickColor = BrickColor.new("Really red")
  286. eye.Parent = character
  287.  
  288. head.face.Texture = ""
  289.  
  290. Weld(eye, torso, eye, false)
  291. Mesh("Sphere", eye, nil)
  292.  
  293. --Plates
  294.  
  295. local barrels = Instance.new("Model")
  296. barrels.Name = "Barrels"
  297. barrels.Parent = minigun
  298.  
  299. local leftbarrels = Instance.new("Model")
  300. leftbarrels.Name = "Left"
  301. leftbarrels.Parent = barrels
  302. local rightbarrels = Instance.new("Model")
  303. rightbarrels.Name = "Right"
  304. rightbarrels.Parent = barrels
  305.  
  306. --Barrels
  307. local barrel1 = Instance.new("Part") --Barrel 1
  308. barrel1.BrickColor = BrickColor.new("Smoky grey")
  309. barrel1.Size = Vector3.new(3,0.5,0.5)
  310. barrel1.Material = Enum.Material.Metal
  311. barrel1.CanCollide = true
  312. barrel1.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
  313. barrel1.CFrame = CFrame.new((torso.Position + Vector3.new(-0.5,0.3,0)) + (torso.CFrame.lookVector * 2), torso.Position + (torso.CFrame.lookVector * 2))
  314. barrel1.Name = "Barrel 1"
  315. barrel1.Parent = leftbarrels
  316.  
  317. Weld(barrel1, torso, barrel1, false) --Weld Barrel 1
  318. Mesh("Cylinder", barrel1, nil) --Mesh Barrel 1
  319.  
  320. local barrel2 = Instance.new("Part") --Barrel 2
  321. barrel2.BrickColor = BrickColor.new("Smoky grey")
  322. barrel2.Size = Vector3.new(3,0.5,0.5)
  323. barrel2.Material = Enum.Material.Metal
  324. barrel2.CanCollide = true
  325. barrel2.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
  326. barrel2.CFrame = CFrame.new((torso.Position + Vector3.new(0.5,0.3,0)) + (torso.CFrame.lookVector * 2), torso.Position + (torso.CFrame.lookVector * 2))
  327. barrel2.Name = "Barrel 2"
  328. barrel2.Parent = rightbarrels
  329.  
  330. Weld(barrel2, torso, barrel2, false) --Weld Barrel 2
  331. Mesh("Cylinder", barrel2, nil) --Mesh Barrel 2
  332.  
  333. --Barrelholes
  334.  
  335. local barrelhole1 = Instance.new("Part") --Barrelhole 1
  336. barrelhole1.BrickColor = BrickColor.new("Really black")
  337. barrelhole1.Size = Vector3.new(3.05,0.45,0.45)
  338. barrelhole1.Material = Enum.Material.Metal
  339. barrelhole1.CanCollide = true
  340. barrelhole1.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
  341. barrelhole1.CFrame = CFrame.new((torso.Position + Vector3.new(-0.5,0.3,0)) + (torso.CFrame.lookVector * 1.9), torso.Position + (torso.CFrame.rightVector * -100))
  342. barrelhole1.Name = "Barrelhole 1"
  343. barrelhole1.Parent = leftbarrels
  344.  
  345. Weld(barrelhole1, barrel1, barrelhole1, false) --Weld Barrelhole 1
  346. Mesh("Cylinder", barrelhole1, nil) --Mesh Barrelhole 1
  347.  
  348. local barrelhole2 = Instance.new("Part") --Barrelhole 2
  349. barrelhole2.BrickColor = BrickColor.new("Really black")
  350. barrelhole2.Size = Vector3.new(3.05,0.42,0.42)
  351. barrelhole2.Material = Enum.Material.Metal
  352. barrelhole2.CanCollide = true
  353. barrelhole2.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
  354. barrelhole2.CFrame = CFrame.new((torso.Position + Vector3.new(0.5,0.3,0)) + (torso.CFrame.lookVector * 1.9), torso.Position + (torso.CFrame.rightVector * -100))
  355. barrelhole2.Name = "Barrelhole 2"
  356. barrelhole2.Parent = rightbarrels
  357.  
  358. Weld(barrelhole2, barrel2, barrelhole2, false) --Weld Barrelhole 2
  359. Mesh("Cylinder", barrelhole2, nil) --Mesh Barrelhole 2
  360.  
  361. firesound.Parent = torso
  362. setupsound.Parent = torso
  363. lasersound.Parent = torso
  364.  
  365. --Turn Torso
  366.  
  367. coroutine.resume(coroutine.create(function()
  368. while true do
  369. torso.CFrame = torso.CFrame:lerp(CFrame.new(torso.Position, Vector3.new(mouse.Hit.p.x, torso.Position.y, mouse.Hit.p.z)), 0.5)
  370. wait()
  371. end
  372. end))
  373.  
  374. local left = {barrel1, barrelhole1}
  375. local right = {barrel2, barrelhole2}
  376. local both = {barrel1, barrelhole1, barrel2, barrelhole2}
  377. local bothgun = {barrel1, barrel2}
  378. local bothhole = {barrelhole1, barrelhole2}
  379.  
  380. --Intro
  381.  
  382. barrel1.Meshy.Scale = Vector3.new(0,1,1)
  383. barrel1.Meshy.Offset = Vector3.new(2,0,0)
  384. barrel2.Meshy.Scale = Vector3.new(0,1,1)
  385. barrel2.Meshy.Offset = Vector3.new(-2,0,0)
  386. barrelhole1.Meshy.Scale = Vector3.new(0,1,1)
  387. barrelhole1.Meshy.Offset = Vector3.new(2,0,0)
  388. barrelhole2.Meshy.Scale = Vector3.new(0,1,1)
  389. barrelhole2.Meshy.Offset = Vector3.new(-2,0,0)
  390.  
  391. setupsound:Play()
  392.  
  393. for i=1,10 do
  394. for b,v in pairs(both) do
  395. for c=1,2 do
  396. v.Meshy.Scale = v.Meshy.Scale:lerp(Vector3.new(1,1,1), i / 15)
  397. v.Meshy.Offset = v.Meshy.Offset:lerp(Vector3.new(0,0,0), i / 15)
  398. end
  399. end
  400. wait()
  401. end
  402.  
  403. active = true
  404.  
  405. torso.CFrame = original_cframe
  406. torso.Anchored = false
  407.  
  408. rightready = true
  409. leftready = true
  410.  
  411. --Fire function
  412.  
  413. local function CreateBullet(place)
  414. local firepos = nil
  415.  
  416. if order == 1 then
  417. firepos = barrel1.Position + (barrel1.CFrame.rightVector * -1.5)
  418. elseif order == 2 then
  419. firepos = barrel2.Position + (barrel2.CFrame.rightVector * 1.5)
  420. end
  421.  
  422. --Ray
  423. local ray = Ray.new(firepos, (mouse.Hit.p - firepos).unit * 1000)
  424. local hit, pos = game.Workspace:FindPartOnRay(ray, character, true, false)
  425.  
  426. local dist = (firepos - pos).magnitude
  427.  
  428. --Bullet
  429. local beam = Instance.new("Part", bullets)
  430. beam.Size = Vector3.new(0.5,0.5,dist)
  431. beam.CFrame = CFrame.new(firepos, pos) * CFrame.new(0,0,-dist/2)
  432. beam.CanCollide = false
  433. beam.Anchored = true
  434. beam.BrickColor = BrickColor.new("Bright yellow")
  435. beam.Material = Enum.Material.Neon
  436. beam.Transparency = 0.3
  437.  
  438. local boosh = Instance.new("Part", bullets)
  439. boosh.Size = Vector3.new(1,1,1)
  440. boosh.CFrame = CFrame.new(firepos)
  441. boosh.CanCollide = false
  442. boosh.Anchored = true
  443. boosh.BrickColor = BrickColor.new("Bright yellow")
  444. boosh.Material = Enum.Material.Neon
  445. boosh.Transparency = 0.3
  446.  
  447. --Hit
  448. if hit then
  449. if hit.Parent then
  450. local hithuman = hit.Parent:FindFirstChild("Humanoid")
  451. if hithuman then
  452. hit.Velocity = hit.Velocity + ((hit.Position - pos).unit * 50)
  453. hithuman:TakeDamage(math.random(mindamage, maxdamage))
  454. end
  455. end
  456. end
  457.  
  458. --Effect
  459. local change1 = Vector3.new(0,beam.Transparency,0)
  460. local change2 = Vector3.new(0,boosh.Transparency,0)
  461. for i=1,10 do
  462. beam.Transparency = change1.Y
  463. boosh.Transparency = change2.Y
  464. beam.Size = beam.Size:lerp(Vector3.new(0,0,dist), 0.05 * i)
  465. boosh.Size = boosh.Size:lerp(Vector3.new(0,0,0), 0.05 * i)
  466. boosh.CFrame = boosh.CFrame * CFrame.fromEulerAnglesXYZ(1,1,1)
  467. change1 = change1:lerp(Vector3.new(0,1,0), 0.05 * i)
  468. change2 = change2:lerp(Vector3.new(0,1,0), 0.05 * i)
  469. if rainbow then
  470. boosh.Color = boosh.Color:lerp(BrickColor.Random().Color, 0.3)
  471. beam.Color = beam.Color:lerp(BrickColor.Random().Color, 0.3)
  472. end
  473. wait()
  474. end
  475. beam:Destroy()
  476. boosh:Destroy()
  477. end
  478.  
  479. local function Laser()
  480. lasersound:Play()
  481. if beat == 3 then
  482. lasersound.Pitch = 1
  483. else
  484. lasersound.Pitch = 1.5
  485. end
  486. local laser = Instance.new("Part")
  487. laser.Size = Vector3.new(0.05,0.05, 1000)
  488. laser.CFrame = CFrame.new(eye.Position + (eye.CFrame.lookVector * 500), head.Position + (head.CFrame.lookVector * 12000))
  489. laser.Transparency = 0
  490. laser.Material = Enum.Material.Neon
  491. laser.Name = "Laser"
  492. laser.CanCollide = false
  493. laser.Anchored = true
  494. laser.BrickColor = BrickColor.new("Really red")
  495. laser.Parent = workspace
  496. Mesh("Sphere", laser, Vector3.new(0.5,0.5,1))
  497.  
  498. mouse.TargetFilter = laser
  499.  
  500. laser.Touched:connect(function(touched)
  501. if laser and touched ~= nil and touched.Parent ~= nil then
  502. local laserhumanoid = touched.Parent:FindFirstChild("Humanoid")
  503. if laserhumanoid and laserhumanoid ~= humanoid then
  504. if beat == 3 then
  505. laserhumanoid.Health = laserhumanoid.Health - ((laserhumanoid.MaxHealth / 10) + (math.random(mindamage, maxdamage) * 0.1))
  506. else
  507. laserhumanoid.Health = laserhumanoid.Health - (math.random(mindamage, maxdamage) * 0.1)
  508. end
  509. touched.Velocity = touched.Velocity + (laser.CFrame.lookVector * 5)
  510. end
  511. end
  512. end)
  513. if beat == 3 then
  514. beat = 1
  515. for i=1,20 do
  516. laser.Transparency = laser.Transparency + (i / 70)
  517. laser.Size = laser.Size:lerp(Vector3.new(45,45,1000), i / 66)
  518. laser.CFrame = CFrame.new(eye.Position + (eye.CFrame.lookVector * 500), eye.Position + (eye.CFrame.lookVector * 12000))
  519. wait()
  520. end
  521. else
  522. beat = beat + 1
  523. for i=1,10 do
  524. laser.Transparency = laser.Transparency + (i / 25)
  525. laser.Size = laser.Size:lerp(Vector3.new(15,15,1000), i / 45)
  526. laser.CFrame = CFrame.new(eye.Position + (eye.CFrame.lookVector * 500), eye.Position + (eye.CFrame.lookVector * 12000))
  527. wait()
  528. end
  529. end
  530. laser:Destroy()
  531. end
  532.  
  533. local function Fire()
  534. firesound:Play()
  535.  
  536. coroutine.resume(coroutine.create(function()
  537. CreateBullet(order)
  538. end))
  539. if order == 1 then
  540. coroutine.resume(coroutine.create(function()
  541. local b = 0
  542. local y = 2
  543. order = 2
  544. leftready = false
  545.  
  546. if fastmode < 4 then
  547. rightready = true
  548. end
  549.  
  550. for i=1,5 do
  551. for i=1,#left do
  552. for c=1,3 do
  553. left[i].Meshy.Scale = left[i].Meshy.Scale:lerp(Vector3.new(b,1,1), i / 6)
  554. left[i].Meshy.Offset = left[i].Meshy.Offset:lerp(Vector3.new(y,0,0), i / 6)
  555. end
  556. end
  557. b = 1
  558. y = 0
  559. wait()
  560. end
  561. leftready = true
  562. end))
  563. if fastmode < 4 then
  564. wait(firespeed)
  565. end
  566. if fastmode < 4 then
  567. repeat
  568. wait()
  569. until rightready == true
  570. end
  571. elseif order == 2 then
  572. coroutine.resume(coroutine.create(function()
  573. local b = 0
  574. local y = -2
  575. order = 1
  576. rightready = false
  577.  
  578. if fastmode < 4 then
  579. leftready = true
  580. end
  581.  
  582. for i=1,5 do
  583. for i=1,#right do
  584. for c=1,3 do
  585. right[i].Meshy.Scale = right[i].Meshy.Scale:lerp(Vector3.new(b,1,1), i / 6)
  586. right[i].Meshy.Offset = right[i].Meshy.Offset:lerp(Vector3.new(y,0,0), i / 6)
  587. end
  588. end
  589. b = 1
  590. y = 0
  591. wait()
  592. end
  593. rightready = true
  594. end))
  595. if fastmode < 4 then
  596. wait(firespeed)
  597. end
  598. if fastmode < 4 then
  599. repeat
  600. wait()
  601. until leftready == true
  602. end
  603. end
  604. end
  605.  
  606. --Main
  607.  
  608. mouse.Button1Up:connect(function()
  609. mousedown = false
  610. end)
  611.  
  612. mouse.Button1Down:connect(function()
  613. if active == false then
  614. return
  615. end
  616. if enabled == true then
  617. return
  618. else
  619. enabled = true
  620. end
  621. humanoid.WalkSpeed = 7
  622. mousedown = true
  623. repeat
  624. Fire()
  625. wait()
  626. until mousedown == false
  627. humanoid.WalkSpeed = 16
  628. wait(0.2)
  629. enabled = false
  630. end)
  631.  
  632. mouse.KeyUp:connect(function(key)
  633. key = key:lower()
  634. if key:byte() == 32 then
  635. spacepress = false
  636. end
  637. end)
  638.  
  639. mouse.KeyDown:connect(function(key)
  640. key = key:lower()
  641. if key == "q" then
  642. if fastmode == 4 then
  643. fastmode = 1
  644. firespeed = cooldown
  645. else
  646. fastmode = fastmode + 1
  647. firespeed = firespeed / 2
  648. if fastmode == 4 then
  649. firespeed = 0
  650. end
  651. end
  652. elseif key == "e" then
  653. if rainbow == false then
  654. rainbow = true
  655. else
  656. rainbow = false
  657. end
  658. print(rainbow)
  659. elseif key == "z" and available == true then
  660. available = false
  661. Laser()
  662. wait(0.5)
  663. available = true
  664. elseif key == "x" then
  665. if active == true then
  666. for i=1,10 do
  667. for i,v in pairs(both) do
  668. v.Transparency = v.Transparency + 0.1
  669. end
  670. wait()
  671. end
  672. active = false
  673. else
  674. for i=1,10 do
  675. for i,v in pairs(both) do
  676. v.Transparency = v.Transparency - 0.1
  677. end
  678. wait()
  679. end
  680. active = true
  681. end
  682. elseif key:byte() == 32 then
  683. spacepress = true
  684.  
  685. wait(0.4)
  686. if spacepress and heat > 0 then
  687. regen = false
  688. repeat
  689. heat = heat * 0.9
  690. heat = math.floor(heat)
  691. torso.Velocity = Vector3.new(torso.Velocity.x,heat * 1.5,torso.Velocity.z)
  692. local flame = Instance.new("Part")
  693. flame.Size = Vector3.new(3,3,3)
  694. flame.CFrame = torso.CFrame - Vector3.new(math.random(-1.5,1.5),3,math.random(-1.5,1.5))
  695. flame.Anchored = true
  696. flame.CanCollide = false
  697. flame.Transparency = 0.5
  698. flame.BrickColor = BrickColor.new("Deep orange")
  699. flame.Material = Enum.Material.Neon
  700. flame.Name = "Flame"
  701. flame.Parent = workspace
  702. Mesh("Sphere", flame, nil)
  703. coroutine.resume(coroutine.create(function()
  704. for i=1,10 do
  705. flame.Transparency = flame.Transparency + (0.02 * i)
  706. flame.Meshy.Scale = flame.Meshy.Scale:lerp(Vector3.new(0.6 / i, 0.6 / i, 0.6 / i) * (heat / 50), 0.7)
  707. flame.CFrame = CFrame.new(flame.Position + (flame.CFrame.upVector * ((1.5 / i) * -1)))
  708. wait()
  709. end
  710. flame:Destroy()
  711. end))
  712. wait()
  713. until heat == 0 or spacepress == false
  714. regen = true
  715. end
  716. end
  717. end)
  718.  
  719. coroutine.resume(coroutine.create(function()
  720. while true do
  721. if rainbow == true then
  722. for i,v in pairs(bothgun) do
  723. v.Color = v.Color:lerp(BrickColor.Random().Color, 0.2)
  724. v.Material = Enum.Material.Neon
  725. end
  726. elseif rainbow == false then
  727. for i,v in pairs(bothgun) do
  728. v.Color = v.Color:lerp(BrickColor.new("Smoky grey").Color, 0.1)
  729. v.Material = Enum.Material.Metal
  730. end
  731. end
  732. wait()
  733. end
  734. end))
  735.  
  736. --Eye Blink
  737. coroutine.resume(coroutine.create(function()
  738. local time = 180
  739. while true do
  740. repeat
  741. time = time - 1
  742. wait()
  743. until time == 0
  744. print("blink")
  745. coroutine.resume(coroutine.create(function()
  746. Chat("*blink*", 0, 0.3)
  747. end))
  748. time = 180
  749. local goal = Vector3.new(2,0,1)
  750. local colorgoal = BrickColor.new("Really black").Color
  751. for i=1,20 do
  752. eye.Meshy.Scale = eye.Meshy.Scale:lerp(goal, i / 35)
  753. eye.Color = eye.Color:lerp(colorgoal, 0.6)
  754. goal = Vector3.new(1,goal.y + 0.05,1)
  755. colorgoal = BrickColor.new("Really red").Color
  756. wait()
  757. end
  758. end
  759. end))
  760.  
  761. --Regen Heat
  762. coroutine.resume(coroutine.create(function()
  763. while true do
  764. if regen == true then
  765. repeat
  766. heat = (heat * 1.3) + 0.1
  767. wait()
  768. until heat >= 100 or regen == false
  769. if regen then
  770. heat = 100
  771. end
  772. end
  773. wait()
  774. end
  775. end))
  776.  
  777. print([["-|-
  778. Q to change firing speed
  779. E to turn off or on rainbow mode
  780. Z to shoot a laser out of your eye
  781. X to hide or show guns
  782. Space to hover
  783.  
  784. Firing Speeds:
  785. 1 = Slow
  786. 2 = Normal
  787. 3 = Fast
  788. 4 = Literally impossible
  789. -|-"]])
Add Comment
Please, Sign In to add comment