View difference between Paste ID: WApPF66s and DxcAaUxz
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-
	p = game.Players.LocalPlayer
3+
do
4
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
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
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-
local Player = game.Players.localPlayer
39+
		if io.isMouse then
40
			m.Target = io.Target
41
			m.Hit = io.Hit
42-
local mouse = Player:GetMouse()
42+
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-
Instance.new("ForceField", game.Players.LocalPlayer.Character)
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
--------------------------------------------------------------------------------------------------------------------------------------
85
86
CV="White"
87
88
	p = owner
89
	char = p.Character
90
	local txt = Instance.new("BillboardGui", char)
91
	txt.Adornee = char .Head
92
	txt.Name = "_status"
93
	txt.Size = UDim2.new(2, 0, 1.2, 0)
94
	txt.StudsOffset = Vector3.new(-9, 8, 0)
95
	local text = Instance.new("TextLabel", txt)
96
	text.Size = UDim2.new(10, 0, 7, 0)
97
	text.FontSize = "Size24"
98
	text.TextScaled = true
99
	text.TextTransparency = 0
100
	text.BackgroundTransparency = 1 
101
	text.TextTransparency = 0
102
	text.TextStrokeTransparency = 1
103
	text.Font = "Arcade"
104
	text.TextStrokeColor3 = Color3.new(0,0,255)
105
106
	v=Instance.new("Part")
107
	v.Name = "ColorBrick"
108
	v.Parent=p.Character
109
	v.FormFactor="Symmetric"
110
	v.Anchored=true
111
	v.CanCollide=false
112
	v.BottomSurface="Smooth"
113
	v.TopSurface="Smooth"
114
	v.Size=Vector3.new(10,5,3)
115
	v.Transparency=1
116
	v.CFrame=char.Torso.CFrame
117
	v.BrickColor=BrickColor.new(CV)
118
	v.Transparency=1
119
	text.TextColor3 = Color3.new(255,255,0)
120
	v.Shape="Block"
121
	text.Text = "Luke"
122
wait(1 / 60)
123
Effects = { }
124
local Player = owner
125
local Character = Player.Character
126
local Humanoid = Character.Humanoid
127
local m = Instance.new('Model', Character)
128
m.Name = "WeaponModel"
129
local LeftArm = Character["Left Arm"]
130
local RightArm = Character["Right Arm"]
131
local LeftLeg = Character["Left Leg"]
132
local RightLeg = Character["Right Leg"]
133
local Head = Character.Head
134
local Torso = Character.Torso
135
local cam = game.Workspace.CurrentCamera
136
local RootPart = Character.HumanoidRootPart
137
local RootJoint = RootPart.RootJoint
138
local equipped = false
139
local attack = false
140
local Anim = 'Idle'
141
local idle = 0
142
local attacktype = 1
143
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
144
local velocity = RootPart.Velocity.y
145
local sine = 0
146
local change = 1
147
local grabbed = false
148
local cn = CFrame.new
149
local mr = math.rad
150
local angles = CFrame.Angles
151
local ud = UDim2.new
152
local c3 = Color3.new
153
Instance.new("ForceField", game.Players.owner.Character)
154
	local s = Instance.new("Sound",Character)
155
	s.Name = "BGMusic"
156
	s.SoundId = "rbxassetid://397952612"
157
	s.Pitch = 1
158
	s.Volume = 1.000
159
	s.Looped = true
160
	s.archivable = false
161
	wait(0.1)
162
	s:play()
163
164
Humanoid.Animator.Parent = nil
165
Character.Animate.Parent = nil
166
167
local newMotor = function(part0, part1, c0, c1)
168
	local w = Instance.new('Motor', part0)
169
	w.Part0 = part0
170
	w.Part1 = part1
171
	w.C0 = c0
172
	w.C1 = c1
173
	return w
174
end
175
176
function clerp(a, b, t)
177
	return a:lerp(b, t)
178
end
179
180
RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
181
NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
182
183
local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0)) 
184
local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
185
local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0))
186
local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), CFrame.new(0, 0, 0))
187
RootJoint.C1 = CFrame.new(0, 0, 0)
188
RootJoint.C0 = CFrame.new(0, 0, 0)
189
Torso.Neck.C1 = CFrame.new(0, 0, 0)
190
Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
191
192
local rarmc1 = RW.C1
193
local larmc1 = LW.C1
194
local rlegc1 = RH.C1
195
local llegc1 = LH.C1
196
197
local resetc1 = false
198
199
function PlayAnimationFromTable(table, speed, bool)
200
	RootJoint.C0 = clerp(RootJoint.C0, table[1], speed) 
201
	Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed) 
202
	RW.C0 = clerp(RW.C0, table[3], speed) 
203
	LW.C0 = clerp(LW.C0, table[4], speed) 
204
	RH.C0 = clerp(RH.C0, table[5], speed) 
205
	LH.C0 = clerp(LH.C0, table[6], speed) 
206
	if bool == true then
207
		if resetc1 == false then
208
			resetc1 = true
209
			RootJoint.C1 = RootJoint.C1
210
			Torso.Neck.C1 = Torso.Neck.C1
211
			RW.C1 = rarmc1
212
			LW.C1 = larmc1
213
			RH.C1 = rlegc1
214
			LH.C1 = llegc1
215
		end
216
	end
217
end
218
219
Char = char
220
221
--[[Credits to SazErenos for his Artificial Heartbeat]]--
222
223
ArtificialHB = Instance.new("BindableEvent", script)
224
ArtificialHB.Name = "Heartbeat"
225
226
script:WaitForChild("Heartbeat")
227
228
frame = 1 / 30
229
tf = 0
230
allowframeloss = false
231
tossremainder = false
232
lastframe = tick()
233
script.Heartbeat:Fire()
234
235
game:GetService("RunService").Heartbeat:connect(function(s, p)
236
	tf = tf + s
237
	if tf >= frame then
238
		if allowframeloss then
239
			script.Heartbeat:Fire()
240
			lastframe = tick()
241
		else
242
			for i = 1, math.floor(tf / frame) do
243
				script.Heartbeat:Fire()
244
			end
245
			lastframe = tick()
246
		end
247
		if tossremainder then
248
			tf = 0
249
		else
250
			tf = tf - frame * math.floor(tf / frame)
251
		end
252
	end
253
end)
254
255
function swait(num)
256
	if num == 0 or num == nil then
