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