View difference between Paste ID: 50MF3WYD and Rv4UB7Zr
SHOW: | | - or go back to the newest paste.
1
------[[Kirby Morph made by: DoogleFox]]-------------------------------------------------------------------------------------------------------------------------------------------------
2
 
3-
user = "TrystinGB" 
3+
-- This script has been converted to FE by iPxter
4
5-
if script.Parent.className ~= "HopperBin" then 
5+
6-
bin = Instance.new("HopperBin") 
6+
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
7-
bin.Parent = game.Players[user].Backpack 
7+
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
8-
bin.Name = "Kirby" 
8+
do
9-
script.Parent = bin 
9+
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
10-
end 
10+
	script.Parent = Player.Character
11
12-
bin = script.Parent 
12+
	--RemoteEvent for communicating
13
	local Event = Instance.new("RemoteEvent")
14-
m = Instance.new("Model") 
14+
	Event.Name = "UserInput_Event"
15-
m.Parent = bin.Parent.Parent.Character 
15+
16-
m.Name = "KirbyMorph" 
16+
	--Fake event to make stuff like Mouse.KeyDown work
17
	local function fakeEvent()
18-
p = Instance.new("Part") 
18+
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
19-
p.Parent = m 
19+
		t.connect = t.Connect
20-
p.Name = "MainBody" 
20+
		return t
21-
p.formFactor = ("Symmetric") 
21+
22-
p.Size = Vector3.new(4,4,4) 
22+
23-
p.CFrame = bin.Parent.Parent.Character.Torso.CFrame 
23+
	--Creating fake input objects with fake variables
24-
p.BrickColor = BrickColor.new("Light reddish violet") 
24+
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
25-
p.Locked = true 
25+
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
26-
p.CanCollide = true 
26+
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
27-
p.Shape = ("Ball") 
27+
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
28-
p.TopSurface = ("Smooth") 
28+
	end}
29-
p.BottomSurface = ("Smooth") 
29+
	--Merged 2 functions into one by checking amount of arguments
30
	CAS.UnbindAction = CAS.BindAction
31-
d = Instance.new("Decal") 
31+
32-
d.Parent = p 
32+
	--This function will trigger the events that have been :Connect()'ed
33-
d.Face = ("Front") 
33+
	local function te(self,ev,...)
34-
d.Texture = ("http://www.roblox.com/asset/?id=5732750") 
34+
		local t = m[ev]
35
		if t and t._fakeEvent and t.Function then
36-
w = Instance.new("Weld") 
36+
			t.Function(...)
37-
w.Parent = p 
37+
38-
w.Name = "BodyWeld" 
38+
39-
w.Part0 = p 
39+
	m.TrigEvent = te
40-
w.Part1 = bin.Parent.Parent.Character.Torso 
40+
	UIS.TrigEvent = te
41-
w.C0 = CFrame.new(0,0.2,0) 
41+
42
	Event.OnServerEvent:Connect(function(plr,io)
43-
a1 = Instance.new("Part") 
43+
	    if plr~=Player then return end
44-
a1.Parent = m 
44+
		if io.isMouse then
45-
a1.Name = "Left Arm" 
45+
			m.Target = io.Target
46-
a1.formFactor = ("Symmetric") 
46+
			m.Hit = io.Hit
47-
a1.Size = Vector3.new(2,2,2) 
47+
48-
a1.CFrame = bin.Parent.Parent.Character["Left Arm"].CFrame 
48+
			local b = io.UserInputState == Enum.UserInputState.Begin
49-
a1.BrickColor = BrickColor.new("Light reddish violet") 
49+
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
50-
a1.Locked = true 
50+
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
51-
a1.CanCollide = true 
51+
52-
a1.Shape = ("Ball") 
52+
			for _,t in pairs(CAS.Actions) do
53-
a1.TopSurface = ("Smooth") 
53+
				for _,k in pairs(t.Keys) do
54-
a1.BottomSurface = ("Smooth") 
54+
					if k==io.KeyCode then
55
						t.Function(t.Name,io.UserInputState,io)
56-
a1w = Instance.new("Weld") 
56+
57-
a1w.Parent = a1 
57+
58-
a1w.Name = "ArmWeld1" 
58+
59-
a1w.Part0 = a1 
59+
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
60-
a1w.Part1 = bin.Parent.Parent.Character["Left Arm"] 
60+
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
61-
a1w.C0 = CFrame.new(0.2,0.2,0) 
61+
	    end
62
	end)
