View difference between Paste ID: 6tCaNn1S and ka96xm4a
SHOW: | | - or go back to the newest paste.
1
script.Name = "Banisher Gun V3 / 1"
2
--//====================================================\\--
3
--||			   CREATED BY SHACKLUSTER
4
--\\====================================================//--
5
6
script:ClearAllChildren()
7
wait(0.2)
8
9
Player = game:GetService("Players").LocalPlayer
10
PlayerGui = Player.PlayerGui
11
Cam = workspace.CurrentCamera
12
Backpack = Player.Backpack
13
Character = Player.Character
14
Humanoid = Character.Humanoid
15
Mouse = Player:GetMouse()
16
RootPart = Character["HumanoidRootPart"]
17
Torso = Character["Torso"]
18
Head = Character["Head"]
19
RightArm = Character["Right Arm"]
20
LeftArm = Character["Left Arm"]
21
RightLeg = Character["Right Leg"]
22
LeftLeg = Character["Left Leg"]
23
RootJoint = RootPart["RootJoint"]
24
Neck = Torso["Neck"]
25
RightShoulder = Torso["Right Shoulder"]
26
LeftShoulder = Torso["Left Shoulder"]
27
RightHip = Torso["Right Hip"]
28
LeftHip = Torso["Left Hip"]
29
local TIME = 0
30
local sick = Instance.new("Sound",Torso)
31
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
49
--//=================================\\
50
--|| 	      USEFUL VALUES
51
--\\=================================//
52
53
Animation_Speed = 3
54
local FORCERESET = false
55
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
56
local Speed = 16
57
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
58
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
59
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
60
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
61
local DAMAGEMULTIPLIER = 1
62
local ANIM = "Idle"
63
local ATTACK = false
64
local EQUIPPED = false
65
local HOLD = false
66
local COMBO = 1
67
local Rooted = false
68
local SINE = 0
69
local KEYHOLD = false
70
local CHANGE = 2 / Animation_Speed
71
local WALKINGANIM = false
72
local VALUE1 = false
73
local VALUE2 = false
74
local ROBLOXIDLEANIMATION = IT("Animation")
75
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
76
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
77
--ROBLOXIDLEANIMATION.Parent = Humanoid
78
local WEAPONGUI = IT("ScreenGui", PlayerGui)
79
WEAPONGUI.Name = "BanishV3Gui"
80
local Weapon = IT("Model")
81
Weapon.Name = "Adds"
82
local Effects = IT("Folder", Weapon)
83
Effects.Name = "Effects"
84
local ANIMATOR = Humanoid.Animator
85
local ANIMATE = Character:FindFirstChild("Animate")
86
local UNANCHOR = true
87
local TOBANISH = {}
88
script.Parent = PlayerGui
89
90
--//=================================\\
91
--\\=================================//
92
93
94
--//=================================\\
95
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
96
--\\=================================//
97
98
ArtificialHB = Instance.new("BindableEvent", script)
99
ArtificialHB.Name = "ArtificialHB"
100
101
script:WaitForChild("ArtificialHB")
102
103
frame = Frame_Speed
104
tf = 0
105
allowframeloss = false
106
tossremainder = false
107
lastframe = tick()
108
script.ArtificialHB:Fire()
109
110
game:GetService("RunService").Heartbeat:connect(function(s, p)
111
	tf = tf + s
112
	if tf >= frame then
113
		if allowframeloss then
114
			script.ArtificialHB:Fire()
115
			lastframe = tick()
116
		else
117
			for i = 1, math.floor(tf / frame) do
118
				script.ArtificialHB:Fire()
119
			end
120
		lastframe = tick()
121
		end
122
		if tossremainder then
123
			tf = 0
124
		else
125
			tf = tf - frame * math.floor(tf / frame)
126
		end
127
	end
128
end)
129
130
--//=================================\\
131
--\\=================================//
132
133
--//=================================\\
134
--|| 	      SOME FUNCTIONS
135
--\\=================================//
136
137
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
138
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
139
end
140
141
function PositiveAngle(NUMBER)
142
	if NUMBER >= 0 then
143
		NUMBER = 0
144
	end