257
		ArtificialHB.Event:wait()
258
	else
259
		for i = 0, num do
260
			ArtificialHB.Event:wait()
261
		end
262
	end
263
end
264
265
local RbxUtility = LoadLibrary("RbxUtility")
266
local Create = RbxUtility.Create
267
268
function RemoveOutlines(part)
269
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
270
end
271
	
272
CFuncs = {	
273
	["Part"] = {
274
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
275
			local Part = Create("Part"){
276
				Parent = Parent,
277
				Reflectance = Reflectance,
278
				Transparency = Transparency,
279
				CanCollide = false,
280
				Locked = true,
281
				BrickColor = BrickColor.new(tostring(BColor)),
282
				Name = Name,
283
				Size = Size,
284
				Material = Material,
285
			}
286
			RemoveOutlines(Part)
287
			return Part
288
		end;
289
	};
290
	
291
	["Mesh"] = {
292
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
293
			local Msh = Create(Mesh){
294
				Parent = Part,
295
				Offset = OffSet,
296
				Scale = Scale,
297
			}
298
			if Mesh == "SpecialMesh" then
299
				Msh.MeshType = MeshType
300
				Msh.MeshId = MeshId
301
			end
302
			return Msh
303
		end;
304
	};
305
	
306
	["Mesh"] = {
307
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
308
			local Msh = Create(Mesh){
309
				Parent = Part,
310
				Offset = OffSet,
311
				Scale = Scale,
312
			}
313
			if Mesh == "SpecialMesh" then
314
				Msh.MeshType = MeshType
315
				Msh.MeshId = MeshId
316
			end
317
			return Msh
318
		end;
319
	};
320
	
321
	["Weld"] = {
322
		Create = function(Parent, Part0, Part1, C0, C1)
323
			local Weld = Create("Weld"){
324
				Parent = Parent,
325
				Part0 = Part0,
326
				Part1 = Part1,
327
				C0 = C0,
328
				C1 = C1,
329
			}
330
			return Weld
331
		end;
332
	};
333
334
	["Sound"] = {
335
		Create = function(id, par, vol, pit) 
336
			coroutine.resume(coroutine.create(function()
337
				local S = Create("Sound"){
338
					Volume = vol,
339
					Pitch = pit or 1,
340
					SoundId = id,
341
					Parent = par or workspace,
342
				}
343
				Instance.new("DistortionSoundEffect", S).Level = 1
344
				wait() 
345
				S:play() 
346
				game:GetService("Debris"):AddItem(S, 10)
347
			end))
348
		end;
349
	};
350
	
351
	["ParticleEmitter"] = {
352
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
353
			local fp = Create("ParticleEmitter"){
354
				Parent = Parent,
355
				Color = ColorSequence.new(Color1, Color2),
356
				LightEmission = LightEmission,
357
				Size = Size,
358
				Texture = Texture,
359
				Transparency = Transparency,
360
				ZOffset = ZOffset,
361
				Acceleration = Accel,
362
				Drag = Drag,
363
				LockedToPart = LockedToPart,
364
				VelocityInheritance = VelocityInheritance,
365
				EmissionDirection = EmissionDirection,
366
				Enabled = Enabled,
367
				Lifetime = LifeTime,
368
				Rate = Rate,
369
				Rotation = Rotation,
370
				RotSpeed = RotSpeed,
371
				Speed = Speed,
372
				VelocitySpread = VelocitySpread,
373
			}
374
			return fp
375
		end;
376
	};
377
}
378
379
function rayCast(Position, Direction, Range, Ignore)
380
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) 
381
end 
382
383
local function GetNearest(obj, distance)
384
	local last, lastx = distance + 1
385
	for i, v in pairs(workspace:GetChildren()) do
386
		if v:IsA'Model' and v ~= Character and v:findFirstChild('Humanoid') and v:findFirstChild('Torso') and v:findFirstChild('Humanoid').Health > 0 then
387
			local t = v.Torso
388
			local dist = (t.Position - obj.Position).magnitude
389
			if dist <= distance then
390
				if dist < last then
391
					last = dist
392
					lastx = v
393
				end
394
			end
395
		end
396
	end
397
	return lastx
398
end
399
400
--[[ Credits to Kert109 (Ninja_Deer) for the Damage function. Fenrier for the Magnitude Damage ]]--
401
402
function Damage(hit, damage, cooldown, Color1, Color2, HSound, HPitch)
403
	for i, v in pairs(hit:GetChildren()) do 
404
		if v:IsA("Humanoid") and hit.Name ~= Character.Name then
405
			local find = v:FindFirstChild("DebounceHit")
406
			if not find then
407
				if v.Parent:findFirstChild("Head") then
408
					local BillG = Create("BillboardGui"){
409
						Parent = v.Parent.Head,
410
						Size = UDim2.new(1, 0, 1, 0),
411
						Adornee = v.Parent.Head,
412
						StudsOffset = Vector3.new(math.random(-3, 3), math.random(3, 5), math.random(-3, 3)),
413
					}
414
					local TL = Create("TextLabel"){
415
						Parent = BillG,
416
						Size = UDim2.new(3, 3, 3, 3),
417
						BackgroundTransparency = 1,
418
						Text = tostring(damage).."-",
419
						TextColor3 = Color1.Color,
420
						TextStrokeColor3 = Color2.Color,
421
						TextStrokeTransparency = 0,
422
						TextXAlignment = Enum.TextXAlignment.Center,
423
						TextYAlignment = Enum.TextYAlignment.Center,
424
						FontSize = Enum.FontSize.Size18,
425
						Font = "ArialBold",
426
					}
