View difference between Paste ID: esMWyXnr and DZ68vaDS
SHOW: | | - or go back to the newest paste.
1-
c/require (984412633)
1+
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
6
7
wait(0.2)
8
9
10
11
Player = game:GetService("Players").LocalPlayer
12
PlayerGui = Player.PlayerGui
13
Cam = workspace.CurrentCamera
14
Backpack = Player.Backpack
15
Character = Player.Character
16
Humanoid = Character.Humanoid
17
Mouse = Player:GetMouse()
18
RootPart = Character["HumanoidRootPart"]
19
Torso = Character["Torso"]
20
Head = Character["Head"]
21
RightArm = Character["Right Arm"]
22
LeftArm = Character["Left Arm"]
23
RightLeg = Character["Right Leg"]
24
LeftLeg = Character["Left Leg"]
25
RootJoint = RootPart["RootJoint"]
26
Neck = Torso["Neck"]
27
RightShoulder = Torso["Right Shoulder"]
28
LeftShoulder = Torso["Left Shoulder"]
29
RightHip = Torso["Right Hip"]
30
LeftHip = Torso["Left Hip"]
31
local sick = Instance.new("Sound",Torso)
32
sick.SoundId = "rbxassetid://319444224"
33
sick.Looped = true
34
sick.Pitch = 1
35
sick.Volume = 1
36
local succing = {}
37
38
IT = Instance.new
39
CF = CFrame.new
40
VT = Vector3.new
41
RAD = math.rad
42
C3 = Color3.new
43
UD2 = UDim2.new
44
BRICKC = BrickColor.new
45
ANGLES = CFrame.Angles
46
EULER = CFrame.fromEulerAnglesXYZ
47
COS = math.cos
48
ACOS = math.acos
49
SIN = math.sin
50
ASIN = math.asin
51
ABS = math.abs
52
MRANDOM = math.random
53
FLOOR = math.floor
54
55
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
56
	local NEWMESH = IT(MESH)
57
	if MESH == "SpecialMesh" then
58
		NEWMESH.MeshType = MESHTYPE
59
		if MESHID ~= "nil" and MESHID ~= "" then
60
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
61
		end
62
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
63
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
64
		end
65
	end
66
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
67
	NEWMESH.Scale = SCALE
68
	NEWMESH.Parent = PARENT
69
	return NEWMESH
70
end
71
72
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
73
	local NEWPART = IT("Part")
74
	NEWPART.formFactor = FORMFACTOR
75
	NEWPART.Reflectance = REFLECTANCE
76
	NEWPART.Transparency = TRANSPARENCY
77
	NEWPART.CanCollide = false
78
	NEWPART.Locked = true
79
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
80
	NEWPART.Name = NAME
81
	NEWPART.Size = SIZE
82
	NEWPART.Position = Torso.Position
83
	NEWPART.Material = MATERIAL
84
	NEWPART:BreakJoints()
85
	NEWPART.Parent = PARENT
86
	return NEWPART
87
end
88
89
90
--//=================================\\
91
--||		  CUSTOMIZATION
92
--\\=================================//
93
94
Class_Name = "Template"
95
Weapon_Name = "Add-ons"
96
97
Custom_Colors = {
98
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
99
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
100
101
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
102
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
103
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
104
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
105
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
106
107
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
108
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
109
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
110
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
111
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
112
}
113
114
115
Player_Size = 1 --Size of the player.
116
Animation_Speed = 3
117
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
118
119
local Speed = 16
120
local Effects2 = {}
121
122
--//=================================\\
123
--|| 	  END OF CUSTOMIZATION
124
--\\=================================//
125
126
	local function weldBetween(a, b)
127
	    local weldd = Instance.new("ManualWeld")
128
	    weldd.Part0 = a
129
	    weldd.Part1 = b
130
	    weldd.C0 = CFrame.new()
131
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
132
	    weldd.Parent = a
133
	    return weldd
134
	end
135
136
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
137
local acs = Instance.new("Part")
138
acs.CanCollide = false
139
acs.Anchored = false
140
acs.Size = Vector3.new(0,0,0)
141
acs.CFrame = attachmentpart.CFrame
142
acs.Parent = Character
143
acs.BrickColor = color
144
    local meshs = Instance.new("SpecialMesh")
145
    meshs.MeshId = mesh
146
    meshs.TextureId = texture