145
	return NUMBER
146
end
147
148
function NegativeAngle(NUMBER)
149
	if NUMBER <= 0 then
150
		NUMBER = 0
151
	end
152
	return NUMBER
153
end
154
155
function Swait(NUMBER)
156
	if NUMBER == 0 or NUMBER == nil then
157
		ArtificialHB.Event:wait()
158
	else
159
		for i = 1, NUMBER do
160
			ArtificialHB.Event:wait()
161
		end
162
	end
163
end
164
165
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
166
	local NEWMESH = IT(MESH)
167
	if MESH == "SpecialMesh" then
168
		NEWMESH.MeshType = MESHTYPE
169
		if MESHID ~= "nil" and MESHID ~= "" then
170
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
171
		end
172
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
173
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
174
		end
175
	end
176
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
177
	NEWMESH.Scale = SCALE
178
	NEWMESH.Parent = PARENT
179
	return NEWMESH
180
end
181
182
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
183
	local NEWPART = IT("Part")
184
	NEWPART.formFactor = FORMFACTOR
185
	NEWPART.Reflectance = REFLECTANCE
186
	NEWPART.Transparency = TRANSPARENCY
187
	NEWPART.CanCollide = false
188
	NEWPART.Locked = true
189
	NEWPART.Anchored = true
190
	if ANCHOR == false then
191
		NEWPART.Anchored = false
192
	end
193
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
194
	NEWPART.Name = NAME
195
	NEWPART.Size = SIZE
196
	NEWPART.Position = Torso.Position
197
	NEWPART.Material = MATERIAL
198
	NEWPART:BreakJoints()
199
	NEWPART.Parent = PARENT
200
	return NEWPART
201
end
202
203
	local function weldBetween(a, b)
204
	    local weldd = Instance.new("ManualWeld")
205
	    weldd.Part0 = a
206
	    weldd.Part1 = b
207
	    weldd.C0 = CFrame.new()
208
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
209
	    weldd.Parent = a
210
	    return weldd
211
	end
212
213
214
function QuaternionFromCFrame(cf)
215
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
216
	local trace = m00 + m11 + m22
217
	if trace > 0 then 
218
		local s = math.sqrt(1 + trace)
219
		local recip = 0.5 / s
220
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
221
	else
222
		local i = 0
223
		if m11 > m00 then
224
			i = 1
225
		end
226
		if m22 > (i == 0 and m00 or m11) then
227
			i = 2
228
		end
229
		if i == 0 then
230
			local s = math.sqrt(m00 - m11 - m22 + 1)
231
			local recip = 0.5 / s
232
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
233
		elseif i == 1 then
234
			local s = math.sqrt(m11 - m22 - m00 + 1)
235
			local recip = 0.5 / s
236
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
237
		elseif i == 2 then
238
			local s = math.sqrt(m22 - m00 - m11 + 1)
239
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
240
		end
241
	end
242
end
243
 
244
function QuaternionToCFrame(px, py, pz, x, y, z, w)
245
	local xs, ys, zs = x + x, y + y, z + z
246
	local wx, wy, wz = w * xs, w * ys, w * zs
247
	local xx = x * xs
248
	local xy = x * ys
249
	local xz = x * zs
250
	local yy = y * ys
251
	local yz = y * zs
252
	local zz = z * zs
253
	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))
254
end
255
 
256
function QuaternionSlerp(a, b, t)
257
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
258
	local startInterp, finishInterp;
259
	if cosTheta >= 0.0001 then
260
		if (1 - cosTheta) > 0.0001 then
261
			local theta = ACOS(cosTheta)
262
			local invSinTheta = 1 / SIN(theta)
263
			startInterp = SIN((1 - t) * theta) * invSinTheta
264
			finishInterp = SIN(t * theta) * invSinTheta
265
		else
266
			startInterp = 1 - t
267
			finishInterp = t
268
		end
269
	else
270
		if (1 + cosTheta) > 0.0001 then
271
			local theta = ACOS(-cosTheta)
272
			local invSinTheta = 1 / SIN(theta)
273
			startInterp = SIN((t - 1) * theta) * invSinTheta