427
					coroutine.resume(coroutine.create(function()
428
						swait(1)
429
						for i = 0, 1, .1 do
430
							swait(.1)
431
							BillG.StudsOffset = BillG.StudsOffset + Vector3.new(0, .1, 0)
432
						end
433
						BillG:Destroy()
434
					end))
435
				end
436
				v.Health = v.Health - damage
437
				local bool = Create("BoolValue"){
438
					Parent = v,
439
					Name = "DebounceHit",
440
				}
441
				if HSound ~= nil and HPitch ~= nil then
442
					CFuncs["Sound"].Create(HSound, hit, 1, HPitch) 
443
				end
444
				game:GetService("Debris"):AddItem(bool, cooldown)
445
			end
446
		end
447
	end
448
end
449
450
function MagnitudeDamage(Part, magni, mindam, maxdam, Color1, Color2, HSound, HPitch)
451
	for _, c in pairs(workspace:children()) do
452
		local hum = c:findFirstChild("Humanoid")
453
		if hum ~= nil then
454
			local head = c:findFirstChild("Torso")
455
			if head ~= nil then
456
				local targ = head.Position - Part.Position
457
				local mag = targ.magnitude
458
				if mag <= magni and c.Name ~= Player.Name then 
459
					Damage(head.Parent, math.random(mindam, maxdam), 0.5, Color1, Color2, HSound, HPitch)
460
				end
461
			end
462
		end
463
	end