147
    meshs.Parent = acs
148
    meshs.Scale = scale
149
    meshs.Offset = offset
150
weldBetween(attachmentpart,acs)
151
end
152
153
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
154
if TYPE == "Gem" then
155
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
156
	acs.Anchored = false
157
    acs.CanCollide = false
158
	acs.CFrame = PART.CFrame
159
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
160
weldBetween(PART,acs)
161
elseif TYPE == "Skull" then
162
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
163
	acs.Anchored = false
164
    acs.CanCollide = false
165
	acs.CFrame = PART.CFrame
166
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
167
weldBetween(PART,acs)
168
elseif TYPE == "Eye" then
169
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
170
	acs.Anchored = false
171
    acs.CanCollide = false
172
	acs.CFrame = PART.CFrame
173
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
174
weldBetween(PART,acs)
175
end
176
end
177
178
--//=================================\\
179
--|| 	      USEFUL VALUES
180
--\\=================================//
181
182
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
183
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
184
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
185
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
186
local CO1 = 0
187
local CO2 = 0
188
local CO3 = 0
189
local CO4 = 0
190
local CHANGEDEFENSE = 0
191
local CHANGEDAMAGE = 0
192
local CHANGEMOVEMENT = 0
193
local ANIM = "Idle"
194
local ATTACK = false
195
local EQUIPPED = false
196
local HOLD = false
197
local COMBO = 1
198
local LASTPOINT = nil
199
local BLCF = nil
200
local SCFR = nil
201
local STAGGERHITANIM = false
202
local STAGGERANIM = false
203
local STUNANIM = false
204
local CRITCHANCENUMBER = 0
205
local IDLENUMBER = 0
206
local DONUMBER = 0
207
local HANDIDLE = false
208
local SINE = 0
209
local CHANGE = 2 / Animation_Speed
210
local WALKINGANIM = false
211
local WALK = 0
212
local DISABLEJUMPING = false
213
local HASBEENBLOCKED = false
214
local STUNDELAYNUMBER = 0
215
local MANADELAYNUMBER = 0
216
local SECONDARYMANADELAYNUMBER = 0
217
local ROBLOXIDLEANIMATION = IT("Animation")
218
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
219
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
220
--ROBLOXIDLEANIMATION.Parent = Humanoid
221
local WEAPONGUI = IT("ScreenGui", nil)
222
WEAPONGUI.Name = "Weapon GUI"
223
local WEAPONTOOL = IT("HopperBin", nil)
224
WEAPONTOOL.Name = Weapon_Name
225
local Weapon = IT("Model")
226
Weapon.Name = Weapon_Name
227
local Effects = IT("Folder", Weapon)
228
Effects.Name = "Effects"
229
local ANIMATOR = Humanoid.Animator
230
local ANIMATE = Character.Animate
231
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
232
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
233
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
234
local HITBLOCKSOUNDS = {"199148933", "199148947"}
235
local UNANCHOR = true
236
local MAGICPARTICLE = "655109389"
237
238
--//=================================\\
239
--\\=================================//
240
241
242
--//=================================\\
243
--|| 	     DEBUFFS / BUFFS
244
--\\=================================//
245
246
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
247
DEFENSECHANGE1.Name = "ChangeDefense"
248
DEFENSECHANGE1.Value = 0
249
250
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
251
MOVEMENTCHANGE1.Name = "ChangeMovement"
252
MOVEMENTCHANGE1.Value = 0
253
254
--//=================================\\
255
--\\=================================//
256
257
258
259
260
261
--//=================================\\
262
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
263
--\\=================================//
264
265
ArtificialHB = Instance.new("BindableEvent", script)
266
ArtificialHB.Name = "ArtificialHB"
267
268
script:WaitForChild("ArtificialHB")
269
270
frame = Frame_Speed
271
tf = 0
272
allowframeloss = false
273
tossremainder = false
274
lastframe = tick()
275
script.ArtificialHB:Fire()
276
277
game:GetService("RunService").Heartbeat:connect(function(s, p)
278
	tf = tf + s
279
	if tf >= frame then
280
		if allowframeloss then
281
			script.ArtificialHB:Fire()
282
			lastframe = tick()
283
		else
284
			for i = 1, math.floor(tf / frame) do
285
				script.ArtificialHB:Fire()
286
			end
287
		lastframe = tick()
288
		end
289
		if tossremainder then
290
			tf = 0
291
		else
292
			tf = tf - frame * math.floor(tf / frame)
293
		end
294
	end
295
end)
296
297
--//=================================\\
298
--\\=================================//
299
300
301
302
303
304
--//=================================\\
305
--|| 	      SOME FUNCTIONS
306
--\\=================================//
307
308
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
309
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
310
end
311
312
function PositiveAngle(NUMBER)
313
	if NUMBER >= 0 then