274
			finishInterp = SIN(t * theta) * invSinTheta
275
		else
276
			startInterp = t - 1
277
			finishInterp = t
278
		end
279
	end
280
	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
281
end
282
283
function Clerp(a, b, t)
284
	local qa = {QuaternionFromCFrame(a)}
285
	local qb = {QuaternionFromCFrame(b)}
286
	local ax, ay, az = a.x, a.y, a.z
287
	local bx, by, bz = b.x, b.y, b.z
288
	local _t = 1 - t
289
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
290
end
291
292
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
293
	local frame = IT("Frame")
294
	frame.BackgroundTransparency = TRANSPARENCY
295
	frame.BorderSizePixel = BORDERSIZEPIXEL
296
	frame.Position = POSITION
297
	frame.Size = SIZE
298
	frame.BackgroundColor3 = COLOR
299
	frame.BorderColor3 = BORDERCOLOR
300
	frame.Name = NAME
301
	frame.Parent = PARENT
302
	return frame
303
end
304
305
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
306
	local label = IT("TextLabel")
307
	label.BackgroundTransparency = 1
308
	label.Size = UD2(1, 0, 1, 0)
309
	label.Position = UD2(0, 0, 0, 0)
310
	label.TextColor3 = TEXTCOLOR
311
	label.TextStrokeTransparency = STROKETRANSPARENCY
312
	label.TextTransparency = TRANSPARENCY
313
	label.FontSize = TEXTFONTSIZE
314
	label.Font = TEXTFONT
315
	label.BorderSizePixel = BORDERSIZEPIXEL
316
	label.TextScaled = false
317
	label.Text = TEXT
318
	label.Name = NAME
319
	label.Parent = PARENT
320
	return label
321
end
322
323
function NoOutlines(PART)
324
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
325
end
326
327
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
328
	local NEWWELD = IT(TYPE)
329
	NEWWELD.Part0 = PART0
330
	NEWWELD.Part1 = PART1
331
	NEWWELD.C0 = C0
332
	NEWWELD.C1 = C1
333
	NEWWELD.Parent = PARENT
334
	return NEWWELD
335
end
336
337
local S = IT("Sound")
338
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
339
	local NEWSOUND = nil
340
	coroutine.resume(coroutine.create(function()
341
		NEWSOUND = S:Clone()
342
		NEWSOUND.Parent = PARENT
343
		NEWSOUND.Volume = VOLUME
344
		NEWSOUND.Pitch = PITCH
345
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
346
		NEWSOUND:play()
347
		if DOESLOOP == true then
348
			NEWSOUND.Looped = true
349
		else
350
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
351
			NEWSOUND:remove()
352
		end
353
	end))
354
	return NEWSOUND
355
end
356
357
function CFrameFromTopBack(at, top, back)
358
	local right = top:Cross(back)
359
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
360
end
361
362
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
363
function WACKYEFFECT(Table)
364
	local TYPE = (Table.EffectType or "Sphere")
365
	local SIZE = (Table.Size or VT(1,1,1))
366
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
367
	local TRANSPARENCY = (Table.Transparency or 0)
368
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
369
	local CFRAME = (Table.CFrame or Torso.CFrame)
370
	local MOVEDIRECTION = (Table.MoveToPos or nil)
371
	local ROTATION1 = (Table.RotationX or 0)
372
	local ROTATION2 = (Table.RotationY or 0)
373
	local ROTATION3 = (Table.RotationZ or 0)
374
	local MATERIAL = (Table.Material or "Neon")
375
	local COLOR = (Table.Color or C3(1,1,1))
376
	local TIME = (Table.Time or 45)
377
	local SOUNDID = (Table.SoundID or nil)
378
	local SOUNDPITCH = (Table.SoundPitch or nil)
379
	local SOUNDVOLUME = (Table.SoundVolume or nil)