63-
a2 = Instance.new("Part") 
63+
	Event.Parent = NLS([==[
64-
a2.Parent = m 
64+
	local Player = game:GetService("Players").LocalPlayer
65-
a2.Name = "Right Arm" 
65+
	local Event = script:WaitForChild("UserInput_Event")
66-
a2.formFactor = ("Symmetric") 
66+
67-
a2.Size = Vector3.new(2,2,2) 
67+
	local UIS = game:GetService("UserInputService")
68-
a2.CFrame = bin.Parent.Parent.Character["Left Arm"].CFrame 
68+
	local input = function(io,a)
69-
a2.BrickColor = BrickColor.new("Light reddish violet") 
69+
		if a then return end
70-
a2.Locked = true 
70+
		--Since InputObject is a client-side instance, we create and pass table instead
71-
a2.CanCollide = true 
71+
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
72-
a2.Shape = ("Ball") 
72+
73-
a2.TopSurface = ("Smooth") 
73+
	UIS.InputBegan:Connect(input)
74-
a2.BottomSurface = ("Smooth") 
74+
	UIS.InputEnded:Connect(input)
75
76-
a2w = Instance.new("Weld") 
76+
	local Mouse = Player:GetMouse()
77-
a2w.Parent = a2 
77+
	local h,t
78-
a2w.Name = "ArmWeld2" 
78+
	--Give the server mouse data 30 times every second, but only if the values changed
79-
a2w.Part0 = a2 
79+
	--If player is not moving their mouse, client won't fire events
80-
a2w.Part1 = bin.Parent.Parent.Character["Right Arm"] 
80+
	while wait(1/30) do
81-
a2w.C0 = CFrame.new(-0.2,0.2,0) 
81+
		if h~=Mouse.Hit or t~=Mouse.Target then
82
			h,t=Mouse.Hit,Mouse.Target
83-
l = Instance.new("Part") 
83+
			Event:FireServer({isMouse=true,Target=t,Hit=h})
84-
l.Parent = m 
84+
85-
l.Name = "Left Leg" 
85+
	end]==],Player.Character)
86-
l.formFactor = ("Symmetric") 
86+
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
87-
l.Size = Vector3.new(2,2,2) 
87+
88-
l.CFrame = bin.Parent.Parent.Character["Left Leg"].CFrame 
88+
user = "sanicisdabomb"
89-
l.BrickColor = BrickColor.new("Dusty Rose") 
89+
 
90-
l.Locked = true 
90+
if script.Parent.className ~= "HopperBin" then
91-
l.CanCollide = true 
91+
bin = Instance.new("HopperBin")
92-
l.Shape = ("Ball") 
92+
bin.Parent = game.Players[user].Backpack
93-
l.TopSurface = ("Smooth") 
93+
bin.Name = "Kirby"
94-
l.BottomSurface = ("Smooth") 
94+
script.Parent = bin
95
end
96-
lm = Instance.new("SpecialMesh") 
96+
 
97-
lm.Parent = l 
97+
bin = script.Parent
98-
lm.Name = "LegMesh" 
98+
 
99-
lm.MeshType = ("Sphere") 
99+
m = Instance.new("Model")
100-
lm.Scale = Vector3.new(0.9,0.9,1.2) 
100+
m.Parent = bin.Parent.Parent.Character
101
m.Name = "KirbyMorph"
102-
lw = Instance.new("Weld") 
102+
 
103-
lw.Parent = l 
103+
p = Instance.new("Part")
104-
lw.Name = "LegWeld" 
104+
p.Parent = m
105-
lw.Part0 = l 
105+
p.Name = "MainBody"
106-
lw.Part1 = bin.Parent.Parent.Character["Left Leg"] 
106+
p.formFactor = ("Symmetric")
107-
lw.C0 = CFrame.new(0.25,0.2,0) 
107+
p.Size = Vector3.new(4,4,4)
108
p.CFrame = bin.Parent.Parent.Character.Torso.CFrame
109-
l2 = Instance.new("Part") 
109+
p.BrickColor = BrickColor.new("Light reddish violet")
110-
l2.Parent = m 
110+
p.Locked = true
111-
l2.Name = "Right Leg" 
111+
p.CanCollide = true
112-
l2.formFactor = ("Symmetric") 
112+
p.Shape = ("Ball")
113-
l2.Size = Vector3.new(2,2,2) 
113+
p.TopSurface = ("Smooth")
114-
l2.CFrame = bin.Parent.Parent.Character["Right Leg"].CFrame 
114+
p.BottomSurface = ("Smooth")
115-
l2.BrickColor = BrickColor.new("Dusty Rose") 
115+
 
116-
l2.Locked = true 
116+
d = Instance.new("Decal")
117-
l2.CanCollide = true 
117+
d.Parent = p
118-
l2.Shape = ("Ball") 
118+
d.Face = ("Front")
119-
l2.TopSurface = ("Smooth") 
119+
d.Texture = ("http://www.roblox.com/asset/?id=5732750")
120-
l2.BottomSurface = ("Smooth") 
120+
 
121
w = Instance.new("Weld")
122-
l2m = Instance.new("SpecialMesh") 
122+
w.Parent = p
123-
l2m.Parent = l2 
123+
w.Name = "BodyWeld"
124-
l2m.Name = "LegMesh" 
124+
w.Part0 = p
125-
l2m.MeshType = ("Sphere") 
125+
w.Part1 = bin.Parent.Parent.Character.Torso
126-
l2m.Scale = Vector3.new(0.9,0.9,1.2) 
126+
w.C0 = CFrame.new(0,0.2,0)
127
 
