View difference between Paste ID: tD8fv6Ux and YxHfkcMQ
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
3
do
4-
p = game.Players.LocalPlayer
4+
	print("FE Compatibility code by Mokiros")
5
	script.Parent = Player.Character
6
7
	--RemoteEvent for communicating
8
	local Event = Instance.new("RemoteEvent")
9
	Event.Name = "UserInput_Event"
10
11
	--Fake event to make stuff like Mouse.KeyDown work
12
	local function fakeEvent()
13
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
14
		t.connect = t.Connect
15
		return t
16
	end
17-
local mouse = p:GetMouse()
17+
18
	--Creating fake input objects with fake variables
19
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
20
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
21
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
22
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
23
	end}
24
	--Merged 2 functions into one by checking amount of arguments
25
	CAS.UnbindAction = CAS.BindAction
26
27
	--This function will trigger the events that have been :Connect()'ed
28
	local function te(self,ev,...)
29
		local t = m[ev]
30
		if t and t._fakeEvent and t.Function then
31
			t.Function(...)
32
		end
33
	end
34
	m.TrigEvent = te
35
	UIS.TrigEvent = te
36
37
	Event.OnServerEvent:Connect(function(plr,io)
38
	    if plr~=Player then return end
39
		if io.isMouse then
40
			m.Target = io.Target
41
			m.Hit = io.Hit
42
		else
43
			local b = io.UserInputState == Enum.UserInputState.Begin
44
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
45
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
46
			end
47
			for _,t in pairs(CAS.Actions) do
48
				for _,k in pairs(t.Keys) do
49
					if k==io.KeyCode then
50
						t.Function(t.Name,io.UserInputState,io)
51
					end
52
				end
53
			end
54
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
55
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
56
	    end
57
	end)
58
	Event.Parent = NLS([==[
59
	local Player = game:GetService("Players").LocalPlayer
60
	local Event = script:WaitForChild("UserInput_Event")
61
62
	local UIS = game:GetService("UserInputService")
63
	local input = function(io,a)
64
		if a then return end
65
		--Since InputObject is a client-side instance, we create and pass table instead
66
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
67
	end
68
	UIS.InputBegan:Connect(input)
69
	UIS.InputEnded:Connect(input)
70
71
	local Mouse = Player:GetMouse()
72
	local h,t
73
	--Give the server mouse data 30 times every second, but only if the values changed
74
	--If player is not moving their mouse, client won't fire events
75
	while wait(1/30) do
76
		if h~=Mouse.Hit or t~=Mouse.Target then
77
			h,t=Mouse.Hit,Mouse.Target
78
			Event:FireServer({isMouse=true,Target=t,Hit=h})
79
		end
80
	end]==],Player.Character)
81
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
82
end
83
84
--Pyro by madiik
85
--Note, The PYRO script doesn't support Airblast yet, It's still being created.
86
87
p = owner
88
c = p.Character
89
torso = c.Torso
90
local firee = false
91
local damage = 1
92
local debounce = false
93
local debounced = false
94
local debounceair = false
95
local firedebounce = false
96
local removehatchet = false
97
local hatchetequipped = false
98
RunService = game:service'RunService'
99
Debris = game:service'Debris'
100
damagelist = {}
101
time_until_extinguish = 50
102
for _,v in pairs(c:children()) do 
103
pcall(function() 
104
if v.className == "Hat" then 
105
v:remove() 
106
end 
107
end) 
108
end 
109
                ra = c["Right Arm"]
110
                la = c["Left Arm"]
111
                rs = c.Torso["Right Shoulder"]
112
                ls = c.Torso["Left Shoulder"]
113
                
114
                
115
                mask = Instance.new("Part")
116
                mask.Size = Vector3.new(2, 1, 1)
117
                mask.BrickColor = BrickColor.new("Dark stone grey")
118
                mask:BreakJoints()
119
				mask.Name = "Mask"
120
                mask.Parent = c
121
                ms4 = Instance.new("SpecialMesh", mask)
122
                ms4.Scale = Vector3.new(1.3, 1.15, 1.3)
123
                w9 = Instance.new("Weld", mask)
124
                w9.Part0 = mask
125
                w9.Part1 = c.Head
126
                w9.C0 = CFrame.new(0, 0, 0)
127
                
128
                                                                mask2 = Instance.new("Part")