380
	coroutine.resume(coroutine.create(function()
381
		local PLAYSSOUND = false
382
		local SOUND = nil
383
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
384
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
385
			PLAYSSOUND = true
386
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
387
		end
388
		EFFECT.Color = COLOR
389
		local MSH = nil
390
		if TYPE == "Sphere" then
391
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
392
		elseif TYPE == "Block" then
393
			MSH = IT("BlockMesh",EFFECT)
394
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
395
		elseif TYPE == "Wave" then
396
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
397
		elseif TYPE == "Ring" then
398
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
399
		elseif TYPE == "Slash" then
400
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
401
		elseif TYPE == "Round Slash" then
402
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
403
		elseif TYPE == "Swirl" then
404
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
405
		elseif TYPE == "Skull" then
406
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
407
		elseif TYPE == "Crystal" then
408
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
409
		end
410
		if MSH ~= nil then
411
			local MOVESPEED = nil
412
			if MOVEDIRECTION ~= nil then
413
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
414
			end
415
			local GROWTH = SIZE - ENDSIZE
416
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
417
			if TYPE == "Block" then
418
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
419
			else
420
				EFFECT.CFrame = CFRAME
421
			end
422
			for LOOP = 1, TIME+1 do
423
				Swait()
424
				MSH.Scale = MSH.Scale - GROWTH/TIME
425
				if TYPE == "Wave" then
426
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
427
				end
428
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
429
				if TYPE == "Block" then
430
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
431
				else
432
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
433
				end
434
				if MOVEDIRECTION ~= nil then
435
					local ORI = EFFECT.Orientation
436
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
437
					EFFECT.Orientation = ORI
438
				end
439
			end
440
			if PLAYSSOUND == false then
441
				EFFECT:remove()
442
			else
443
				SOUND.Stopped:Connect(function()
444
					EFFECT:remove()
445
				end)
446
			end
447
		else
448
			if PLAYSSOUND == false then
449
				EFFECT:remove()
450
			else
451
				repeat Swait() until SOUND.Playing == false
452
				EFFECT:remove()
453
			end
454
		end
455
	end))
456
end
457
458
function MakeForm(PART,TYPE)
459
	if TYPE == "Cyl" then
460
		local MSH = IT("CylinderMesh",PART)
461
	elseif TYPE == "Ball" then
462
		local MSH = IT("SpecialMesh",PART)
463
		MSH.MeshType = "Sphere"
464
	elseif TYPE == "Wedge" then
465
		local MSH = IT("SpecialMesh",PART)
466
		MSH.MeshType = "Wedge"
467
	end
468
end
469
470
function SpawnTrail(FROM,TO,BIG)
471
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
472
	MakeForm(TRAIL,"Cyl")
473
	local DIST = (FROM - TO).Magnitude
474
	if BIG == true then
475
		TRAIL.Size = VT(0.5,DIST,0.5)
476
	else
477
		TRAIL.Size = VT(0.25,DIST,0.25)
478
	end
479
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
480
	coroutine.resume(coroutine.create(function()
481
		for i = 1, 5 do
482
			Swait()
483
			TRAIL.Transparency = TRAIL.Transparency + 0.1
484
		end
485
		TRAIL:remove()
486
	end))
487
end
488
489
Debris = game:GetService("Debris")
490
491
function CastProperRay(StartPos, EndPos, Distance, Ignore)
492
	local DIRECTION = CF(StartPos,EndPos).lookVector
493
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
494
end
495
496
function turnto(position)
497
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
498
end
499
500
--//=================================\\
501
--||	     WEAPON CREATION
502
--\\=================================//
503
504
local Particle = IT("ParticleEmitter",nil)
505
Particle.Enabled = false
506
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
507
Particle.LightEmission = 0.5
508
Particle.Rate = 150
509
Particle.ZOffset = 0.2
510
Particle.Rotation = NumberRange.new(-180, 180)
511
Particle.RotSpeed = NumberRange.new(-180, 180)
512
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
513
Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
514
515
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
516
function ParticleEmitter(Table)
517
	local PRTCL = Particle:Clone()
518
	local Speed = Table.Speed or 5
519
	local Drag = Table.Drag or 0
520
	local Size1 = Table.Size1 or 1
521
	local Size2 = Table.Size2 or 5
522
	local Lifetime1 = Table.Lifetime1 or 1
523
	local Lifetime2 = Table.Lifetime2 or 1.5
524
	local Parent = Table.Parent or Torso