128-
l2w = Instance.new("Weld") 
128+
a1 = Instance.new("Part")
129-
l2w.Parent = l2 
129+
a1.Parent = m
130-
l2w.Name = "LegWeld2" 
130+
a1.Name = "Left Arm"
131-
l2w.Part0 = l2 
131+
a1.formFactor = ("Symmetric")
132-
l2w.Part1 = bin.Parent.Parent.Character["Right Leg"] 
132+
a1.Size = Vector3.new(2,2,2)
133-
l2w.C0 = CFrame.new(-0.25,0.2,0) 
133+
a1.CFrame = bin.Parent.Parent.Character["Left Arm"].CFrame
134
a1.BrickColor = BrickColor.new("Light reddish violet")
135-
c = bin.Parent.Parent.Character:GetChildren() 
135+
a1.Locked = true
136-
for i = 1, #c do 
136+
a1.CanCollide = true
137-
if c[i].className == "Part" then 
137+
a1.Shape = ("Ball")
138-
c[i].Transparency = 1 
138+
a1.TopSurface = ("Smooth")
139-
end 
139+
a1.BottomSurface = ("Smooth")
140-
end 
140+
 
141-
for ii = 1, #c do 
141+
a1w = Instance.new("Weld")
142-
if c[ii].className == "Hat" then 
142+
a1w.Parent = a1
143-
c[ii]:remove() 
143+
a1w.Name = "ArmWeld1"
144-
end 
144+
a1w.Part0 = a1
145-
end 
145+
a1w.Part1 = bin.Parent.Parent.Character["Left Arm"]
146-
wait() 
146+
a1w.C0 = CFrame.new(0.2,0.2,0)
147-
if bin.Parent.Parent.Character.Head:findFirstChild("face") ~= nil then 
147+
 
148-
bin.Parent.Parent.Character.Head:findFirstChild("face"):remove() 
148+
a2 = Instance.new("Part")
149-
end 
149+
a2.Parent = m
150
a2.Name = "Right Arm"
151
a2.formFactor = ("Symmetric")
152
a2.Size = Vector3.new(2,2,2)
153
a2.CFrame = bin.Parent.Parent.Character["Left Arm"].CFrame
154
a2.BrickColor = BrickColor.new("Light reddish violet")
155
a2.Locked = true
156-
bp = Instance.new("BodyPosition") 
156+
a2.CanCollide = true
157-
bp.Parent = bin 
157+
a2.Shape = ("Ball")
158-
bp.maxForce = Vector3.new(2000,2000,2000) 
158+
a2.TopSurface = ("Smooth")
159
a2.BottomSurface = ("Smooth")
160-
enabled = true 
160+
 
161-
function onButton1Down(mouse) 
161+
a2w = Instance.new("Weld")
162-
if mouse.Target ~= nil then 
162+
a2w.Parent = a2
163-
if mouse.Target.Parent:findFirstChild("Humanoid") ~= nil then 
163+
a2w.Name = "ArmWeld2"
164-
if enabled == true then 
164+
a2w.Part0 = a2
165-
enabled = false 
165+
a2w.Part1 = bin.Parent.Parent.Character["Right Arm"]
166-
name = mouse.Target.Parent.Name 
166+
a2w.C0 = CFrame.new(-0.2,0.2,0)
167-
bp.Parent = mouse.Target.Parent:findFirstChild("Torso") 
167+
 
168-
mouse.Target.Parent.Humanoid.PlatformStand = true 
168+
l = Instance.new("Part")
169-
bp.position = bin.Parent.Parent.Character.Torso.Position 
169+
l.Parent = m
170-
function touch(hit) 
170+
l.Name = "Left Leg"
171-
if hit.Name == "MainBody" then 
171+
l.formFactor = ("Symmetric")
172-
parts = workspace[name]:GetChildren() 
172+
l.Size = Vector3.new(2,2,2)
173-
for i = 1, #parts do 
173+
l.CFrame = bin.Parent.Parent.Character["Left Leg"].CFrame
174-
if parts[i].className == "Part" then 
174+
l.BrickColor = BrickColor.new("Dusty Rose")
175-
parts[i]:remove() 
175+
l.Locked = true
176-
end 
176+
l.CanCollide = true
177-
enabled = true 
177+
l.Shape = ("Ball")
178-
end 
178+
l.TopSurface = ("Smooth")
179-
else 
179+
l.BottomSurface = ("Smooth")
180-
wait() 
180+
 
181-
end 
181+
lm = Instance.new("SpecialMesh")
182-
end 
182+
lm.Parent = l
183-
mouse.Target.Parent:findFirstChild("Torso").Touched:connect(touch) 
183+
lm.Name = "LegMesh"
184-
else 
184+
lm.MeshType = ("Sphere")
185-
wait() 
185+
lm.Scale = Vector3.new(0.9,0.9,1.2)
186-
end 
186+
 
187-
end 
187+
lw = Instance.new("Weld")
188-
end 
188+
lw.Parent = l
189-
end 
189+
lw.Name = "LegWeld"
190
lw.Part0 = l
191-
bin.Selected:connect(function(mouse) 
191+
lw.Part1 = bin.Parent.Parent.Character["Left Leg"]
192-
mouse.Icon = "rbxasset://textures\\GunCursor.png" 
192+
lw.C0 = CFrame.new(0.25,0.2,0)
193-
mouse.Button1Down:connect(function() onButton1Down(mouse) end) 
193+
 
194
l2 = Instance.new("Part")
195
l2.Parent = m
196
l2.Name = "Right Leg"
197-
--||	this part was		   CREATED BY SHACKLUSTER, and then copied into this kirby script by trystingb
197+
l2.formFactor = ("Symmetric")
198
l2.Size = Vector3.new(2,2,2)
199
l2.CFrame = bin.Parent.Parent.Character["Right Leg"].CFrame
200
l2.BrickColor = BrickColor.new("Dusty Rose")
201
l2.Locked = true
202
l2.CanCollide = true
203
l2.Shape = ("Ball")
204
l2.TopSurface = ("Smooth")
205
l2.BottomSurface = ("Smooth")
206
 
207
l2m = Instance.new("SpecialMesh")
208
l2m.Parent = l2
209
l2m.Name = "LegMesh"
210
l2m.MeshType = ("Sphere")
211
l2m.Scale = Vector3.new(0.9,0.9,1.2)
212
 
213
l2w = Instance.new("Weld")
214
l2w.Parent = l2
215
l2w.Name = "LegWeld2"
216
l2w.Part0 = l2
217
l2w.Part1 = bin.Parent.Parent.Character["Right Leg"]
218
l2w.C0 = CFrame.new(-0.25,0.2,0)
219
 
220
c = bin.Parent.Parent.Character:GetChildren()
221
for i = 1, #c do
222
if c[i].className == "Part" then
223
c[i].Transparency = 1
224
end
225
end
226
for ii = 1, #c do
227
if c[ii].className == "Hat" then
228
c[ii]:remove()
229
end
230
end
231
wait()
232
if bin.Parent.Parent.Character.Head:findFirstChild("face") ~= nil then
233
bin.Parent.Parent.Character.Head:findFirstChild("face"):remove()
234
end
235
 
236
 
237
---------------------------------------------------------------------------------------------------------------------
238
 
239
 
240
 
241
bp = Instance.new("BodyPosition")
242
bp.Parent = bin
243
bp.maxForce = Vector3.new(2000,2000,2000)
244
 
245
enabled = true
246
function onButton1Down(mouse)
247
if mouse.Target ~= nil then
248
if mouse.Target.Parent:findFirstChild("Humanoid") ~= nil then
249
if enabled == true then
250
enabled = false
251-
	local NEWMESH = IT(MESH)
251+
name = mouse.Target.Parent.Name
252-
	if MESH == "SpecialMesh" then
252+
bp.Parent = mouse.Target.Parent:findFirstChild("Torso")
253-
		NEWMESH.MeshType = MESHTYPE
253+
mouse.Target.Parent.Humanoid.PlatformStand = true
254-
		if MESHID ~= "nil" and MESHID ~= "" then
254+
bp.position = bin.Parent.Parent.Character.Torso.Position
255-
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
255+
function touch(hit)
256
if hit.Name == "MainBody" then
257-
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
257+
parts = workspace[name]:GetChildren()
258-
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
258+
for i = 1, #parts do
259
if parts[i].className == "Part" then
260
parts[i]:remove()
261-
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
261+
262-
	NEWMESH.Scale = SCALE
262+
enabled = true
263-
	NEWMESH.Parent = PARENT
263+
264-
	return NEWMESH
264+
265
wait()
266
end
267
end
268-
	local NEWPART = IT("Part")
268+
mouse.Target.Parent:findFirstChild("Torso").Touched:connect(touch)
269-
	NEWPART.formFactor = FORMFACTOR
269+
270-
	NEWPART.Reflectance = REFLECTANCE
270+
wait()
271-
	NEWPART.Transparency = TRANSPARENCY
271+
272-
	NEWPART.CanCollide = false
272+
273-
	NEWPART.Locked = true
273+
274-
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
274+
275-
	NEWPART.Name = NAME
275+
 
276-
	NEWPART.Size = SIZE
276+
bin.Selected:connect(function(mouse)
277-
	NEWPART.Position = Torso.Position
277+
mouse.Icon = "rbxasset://textures\\GunCursor.png"
278-
	NEWPART.Material = MATERIAL
278+
mouse.Button1Down:connect(function() onButton1Down(mouse) end)
279-
	NEWPART:BreakJoints()
279+
280-
	NEWPART.Parent = PARENT
280+
 
281-
	return NEWPART
281+
282
--||    this part was          CREATED BY SHACKLUSTER, and then copied into this kirby script by trystingb
283
--\\====================================================//--
284
 
285
 
286-
--||		  CUSTOMIZATION
286+
 
287
wait(0.2)
288
 
289
 
290
 
291
Player = game:GetService("Players").LocalPlayer
292
PlayerGui = Player.PlayerGui
293-
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
293+
294-
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
294+
295
Character = Player.Character
296-
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
296+
297-
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
297+
298-
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
298+
299-
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
299+
300-
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
300+
301
RightArm = Character["Right Arm"]
302-
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
302+
303-
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
303+
304-
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
304+
305-
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
305+
306-
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
306+
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-
--|| 	  END OF CUSTOMIZATION
318+
319
CF = CFrame.new
320
VT = Vector3.new
321-
	local function weldBetween(a, b)
321+
322-
	    local weldd = Instance.new("ManualWeld")
322+
323-
	    weldd.Part0 = a
323+
324-
	    weldd.Part1 = b
324+
325-
	    weldd.C0 = CFrame.new()
325+
326-
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
326+
327-
	    weldd.Parent = a
327+
328-
	    return weldd
328+
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-
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
350+
351-
	acs.Anchored = false
351+
 
352
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
353-
	acs.CFrame = PART.CFrame
353+
    local NEWPART = IT("Part")
354-
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
354+
    NEWPART.formFactor = FORMFACTOR
355
    NEWPART.Reflectance = REFLECTANCE
356
    NEWPART.Transparency = TRANSPARENCY
357-
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
357+
    NEWPART.CanCollide = false
358-
	acs.Anchored = false
358+
    NEWPART.Locked = true
359
    NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
360-
	acs.CFrame = PART.CFrame
360+
    NEWPART.Name = NAME
361-
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
361+
    NEWPART.Size = SIZE
362
    NEWPART.Position = Torso.Position
363
    NEWPART.Material = MATERIAL
364-
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
364+
    NEWPART:BreakJoints()
365-
	acs.Anchored = false
365+
    NEWPART.Parent = PARENT
366
    return NEWPART
367-
	acs.CFrame = PART.CFrame
367+
368-
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
368+
 
369
 
370
--//=================================\\
371
--||          CUSTOMIZATION
372
--\\=================================//
373
 
374-
--|| 	      USEFUL VALUES
374+
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-
--|| 	     DEBUFFS / BUFFS
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-
	tf = tf + s
473+
474-
	if tf >= frame then
474+
475-
		if allowframeloss then
475+
476-
			script.ArtificialHB:Fire()
476+
477-
			lastframe = tick()
477+
478
local LASTPOINT = nil
479-
			for i = 1, math.floor(tf / frame) do
479+
480-
				script.ArtificialHB:Fire()
480+
481
local STAGGERHITANIM = false
482-
		lastframe = tick()
482+
483
local STUNANIM = false
484-
		if tossremainder then
484+
485-
			tf = 0
485+
486
local DONUMBER = 0
487-
			tf = tf - frame * math.floor(tf / frame)
487+
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-
--|| 	      SOME FUNCTIONS
500+
501
local WEAPONGUI = IT("ScreenGui", nil)
502
WEAPONGUI.Name = "Weapon GUI"
503
local WEAPONTOOL = IT("HopperBin", nil)
504-
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
504+
505
local Weapon = IT("Model")
506
Weapon.Name = Weapon_Name
507
local Effects = IT("Folder", Weapon)
508-
	if NUMBER >= 0 then
508+
509-
		NUMBER = 0
509+
510
local ANIMATE = Character.Animate
511-
	return NUMBER
511+
512
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
513
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
514
local HITBLOCKSOUNDS = {"199148933", "199148947"}
515-
	if NUMBER <= 0 then
515+
516-
		NUMBER = 0
516+
517
 
518-
	return NUMBER
518+
519
--\\=================================//
520
 
521
 
522-
	if NUMBER == 0 or NUMBER == nil then
522+
523-
		ArtificialHB.Event:wait()
523+
--||         DEBUFFS / BUFFS
524-
	else
524+
525-
		for i = 1, NUMBER do
525+
 
526-
			ArtificialHB.Event:wait()
526+
527
DEFENSECHANGE1.Name = "ChangeDefense"
528
DEFENSECHANGE1.Value = 0
529
 
530
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
531
MOVEMENTCHANGE1.Name = "ChangeMovement"
532-
	local label = IT("TextLabel")
532+
533-
	label.BackgroundTransparency = 1
533+
 
534-
	label.Size = UD2(1, 0, 1, 0)
534+
535-
	label.Position = UD2(0, 0, 0, 0)
535+
536-
	label.TextColor3 = C3(255, 255, 255)
536+
 
537-
	label.TextStrokeTransparency = STROKETRANSPARENCY
537+
 
538-
	label.TextTransparency = TRANSPARENCY
538+
 
539-
	label.FontSize = TEXTFONTSIZE
539+
 
540-
	label.Font = TEXTFONT
540+
 
541-
	label.BorderSizePixel = BORDERSIZEPIXEL
541+
542-
	label.TextScaled = true
542+
543-
	label.Text = TEXT
543+
544-
	label.Name = NAME
544+
 
545-
	label.Parent = PARENT
545+
546-
	return label
546+
547
 
548
script:WaitForChild("ArtificialHB")
549
 
550-
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
550+
551
tf = 0
552
allowframeloss = false
553
tossremainder = false
554
lastframe = tick()
555-
	local NEWWELD = IT(TYPE)
555+
556-
	NEWWELD.Part0 = PART0
556+
 
557-
	NEWWELD.Part1 = PART1
557+
558-
	NEWWELD.C0 = C0
558+
    tf = tf + s
559-
	NEWWELD.C1 = C1
559+
    if tf >= frame then
560-
	NEWWELD.Parent = PARENT
560+
        if allowframeloss then
561-
	return NEWWELD
561+
            script.ArtificialHB:Fire()
562
            lastframe = tick()
563
        else
564
            for i = 1, math.floor(tf / frame) do
565-
	local NEWSOUND = nil
565+
                script.ArtificialHB:Fire()
566-
	coroutine.resume(coroutine.create(function()
566+
            end
567-
		NEWSOUND = IT("Sound", PARENT)
567+
        lastframe = tick()
568-
		NEWSOUND.Volume = VOLUME
568+
        end
569-
		NEWSOUND.Pitch = PITCH
569+
        if tossremainder then
570-
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
570+
            tf = 0
571-
		Swait()
571+
        else
572-
		NEWSOUND:play()
572+
            tf = tf - frame * math.floor(tf / frame)
573-
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
573+
        end
574-
	end))
574+
    end
575-
	return NEWSOUND
575+
576
 
577
--//=================================\\
578
--\\=================================//
579
 
580
 
581
 
582
 
583-
--||	     WEAPON CREATION
583+
 
584
--//=================================\\
585
--||          SOME FUNCTIONS
586
--\\=================================//
587-
	for _, v in pairs (Weapon:GetChildren()) do
587+
 
588-
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
588+
589-
			local p1 = v.Part1
589+
    return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
590-
			v.Part1 = nil
590+
591-
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
591+
 
592-
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
592+
593-
			v.Part1 = p1
593+
    if NUMBER >= 0 then
594-
		elseif v.ClassName == "Part" then
594+
        NUMBER = 0
595-
			for _, b in pairs (v:GetChildren()) do
595+
    end
596-
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
596+
    return NUMBER
597-
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
597+
598
 
599
function NegativeAngle(NUMBER)
600
    if NUMBER <= 0 then
601
        NUMBER = 0
602
    end
603
    return NUMBER
604
end
605-
	if c.ClassName == "Part" then
605+
 
606-
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
606+
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-
	ATTACK = true
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-
	if c.ClassName == "Part" then
651+
    coroutine.resume(coroutine.create(function()
652-
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
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-
	NumberSequenceKeypoint.new(0,0.5,0),
657+
        NEWSOUND:play()
658-
	NumberSequenceKeypoint.new(1,0.2,0)
658+
        game:GetService("Debris"):AddItem(NEWSOUND, 10)
659
    end))
660
    return NEWSOUND
661-
	NumberSequenceKeypoint.new(0,0,0),
661+
662-
	NumberSequenceKeypoint.new(1,1,0)
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-
	local particle = nil
677+
            v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
678-
	coroutine.resume(coroutine.create(function(PART)
678+
            v.Part1 = p1
679-
		particle = PE:Clone()
679+
        elseif v.ClassName == "Part" then
680-
		Swait()
680+
            for _, b in pairs (v:GetChildren()) do
681-
		particle.Rate = 999
681+
                if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
682-
		particle.Parent = art
682+
                    b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
683-
		particle.Acceleration = accel
683+
                end
684-
		if type == "Fire" then
684+
            end
685-
			local EyeSizes={
685+
        end
686-
				NumberSequenceKeypoint.new(0,size,size/2),
686+
    end
687-
				NumberSequenceKeypoint.new(1,size/4,size/8)
687+
688-
			}
688+
 
689-
			particle.Size = NumberSequence.new(EyeSizes)
689+
690-
		elseif type == "Smoke" then
690+
    if c.ClassName == "Part" then
691-
			local EyeSizes={
691+
        c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
692-
				NumberSequenceKeypoint.new(0,size/5,0),
692+
    end
693-
				NumberSequenceKeypoint.new(1,size*2,0.5)
693+
694-
			}
694+
 
695-
			particle.Size = NumberSequence.new(EyeSizes)
695+
696-
		elseif type == "Solid" then
696+
 
697-
			local EyeSizes={
697+
698-
				NumberSequenceKeypoint.new(0,size,0),
698+
    ATTACK = true
699-
				NumberSequenceKeypoint.new(1,size,0)
699+
700-
			}
700+
 
701-
			particle.Size = NumberSequence.new(EyeSizes)
701+
702
 
703-
		particle.Lifetime=NumberRange.new(lifetime)
703+
704-
		particle.Drag = drag
704+
705-
		if locked == true then
705+
 
706-
			particle.LockedToPart = true
706+
 
707
local backpack = IT("Part",Weapon)
708-
		particle.Speed = NumberRange.new(speed*0.8,speed)
708+
709-
		particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
709+
710-
		particle.Enabled = isenabledbydefault
710+
711-
		particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
711+
712-
	end))
712+
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-
--||			DAMAGING
720+
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-
	for i,v in ipairs(workspace:GetChildren()) do
724+
725-
	local body = v:GetChildren()
725+
726-
		for part = 1, #body do
726+
 
727-
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
727+
728-
				if(body[part].Position - position).Magnitude < range then
728+
729-
					local bv = Instance.new("BodyVelocity") 
729+
730-
					bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
730+
731-
					bv.velocity = CF(body[part].Position,succ.Position).lookVector*80
731+
732-
					bv.Parent = body[part]
732+
733-
					bv.Name = "SUCC"
733+
734-
					game:GetService("Debris"):AddItem(bv, 0.1)
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-
		if v.ClassName == "Part" then
738+
    end
739-
			if v.Anchored == false and (v.Position - position).Magnitude < range then
739+
740-
				local bv = Instance.new("BodyVelocity") 
740+
 
741-
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
741+
742-
				bv.velocity = CF(v.Position,succ.Position).lookVector*80
742+
    NumberSequenceKeypoint.new(0,0.5,0),
743-
				bv.Parent = v
743+
    NumberSequenceKeypoint.new(1,0.2,0)
744-
				bv.Name = "SUCC"
744+
745-
				game:GetService("Debris"):AddItem(bv, 0.1)
745+
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-
	for i,v in ipairs(workspace:GetChildren()) do
752+
753-
	local body = v:GetChildren()
753+
754-
		for part = 1, #body do
754+
755-
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
755+
756-
				if(body[part].Position - position).Magnitude < range then
756+
757-
					CreateParticles(body[part],VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
757+
758-
					if v:FindFirstChild("Humanoid") then
758+
759-
						v.Humanoid.PlatformStand = true
759+
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-
		if v.ClassName == "Part" then
764+
        particle = PE:Clone()
765-
			if v.Anchored == false and (v.Position - position).Magnitude < range then
765+
        Swait()
766-
				CreateParticles(v,VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
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-
	CreateSound("328460122", succ, 3, 1)
773+
            }
774-
	poop.VelocitySpread = 25
774+
            particle.Size = NumberSequence.new(EyeSizes)
775-
	poop:Emit(150)
775+
        elseif type == "Smoke" then
776-
	cover(CF(succ.Position)*CF(0,0,-1).p,15)
776+
            local EyeSizes={
777
                NumberSequenceKeypoint.new(0,size/5,0),
778
                NumberSequenceKeypoint.new(1,size*2,0.5)
779
            }
780-
--||	ATTACK FUNCTIONS AND STUFF
780+
            particle.Size = NumberSequence.new(EyeSizes)
781
        elseif type == "Solid" then
782
            local EyeSizes={
783
                NumberSequenceKeypoint.new(0,size,0),
784-
	for i, v in pairs(Table) do
784+
                NumberSequenceKeypoint.new(1,size,0)
785-
		if string.find(string.lower(String), string.lower(v)) then
785+
            }
786-
			return true
786+
            particle.Size = NumberSequence.new(EyeSizes)
787
        end
788
        particle.Lifetime=NumberRange.new(lifetime)
789-
	return false
789+
        particle.Drag = drag
790
        if locked == true then
791
            particle.LockedToPart = true
792
        end
793-
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
793+
        particle.Speed = NumberRange.new(speed*0.8,speed)
794-
	if Hit and Hit.Parent then
794+
        particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
795-
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
795+
        particle.Enabled = isenabledbydefault
796-
			return true
796+
        particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
797
    end))
798
return particle
799-
	return false
799+
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-
	local Direction = CFrame.new(StartPos, Vec).lookVector
805+
--||            DAMAGING
806-
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
806+
807-
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
807+
 
808-
	if RayHit and CheckIntangible(RayHit) then
808+
809-
		if DelayIfHit then
809+
    for i,v in ipairs(workspace:GetChildren()) do
810-
			wait()
810+
    local body = v:GetChildren()
811
        for part = 1, #body do
812-
		RayHit, RayPos, RayNormal = CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
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-
	return RayHit, RayPos, RayNormal
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-
	part.CFrame = CF(part.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
818+
                    bv.Name = "SUCC"
819
                    game:GetService("Debris"):AddItem(bv, 0.1)
820
                end
821
            end
822-
	sick:Play()
822+
        end
823-
	local nado = IT("Part")
823+
        if v.ClassName == "Part" then
824-
	local mesh = IT("SpecialMesh",nado)
824+
            if v.Anchored == false and (v.Position - position).Magnitude < range then
825-
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
825+
                local bv = Instance.new("BodyVelocity")
826-
	nado.Transparency = 0.5
826+
                bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
827-
	nado.CanCollide = false
827+
                bv.velocity = CF(v.Position,succ.Position).lookVector*80
828-
	nado.Anchored = true
828+
                bv.Parent = v
829-
	local loop = 0
829+
                bv.Name = "SUCC"
830-
	succing = {}
830+
                game:GetService("Debris"):AddItem(bv, 0.1)
831-
	local harm = succ.Touched:Connect(function(hit)
831+
            end
832-
		if hit.Anchored == false then
832+
        end
833-
			hit:remove()
833+
    end
834-
			CreateSound("261732529", succ, 3, 1)
834+
835-
			poop2:Emit(1)
835+
 
836
function cover(position,range)
837
    for i,v in ipairs(workspace:GetChildren()) do
838-
	repeat
838+
    local body = v:GetChildren()
839-
		Swait()
839+
        for part = 1, #body do
840-
		loop = loop + 75
840+
            if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
841-
		nado.Parent = Effects
841+
                if(body[part].Position - position).Magnitude < range then
842-
		local RayHit,RayPos = CastRay(succ.Position, Mouse.Hit.p, 1000, Character, false)
842+
                    CreateParticles(body[part],VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
843-
		local distance = (succ.Position - RayPos).magnitude
843+
                    if v:FindFirstChild("Humanoid") then
844-
		mesh.Scale = VT(distance/12,distance/3.2,distance/12)
844+
                        v.Humanoid.PlatformStand = true
845-
		nado.CFrame = CFrame.new(succ.Position, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(-90),RAD(loop),RAD(0))
845+
                    end
846-
		turnto(Mouse.Hit.p,RootPart)
846+
                end
847-
		succnearest(RayPos,distance/2.5)
847+
            end
848-
		if RayHit ~= nil then
848+
        end
849-
			if RayHit.Anchored == false then
849+
        if v.ClassName == "Part" then
850-
				local bv = Instance.new("BodyVelocity") 
850+
            if v.Anchored == false and (v.Position - position).Magnitude < range then
851-
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
851+
                CreateParticles(v,VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
852-
				bv.velocity = CF(RayHit.Position,succ.Position).lookVector*80
852+
            end
853-
				bv.Parent = RayHit
853+
        end
854-
				bv.Name = "SUCC"
854+
    end
855-
				game:GetService("Debris"):AddItem(bv, 0.1)
855+
856
 
857
function cough()
858-
		local TotalSuccs = math.ceil(distance / 65)
858+
    CreateSound("328460122", succ, 3, 1)
859-
		local Direction = CFrame.new(RayPos, succ.Position).lookVector
859+
    poop.VelocitySpread = 25
860-
		for i = 1, TotalSuccs do
860+
    poop:Emit(150)
861-
			local NewPos = (RayPos + (Direction * (distance * (i / TotalSuccs))))
861+
    cover(CF(succ.Position)*CF(0,0,-1).p,15)
862-
			succnearest(NewPos,distance/(i*2.5))
862+
863
 
864-
	until HOLD == false
864+
865-
	if #succing>0 then
865+
--||    ATTACK FUNCTIONS AND STUFF
866-
	for e=1,#succing do
866+
867-
	if succing[e]~=nil then
867+
 
868-
	local Thing=succing[e]
868+
869-
	Thing:remove()
869+
    for i, v in pairs(Table) do
870-
	table.remove(succing,e)
870+
        if string.find(string.lower(String), string.lower(v)) then
871
            return true
872
        end
873
    end
874-
	succing = {}
874+
    return false
875-
	harm:disconnect()
875+
876-
	nado:remove()
876+
 
877-
	sick:Stop()
877+
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-
--||	  ASSIGN THINGS TO KEYS
881+
            return true
882
        end
883
    end
884
    return false
885-
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
885+
886-
		Humanoid.Jump = false
886+
 
887
Debris = game:GetService("Debris")
888
 
889
function CastRay(StartPos, Vec, Length, Ignore, DelayIfHit)
890
    local Direction = CFrame.new(StartPos, Vec).lookVector
891-
	HOLD = true
891+
    local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
892-
	vacuum()
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-
	if Key == "t" and ATTACK == false then
900+
901-
		CreateSound("743953262", Head, 3, 1)
901+
 
902
function turnto(pos,part)
903-
	if Key == "e" and ATTACK == false then
903+
    part.CFrame = CF(part.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
904-
		cough()
904+
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-
	Mouse.Button1Down:connect(function(NEWKEY)
911+
    nado.Transparency = 0.5
912-
		MouseDown(NEWKEY)
912+
    nado.CanCollide = false
913
    nado.Anchored = true
914-
	Mouse.Button1Up:connect(function(NEWKEY)
914+
    local loop = 0
915-
		MouseUp(NEWKEY)
915+
    succing = {}
916
    local harm = succ.Touched:Connect(function(hit)
917-
	Mouse.KeyDown:connect(function(NEWKEY)
917+
        if hit.Anchored == false then
918-
		KeyDown(NEWKEY)
918+
            hit:remove()
919
            CreateSound("261732529", succ, 3, 1)
920-
	Mouse.KeyUp:connect(function(NEWKEY)
920+
            poop2:Emit(1)
921-
		KeyUp(NEWKEY)
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-
	if UNANCHOR == true then
929+
        mesh.Scale = VT(distance/12,distance/3.2,distance/12)
930-
		g = Character:GetChildren()
930+
        nado.CFrame = CFrame.new(succ.Position, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(-90),RAD(loop),RAD(0))
931-
		for i = 1, #g do
931+
        turnto(Mouse.Hit.p,RootPart)
932-
			if g[i].ClassName == "Part" then
932+
        succnearest(RayPos,distance/2.5)
933-
				g[i].Anchored = false
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-
--||	WRAP THE WHOLE SCRIPT UP
941+
            end
942
        end
943
        local TotalSuccs = math.ceil(distance / 65)
944
        local Direction = CFrame.new(RayPos, succ.Position).lookVector
945-
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
945+
        for i = 1, TotalSuccs do
946-
		Humanoid.Jump = false
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-
	Swait()
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-
	Disable_Jump = false
998+
    end)
999-
	Humanoid.WalkSpeed = Speed
999+
    Mouse.Button1Up:connect(function(NEWKEY)
1000
        MouseUp(NEWKEY)
1001-
	Disable_Jump = true
1001+
    end)
1002-
	Humanoid.WalkSpeed = 0
1002+
    Mouse.KeyDown:connect(function(NEWKEY)
1003
        KeyDown(NEWKEY)
1004
    end)
1005-
	sick = Instance.new("Sound",Torso)
1005+
    Mouse.KeyUp:connect(function(NEWKEY)
1006-
	sick.SoundId = "rbxassetid://319444224"
1006+
        KeyUp(NEWKEY)
1007-
	sick.Looped = true
1007+
    end)
1008-
	sick.Pitch = 1
1008+
 
1009-
	sick.Volume = 1
1009+
1010
--\\=================================//
1011
 
1012
 
1013
function unanchor()
1014
    if UNANCHOR == true then
1015
        g = Character:GetChildren()
1016
        for i = 1, #g do
1017-
	Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*0
1017+
            if g[i].ClassName == "Part" then
1018-
	Thing:remove()
1018+
                g[i].Anchored = false
1019-
	table.remove(succing,e)
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-
--||			  		 END OF SCRIPT
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
--\\====================================================//--