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