314
		NUMBER = 0
315
	end
316
	return NUMBER
317
end
318
319
function NegativeAngle(NUMBER)
320
	if NUMBER <= 0 then
321
		NUMBER = 0
322
	end
323
	return NUMBER
324
end
325
326
function Swait(NUMBER)
327
	if NUMBER == 0 or NUMBER == nil then
328
		ArtificialHB.Event:wait()
329
	else
330
		for i = 1, NUMBER do
331
			ArtificialHB.Event:wait()
332
		end
333
	end
334
end
335
336
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
337
	local label = IT("TextLabel")
338
	label.BackgroundTransparency = 1
339
	label.Size = UD2(1, 0, 1, 0)
340
	label.Position = UD2(0, 0, 0, 0)
341
	label.TextColor3 = C3(255, 255, 255)
342
	label.TextStrokeTransparency = STROKETRANSPARENCY
343
	label.TextTransparency = TRANSPARENCY
344
	label.FontSize = TEXTFONTSIZE
345
	label.Font = TEXTFONT
346
	label.BorderSizePixel = BORDERSIZEPIXEL
347
	label.TextScaled = true
348
	label.Text = TEXT
349
	label.Name = NAME
350
	label.Parent = PARENT
351
	return label
352
end
353
354
function NoOutlines(PART)
355
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
356
end
357
358
359
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
360
	local NEWWELD = IT(TYPE)
361
	NEWWELD.Part0 = PART0
362
	NEWWELD.Part1 = PART1
363
	NEWWELD.C0 = C0
364
	NEWWELD.C1 = C1
365
	NEWWELD.Parent = PARENT
366
	return NEWWELD
367
end
368
369
function CreateSound(ID, PARENT, VOLUME, PITCH)
370
	local NEWSOUND = nil
371
	coroutine.resume(coroutine.create(function()
372
		NEWSOUND = IT("Sound", PARENT)
373
		NEWSOUND.Volume = VOLUME
374
		NEWSOUND.Pitch = PITCH
375
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
376
		Swait()
377
		NEWSOUND:play()
378
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
379
	end))
380
	return NEWSOUND
381
end
382
383
--//=================================\\
384
--\\=================================//
385
386
387
--//=================================\\
388
--||	     WEAPON CREATION
389
--\\=================================//
390
391
if Player_Size ~= 1 then
392
	for _, v in pairs (Weapon:GetChildren()) do
393
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
394
			local p1 = v.Part1
395
			v.Part1 = nil
396
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
397
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
398
			v.Part1 = p1
399
		elseif v.ClassName == "Part" then
400
			for _, b in pairs (v:GetChildren()) do
401
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
402
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
403
				end
404
			end
405
		end
406
	end
407
end
408
409
for _, c in pairs(Weapon:GetChildren()) do
410
	if c.ClassName == "Part" then
411
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
412
	end
413
end
414
415
Weapon.Parent = Character
416
417
Humanoid.Died:connect(function()
418
	ATTACK = true
419
end)
420
421
print(Class_Name.." loaded.")
422
423
--//=================================\\
424
--\\=================================//
425
426
427
local backpack = IT("Part",Weapon)
428
backpack.Size = VT(0.15,0.15,0.15)
429
local mesh = IT("SpecialMesh",backpack)
430
mesh.MeshId = "rbxassetid://84313478"
431
mesh.TextureId = "http://www.roblox.com/asset/?id=84313638"
432
backpack.CFrame = Torso.CFrame * CF(0,0.2,1)
433
backpack.BrickColor = BRICKC("Black")
434
weldBetween(Torso,backpack)
435
436
local hose = IT("Part",Weapon)
437
hose.Size = VT(0.15,0.15,0.15)
438
local mesh = IT("SpecialMesh",hose)
439
mesh.MeshId = "http://www.roblox.com/asset/?id=84313555"
440
mesh.TextureId = "http://www.roblox.com/asset/?id=84313638"
441
mesh.Scale = VT(2,2,2)
442
mesh.Offset = VT(0, -0.4, -0.7)
443
hose.CFrame = Torso.CFrame * CF(1.5,0.5,0.2) * ANGLES(RAD(90),RAD(35),RAD(180))
444
hose.BrickColor = BRICKC("Black")
445
weldBetween(Torso,hose)
446
447
local succ = IT("Part",Weapon)
448
succ.Size = VT(2,2,2)
449
succ.CanCollide = false
450
succ.CFrame = Torso.CFrame * CF(1.5,1.3,-4) * ANGLES(RAD(90),RAD(0),RAD(180))
451
succ.Transparency = 1
452
succ.BrickColor = BRICKC("Black")
453
weldBetween(Torso,succ)
454
455
for _, c in pairs(Weapon:GetChildren()) do
456
	if c.ClassName == "Part" then