525
	local Emit = Table.Emit or 100
526
	local Offset = Table.Offset or 360
527
	local Acel = Table.Acel or VT(0,0,0)
528
	local Enabled = Table.Enabled or false
529
	PRTCL.Parent = Parent
530
	PRTCL.Size = NumberSequence.new(Size1,Size2)
531
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
532
	PRTCL.Speed = NumberRange.new(Speed)
533
	PRTCL.VelocitySpread = Offset
534
	PRTCL.Drag = Drag
535
	PRTCL.Acceleration = Acel
536
	if Enabled == false then
537
		PRTCL:Emit(Emit)
538
		Debris:AddItem(PRTCL,Lifetime2)
539
	else
540
		PRTCL.Enabled = true
541
	end
542
	return PRTCL
543
end
544
545
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
546
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
547
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
548
MakeForm(Part,"Wedge")
549
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
550
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
551
MakeForm(Part,"Wedge")
552
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
553
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
554
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
555
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
556
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
557
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
558
MakeForm(Part,"Cyl")
559
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
560
for i = 1, 8 do
561
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
562
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
563
end
564
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
565
MakeForm(Part,"Cyl")
566
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
567
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
568
MakeForm(Part,"Ball")
569
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
570
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
571
MakeForm(Part,"Wedge")
572
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
573
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
574
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
575
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
576
MakeForm(Part,"Cyl")
577
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
578
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
579
MakeForm(Part,"Cyl")
580
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
581
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
582
MakeForm(Part,"Cyl")
583
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
584
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
585
MakeForm(Part,"Wedge")
586
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
587
local LASTPART = Handle
588
for i = 1, 10 do
589
	if LASTPART == Handle then
590
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
591
		LASTPART = Part
592
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
593
	else
594
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
595
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
596
		LASTPART = Part
597
	end
598
end
599
600
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
601
MakeForm(Barrel,"Cyl")
602
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
603
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
604
MakeForm(Part,"Cyl")
605
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
606
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
607
MakeForm(Part,"Wedge")
608
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
609
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
610
MakeForm(Hole,"Cyl")
611
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
612
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
613
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
614
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
615
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
616
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
617
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
618
coroutine.resume(coroutine.create(function()
619
	while wait() do
620
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
621
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
622
	end
623
end))
624
625
ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
626
--ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
627
628
for _, c in pairs(Weapon:GetDescendants()) do
629
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
630
		c.Material = "Glass"
631
		c.Color = C3(0,0,0)
632
	elseif c.ClassName == "Part" and c.Name == "Eye" then
633
		c.Color = C3(1,0,0)
634
		c.Material = "Neon"
635
	end
636
end
637
638
Weapon.Parent = Character
639
for _, c in pairs(Weapon:GetChildren()) do
640
	if c.ClassName == "Part" then
641
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
642
	end
643
end
644
645
local SKILLTEXTCOLOR = C3(1,0,0)
646
local SKILLFONT = "Antique"
647
local SKILLTEXTSIZE = 7
648
649
Humanoid.Died:connect(function()
650
	ATTACK = true
651
end)
652
653
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
654
--[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
655
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
656
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
657
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
658
]]
659
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
660
--[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
661
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
662
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
663
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
664
]]
665
function printbye(Name)
666
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
667
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
668
end
669
670
workspace.ChildAdded:connect(function(instance)
671
    for BANISH = 1, #TOBANISH do
672
		if TOBANISH[BANISH] ~= nil then
673
			if instance.Name == TOBANISH[BANISH] then
674
				coroutine.resume(coroutine.create(function()
675
					printbye(instance.Name)
676
					instance:ClearAllChildren()
677
					Debris:AddItem(instance,0.0005)
678
				end))
679
			end
680
		end
681
	end
682
end)
683
684
--//=================================\\
685
--||			DAMAGING
686
--\\=================================//
687
688
function Banish(Foe)
689
	if Foe then
