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