457
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
458
	end
459
end
460
461
local EyeSizes={
462
	NumberSequenceKeypoint.new(0,0.5,0),
463
	NumberSequenceKeypoint.new(1,0.2,0)
464
}
465
local EyeTrans={
466
	NumberSequenceKeypoint.new(0,0,0),
467
	NumberSequenceKeypoint.new(1,1,0)
468
}
469
local PE=Instance.new("ParticleEmitter")
470
PE.LightEmission=0.3
471
PE.Size=NumberSequence.new(EyeSizes)
472
PE.Transparency=NumberSequence.new(EyeTrans)
473
PE.Rotation=NumberRange.new(0,360)
474
PE.LockedToPart = false
475
PE.Speed = NumberRange.new(0,0,0)
476
PE.ZOffset = 0.3
477
PE.Rate = 999
478
PE.VelocitySpread = 25
479
PE.Name = "Particles"
480
481
function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
482
	local particle = nil
483
	coroutine.resume(coroutine.create(function(PART)
484
		particle = PE:Clone()
485
		Swait()
486
		particle.Rate = 999
487
		particle.Parent = art
488
		particle.Acceleration = accel
489
		if type == "Fire" then
490
			local EyeSizes={
491
				NumberSequenceKeypoint.new(0,size,size/2),
492
				NumberSequenceKeypoint.new(1,size/4,size/8)
493
			}
494
			particle.Size = NumberSequence.new(EyeSizes)
495
		elseif type == "Smoke" then
496
			local EyeSizes={
497
				NumberSequenceKeypoint.new(0,size/5,0),
498
				NumberSequenceKeypoint.new(1,size*2,0.5)
499
			}
500
			particle.Size = NumberSequence.new(EyeSizes)
501
		elseif type == "Solid" then
502
			local EyeSizes={
503
				NumberSequenceKeypoint.new(0,size,0),
504
				NumberSequenceKeypoint.new(1,size,0)
505
			}
506
			particle.Size = NumberSequence.new(EyeSizes)
507
		end
508
		particle.Lifetime=NumberRange.new(lifetime)
509
		particle.Drag = drag
510
		if locked == true then
511
			particle.LockedToPart = true
512
		end
513
		particle.Speed = NumberRange.new(speed*0.8,speed)
514
		particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
515
		particle.Enabled = isenabledbydefault
516
		particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
517
	end))
518
return particle
519
end
520
521
local poop = CreateParticles(succ,VT(0,0,0),5,2,"Smoke",false,false,5,35)
522
local poop2 = CreateParticles(succ,VT(0,0,0),5,1,"Smoke",false,false,2,15)
523
524
--//=================================\\
525
--||			DAMAGING
526
--\\=================================//
527
528
function succnearest(position,range)
529
	for i,v in ipairs(workspace:GetChildren()) do
530
	local body = v:GetChildren()
531
		for part = 1, #body do
532
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
533
				if(body[part].Position - position).Magnitude < range then
534
					local bv = Instance.new("BodyVelocity") 
535
					bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
536
					bv.velocity = CF(body[part].Position,succ.Position).lookVector*80
537
					bv.Parent = body[part]
538
					bv.Name = "SUCC"
539
					game:GetService("Debris"):AddItem(bv, 0.1)
540
				end
541
			end
542
		end
543
		if v.ClassName == "Part" then
544
			if v.Anchored == false and (v.Position - position).Magnitude < range then
545
				local bv = Instance.new("BodyVelocity") 
