Advertisement
lafur

Untitled

Sep 18th, 2018
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.10 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  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,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end --Pyro by madiik
  6. --Note, The PYRO script doesn't support Airblast yet, It's still being created.
  7.  
  8. p = game.Players.LocalPlayer
  9. c = p.Character
  10. torso = c.Torso
  11. local firee = false
  12. local damage = 1
  13. local debounce = false
  14. local debounced = false
  15. local debounceair = false
  16. local firedebounce = false
  17. local removehatchet = false
  18. local hatchetequipped = false
  19. RunService = game:service'RunService'
  20. Debris = game:service'Debris'
  21. local mouse = p:GetMouse()
  22. damagelist = {}
  23. time_until_extinguish = 50
  24. for _,v in pairs(c:children()) do
  25. pcall(function()
  26. if v.className == "Hat" then
  27. v:remove()
  28. end
  29. end)
  30. end
  31. ra = c["Right Arm"]
  32. la = c["Left Arm"]
  33. rs = c.Torso["Right Shoulder"]
  34. ls = c.Torso["Left Shoulder"]
  35.  
  36.  
  37. mask = Instance.new("Part")
  38. mask.Size = Vector3.new(2, 1, 1)
  39. mask.BrickColor = BrickColor.new("Dark stone grey")
  40. mask:BreakJoints()
  41. mask.Name = "Mask"
  42. mask.Parent = c
  43. ms4 = Instance.new("SpecialMesh", mask)
  44. ms4.Scale = Vector3.new(1.3, 1.15, 1.3)
  45. w9 = Instance.new("Weld", mask)
  46. w9.Part0 = mask
  47. w9.Part1 = c.Head
  48. w9.C0 = CFrame.new(0, 0, 0)
  49.  
  50. mask2 = Instance.new("Part")
  51. mask2.FormFactor = "Custom"
  52. mask2.Size = Vector3.new(0.4, 0.5, 0.4)
  53. mask2.BrickColor = BrickColor.new("Dark stone grey")
  54. mask2:BreakJoints()
  55. mask2.Parent = c
  56. ms5 = Instance.new("CylinderMesh", mask2)
  57. ms5.Scale = Vector3.new(1, 1, 1)
  58. w8 = Instance.new("Weld", mask2)
  59. w8.Part0 = mask2
  60. w8.Part1 = c.Head
  61. w8.C0 = CFrame.new(0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
  62.  
  63. mask3 = Instance.new("Part")
  64. mask3.FormFactor = "Custom"
  65. mask3.Size = Vector3.new(0.4, 0.5, 0.4)
  66. mask3.BrickColor = BrickColor.new("Dark stone grey")
  67. mask3:BreakJoints()
  68. mask3.Parent = c
  69. ms6 = Instance.new("CylinderMesh", mask3)
  70. ms6.Scale = Vector3.new(1, 1, 1)
  71. w10 = Instance.new("Weld", mask3)
  72. w10.Part0 = mask3
  73. w10.Part1 = c.Head
  74. w10.C0 = CFrame.new(-0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
  75.  
  76. mask4 = Instance.new("Part")
  77. mask4.FormFactor = "Custom"
  78. mask4.Size = Vector3.new(0.35, 0.51, 0.35)
  79. mask4.BrickColor = BrickColor.new("Black")
  80. mask4:BreakJoints()
  81. mask4.Reflectance = 0.4
  82. mask4.Parent = c
  83. ms7 = Instance.new("CylinderMesh", mask4)
  84. ms7.Scale = Vector3.new(1, 1, 1)
  85. w11 = Instance.new("Weld", mask4)
  86. w11.Part0 = mask4
  87. w11.Part1 = c.Head
  88. w11.C0 = CFrame.new(0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
  89.  
  90. mask5 = Instance.new("Part")
  91. mask5.FormFactor = "Custom"
  92. mask5.Size = Vector3.new(0.35, 0.51, 0.35)
  93. mask5.BrickColor = BrickColor.new("Black")
  94. mask5.Reflectance = 0.4
  95. mask5:BreakJoints()
  96. mask5.Parent = c
  97. ms8 = Instance.new("CylinderMesh", mask5)
  98. ms8.Scale = Vector3.new(1, 1, 1)
  99. w12 = Instance.new("Weld", mask5)
  100. w12.Part0 = mask5
  101. w12.Part1 = c.Head
  102. w12.C0 = CFrame.new(-0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
  103.  
  104. mask7 = Instance.new("Part")
  105. mask7.FormFactor = "Custom"
  106. mask7.Size = Vector3.new(0.2, 1.1, 0.2)
  107. mask7.BrickColor = BrickColor.new("Dark stone grey")
  108. mask7:BreakJoints()
  109. mask7.Parent = c
  110. ms8 = Instance.new("CylinderMesh", mask7)
  111. ms8.Scale = Vector3.new(1, 1, 1)
  112. w12 = Instance.new("Weld", mask7)
  113. w12.Part0 = mask7
  114. w12.Part1 = c.Head
  115. w12.C0 = CFrame.new(-0.6, -0.3, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
  116. spot = Instance.new("SpotLight", mask)
  117. spot.Range = 60
  118. spot.Angle = 70
  119. spot.Color = Color3.new(1, 1, 0)
  120.  
  121. mask6 = Instance.new("Part")
  122. mask6.FormFactor = "Custom"
  123. mask6.Size = Vector3.new(0.35, 0.65, 0.35)
  124. mask6.BrickColor = BrickColor.new("Dark stone grey")
  125. mask6:BreakJoints()
  126. mask6.Parent = c
  127. ms9 = Instance.new("CylinderMesh", mask6)
  128. ms9.Scale = Vector3.new(1, 1, 1)
  129. w13 = Instance.new("Weld", mask6)
  130. w13.Part0 = mask6
  131. w13.Part1 = c.Head
  132. w13.C0 = CFrame.new(0.2, -0.4, 0) * CFrame.Angles(math.rad(115), math.rad(22.5), 0)
  133.  
  134.  
  135. tool = Instance.new("HopperBin", p.Backpack)
  136. tool.Name = "Pyro"
  137. tool.Selected:connect(function(mouse)
  138. bg2 = Instance.new("BodyGyro",c.Torso)
  139. bg2.P = 20e+003
  140. bg2.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge
  141.  
  142.  
  143. game:service("RunService").Stepped:connect(function()
  144. bg2.cframe = CFrame.new(c.Torso.Position,Vector3.new(mouse.hit.p.x,c.Torso.Position.y,mouse.hit.p.z)) * CFrame.Angles(0, math.rad(-60), 0)
  145. end)
  146.  
  147.  
  148.  
  149. rs.Part0 = nil
  150. rs.Part1 = nil
  151. ls.Part0 = nil
  152. ls.Part1 = nil
  153. rweld = Instance.new("Weld", c)
  154. rweld.C0 = CFrame.new(-1.48,0,0.2) * CFrame.Angles(math.rad(-18), math.rad(0), math.rad(0))
  155. rweld.Part0 = ra
  156. rweld.Part1 = torso
  157. lweld = Instance.new("Weld", c)
  158. lweld.C0 = CFrame.new(1.5,0.2,0.2) * CFrame.Angles(math.rad(-50), math.rad(22.5), math.rad(0))
  159. lweld.Part0 = la
  160. lweld.Part1 = torso
  161. neck = c.Torso.Neck
  162. neck.C0 = neck.C0 * CFrame.Angles(math.rad(0), math.rad(0), math.rad(60)) wait(0.01)
  163.  
  164. ballon1 = Instance.new("Part")
  165. ballon1.Size = Vector3.new(1, 2, 1)
  166. ballon1.BrickColor = BrickColor.new("White")
  167. ballon1:BreakJoints()
  168. ballon1.Parent = c
  169. Instance.new("SpecialMesh", ballon1)
  170. w = Instance.new("Weld", ballon1)
  171. w.Part0 = ballon1
  172. w.Part1 = torso
  173. w.C0 = CFrame.new(0.45, 0, -0.8)
  174.  
  175. ballon2 = Instance.new("Part")
  176. ballon2.Size = Vector3.new(1, 2, 1)
  177. ballon2.BrickColor = BrickColor.new("White")
  178. ballon2:BreakJoints()
  179. ballon2.Parent = c
  180. Instance.new("SpecialMesh", ballon2)
  181. w1 = Instance.new("Weld", ballon2)
  182. w1.Part0 = ballon2
  183. w1.Part1 = torso
  184. w1.C0 = CFrame.new(-0.45, 0, -0.8)
  185.  
  186. base = Instance.new("Part")
  187. base.FormFactor = "Custom"
  188. base.Size = Vector3.new(0.4, 5, 0.4)
  189. base:breakJoints()
  190. base.BrickColor = BrickColor.Black()
  191. base.Parent = c
  192. Instance.new("CylinderMesh", base)
  193. w2 = Instance.new("Weld", base)
  194. w2.Part0 = base
  195. w2.Part1 = torso
  196. w2.C0 = CFrame.new(1.1, 0.5, 0.5) * CFrame.Angles(math.pi/2,math.rad(120), 0)
  197.  
  198. sound = Instance.new("Sound", base)
  199. sound.SoundId = "http://roblox.com/asset/?id=10209616"
  200. sound.Volume = 1
  201. sound.Looped = true
  202.  
  203. fire = Instance.new("Part")
  204. fire.Parent = nil
  205. fire.FormFactor = "Custom"
  206. fire.Size = Vector3.new(8, 55, 4)
  207. fire.Transparency = 1
  208. fire.CanCollide = false
  209. fire.Anchored = true
  210. pl = Instance.new("PointLight", fire)
  211. pl.Range = 24
  212. pl.Color = Color3.new(255/255, 170/255, 0/255)
  213.  
  214. coroutine.wrap(function()
  215. while true do
  216. fire.CFrame = base.CFrame * CFrame.new(0, -30, 0)
  217. RunService.Stepped:wait()
  218. end
  219. end)()
  220.  
  221.  
  222. sm = Instance.new("Part", c)
  223. sm.FormFactor = "Custom"
  224. sm.BottomSurface = 0
  225. sm.TopSurface = 0
  226. sm.BrickColor = BrickColor.Black()
  227. sm.Size = Vector3.new(0.5, 0.5, 0.5)
  228. sm.Transparency = 0
  229. sm:BreakJoints()
  230.  
  231. pl7 = Instance.new("PointLight", sm)
  232. pl7.Range = 12
  233. pl7.Color = Color3.new(255/255, 170/255, 0/255)
  234.  
  235. smoke = Instance.new("Smoke", sm)
  236. smoke.Enabled = false
  237. smoke.Color = Color3.new(255/255, 170/255, 0/255)
  238. smoke.RiseVelocity = 15
  239. smoke.Size = 1
  240. w3 = Instance.new("Weld", sm)
  241. w3.Part0 = sm
  242. w3.Part1 = base
  243. w3.C0 = CFrame.new(0, -2.5, 0) * CFrame.Angles(math.pi, 0, 0)
  244.  
  245. p1 = Instance.new("Part", c)
  246. p1.FormFactor = "Custom"
  247. p1.BrickColor = BrickColor.Gray()
  248. p1.Size = Vector3.new(0.8, 1.7, 0.8)
  249. p1:BreakJoints()
  250. Instance.new("CylinderMesh", p1)
  251. w4 = Instance.new("Weld", p1)
  252. w4.Part0 = p1
  253. w4.Part1 = base
  254. w4.C0 = CFrame.new(0, 0.5, 0.3)
  255.  
  256. p2 = Instance.new("Part", c)
  257. p2.FormFactor = "Custom"
  258. p2.BrickColor = BrickColor.Black()
  259. p2.Size = Vector3.new(0.4, 1, 0.4)
  260. p2:BreakJoints()
  261. p2.BottomSurface = 0
  262. p2.TopSurface = 0
  263. w5 = Instance.new("Weld", p2)
  264. w5.Part0 = p2
  265. w5.Part1 = base
  266. w5.C0 = CFrame.new(0, 0, -2.5) * CFrame.Angles(math.pi/2, 0, 0)
  267.  
  268.  
  269. p3 = Instance.new("Part", c)
  270. p3.FormFactor = "Custom"
  271. p3.BrickColor = BrickColor.Black()
  272. p3.Size = Vector3.new(0.3, 1, 0.2)
  273. p3:BreakJoints()
  274. p3.BottomSurface = 0
  275. p3.TopSurface = 0
  276. w6 = Instance.new("Weld", p3)
  277. w6.Part0 = p3
  278. w6.Part1 = base
  279. w6.C0 = CFrame.new(0, -1, -0.3) * CFrame.Angles(math.pi/6, 0, 0)
  280.  
  281.  
  282. p4 = Instance.new("Part", c)
  283. p4.FormFactor = "Custom"
  284. p4.BrickColor = BrickColor.Black()
  285. p4.Size = Vector3.new(0.3, 1, 0.2)
  286. p4:BreakJoints()
  287. p4.BottomSurface = 0
  288. p4.TopSurface = 0
  289. w7 = Instance.new("Weld", p4)
  290. w7.Part0 = p4
  291. w7.Part1 = base
  292. w7.C0 = CFrame.new(0, -0.1, -1.5) * CFrame.Angles(math.pi/2, 0, 0)
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301. fiaar = Instance.new("Fire", sm)
  302. fiaar.Size = 1
  303. fiaar.Heat = 200
  304. fiaar.Enabled = false
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312. mouse.KeyDown:connect(function(key)
  313. if key == "e" then
  314. if debounceair then return end
  315. if firee then return end
  316. debounceair = true
  317. airblast()
  318. end
  319. if string.byte(key) == 48 then
  320. c.Humanoid.WalkSpeed = 28
  321. end
  322.  
  323.  
  324. end)
  325. mouse.KeyUp:connect(function(key)
  326. if string.byte(key) == 48 then
  327. c.Humanoid.WalkSpeed = 16
  328. end
  329. end)
  330.  
  331.  
  332. mouse.Button1Down:connect(function()
  333. if firee == false then
  334. firee = true
  335. end
  336. end)
  337.  
  338. mouse.Button1Up:connect(function()
  339. if firee == true then
  340. firee = false
  341. end
  342. end)
  343.  
  344. end)
  345. tool.Deselected:connect(function(mouse)
  346. ballon1:Destroy()
  347. ballon2:Destroy()
  348. base:Destroy()
  349. sm:Destroy()
  350. fire:Destroy()
  351. neck.C0 = neck.C0 * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-60)) wait(0.01)
  352. bg2:Destroy()
  353. p1:Destroy()
  354. p2:Destroy()
  355. p3:Destroy()
  356. p4:Destroy()
  357. rs.Part0 = c.Torso
  358. rs.Part1 = ra
  359. ls.Part0 = c.Torso
  360. ls.Part1 = la
  361. rweld:Destroy()
  362. lweld:Destroy()
  363.  
  364. end)
  365. function ahh(hit)
  366. if hit.Parent.Name == game.Players.LocalPlayer.Name then return end
  367. if hit ~= nil and hit.Parent ~= nil then
  368.  
  369. if hit.Parent:findFirstChild("Humanoid") ~= nil then
  370. coroutine.wrap(function()
  371. if not damagelist[hit.Parent.Name] then
  372. if hit.Parent.Humanoid.Health ~= 0 then
  373. damagelist[hit.Parent.Name] = {humanoid = hit.Parent.Humanoid, time = time_until_extinguish}
  374. for i,v in pairs(hit.Parent:children()) do
  375. if v:IsA("Part") then
  376. Instance.new("Fire", v)
  377. end
  378. end
  379. end
  380. else
  381. damagelist[hit.Parent.Name].time = time_until_extinguish
  382. end
  383. end)()
  384. end
  385. end
  386. end
  387.  
  388. coroutine.wrap(function()
  389. while wait() do
  390. for i,damageobject in pairs(damagelist) do
  391. damageobject.humanoid.Health = damageobject.humanoid.Health - damage
  392. damageobject.time = damageobject.time - 1
  393.  
  394. if damageobject.time < 1 then
  395. if damageobject.humanoid then
  396. for _,n in pairs(damageobject.humanoid.Parent:children()) do
  397. if n:IsA("Part") and n.Parent:IsA("Model") ~= nil and n:findFirstChild("Fire") ~= nil then
  398. n.Fire:Destroy()
  399. end
  400. end
  401. end
  402. damagelist[i] = nil
  403. end
  404. end
  405. if not debounceair then
  406. if firee then
  407. --coroutine.wrap(function()
  408. if base ~= nil then
  409. smoke.Enabled = true
  410. pl7.Enabled = true
  411. fiaar.Enabled = true
  412. fire.Parent = Workspace
  413. sound:play()
  414.  
  415. fire.Touched:connect(ahh)
  416. end
  417.  
  418. --end)()
  419. else
  420. if base ~= nil then
  421. smoke.Enabled = false
  422. fire.Parent = nil
  423. pl7.Enabled = false
  424. fiaar.Enabled = false
  425. sound:stop()
  426. end
  427. end
  428. end
  429. end
  430.  
  431. end)()
  432.  
  433.  
  434. function airblast()
  435. if hatchetequipped then return end
  436. if air ~= nil then return end
  437. air = Instance.new("Part")
  438. air.FormFactor = "Custom"
  439. air.Size = Vector3.new(8, 3, 8)
  440. air.Transparency = 0.8
  441. air:BreakJoints()
  442. air.BottomSurface = 0
  443. air.TopSurface = 0
  444. air.CanCollide = false
  445. air.Anchored = true
  446. air.Parent = Workspace
  447. coroutine.wrap(function()
  448. wait(0.15)
  449. air.CanCollide = true
  450. end)()
  451.  
  452. coroutine.wrap(function()
  453. for i = 0, 40, 1.2 do
  454. air.CFrame = base.CFrame * CFrame.new(0, -i, 0)
  455. RunService.Stepped:wait(0.0000001)
  456. end
  457. end)()
  458. coroutine.wrap(function()
  459. while air ~= nil do
  460. for _, model in pairs(workspace:children()) do
  461. if model:IsA("Model") and model:findFirstChild("Humanoid") ~= nil and model.Name ~= p.Name then
  462. if (model.Torso.CFrame.Position - air.CFrame.Position).magnitude < 3 then
  463. model.Torso.CFrame = base.CFrame * CFrame.new(0, 0, 30)
  464. end
  465. end
  466. end
  467. wait()
  468. end
  469. end)()
  470. wait(2)
  471. air:Destroy()
  472.  
  473. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement