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