690
		coroutine.resume(coroutine.create(function()
691
			--if game.Players:FindFirstChild(Foe.Name) then
692
				table.insert(TOBANISH,Foe.Name)
693
				printbye(Foe.Name)
694
			--end
695
			Foe.Archivable = true
696
			local CLONE = Foe:Clone()
697
			Foe:Destroy()
698
			CLONE.Parent = Effects
699
			CLONE:BreakJoints()
700
			local MATERIALS = {"Glass","Neon"}
701
			for _, c in pairs(CLONE:GetDescendants()) do
702
				if c:IsA("BasePart") then
703
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
704
 						CreateSound(340722848, c, 10, 1, false)
705
					end
706
					c.Anchored = true
707
					c.Transparency = c.Transparency + 0.2
708
					c.Material = MATERIALS[MRANDOM(1,2)]
709
					c.Color = C3(1,0,0)
710
					if c.ClassName == "MeshPart" then
711
						c.TextureID = ""
712
					end
713
					if c:FindFirstChildOfClass("SpecialMesh") then
714
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
715
					end
716
					if c:FindFirstChildOfClass("Decal") then
717
						c:FindFirstChildOfClass("Decal"):remove()
718
					end
719
					c.Name = "Banished"
720
					c.CanCollide = false
721
				else
722
					c:remove()
723
				end
724
			end
725
			local A = false
726
			for i = 1, 35 do
727
				if A == false then
728
					A = true
729
				elseif A == true then
730
					A = false
731
				end
732
				for _, c in pairs(CLONE:GetDescendants()) do
733
					if c:IsA("BasePart") then
734
						c.Anchored = true
735
						c.Material = MATERIALS[MRANDOM(1,2)]
736
						c.Transparency = c.Transparency + 0.8/35
737
						if A == false then
738
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
739
						elseif A == true then
740
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
741
						end
742
					end
743
				end
744
				Swait()
745
			end
746
			CLONE:remove()
747
		end))
748
	end
749
end
750
751
function ApplyAoE(POSITION,RANGE,ISBANISH)
752
	local CHILDREN = workspace:GetDescendants()
753
	for index, CHILD in pairs(CHILDREN) do
754
		if CHILD.ClassName == "Model" and CHILD ~= Character then
755
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
756
			if HUM then
757
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
758
				if TORSO then
759
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
760
						if ISBANISH == true then
761
							Banish(CHILD)
762
						else
763
							if ISBANISH == "Gravity" then
764
								HUM.PlatformStand = true
765
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
766
									local grav = Instance.new("BodyPosition",TORSO)
767
									grav.D = 15
768
									grav.P = 20000
769
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
770
									grav.position = TORSO.Position
771
									grav.Name = "V3BanishForce"..Player.Name
772
								else
773
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
774
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
775
								end
776
							else
777
								HUM.PlatformStand = false
778
							end
779
						end
780
					elseif ISBANISH == "Gravity" then
781
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
782
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
783
							HUM.PlatformStand = false
784
						end
785
					end
786
				end
787
			end
788
		end
789
	end
790
end
791
792
--//=================================\\
793
--||	ATTACK FUNCTIONS AND STUFF
794
--\\=================================//
795
796
function Banisher_Bullet()
797
	ATTACK = true
798
	Rooted = false
799
	for i=0, 0.4, 0.1 / Animation_Speed do
800
		Swait()
801
		turnto(Mouse.Hit.p)
802
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
803
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
804
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
805
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
806
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
807
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
808
	end
809
	repeat
810
		for i=0, 0.2, 0.1 / Animation_Speed do
811
			Swait()
812
			turnto(Mouse.Hit.p)
813
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
814
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
815
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
816
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
817
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
818
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
819
		end
820
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
821
		SpawnTrail(Hole.Position,POS)
822
		if HIT ~= nil then
823
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
824
				Banish(HIT.Parent)
825
			end
826
		end
827
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
828
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
829
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
830
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
831
		for i=0, 0.3, 0.1 / Animation_Speed do
832
			Swait()
833
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
834
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
835
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
836
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
837
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
838
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
839
		end
840
	until KEYHOLD == false
841
	ATTACK = false
842
	Rooted = false
843
end
844
845
function AttackTemplate()
846
	ATTACK = true
847
	Rooted = false
848
	for i=0, 1, 0.1 / Animation_Speed do