464
end
465
466
Handle = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "Handle", Vector3.new(-0.399999946, 0.899999976, -0.400000095))
467
HandleWeld = CFuncs["Weld"].Create(m, Character["Right Arm"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199958801, -0.0500774384, -1.09998882, -1, 0, 0, 0, 0, -1, -0, -1, -0))
468
FakeHandle = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "FakeHandle", Vector3.new(0.399999946, 0.899999976, 0.400000095))
469
FakeHandleWeld = CFuncs["Weld"].Create(m, Handle, FakeHandle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199996948, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1))
470
Barrel = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "Barrel", Vector3.new(0.399999946, 0.399999976, 0.400000095))
471
BarrelWeld = CFuncs["Weld"].Create(m, FakeHandle, Barrel, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, -0.749999046, -1.50000024, 1, 0, 0, 0, 1, 0, 0, 0, 1))
472
Part = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 0, "Medium stone grey", "Part", Vector3.new(-0.399999946, 0.299999952, -0.400000095))
473
PartWeld = CFuncs["Weld"].Create(m, FakeHandle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.38, -0.300000194, 0.400000160, 1, 0, 0, 0, 1, 0, 0, 0, -1))
474
CFuncs["Mesh"].Create("SpecialMesh", Part, Enum.MeshType.FileMesh, "rbxassetid://518429909", Vector3.new(0, 0, 0), Vector3.new(0.00200000009, 0.00700000007, 0.003000010))
475
Part.Mesh.TextureId = "rbxassetid://57638278"
476
Part.Mesh.Scale = Vector3.new(-0.2, 0.2, -0.2)
477
478
EffectModel = Instance.new("Model", Character)
479
EffectModel.Name = "Effects"
480
481
Effects = {
482
	["Block"] = {
483
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
484
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
485
			prt.Anchored = true
486
			prt.CFrame = cframe
487
			local msh = CFuncs["Mesh"].Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
488
			game:GetService("Debris"):AddItem(prt, 10)
489
			if Type == 1 or Type == nil then
490
				table.insert(Effects, {
491
					prt,
492
					"Block1",
493
					delay,
494
					x3,
495
					y3,
496
					z3,
497
					msh
498
				})
499
			elseif Type == 2 then
500
				table.insert(Effects, {
501
					prt,
502
					"Block2",
503
					delay,
504
					x3,
505
					y3,
506
					z3,
507
					msh
508
				})
509
			end
510
		end;
511
	};
512
	
513
	["Cylinder"] = {
514
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
515
			local prt = CFuncs["Part"].Create(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
516
			prt.Anchored = true
517
			prt.CFrame = cframe
518
			local msh = CFuncs["Mesh"].Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
519
			game:GetService("Debris"):AddItem(prt, 2)
520
			Effects[#Effects + 1] = {
521
				prt,
522
				"Cylinder",
523
				delay,
524
				x3,
525
				y3,
526
				z3
527
			}
528
		end;
529
	};
530
	
531
	["Sphere"] = {
532
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
533
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
534
			prt.Anchored = true
535
			prt.CFrame = cframe
536
			local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
537
			game:GetService("Debris"):AddItem(prt, 10)
538
			table.insert(Effects, {
539
				prt,
540
				"Cylinder",
541
				delay,
542
				x3,
543
				y3,
544
				z3,
545
				msh
546
			})
547
		end;
548
	};
549
	
550
	["Elec"] = {
551
		Create = function(cff, x, y, z)
552
			local prt = CFuncs["Part"].Create(workspace, "Neon", 0, 0, BrickColor.new("Lime green"), "Part", Vector3.new(1, 1, 1))
553
			prt.Anchored = true
554
			prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
555
			prt.CFrame = CFrame.new(prt.Position)
556
			game:GetService("Debris"):AddItem(prt, 2)
557
			local xval = math.random() / 2
558
			local yval = math.random() / 2
559
			local zval = math.random() / 2
560
			local msh = CFuncs["Mesh"].Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
561
			table.insert(Effects, {
562
				prt,
563
				"Elec",
564
				0.1,
565
				x,
566
				y,
567
				z,
568
				xval,
569
				yval,
570
				zval
571
			})
572
		end;
573
574
	};
575
	
576
	["Ring"] = {
577
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
578
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
579
			prt.Anchored = true
580
			prt.CFrame = cframe
581
			local msh = CFuncs["Mesh"].Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
582
			game:GetService("Debris"):AddItem(prt, 10)
583
			table.insert(Effects, {
584
				prt,
585
				"Cylinder",
586
				delay,
587
				x3,
588
				y3,
589
				z3,
590
				msh
591
			})
592
		end;
593
	};
594
595
596
	["Wave"] = {
597
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
598
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
599
			prt.Anchored = true
600
			prt.CFrame = cframe
601
			local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
602
			game:GetService("Debris"):AddItem(prt, 10)
603
			table.insert(Effects, {
604
				prt,
605
				"Cylinder",
606
				delay,
607
				x3,
608
				y3,
609
				z3,
610
				msh
611
			})
612
		end;
613
	};
614
615
	["Break"] = {
616
		Create = function(brickcolor, cframe, x1, y1, z1)
617
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
618
			prt.Anchored = true
619
			prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
620
			local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
621
			local num = math.random(10, 50) / 1000
622
			game:GetService("Debris"):AddItem(prt, 10)
623
			table.insert(Effects, {
624
				prt,
625
				"Shatter",
626
				num,
627
				prt.CFrame,
628
				math.random() - math.random(),
629
				0,
630
				math.random(50, 100) / 100
631
			})
632
		end;
633
	};
634
}
635
636
Shoot2 = function(orgpos)
637
	local MouseLook = CFrame.new((orgpos + mouse.Hit.p) / 2, mouse.Hit.p)
638
	Effects["Sphere"].Create(BrickColor.new("White"), CFrame.new(orgpos), 5, 5, 5, 3, 3, 3, 0.1)
639
	table.insert(Effects, {
640
		MouseLook.lookVector,
641
		"Shoot2",
642
		50,
643
		orgpos,
644
		5,
645
		7,
646
		0,
647
		1,
648
		2
649
	})
650
end
651
652
function bulletstorm()
653
	attack = true
654
	CFuncs["Sound"].Create("rbxassetid://347302718", Torso, 1, 1) 
655
	text.Text = "FIRE!"
656
wait(1.5)
657
	for i = 0, 1, 0.025 do
658
		swait()
659
		PlayAnimationFromTable({
660
			CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
661
			CFrame.new(0, 1.4999907, 3.42726707e-007, 1, 0, 0, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
662
			CFrame.new(0.431798398, 0.400000006, -0.888215482, 0.939692736, 0.342019886, 0, 0, 0, -1, -0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
663
			CFrame.new(-0.559965074, 0.300000012, -0.828456283, 0.939692736, -0.342019886, 0, 0, 0, -1, 0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
664
			CFrame.new(0.599619746, -1.99127948, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
665
			CFrame.new(-0.599619746, -1.99127901, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
666-
howtobasic1 = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
666+
667
	CFuncs["Sound"].Create("rbxassetid://539882114", Torso, 1, 1) 
668
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
669-
howtobasic2 = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
669+
670
	text.Text = "Luke"
671
	end
672-
howtobasic3 = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
672+
673
	attack = false
674
end
675-
howtobasic = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
675+
676
function overload()
677
	attack = true
678
	CFuncs["Sound"].Create("rbxassetid://347302718", Torso, 1, 1)
679
	text.Text = "Shoot!"
680
Shoot2(LeftArm.Position)
681
Shoot2(RightArm.Position)
682
Shoot2(RightLeg.Position)
683
Shoot2(LeftLeg.Position)
684
Shoot2(Head.Position)
685
Shoot2(Torso.Position)
686
wait(0)
687
	attack = false
688
	text.Text = "Luke"
689
end
690
691
function overcharge()
692
        attack = true
693
	text.Text = "HeadShot!"
694
        CFuncs["Sound"].Create("rbxassetid://347302718", Torso, 1, 1)
695
	for i = 0, 1, 0.15 do
696
		swait()
697
		PlayAnimationFromTable({
698
			CFrame.new(-0.0325974114, -4.05311584e-006, 0.110728048, 0.64278698, 0, -0.766044974, 0, 1, 0, 0.766044974, 0, 0.64278698),
699
			CFrame.new(0, 1.50000095, 0, 0.64278698, 0, 0.766044974, 0, 1, 0, -0.766044974, 0, 0.64278698),
700
			CFrame.new(1.10100186, 0.535800219, -0.637803555, 0.658456147, 0.673041463, 0.336824596, 0.280167073, 0.196174845, -0.939692438, -0.698528469, 0.713113427, -0.0593915135),
701
			CFrame.new(-1.62758517, 0.073027119, -0.378663093, 0.90510416, 0.321394593, -0.278374165, -0.392632991, 0.883023262, -0.25711751, 0.163174719, 0.342016995, 0.92541796),
702
			CFrame.new(0.644929826, -1.96549833, 0.164695352, 0.962249994, -0.148305506, 0.228211343, 0.0871559754, 0.962249756, 0.257835865, -0.257834762, -0.22821258, 0.938850582),
703
			CFrame.new(-0.750219464, -1.99537396, -0.240616962, 0.862504363, 0.0818999186, 0.499378443, -0.08583197, 0.99619472, -0.0151344473, -0.498717606, -0.0298091136, 0.866251826),
704
		}, .5, false)
705
	end
706
wait(3)
707
Shoot2(Barrel.Position)
708
Shoot2(Barrel.Position)
709
Shoot2(Handle.Position)
710
Shoot2(Handle.Position)
711
Shoot2(FakeHandle.Position)
712
Shoot2(FakeHandle.Position)
713
Shoot2(Barrel.Position)
714
Shoot2(Barrel.Position)
715
Shoot2(Handle.Position)
716
Shoot2(Handle.Position)
717
Shoot2(FakeHandle.Position)
718
Shoot2(FakeHandle.Position)
719
Shoot2(Barrel.Position)
720
Shoot2(Barrel.Position)
721
Shoot2(Handle.Position)
722
Shoot2(Handle.Position)
723
Shoot2(FakeHandle.Position)
724
Shoot2(FakeHandle.Position)
725
Shoot2(Barrel.Position)
726
Shoot2(Barrel.Position)
727
Shoot2(Handle.Position)
728
Shoot2(Handle.Position)
729
Shoot2(FakeHandle.Position)
730
Shoot2(FakeHandle.Position)
731
	for i = 0, 1, 0.15 do
732
		swait()
733
		PlayAnimationFromTable({
734
         CFrame.new(2.70828605e-006, -0.256154776, -0.071654655, 0.499999046, -1.78813579e-007, -0.866026044, 0.150384009, 0.984807789, 0.0868238211, 0.852869093, -0.173648283, 0.492402941),
735
         CFrame.new(4.34633694e-006, 1.49999607, 2.42484384e-006, 0.646143615, 0.0549410731, 0.761235893, -0.0851004422, 0.996372402, 0.000322267413, -0.758456767, -0.0649897307, 0.648474991),
736
         CFrame.new(1.86507177, 0.598104239, 0.183552518, -0.114682339, -0.981059372, -0.156110525, 0.981060445, -0.0871559381, -0.172987223, 0.156104773, -0.172992408, 0.9724738),
737
         CFrame.new(-1.52644157, 0.0874626189, -0.302744657, 0.95125103, 0.20658794, -0.229004204, -0.254887104, 0.944645047, -0.2065873, 0.173649222, 0.254886597, 0.951251268),
738
         CFrame.new(0.623469114, -1.90178788, 0.0298061967, 0.992532074, -0.0928985924, 0.079056859, 0.0757590532, 0.97739321, 0.197391063, -0.0956070125, -0.189927697, 0.977131963),
739
         CFrame.new(-0.786503196, -1.67652178, -0.389780819, 0.631277382, 0.179900557, 0.754403591, -0.0723632798, 0.982144117, -0.173656344, -0.772174001, 0.0550341941, 0.6330235),
740
		}, .35, false)
741
	text.Text = "guy with an inverted sniper rifle"
742
end
743
attack = false
744
end
745
746
function attackone()
747
	attack = true
748
	text.Text = "Die"
749
750
howtobasic1 = owner
751
howtobasic1.Volume = 45
752
howtobasic1.SoundId = "rbxassetid://347302718"
753
howtobasic2 = owner
754
howtobasic2.Volume = 45
755
howtobasic2.SoundId = "rbxassetid://347302718"
756
howtobasic3 = owner
757
howtobasic3.Volume = 45
758
howtobasic3.SoundId = "rbxassetid://347302718"
759
howtobasic = owner
760
howtobasic.Volume = 45
761
howtobasic.SoundId = "rbxassetid://347302718"
762
763
local Math = math.random(1,4)
764
		if Math == 1 then
765
			howtobasic:Play()
766
		end
767
		if Math == 2 then
768
			howtobasic1:Play()
769
		end
770
		if Math == 3 then
771
			howtobasic2:Play()
772
		end
773
		if Math == 4 then
774
			howtobasic3:Play()
775
		end
776
	for i = 0, 1, 0.025 do
777
		swait()
778
		PlayAnimationFromTable({
779
			CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
780
			CFrame.new(0, 1.4999907, 3.42726707e-007, 1, 0, 0, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
781
			CFrame.new(0.431798398, 0.400000006, -0.888215482, 0.939692736, 0.342019886, 0, 0, 0, -1, -0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
782
			CFrame.new(-0.559965074, 0.300000012, -0.828456283, 0.939692736, -0.342019886, 0, 0, 0, -1, 0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
783
			CFrame.new(0.599619746, -1.99127948, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
784
			CFrame.new(-0.599619746, -1.99127901, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
785
		}, .3, false)
786
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
787
	end
788
	CFuncs["Sound"].Create("rbxassetid://347302718", Barrel, 5, 1)
789
	text.Text = "Luke"
790
	Shoot2(Barrel.Position)
791
	for i = 0, 1, 0.15 do
792
		swait()
793
		RootPart.Velocity = RootPart.CFrame.lookVector * -50
794
		PlayAnimationFromTable({
795
			CFrame.new(-0, -0.281125277, 0.157014638, 1, 0, -0, 0, 0.906307876, -0.422617942, 0, 0.422617942, 0.906307876) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
796
			CFrame.new(0, 1.4999938, 1.05202198e-005, 1, 0, -0, 0, 0.965925813, 0.258818924, -0, -0.258818924, 0.965925813) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
797
			CFrame.new(0.406597674, 0.817824185, -0.957423151, 0.939692974, 0.280165672, -0.196174338, -5.36441803e-007, -0.573575616, -0.819152534, -0.34201926, 0.769751906, -0.538984895) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
798
			CFrame.new(-0.506752789, 0.775180221, -0.974653006, 0.939692974, -0.280165732, 0.196174279, 5.36441803e-007, -0.573575556, -0.819152713, 0.34201926, 0.769752145, -0.538984716) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
799
			CFrame.new(0.566868722, -1.61683154, -0.13679418, 0.954536259, -0.174988821, -0.241328761, 0.172366679, 0.984509468, -0.0321052969, 0.243208498, -0.0109513998, 0.969912171) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
800
			CFrame.new(-0.545306504, -1.37044179, -0.679420352, 0.996202111, 0.0754783303, 0.0434113704, -0.0434117466, 0.862729907, -0.503797948, -0.0754781216, 0.49999994, 0.862729967) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
801
		}, .6, false)
802
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-30), math.rad(-20), math.rad(0)), 0.3)
803
	end
804
	for i = 0, 1, 0.15 do
805
		swait()
806
		RootPart.Velocity = RootPart.CFrame.lookVector * -100
807
		PlayAnimationFromTable({
808
			CFrame.new(-0, -0.795007467, 0.0831707418, 1, 0, -0, 0, 0.76604414, -0.642788053, 0, 0.642788053, 0.76604414) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
809
			CFrame.new(0, 1.49999774, 1.20103359e-005, 1, 0, -0, 0, 0.965925634, 0.258819878, -0, -0.258819878, 0.965925634) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
810
			CFrame.new(1.70605683, 1.21151328, -0.185158521, 0.893217862, -0.29338178, -0.340718448, -0.340719074, -0.936116338, -0.0871595442, -0.293381065, 0.193941653, -0.936116695) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
811
			CFrame.new(-1.69524968, 1.05172348, -0.252849877, 0.812758088, 0.493294626, 0.309975445, 0.582562625, -0.694268882, -0.422624737, 0.00672781467, 0.524071693, -0.851647615) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
812
			CFrame.new(0.689150453, -1.88461804, -0.0157705098, 0.954536736, -0.174989104, -0.241326213, 0.172367141, 0.984509468, -0.0321044922, 0.243205875, -0.0109517872, 0.969912887) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
813
			CFrame.new(-0.536899447, -1.34506011, -0.583059072, 0.99620223, 0.0226762109, 0.0840658173, -0.043412663, 0.966281295, 0.253803402, -0.0754759163, -0.256489068, 0.963595748) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
814
		}, .2, false)
815
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-50), math.rad(0)), 0.3)
816
	end
817
	for i = 0, 1, 0.05 do
818
		swait()
819
		RootPart.Velocity = RootPart.CFrame.lookVector * -50
820
		PlayAnimationFromTable({
821
			CFrame.new(-0, -2.09708667, 0.108620644, 1, 0, -0, 0, 0.573575675, -0.819152594, 0, 0.819152594, 0.573575675) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
822
			CFrame.new(0, 1.53697455, -0.422635257, 1, 0, -0, 0, 0.766043842, 0.64278841, -0, -0.64278841, 0.766043842) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
823
			CFrame.new(1.57810855, 0.650130272, 0.33058399, 0.930655897, -0.284022599, -0.230674848, 0.352510452, 0.527023435, 0.773293555, -0.0980618149, -0.800985396, 0.590598404) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
824
			CFrame.new(-1.38994181, 0.87733829, 0.667137444, 0.963715255, 0.08906921, 0.251633942, -0.25866431, 0.0788001418, 0.962747812, 0.0659223944, -0.992903471, 0.0989798903) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
825
			CFrame.new(0.774198592, -1.52057803, -0.607582211, 0.954536974, -0.272207022, -0.121501081, 0.172365844, 0.83655864, -0.520057499, 0.243206039, 0.475471497, 0.845445395) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
826
			CFrame.new(-0.530096769, -1.05517173, -0.660005629, 0.99620223, 0.0226761587, 0.0840661526, -0.0434127897, 0.966280818, 0.253804684, -0.0754762068, -0.256490231, 0.96359539) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
827
		}, .3, false)
828
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(0)), 0.3)
829
	end
830
	for i = 0, 1, 0.13 do
831
		swait()
832
		PlayAnimationFromTable({
833
			CFrame.new(-0, -1.01349139, -0.251608461, 1, 0, 0, 0, 0.707105339, 0.707108378, 0, -0.707108378, 0.707105339) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
834
			CFrame.new(0.0127754211, 1.44207788, 0.0749337673, 1, 0, 0, 0, 0.939691544, -0.342023343, 0, 0.342023343, 0.939691544) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
835
			CFrame.new(1.62296665, 0.191783041, -0.192457974, 0.930656254, -0.329096794, 0.159920022, 0.352511466, 0.923570275, -0.150843769, -0.098055169, 0.196757287, 0.975536823) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
836
			CFrame.new(-0.870643735, 0.71258086, -0.942903101, 0.18127799, -0.372358024, -0.910213113, -0.781424284, 0.507405519, -0.363202393, 0.597088516, 0.777103186, -0.19898814) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
837
			CFrame.new(0.214147568, -1.73508716, -0.0895051956, 0.924306214, 0.282332808, -0.256800473, -0.113861978, 0.846218646, 0.520528436, 0.364271581, -0.451887846, 0.814311981) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
838
			CFrame.new(-0.535767198, -0.599929333, -0.996632636, 0.996202111, 0.0754788443, 0.0434101112, -0.0434126705, 0.862728953, -0.503799856, -0.0754773915, 0.500001788, 0.862729192) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
839
		}, .3, false)
840
	end
841
	attack = false
842
end
843
844
--[[Attacks]]--
845
846
mouse.Button1Down:connect(function()
847
	if attack == false and attacktype == 1 then
848
		attackone()
849
	end
850
end)
851
852
853
mouse.KeyDown:connect(function(k)
854
	k = k:lower()
855
	if attack == false and k == 'q' then
856
	  bulletstorm()
857
	elseif attack == false and k == 'e' then
858
          overload()
859
        elseif attack == false and k == 'r' then
860
          overcharge()
861
      end
862
end)
863
864
while true do
865
	swait()
866
	for i, v in pairs(Character:GetChildren()) do
867
		if v:IsA("Part") then
868
			v.Material = "SmoothPlastic"
869
		elseif v:IsA("Accessory") then
870
			v:WaitForChild("Handle").Material = "SmoothPlastic"
871
		end
872
	end
873
	Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
874
	velocity = RootPart.Velocity.y
875
	sine = sine + change
876
	local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
877
	if equipped == true or equipped == false then
878
		if RootPart.Velocity.y > 1 and hit == nil then 
879
			Anim = "Jump"
880
			if attack == false then
881
				PlayAnimationFromTable({
882
					CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
883
					CFrame.new(0, 1.49221826, -0.044082582, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
884
					CFrame.new(1.66304386, 0.182627335, 0.00782334805, 0.883022726, -0.392632574, 0.257119894, 0.321392894, 0.905103981, 0.2783764, -0.342019886, -0.163176134, 0.925416708) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
885
					CFrame.new(-1.66570556, 0.224230319, 0.110721856, 0.903736115, 0.408218145, -0.128915116, -0.34750703, 0.875426054, 0.33595863, 0.25000003, -0.258819014, 0.933012724) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
886
					CFrame.new(0.499999166, -1.99999452, 4.76837158e-007, 0.984807849, -5.94328526e-007, -0.173648044, 0.0449439958, 0.965925872, 0.254886925, 0.167730987, -0.258819073, 0.951251388) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
887
					CFrame.new(-0.499999404, -1.51703107, -0.129407585, 0.965925753, 6.6929374e-007, 0.258819193, -0.0669879839, 0.965925813, 0.24999994, -0.24999994, -0.258819163, 0.933012724) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
888
				}, .3, false)
889
			end
890
		elseif RootPart.Velocity.y < -60 and hit == nil then 
891
			Anim = "Fall"
892
			if attack == false then
893
				PlayAnimationFromTable({
894
					CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
895
					CFrame.new(0, 1.49221873, -0.0440826714, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
896
					CFrame.new(1.76076102, 0.406842887, 0.0212866664, 0.695482016, -0.670965135, 0.257119834, 0.611573994, 0.74059701, 0.278376371, -0.377202988, -0.0363579579, 0.925416648) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
897
					CFrame.new(-1.68029141, 0.390803367, 0.155905366, 0.70961535, 0.692695498, -0.128914997, -0.625963271, 0.703777075, 0.335958213, 0.323444158, -0.157705069, 0.933012843) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
898
					CFrame.new(0.693307817, -1.96826017, -0.0605875254, 0.986561239, -0.127662987, -0.101976946, 0.137943029, 0.985269904, 0.101069227, 0.0875720233, -0.113777988, 0.989639223) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
899
					CFrame.new(-0.526552737, -1.81498528, -0.152177691, 0.965925574, 0.0449441113, 0.254888207, -0.066988036, 0.994663239, 0.0784704387, -0.250001162, -0.0928710476, 0.963781357) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
900
				}, .3, false)
901
			end
902
		elseif Torsovelocity < 1 and hit ~= nil then
903
			Anim = "Idle"
904
			if attack == false then
905
				change = 1
906
				PlayAnimationFromTable({
907
					CFrame.new(1.22602091e-006, -0.219458103, 1.46111324e-006, 0.76604414, 0, 0.642788053, 0, 1, 0, -0.642788053, 0, 0.76604414) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
908
					CFrame.new(0, 1.49999201, 0, 0.707106233, 0, -0.707107306, 0, 1, 0, 0.707107306, 0, 0.707106233) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
909
					CFrame.new(0.571566343, -0.0739164352, -0.639066696, 0.939692855, 0.340718329, -0.0298085809, -0.241844058, 0.600305915, -0.762328327, -0.241844922, 0.723563433, 0.646503866) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
910
					CFrame.new(-0.628383756, -0.12163578, -0.696761668, 0.939692736, -0.342020065, -5.06639481e-007, 0.196173996, 0.538984895, -0.819152653, 0.280166954, 0.769751549, 0.573575616) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
911
					CFrame.new(0.624118924, -1.79798961, 0.0678238794, 0.995454907, -0.0383867361, -0.0871553123, 0.0385330059, 0.999257326, -4.09960694e-006, 0.0870907605, -0.00335427374, 0.996194839) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
912
					CFrame.new(-0.53866595, -1.82180798, 0.00821807235, 0.977763176, 0.0281341001, 0.207816422, -0.0287620034, 0.999586344, -1.4934686e-007, -0.207730502, -0.00597707182, 0.978167892) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
913
				}, .3, false)
914
				FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
915
			end
916
		elseif Torsovelocity > 2 and hit ~= nil then
917
			Anim = "Walk"
918
			if attack == false then
919
				change = 3
920
				PlayAnimationFromTable({
921
					CFrame.new(0, -0.0240751095, -0.146390602, 1, 0, 0, 0, 0.965925872, 0.258818984, 0, -0.258818984, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
922
					CFrame.new(0, 1.49999237, -1.81794167e-006, 1, 0, 0, 0, 0.984807789, -0.173647881, 0, 0.173647881, 0.984807789) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
923
					CFrame.new(0.172261134, 0.427689523, -1.09730911, 0.644483984, 0.748984814, -0.153825179, 0.413525045, -0.510645986, -0.753815472, -0.643146515, 0.422211438, -0.638827145) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
924
					CFrame.new(-1.1922102, 0.363029838, -0.448653877, 0.935289383, -0.110854559, -0.33607316, -0.341521561, -0.531564534, -0.775114357, -0.0927196145, 0.839732468, -0.535025835) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
925
					CFrame.new(.5, -1.85 - 0.5 * math.cos(sine / 8) / 2, 0 + 1.8 *  math.sin(sine / 8) / 2) * angles(math.rad(-50 *  math.sin(sine / 8)), math.rad(0), math.rad(0)),
926
					CFrame.new(-.5, -1.85 + 0.5 * math.cos(sine / 8) / 2, 0 - 1.8 * math.sin(sine / 8) / 2) * angles(math.rad(50 *  math.sin(sine / 8)), math.rad(0), math.rad(0)),
927
				}, .3, false)
928
				FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-30), math.rad(0)), 0.3)
929
			end
930
		end
931
	end
932
	if 0 < #Effects then
933
		for e = 1, #Effects do
934
			if Effects[e] ~= nil then
935
				local Thing = Effects[e]
936
				if Thing ~= nil then
937
					local Part = Thing[1]
938
					local Mode = Thing[2]
939
					local Delay = Thing[3]
940
					local IncX = Thing[4]
941
					local IncY = Thing[5]
942
					local IncZ = Thing[6]
943
					if Thing[2] == "Shoot" then
944
						local Look = Thing[1]
945
						local hit, pos = rayCast(Thing[4], Look, 15, Character)
946
						local mag = (Thing[4] - pos).magnitude
947
						Thing[9] = Thing[9] + 0.5
948
						Thing[5] = Thing[5] + 0.2
949
						Thing[6] = Thing[6] + 0.2
950
						Effects["Cylinder"].Create(BrickColor.new("White"), CFrame.new((Thing[4] + pos) / 2, pos) * angles(1.57, 0, 0), Thing[9], mag * 5, Thing[9], -0.2, 0, -0.2, 0.1)
951
						Thing[4] = Thing[4] + Look * 15
952
						Thing[3] = Thing[3] - 1
953
						if hit ~= nil then
954
							Thing[3] = 0
955
							ref = CFuncs["Part"].Create(workspace, "Neon", 0, 1, BrickColor.new("White"), "Reference", Vector3.new())
956
							ref.Anchored = true
957
							ref.CFrame = CFrame.new(pos)
958
							Effects["Sphere"].Create(BrickColor.new("Bright yellow"), CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
959
							CFuncs["Sound"].Create("rbxassetid://539881968", ref, 0.1, 1)
960
							game:GetService("Debris"):AddItem(ref, 10)
961
						end
962
						if Thing[3] <= 0 then
963
							table.remove(Effects, e)
964
						end
965
					end
966
					do
967
						if Thing[2] == "Shoot2" then
968
							local Look = Thing[1]
969
							local hit, pos = rayCast(Thing[4], Look, 3, Character)
970
							local mag = (Thing[4] - pos).magnitude
971
							Thing[9] = Thing[9] + 0.5
972
							Thing[5] = Thing[5] + 0.2
973
							Thing[6] = Thing[6] + 0.2
974
							Effects["Sphere"].Create(BrickColor.new("Bright yellow"), CFrame.new((Thing[4] + pos) / 2, pos), 25, 25, 25, -5, -5, -5, 0.2)
975
							Thing[4] = Thing[4] + Look * 3
976
							Thing[3] = Thing[3] + 5
977
							if hit ~= nil then
978
								Thing[3] = 0
979
								ref = CFuncs["Part"].Create(workspace, "Neon", 0, 1, BrickColor.new("White"), "Reference", Vector3.new())
980
								ref.Anchored = true
981
								ref.CFrame = CFrame.new(pos)
982
								Effects["Sphere"].Create(BrickColor.new("Really yellow"), CFrame.new(pos), 25, 25, 25, 5, 5, 5, 0.01)
983
								Effects["Sphere"].Create(BrickColor.new("Bright yellow"), CFrame.new(pos), 10, 10, 10, 15, 15, 15, 0.01)
984
								Effects["Block"].Create(BrickColor.new("White"), CFrame.new(pos), 10, 10, 10, 15, 15, 15, 0.01, 1)
985
								Effects["Wave"].Create(BrickColor.new("Smoky grey"), CFrame.new(pos), 2, 2, 2, 3, 3, 3, 0.01)
986
								CFuncs["Sound"].Create("rbxassetid://10209236", ref, 1, 1)
987
								CFuncs["Sound"].Create("rbxassetid://10209236", Sphere, 0.5, 1)
988
								CFuncs["Sound"].Create("rbxassetid://10209236", Sphere, 0.1, 1)
989
								local e = Instance.new("Explosion", ref)
990
								e.Position = ref.Position
991
								e.BlastRadius = 400
992
								e.DestroyJointRadiusPercent = 400
993
								e.Visible = false
994
								e.ExplosionType = "CratersAndDebris"
995
								game:GetService("Debris"):AddItem(ref, 2)
996
							end
997
							if Thing[3] <= 0 then
998
								table.remove(Effects, e)
999
							end
1000
						end
1001
						do
1002
							do
1003
								if Thing[2] ~= "Shoot" and Thing[2] ~= "DecreaseStat" and Thing[2] ~= "showDamage" and Thing[2] ~= "Shoot2" then
1004
									if Thing[1].Transparency <= 1 then
1005
										if Thing[2] == "Block1" then
1006
											Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1007
											Mesh = Thing[7]
1008
											Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1009
											Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1010
										else
1011
											if Thing[2] == "Block2" then
1012
												Thing[1].CFrame = Thing[1].CFrame
1013
												Mesh = Thing[7]
1014
												Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1015
												Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1016
											else
1017
												if Thing[2] == "Block3" then
1018
													Thing[8].C0 = CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * Thing[9]
1019
													Mesh = Thing[7]
1020
													Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1021
													Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1022
												else
1023
													if Thing[2] == "Cylinder" then
1024
														Mesh = Thing[7]
1025
														Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1026
														Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1027
													else
1028
														if Thing[2] == "Cylinder2" then
1029
															Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, Thing[8], 0)
1030
															Mesh = Thing[7]
1031
															Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1032
															Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1033
														else
1034
															if Thing[2] == "Blood" then
1035
																Mesh = Thing[7]
1036
																Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
1037
																Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1038
																Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1039
															else
1040
																if Thing[2] == "Elec" then
1041
																	Mesh = Thing[10]
1042
																	Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1043
																	Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1044
																else
1045
																	if Thing[2] == "Disappear" then
1046
																		Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1047
																	end
1048
																end
1049
															end
1050
														end
1051
													end
1052
												end
1053
											end
1054
										end
1055
									else
1056
										Part.Parent = nil
1057
										table.remove(Effects, e)
1058
									end
1059
								end
1060
							end
1061
						end
1062
					end
1063
				end
1064
			end
1065
		end
1066
	end
1067
end