129
                                                                mask2.FormFactor = "Custom"
130
                mask2.Size = Vector3.new(0.4, 0.5, 0.4)
131
                mask2.BrickColor = BrickColor.new("Dark stone grey")
132
                mask2:BreakJoints()
133
                mask2.Parent = c
134
                ms5 = Instance.new("CylinderMesh", mask2)
135
                ms5.Scale = Vector3.new(1, 1, 1)
136
                w8 = Instance.new("Weld", mask2)
137
                w8.Part0 = mask2
138
                w8.Part1 = c.Head
139
                w8.C0 = CFrame.new(0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
140
                
141
                mask3 = Instance.new("Part")
142
                                                                mask3.FormFactor = "Custom"
143
                mask3.Size = Vector3.new(0.4, 0.5, 0.4)
144
                mask3.BrickColor = BrickColor.new("Dark stone grey")
145
                mask3:BreakJoints()
146
                mask3.Parent = c
147
                ms6 = Instance.new("CylinderMesh", mask3)
148
                ms6.Scale = Vector3.new(1, 1, 1)
149
                w10 = Instance.new("Weld", mask3)
150
                w10.Part0 = mask3
151
                w10.Part1 = c.Head
152
                w10.C0 = CFrame.new(-0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
153
                
154
                                                                                mask4 = Instance.new("Part")
155
                                                                mask4.FormFactor = "Custom"
156
                mask4.Size = Vector3.new(0.35, 0.51, 0.35)
157
                mask4.BrickColor = BrickColor.new("Black")
158
                mask4:BreakJoints()
159
                mask4.Reflectance = 0.4
160
                mask4.Parent = c
161
                ms7 = Instance.new("CylinderMesh", mask4)
162
                ms7.Scale = Vector3.new(1, 1, 1)
163
                w11 = Instance.new("Weld", mask4)
164
                w11.Part0 = mask4
165
                w11.Part1 = c.Head
166
                w11.C0 = CFrame.new(0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
167
                
168
                mask5 = Instance.new("Part")
169
                mask5.FormFactor = "Custom"
170
                mask5.Size = Vector3.new(0.35, 0.51, 0.35)
171
                mask5.BrickColor = BrickColor.new("Black")
172
                mask5.Reflectance = 0.4
173
                mask5:BreakJoints()
174
                mask5.Parent = c
175
                ms8 = Instance.new("CylinderMesh", mask5)
176
                ms8.Scale = Vector3.new(1, 1, 1)
177
                w12 = Instance.new("Weld", mask5)
178
                w12.Part0 = mask5
179
                w12.Part1 = c.Head
180
                w12.C0 = CFrame.new(-0.25, -0.4, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
181
				
182
				                mask7 = Instance.new("Part")
183
                mask7.FormFactor = "Custom"
184
                mask7.Size = Vector3.new(0.2, 1.1, 0.2)
185
                mask7.BrickColor = BrickColor.new("Dark stone grey")
186
                mask7:BreakJoints()
187
                mask7.Parent = c
188
                ms8 = Instance.new("CylinderMesh", mask7)
189
                ms8.Scale = Vector3.new(1, 1, 1)
190
                w12 = Instance.new("Weld", mask7)
191
                w12.Part0 = mask7
192
                w12.Part1 = c.Head
193
                w12.C0 = CFrame.new(-0.6, -0.3, -0.1) * CFrame.Angles(math.pi/2, 0, 0)
194
				spot = Instance.new("SpotLight", mask)
195
				spot.Range = 60
196
				spot.Angle = 70
197
				spot.Color = Color3.new(1, 1, 0)
198
                
199
                mask6 = Instance.new("Part")
200
                mask6.FormFactor = "Custom"
201
                mask6.Size = Vector3.new(0.35, 0.65, 0.35)
202
                mask6.BrickColor = BrickColor.new("Dark stone grey")
203
                mask6:BreakJoints()
204
                mask6.Parent = c
205
                ms9 = Instance.new("CylinderMesh", mask6)
206
                ms9.Scale = Vector3.new(1, 1, 1)
207
                w13 = Instance.new("Weld", mask6)
208
                w13.Part0 = mask6
209
                w13.Part1 = c.Head
210
                w13.C0 = CFrame.new(0.2, -0.4, 0) * CFrame.Angles(math.rad(115), math.rad(22.5), 0)
211
                
212
                
213
tool = Instance.new("HopperBin", p.Backpack)
214
tool.Name = "Pyro"
215
tool.Selected:connect(function(mouse)
216
                bg2 = Instance.new("BodyGyro",c.Torso)
217
                bg2.P = 20e+003
218
                bg2.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge
219
                
220
                
221
                game:service("RunService").Stepped:connect(function()
222
                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)
223
                end)
224
                
225
                
226
                
227
                rs.Part0 = nil
228
                rs.Part1 = nil
229
                ls.Part0 = nil
230
                ls.Part1 = nil
231
                rweld = Instance.new("Weld", c)
232
                rweld.C0 = CFrame.new(-1.48,0,0.2) * CFrame.Angles(math.rad(-18), math.rad(0), math.rad(0)) 
233
                rweld.Part0 = ra
234
                rweld.Part1 = torso
235
                lweld = Instance.new("Weld", c)
236
                lweld.C0 = CFrame.new(1.5,0.2,0.2) * CFrame.Angles(math.rad(-50), math.rad(22.5), math.rad(0)) 
237
                lweld.Part0 = la
238
                lweld.Part1 = torso
239
                neck = c.Torso.Neck
240
                neck.C0 = neck.C0 * CFrame.Angles(math.rad(0), math.rad(0), math.rad(60)) wait(0.01)
241
                
242
                ballon1 = Instance.new("Part")
243
                ballon1.Size = Vector3.new(1, 2, 1)
244
                ballon1.BrickColor = BrickColor.new("White")
245
                ballon1:BreakJoints()
246
                ballon1.Parent = c
247
                Instance.new("SpecialMesh", ballon1)
248
                w = Instance.new("Weld", ballon1)
249
                w.Part0 = ballon1
250
                w.Part1 = torso
251
                w.C0 = CFrame.new(0.45, 0, -0.8)
252
                
253
                                ballon2 = Instance.new("Part")
254
                ballon2.Size = Vector3.new(1, 2, 1)
255
                ballon2.BrickColor = BrickColor.new("White")
256
                ballon2:BreakJoints()
257
                ballon2.Parent = c
258
                Instance.new("SpecialMesh", ballon2)
259
                w1 = Instance.new("Weld", ballon2)
260
                w1.Part0 = ballon2
261
                w1.Part1 = torso
262
                w1.C0 = CFrame.new(-0.45, 0, -0.8)
263
                
264
                base = Instance.new("Part")
265
                base.FormFactor = "Custom"
266
                base.Size = Vector3.new(0.4, 5, 0.4)
267
                base:breakJoints()
268
                base.BrickColor = BrickColor.Black()
269
                base.Parent = c
270
                Instance.new("CylinderMesh", base)
271
                w2 = Instance.new("Weld", base)
272
                w2.Part0 = base
273
                w2.Part1 = torso
274
                w2.C0 = CFrame.new(1.1, 0.5, 0.5) * CFrame.Angles(math.pi/2,math.rad(120), 0)
275
                
276
                sound = Instance.new("Sound", base)
277
                sound.SoundId = "http://roblox.com/asset/?id=10209616"
278
                sound.Volume = 1
279
                sound.Looped = true
280
                                        
281
                fire = Instance.new("Part")
282
                fire.Parent = nil
283
                fire.FormFactor = "Custom"
284
                fire.Size = Vector3.new(8, 55, 4)
285
                fire.Transparency = 1
286
                fire.CanCollide = false
287
                fire.Anchored = true
288
                                                pl = Instance.new("PointLight", fire)
289
                pl.Range = 24
290
                pl.Color = Color3.new(255/255, 170/255, 0/255)
291
                
292
                                coroutine.wrap(function()        
293
                                while true do
294
                                        fire.CFrame = base.CFrame * CFrame.new(0, -30, 0)
295
                                        RunService.Stepped:wait()
296
                                end
297
                                end)()
298
                                
299
                
300
                sm = Instance.new("Part", c)
301
                sm.FormFactor = "Custom"
302
                sm.BottomSurface = 0
303
                sm.TopSurface = 0
304
                sm.BrickColor = BrickColor.Black()
305
                sm.Size = Vector3.new(0.5, 0.5, 0.5)
306
                sm.Transparency = 0
307
                sm:BreakJoints()
308
                
309
                                pl7 = Instance.new("PointLight", sm)
310
                pl7.Range = 12
311
                pl7.Color = Color3.new(255/255, 170/255, 0/255)
312
                
313
                smoke = Instance.new("Smoke", sm)
314
                smoke.Enabled = false
315
                smoke.Color = Color3.new(255/255, 170/255, 0/255)
316
                smoke.RiseVelocity = 15
317
                smoke.Size = 1
318
                w3 = Instance.new("Weld", sm)
319
                w3.Part0 = sm
320
                w3.Part1 = base
321
                w3.C0 = CFrame.new(0, -2.5, 0) * CFrame.Angles(math.pi, 0, 0)
322
                
323
                p1 = Instance.new("Part", c)
324
                p1.FormFactor = "Custom"
325
                p1.BrickColor = BrickColor.Gray()
326
                p1.Size = Vector3.new(0.8, 1.7, 0.8)
327
                p1:BreakJoints()
328
                Instance.new("CylinderMesh", p1)
329
                w4 = Instance.new("Weld", p1)
330
                w4.Part0 = p1
331
                w4.Part1 = base
332
                w4.C0 = CFrame.new(0, 0.5, 0.3)
333
                
334
                p2 = Instance.new("Part", c)
335
                p2.FormFactor = "Custom"
336
                p2.BrickColor = BrickColor.Black()
337
                p2.Size = Vector3.new(0.4, 1, 0.4)
338
                p2:BreakJoints()
339
                p2.BottomSurface = 0
340
                p2.TopSurface = 0
341
                w5 = Instance.new("Weld", p2)
342
                w5.Part0 = p2
343
                w5.Part1 = base
344
                w5.C0 = CFrame.new(0, 0, -2.5) * CFrame.Angles(math.pi/2, 0, 0)
345
                
346
                
347
                p3 = Instance.new("Part", c)
348
                p3.FormFactor = "Custom"
349
                p3.BrickColor = BrickColor.Black()
350
                p3.Size = Vector3.new(0.3, 1, 0.2)
351
                p3:BreakJoints()
352
                p3.BottomSurface = 0
353
                p3.TopSurface = 0
354
                w6 = Instance.new("Weld", p3)
355
                w6.Part0 = p3
356
                w6.Part1 = base
357
                w6.C0 = CFrame.new(0, -1, -0.3) * CFrame.Angles(math.pi/6, 0, 0)
358
                
359
                
360
                                p4 = Instance.new("Part", c)
361
                p4.FormFactor = "Custom"
362
                p4.BrickColor = BrickColor.Black()
363
                p4.Size = Vector3.new(0.3, 1, 0.2)
364
                p4:BreakJoints()
365
                p4.BottomSurface = 0
366
                p4.TopSurface = 0
367
                w7 = Instance.new("Weld", p4)
368
                w7.Part0 = p4
369
                w7.Part1 = base
370
                w7.C0 = CFrame.new(0, -0.1, -1.5) * CFrame.Angles(math.pi/2, 0, 0)
371
                
372
                
373
                
374
                
375
                
376
                
377
                
378
                
379
                fiaar = Instance.new("Fire", sm)
380
                fiaar.Size = 1
381
				fiaar.Heat = 200
382
                fiaar.Enabled = false
383
384
385
386
387
388
                
389
                
390
                mouse.KeyDown:connect(function(key)
391
                        if key == "e" then
392
                                if debounceair then return end
393
                                if firee then return end
394
                                debounceair = true
395
                                airblast()
396
                                end
397
						if string.byte(key) == 48 then
398
							c.Humanoid.WalkSpeed = 28
399
						end
400
						
401
						
402
                end)
403
				mouse.KeyUp:connect(function(key)
404
					if string.byte(key) == 48 then
405
					c.Humanoid.WalkSpeed = 16
406
					end
407
					end)
408
                
409
                
410
                mouse.Button1Down:connect(function()
411
                        if firee == false then
412
                        firee = true
413
                        end
414
                end)
415
                
416
                mouse.Button1Up:connect(function()
417
                        if firee == true then
418
                        firee = false
419
                        end
420
                end)
421
                
422
end)
423
tool.Deselected:connect(function(mouse)
424
                ballon1:Destroy()
425
                ballon2:Destroy()
426
                base:Destroy()
427
                sm:Destroy()
428
                fire:Destroy()
429
                neck.C0 = neck.C0 * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-60)) wait(0.01)
430
                bg2:Destroy()
431
                p1:Destroy()
432
                p2:Destroy()
433
                p3:Destroy()
434
                p4:Destroy()
435
				                        rs.Part0 = c.Torso
436
                rs.Part1 = ra
437
                ls.Part0 = c.Torso
438
                ls.Part1 = la
439
				                rweld:Destroy()
440
                lweld:Destroy()
441
				
442
end)
443
function ahh(hit)
444
     if hit.Parent.Name == game.Players.LocalPlayer.Name then  return  end
445
     if hit ~= nil and hit.Parent ~= nil then
446
	
447
     if hit.Parent:findFirstChild("Humanoid") ~= nil then
448
			coroutine.wrap(function()
449
               if not damagelist[hit.Parent.Name] then
450
					if hit.Parent.Humanoid.Health ~= 0 then
451
                    damagelist[hit.Parent.Name] = {humanoid = hit.Parent.Humanoid, time = time_until_extinguish}
452
                    for i,v in pairs(hit.Parent:children()) do
453
                        if v:IsA("Part") then
454
                             Instance.new("Fire", v)
455
                         end
456
                     end
457
					end
458
                 else
459
                      damagelist[hit.Parent.Name].time = time_until_extinguish
460
                 end
461
			end)()
462
         end
463
	end
464
end
465
                                        
466
coroutine.wrap(function()
467
    while wait() do
468
        for i,damageobject in pairs(damagelist) do
469
            damageobject.humanoid.Health = damageobject.humanoid.Health - damage
470
            damageobject.time = damageobject.time - 1
471
            
472
            if damageobject.time < 1 then
473
                if damageobject.humanoid then
474
                 for _,n in pairs(damageobject.humanoid.Parent:children()) do
475
                       if n:IsA("Part") and n.Parent:IsA("Model") ~= nil and n:findFirstChild("Fire") ~= nil then
476
                               n.Fire:Destroy()
477
                       end
478
                  end
479
                  end
480
                  damagelist[i] = nil
481
            end
482
        end
483
      if not debounceair then
484
             if firee then
485
                    --coroutine.wrap(function()
486
						if base ~= nil then
487
                            smoke.Enabled = true
488
                             pl7.Enabled = true
489
                             fiaar.Enabled = true
490
                             fire.Parent = Workspace
491
                            sound:play()
492
                             
493
                             fire.Touched:connect(ahh)
494
						end
495
                             
496
                        --end)()
497
                else
498
                        if base ~= nil then
499
                        smoke.Enabled = false
500
                        fire.Parent = nil
501
                        pl7.Enabled = false
502
                        fiaar.Enabled = false
503
                        sound:stop()
504
                        end
505
                end
506
			                end
507
			end
508
                                                                               
509
                                        end)()
510
                                        
511
                                        
512
                                        function airblast()
513
												if hatchetequipped then return end
514
												if air ~= nil then return end
515
                                                air = Instance.new("Part")
516
                                                air.FormFactor = "Custom"
517
                                                air.Size = Vector3.new(8, 3, 8)
518
                                                air.Transparency = 0.8
519
                                                air:BreakJoints()
520
                                                air.BottomSurface = 0
521
                                                air.TopSurface = 0
522
												air.CanCollide = false
523
                                                air.Anchored = true
524
                                                air.Parent = Workspace
525
												coroutine.wrap(function()
526
												wait(0.15)
527
												air.CanCollide = true
528
												end)()
529
                                                
530
                                                                                coroutine.wrap(function()        
531
                                for i = 0, 40, 1.2 do
532
                                        air.CFrame = base.CFrame * CFrame.new(0, -i, 0)
533
                                        RunService.Stepped:wait(0.0000001)
534
                                end
535
                                end)()
536
								coroutine.wrap(function()
537
                                   while air ~= nil do
538
									for _, model in pairs(workspace:children()) do     
539
                           				if model:IsA("Model") and model:findFirstChild("Humanoid") ~= nil and model.Name ~= p.Name then
540
										if (model.Torso.CFrame.Position - air.CFrame.Position).magnitude < 3 then
541
										model.Torso.CFrame = base.CFrame * CFrame.new(0, 0, 30)
542
										end
543
										end
544
									end
545
									wait()
546
								end
547
								end)()
548
								wait(2)
549
								air:Destroy()
550
								
551
end