849
		Swait()
850
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
851
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
852
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
853
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
854
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
855
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
856
	end
857
	ATTACK = false
858
	Rooted = false
859
end
860
861
--//=================================\\
862
--||	  ASSIGN THINGS TO KEYS
863
--\\=================================//
864
865
function MouseDown(Mouse)
866
	if ATTACK == false then
867
	end
868
end
869
870
function MouseUp(Mouse)
871
HOLD = false
872
end
873
874
function KeyDown(Key)
875
	KEYHOLD = true
876
	if Key == "z" and ATTACK == false then
877
		Banisher_Bullet()
878
	end
879
880
	if Key == "b" and ATTACK == false then
881
	end
882
883
	if Key == "c" and ATTACK == false then
884
	end
885
886
	if Key == "v" and ATTACK == false then
887
	end
888
889
	if Key == "x" and ATTACK == false then
890
	end
891
end
892
893
function KeyUp(Key)
894
	KEYHOLD = false
895
end
896
897
	Mouse.Button1Down:connect(function(NEWKEY)
898
		MouseDown(NEWKEY)
899
	end)
900
	Mouse.Button1Up:connect(function(NEWKEY)
901
		MouseUp(NEWKEY)
902
	end)
903
	Mouse.KeyDown:connect(function(NEWKEY)
904
		KeyDown(NEWKEY)
905
	end)
906
	Mouse.KeyUp:connect(function(NEWKEY)
907
		KeyUp(NEWKEY)
908
	end)
909
910
--//=================================\\
911
--\\=================================//
912
913
914
function unanchor()
915
	if UNANCHOR == true then
916
		g = Character:GetChildren()
917
		for i = 1, #g do
918
			if g[i].ClassName == "Part" then
919
				g[i].Anchored = false
920
			end
921
		end
922
	end
923
end
924
925
926
--//=================================\\
927
--||	WRAP THE WHOLE SCRIPT UP
928
--\\=================================//
929
930
Humanoid.Changed:connect(function(Jump)
931
	if Jump == "Jump" and (Disable_Jump == true) then
932
		Humanoid.Jump = false
933
	end
934
end)
935
936
local CONNECT = nil
937
938
while true do
939
	Swait()
940
	ANIMATE.Parent = nil
941
	if Character:FindFirstChildOfClass("Humanoid") == nil then
942
		Humanoid = IT("Humanoid",Character)
943
	end
944
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
945
	    v:Stop();
946
	end
947
	SINE = SINE + CHANGE
948
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
949
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
950
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
951
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
952
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
953
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
954
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
955
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
956
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
957
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
958
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
959
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
960
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
961
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
962
	end
963
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
964
		ANIM = "Jump"
965
		if ATTACK == false then
966
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
967
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
968
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
969
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
970
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
971
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
972
	    end
973
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
974
		ANIM = "Fall"
975
		if ATTACK == false then
976
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
977
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
978
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
979
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
980
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
981
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
982
		end
983
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
984
		ANIM = "Idle"
985
		if ATTACK == false then
986
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
987
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
988
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
989
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
990
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
991
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
992
		end
993
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
994
		ANIM = "Walk"
995
		if ATTACK == false then
996
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
997
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
998
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
999
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
1000
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1001
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1002
		end
1003
	end
1004
	unanchor()
1005
	Humanoid.MaxHealth = "inf"
1006
	Humanoid.Health = "inf"
1007
	if Rooted == false then
1008
		Disable_Jump = false
1009
		Humanoid.WalkSpeed = Speed
1010
	elseif Rooted == true then
1011
		Disable_Jump = true
1012
		Humanoid.WalkSpeed = 0
1013
	end
1014
	sick.Parent = Torso
1015
	sick:resume()
1016
	sick.Volume = 5
1017
	sick.Pitch = 1
1018
	sick.SoundId = "rbxassetid://924339757"
1019
	sick.Name = "BanishV3Music"
1020
end
1021
1022
--//=================================\\
1023
--\\=================================//
1024
1025
1026
1027
1028
1029
--//====================================================\\--
1030
--||			  		 END OF SCRIPT
1031
--\\====================================================//--