Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://github.com/Mokiros/roblox-FE-compatibility
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,Mouse,mouse,UserInputService,ContextActionService = owner
- local RealPlayer = Player
- 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
- --Note, The PYRO script doesn't support Airblast yet, It's still being created.
- p = game.Players.LocalPlayer
- c = p.Character
- torso = c.Torso
- local firee = false
- local damage = 1
- local debounce = false
- local debounced = false
- local debounceair = false
- local firedebounce = false
- local removehatchet = false
- local hatchetequipped = false
- RunService = game:service'RunService'
- Debris = game:service'Debris'
- local mouse = p:GetMouse()
- damagelist = {}
- time_until_extinguish = 50
- for _,v in pairs(c:children()) do
- pcall(function()
- if v.className == "Hat" then
- v:remove()
- end
- end)
- end
- ra = c["Right Arm"]
- la = c["Left Arm"]
- rs = c.Torso["Right Shoulder"]
- ls = c.Torso["Left Shoulder"]
- mask = Instance.new("Part")
- mask.Size = Vector3.new(2, 1, 1)
- mask.BrickColor = BrickColor.new("Dark stone grey")
- mask:BreakJoints()
- mask.Name = "Mask"
- mask.Parent = c
- ms4 = Instance.new("SpecialMesh", mask)
- ms4.Scale = Vector3.new(1.3, 1.15, 1.3)
- w9 = Instance.new("Weld", mask)
- w9.Part0 = mask
- w9.Part1 = c.Head
- w9.C0 = CFrame.new(0, 0, 0)
- mask2 = Instance.new("Part")
- mask2.FormFactor = "Custom"
- mask2.Size = Vector3.new(0.4, 0.5, 0.4)
- mask2.BrickColor = BrickColor.new("Dark stone grey")
- mask2:BreakJoints()
- mask2.Parent = c
- ms5 = Instance.new("CylinderMesh", mask2)
- ms5.Scale = Vector3.new(1, 1, 1)
- w8 = Instance.new("Weld", mask2)
- w8.Part0 = mask2
- w8.Part1 = c.Head
- w8.C0 = CFrame.new(0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
- mask3 = Instance.new("Part")
- mask3.FormFactor = "Custom"
- mask3.Size = Vector3.new(0.4, 0.5, 0.4)
- mask3.BrickColor = BrickColor.new("Dark stone grey")
- mask3:BreakJoints()
- mask3.Parent = c
- ms6 = Instance.new("CylinderMesh", mask3)
- ms6.Scale = Vector3.new(1, 1, 1)
- w10 = Instance.new("Weld", mask3)
- w10.Part0 = mask3
- w10.Part1 = c.Head
- w10.C0 = CFrame.new(-0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
- mask4 = Instance.new("Part")
- mask4.FormFactor = "Custom"
- mask4.Size = Vector3.new(0.35, 0.51, 0.35)
- mask4.BrickColor = BrickColor.new("Black")
- mask4:BreakJoints()
- mask4.Reflectance = 0.4
- mask4.Parent = c
- ms7 = Instance.new("CylinderMesh", mask4)
- ms7.Scale = Vector3.new(1, 1, 1)
- w11 = Instance.new("Weld", mask4)
- w11.Part0 = mask4
- w11.Part1 = c.Head
- w11.C0 = CFrame.new(0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
- mask5 = Instance.new("Part")
- mask5.FormFactor = "Custom"
- mask5.Size = Vector3.new(0.35, 0.51, 0.35)
- mask5.BrickColor = BrickColor.new("Black")
- mask5.Reflectance = 0.4
- mask5:BreakJoints()
- mask5.Parent = c
- ms8 = Instance.new("CylinderMesh", mask5)
- ms8.Scale = Vector3.new(1, 1, 1)
- w12 = Instance.new("Weld", mask5)
- w12.Part0 = mask5
- w12.Part1 = c.Head
- w12.C0 = CFrame.new(-0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
- mask7 = Instance.new("Part")
- mask7.FormFactor = "Custom"
- mask7.Size = Vector3.new(0.2, 1.1, 0.2)
- mask7.BrickColor = BrickColor.new("Dark stone grey")
- mask7:BreakJoints()
- mask7.Parent = c
- ms8 = Instance.new("CylinderMesh", mask7)
- ms8.Scale = Vector3.new(1, 1, 1)
- w12 = Instance.new("Weld", mask7)
- w12.Part0 = mask7
- w12.Part1 = c.Head
- w12.C0 = CFrame.new(-0.6, -0.3, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
- spot = Instance.new("SpotLight", mask)
- spot.Range = 60
- spot.Angle = 70
- spot.Color = Color3.new(1, 1, 0)
- mask6 = Instance.new("Part")
- mask6.FormFactor = "Custom"
- mask6.Size = Vector3.new(0.35, 0.65, 0.35)
- mask6.BrickColor = BrickColor.new("Dark stone grey")
- mask6:BreakJoints()
- mask6.Parent = c
- ms9 = Instance.new("CylinderMesh", mask6)
- ms9.Scale = Vector3.new(1, 1, 1)
- w13 = Instance.new("Weld", mask6)
- w13.Part0 = mask6
- w13.Part1 = c.Head
- w13.C0 = CFrame.new(0.2, -0.4, 0) * CFrame.Angles(math.rad(115), math.rad(22.5), 0)
- tool = Instance.new("HopperBin", p.Backpack)
- tool.Name = "Pyro"
- tool.Selected:connect(function(mouse)
- bg2 = Instance.new("BodyGyro",c.Torso)
- bg2.P = 20e+003
- bg2.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge
- game:service("RunService").Stepped:connect(function()
- 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)
- end)
- rs.Part0 = nil
- rs.Part1 = nil
- ls.Part0 = nil
- ls.Part1 = nil
- rweld = Instance.new("Weld", c)
- rweld.C0 = CFrame.new(-1.48,0,0.2) * CFrame.Angles(math.rad(-18), math.rad(0), math.rad(0))
- rweld.Part0 = ra
- rweld.Part1 = torso
- lweld = Instance.new("Weld", c)
- lweld.C0 = CFrame.new(1.5,0.2,0.2) * CFrame.Angles(math.rad(-50), math.rad(22.5), math.rad(0))
- lweld.Part0 = la
- lweld.Part1 = torso
- neck = c.Torso.Neck
- neck.C0 = neck.C0 * CFrame.Angles(math.rad(0), math.rad(0), math.rad(60)) wait(0.01)
- ballon1 = Instance.new("Part")
- ballon1.Size = Vector3.new(1, 2, 1)
- ballon1.BrickColor = BrickColor.new("White")
- ballon1:BreakJoints()
- ballon1.Parent = c
- Instance.new("SpecialMesh", ballon1)
- w = Instance.new("Weld", ballon1)
- w.Part0 = ballon1
- w.Part1 = torso
- w.C0 = CFrame.new(0.45, 0, -0.8)
- ballon2 = Instance.new("Part")
- ballon2.Size = Vector3.new(1, 2, 1)
- ballon2.BrickColor = BrickColor.new("White")
- ballon2:BreakJoints()
- ballon2.Parent = c
- Instance.new("SpecialMesh", ballon2)
- w1 = Instance.new("Weld", ballon2)
- w1.Part0 = ballon2
- w1.Part1 = torso
- w1.C0 = CFrame.new(-0.45, 0, -0.8)
- base = Instance.new("Part")
- base.FormFactor = "Custom"
- base.Size = Vector3.new(0.4, 5, 0.4)
- base:breakJoints()
- base.BrickColor = BrickColor.Black()
- base.Parent = c
- Instance.new("CylinderMesh", base)
- w2 = Instance.new("Weld", base)
- w2.Part0 = base
- w2.Part1 = torso
- w2.C0 = CFrame.new(1.1, 0.5, 0.5) * CFrame.Angles(math.pi/2,math.rad(120), 0)
- sound = Instance.new("Sound", base)
- sound.SoundId = "http://roblox.com/asset/?id=10209616"
- sound.Volume = 1
- sound.Looped = true
- fire = Instance.new("Part")
- fire.Parent = nil
- fire.FormFactor = "Custom"
- fire.Size = Vector3.new(8, 55, 4)
- fire.Transparency = 1
- fire.CanCollide = false
- fire.Anchored = true
- pl = Instance.new("PointLight", fire)
- pl.Range = 24
- pl.Color = Color3.new(255/255, 170/255, 0/255)
- coroutine.wrap(function()
- while true do
- fire.CFrame = base.CFrame * CFrame.new(0, -30, 0)
- RunService.Stepped:wait()
- end
- end)()
- sm = Instance.new("Part", c)
- sm.FormFactor = "Custom"
- sm.BottomSurface = 0
- sm.TopSurface = 0
- sm.BrickColor = BrickColor.Black()
- sm.Size = Vector3.new(0.5, 0.5, 0.5)
- sm.Transparency = 0
- sm:BreakJoints()
- pl7 = Instance.new("PointLight", sm)
- pl7.Range = 12
- pl7.Color = Color3.new(255/255, 170/255, 0/255)
- smoke = Instance.new("Smoke", sm)
- smoke.Enabled = false
- smoke.Color = Color3.new(255/255, 170/255, 0/255)
- smoke.RiseVelocity = 15
- smoke.Size = 1
- w3 = Instance.new("Weld", sm)
- w3.Part0 = sm
- w3.Part1 = base
- w3.C0 = CFrame.new(0, -2.5, 0) * CFrame.Angles(math.pi, 0, 0)
- p1 = Instance.new("Part", c)
- p1.FormFactor = "Custom"
- p1.BrickColor = BrickColor.Gray()
- p1.Size = Vector3.new(0.8, 1.7, 0.8)
- p1:BreakJoints()
- Instance.new("CylinderMesh", p1)
- w4 = Instance.new("Weld", p1)
- w4.Part0 = p1
- w4.Part1 = base
- w4.C0 = CFrame.new(0, 0.5, 0.3)
- p2 = Instance.new("Part", c)
- p2.FormFactor = "Custom"
- p2.BrickColor = BrickColor.Black()
- p2.Size = Vector3.new(0.4, 1, 0.4)
- p2:BreakJoints()
- p2.BottomSurface = 0
- p2.TopSurface = 0
- w5 = Instance.new("Weld", p2)
- w5.Part0 = p2
- w5.Part1 = base
- w5.C0 = CFrame.new(0, 0, -2.5) * CFrame.Angles(math.pi/2, 0, 0)
- p3 = Instance.new("Part", c)
- p3.FormFactor = "Custom"
- p3.BrickColor = BrickColor.Black()
- p3.Size = Vector3.new(0.3, 1, 0.2)
- p3:BreakJoints()
- p3.BottomSurface = 0
- p3.TopSurface = 0
- w6 = Instance.new("Weld", p3)
- w6.Part0 = p3
- w6.Part1 = base
- w6.C0 = CFrame.new(0, -1, -0.3) * CFrame.Angles(math.pi/6, 0, 0)
- p4 = Instance.new("Part", c)
- p4.FormFactor = "Custom"
- p4.BrickColor = BrickColor.Black()
- p4.Size = Vector3.new(0.3, 1, 0.2)
- p4:BreakJoints()
- p4.BottomSurface = 0
- p4.TopSurface = 0
- w7 = Instance.new("Weld", p4)
- w7.Part0 = p4
- w7.Part1 = base
- w7.C0 = CFrame.new(0, -0.1, -1.5) * CFrame.Angles(math.pi/2, 0, 0)
- fiaar = Instance.new("Fire", sm)
- fiaar.Size = 1
- fiaar.Heat = 200
- fiaar.Enabled = false
- mouse.KeyDown:connect(function(key)
- if key == "e" then
- if debounceair then return end
- if firee then return end
- debounceair = true
- airblast()
- end
- if string.byte(key) == 48 then
- c.Humanoid.WalkSpeed = 28
- end
- end)
- mouse.KeyUp:connect(function(key)
- if string.byte(key) == 48 then
- c.Humanoid.WalkSpeed = 16
- end
- end)
- mouse.Button1Down:connect(function()
- if firee == false then
- firee = true
- end
- end)
- mouse.Button1Up:connect(function()
- if firee == true then
- firee = false
- end
- end)
- end)
- tool.Deselected:connect(function(mouse)
- ballon1:Destroy()
- ballon2:Destroy()
- base:Destroy()
- sm:Destroy()
- fire:Destroy()
- neck.C0 = neck.C0 * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-60)) wait(0.01)
- bg2:Destroy()
- p1:Destroy()
- p2:Destroy()
- p3:Destroy()
- p4:Destroy()
- rs.Part0 = c.Torso
- rs.Part1 = ra
- ls.Part0 = c.Torso
- ls.Part1 = la
- rweld:Destroy()
- lweld:Destroy()
- end)
- function ahh(hit)
- if hit.Parent.Name == game.Players.LocalPlayer.Name then return end
- if hit ~= nil and hit.Parent ~= nil then
- if hit.Parent:findFirstChild("Humanoid") ~= nil then
- coroutine.wrap(function()
- if not damagelist[hit.Parent.Name] then
- if hit.Parent.Humanoid.Health ~= 0 then
- damagelist[hit.Parent.Name] = {humanoid = hit.Parent.Humanoid, time = time_until_extinguish}
- for i,v in pairs(hit.Parent:children()) do
- if v:IsA("Part") then
- Instance.new("Fire", v)
- end
- end
- end
- else
- damagelist[hit.Parent.Name].time = time_until_extinguish
- end
- end)()
- end
- end
- end
- coroutine.wrap(function()
- while wait() do
- for i,damageobject in pairs(damagelist) do
- damageobject.humanoid.Health = damageobject.humanoid.Health - damage
- damageobject.time = damageobject.time - 1
- if damageobject.time < 1 then
- if damageobject.humanoid then
- for _,n in pairs(damageobject.humanoid.Parent:children()) do
- if n:IsA("Part") and n.Parent:IsA("Model") ~= nil and n:findFirstChild("Fire") ~= nil then
- n.Fire:Destroy()
- end
- end
- end
- damagelist[i] = nil
- end
- end
- if not debounceair then
- if firee then
- --coroutine.wrap(function()
- if base ~= nil then
- smoke.Enabled = true
- pl7.Enabled = true
- fiaar.Enabled = true
- fire.Parent = Workspace
- sound:play()
- fire.Touched:connect(ahh)
- end
- --end)()
- else
- if base ~= nil then
- smoke.Enabled = false
- fire.Parent = nil
- pl7.Enabled = false
- fiaar.Enabled = false
- sound:stop()
- end
- end
- end
- end
- end)()
- function airblast()
- if hatchetequipped then return end
- if air ~= nil then return end
- air = Instance.new("Part")
- air.FormFactor = "Custom"
- air.Size = Vector3.new(8, 3, 8)
- air.Transparency = 0.8
- air:BreakJoints()
- air.BottomSurface = 0
- air.TopSurface = 0
- air.CanCollide = false
- air.Anchored = true
- air.Parent = Workspace
- coroutine.wrap(function()
- wait(0.15)
- air.CanCollide = true
- end)()
- coroutine.wrap(function()
- for i = 0, 40, 1.2 do
- air.CFrame = base.CFrame * CFrame.new(0, -i, 0)
- RunService.Stepped:wait(0.0000001)
- end
- end)()
- coroutine.wrap(function()
- while air ~= nil do
- for _, model in pairs(workspace:children()) do
- if model:IsA("Model") and model:findFirstChild("Humanoid") ~= nil and model.Name ~= p.Name then
- if (model.Torso.CFrame.Position - air.CFrame.Position).magnitude < 3 then
- model.Torso.CFrame = base.CFrame * CFrame.new(0, 0, 30)
- end
- end
- end
- wait()
- end
- end)()
- wait(2)
- air:Destroy()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement