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