546
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
547
				bv.velocity = CF(v.Position,succ.Position).lookVector*80
548
				bv.Parent = v
549
				bv.Name = "SUCC"
550
				game:GetService("Debris"):AddItem(bv, 0.1)
551
			end
552
		end
553
	end
554
end
555
556
function cover(position,range)
557
	for i,v in ipairs(workspace:GetChildren()) do
558
	local body = v:GetChildren()
559
		for part = 1, #body do
560
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
561
				if(body[part].Position - position).Magnitude < range then
562
					CreateParticles(body[part],VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
563
					if v:FindFirstChild("Humanoid") then
564
						v.Humanoid.PlatformStand = true
565
					end
566
				end
567
			end
568
		end
569
		if v.ClassName == "Part" then
570
			if v.Anchored == false and (v.Position - position).Magnitude < range then
571
				CreateParticles(v,VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
572
			end
573
		end
574
	end
575
end
576
577
function cough()
578
	CreateSound("328460122", succ, 3, 1)
579
	poop.VelocitySpread = 25
580
	poop:Emit(150)
581
	cover(CF(succ.Position)*CF(0,0,-1).p,15)
582
end
583
584
--//=================================\\
585
--||	ATTACK FUNCTIONS AND STUFF
586
--\\=================================//
587
588
function CheckTableForString(Table, String)
589
	for i, v in pairs(Table) do
590
		if string.find(string.lower(String), string.lower(v)) then
591
			return true
592
		end
593
	end
594
	return false
595
end
596
597
function CheckIntangible(Hit)
598
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
599
	if Hit and Hit.Parent then
600
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
601
			return true
602
		end
603
	end
604
	return false
605
end
606
607
Debris = game:GetService("Debris")
608
609
function CastRay(StartPos, Vec, Length, Ignore, DelayIfHit)
610
	local Direction = CFrame.new(StartPos, Vec).lookVector
611
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
612
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
613
	if RayHit and CheckIntangible(RayHit) then
614
		if DelayIfHit then
615
			wait()
616
		end
617
		RayHit, RayPos, RayNormal = CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
618
	end
619
	return RayHit, RayPos, RayNormal
620
end
621
622
function turnto(pos,part)
623
	part.CFrame = CF(part.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
624
end
625
626
function vacuum()
627
	sick:Play()
628
	local nado = IT("Part")
629
	local mesh = IT("SpecialMesh",nado)
630
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
631
	nado.Transparency = 0.5
632
	nado.CanCollide = false
633
	nado.Anchored = true
634
	local loop = 0
635
	succing = {}
636
	local harm = succ.Touched:Connect(function(hit)
637
		if hit.Anchored == false then
638
			hit:remove()
639
			CreateSound("261732529", succ, 3, 1)
640
			poop2:Emit(1)
641
		end
642
	end)
643
	repeat
644
		Swait()
645
		loop = loop + 75
646
		nado.Parent = Effects
647
		local RayHit,RayPos = CastRay(succ.Position, Mouse.Hit.p, 1000, Character, false)
648
		local distance = (succ.Position - RayPos).magnitude
649
		mesh.Scale = VT(distance/12,distance/3.2,distance/12)
650
		nado.CFrame = CFrame.new(succ.Position, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(-90),RAD(loop),RAD(0))
651
		turnto(Mouse.Hit.p,RootPart)
652
		succnearest(RayPos,distance/2.5)
653
		if RayHit ~= nil then
654
			if RayHit.Anchored == false then
655
				local bv = Instance.new("BodyVelocity") 
656
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
657
				bv.velocity = CF(RayHit.Position,succ.Position).lookVector*80
658
				bv.Parent = RayHit
659
				bv.Name = "SUCC"
660
				game:GetService("Debris"):AddItem(bv, 0.1)
661
			end
662
		end
663
		local TotalSuccs = math.ceil(distance / 65)
664
		local Direction = CFrame.new(RayPos, succ.Position).lookVector
665
		for i = 1, TotalSuccs do
666
			local NewPos = (RayPos + (Direction * (distance * (i / TotalSuccs))))
667
			succnearest(NewPos,distance/(i*2.5))
668
		end
669
	until HOLD == false
670
	if #succing>0 then
671
	for e=1,#succing do
672
	if succing[e]~=nil then
673
	local Thing=succing[e]
674
	Thing:remove()
675
	table.remove(succing,e)
676
	end
677
	end
678
	end
679
	succing = {}
680
	harm:disconnect()
681
	nado:remove()
682
	sick:Stop()
683
end
684
685
--//=================================\\
686
--||	  ASSIGN THINGS TO KEYS
687
--\\=================================//
688
689
Humanoid.Changed:connect(function(Jump)
690
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
691
		Humanoid.Jump = false
692
	end
693
end)
694
695
function MouseDown(Mouse)
696
	HOLD = true
697
	vacuum()
698
end
699
700
function MouseUp(Mouse)
701
HOLD = false
702
end
703
704
function KeyDown(Key)
705
	if Key == "t" and ATTACK == false then
706
		CreateSound("743953262", Head, 3, 1)
707
	end
708
	if Key == "e" and ATTACK == false then
709
		cough()
710
	end
711
end
712
713
function KeyUp(Key)
714
end
715
716
	Mouse.Button1Down:connect(function(NEWKEY)
717
		MouseDown(NEWKEY)
718
	end)
719
	Mouse.Button1Up:connect(function(NEWKEY)
720
		MouseUp(NEWKEY)
721
	end)
722
	Mouse.KeyDown:connect(function(NEWKEY)
723
		KeyDown(NEWKEY)
724
	end)
725
	Mouse.KeyUp:connect(function(NEWKEY)
726
		KeyUp(NEWKEY)
727
	end)
728
729
--//=================================\\
730
--\\=================================//
731
732
733
function unanchor()
734
	if UNANCHOR == true then
735
		g = Character:GetChildren()
736
		for i = 1, #g do
737
			if g[i].ClassName == "Part" then
738
				g[i].Anchored = false
739
			end
740
		end
741
	end
742
end
743
744
745
--//=================================\\
746
--||	WRAP THE WHOLE SCRIPT UP
747
--\\=================================//
748
749
Humanoid.Changed:connect(function(Jump)
750
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
751
		Humanoid.Jump = false
752
	end
753
end)
754
755
while true do
756
	Swait()
757
if #Effects2>0 then
758
for e=1,#Effects2 do
759
if Effects2[e]~=nil then
760
local Thing=Effects2[e]
761
if Thing~=nil then
762
local Part=Thing[1]
763
local Mode=Thing[2]
764
local Delay=Thing[3]
765
local IncX=Thing[4]
766
local IncY=Thing[5]
767
local IncZ=Thing[6]
768
local Part2=Thing[8]
769
if Thing[1].Transparency<=1 then
770
if Thing[2]=="Block1" then
771
Thing[1].CFrame=Thing[1].CFrame
772
Mesh=Thing[1].Mesh
773
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
774
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
775
elseif Thing[2]=="Cylinder" then
776
Mesh=Thing[1].Mesh
777
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
778
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
779
elseif Thing[2]=="Blood" then
780
Mesh=Thing[7]
781
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
782
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
783
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
784
elseif Thing[2]=="Elec" then
785
Mesh=Thing[1].Mesh
786
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
787
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
788
elseif Thing[2]=="Disappear" then
789
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
790
end
791
else
792
Part.Parent=nil
793
table.remove(Effects2,e)
794
end
795
end
796
end
797
end
798
end
799
unanchor()
800
Humanoid.MaxHealth = "inf"
801
Humanoid.Health = "inf"
802
if Rooted == false then
803
	Disable_Jump = false
804
	Humanoid.WalkSpeed = Speed
805
elseif Rooted == true then
806
	Disable_Jump = true
807
	Humanoid.WalkSpeed = 0
808
end
809
if sick == nil then
810
	sick = Instance.new("Sound",Torso)
811
	sick.SoundId = "rbxassetid://319444224"
812
	sick.Looped = true
813
	sick.Pitch = 1
814
	sick.Volume = 1
815
end
816
if #succing>0 then
817
for e=1,#succing do
818
if succing[e]~=nil then
819
local Thing=succing[e]
820
Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*80
821
if HOLD == false then
822
	Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*0
823
	Thing:remove()
824
	table.remove(succing,e)
825
end
826
end
827
end
828
end
829
end
830
char.Humanoid.MaxHealth = math.huge
831
			wait()
832
			char.Humanoid.Health = math.huge
833
--//=================================\\
834
--\\=================================//
835
836
837
838
839
840
--//====================================================\\--
841
--||			  		 END OF SCRIPT
842
--\\====================================================//--