View difference between Paste ID: rGicBrET and Z4LBT6AK
SHOW: | | - or go back to the newest paste.
1
Player = game.Players.LocalPlayer
2
    Character = Player.Character
3
    local txt = Instance.new("BillboardGui", Character)
4
    txt.Adornee = Character.Head
5
    txt.Name = "_status"
6
    txt.Size = UDim2.new(2, 0, 1.2, 0)
7
    txt.StudsOffset = Vector3.new(-9, 8, 0)
8
    local text = Instance.new("TextLabel", txt)
9
    text.Size = UDim2.new(10, 0, 7, 0)
10
    text.FontSize = "Size24"
11
    text.TextScaled = true
12
    text.TextTransparency = 0
13
    text.BackgroundTransparency = 1
14
    text.TextTransparency = 0
15
    text.TextStrokeTransparency = 0
16
    text.Font = "Code"
17
    text.TextStrokeColor3 = Color3.new(1,0,1)
18
        text.Text = Player.Name.." The gunner"
19
20
--//====================================================\\--
21
--||			   CREATED BY SHACKLUSTER
22
--\\====================================================//--
23
24
wait(0.2)
25
26
Player = game:GetService("Players").LocalPlayer
27
PlayerGui = Player.PlayerGui
28
Cam = workspace.CurrentCamera
29
Backpack = Player.Backpack
30
Character = Player.Character
31
Humanoid = Character.Humanoid
32
Mouse = Player:GetMouse()
33
RootPart = Character["HumanoidRootPart"]
34
Torso = Character["Torso"]
35
Head = Character["Head"]
36
RightArm = Character["Right Arm"]
37
LeftArm = Character["Left Arm"]
38
RightLeg = Character["Right Leg"]
39
LeftLeg = Character["Left Leg"]
40
RootJoint = RootPart["RootJoint"]
41
Neck = Torso["Neck"]
42
RightShoulder = Torso["Right Shoulder"]
43
LeftShoulder = Torso["Left Shoulder"]
44
RightHip = Torso["Right Hip"]
45
LeftHip = Torso["Left Hip"]
46
SIZE = 1
47
48
IT = Instance.new
49
CF = CFrame.new
50
VT = Vector3.new
51
RAD = math.rad
52
C3 = Color3.new
53
UD2 = UDim2.new
54
BRICKC = BrickColor.new
55
ANGLES = CFrame.Angles
56
EULER = CFrame.fromEulerAnglesXYZ
57
COS = math.cos
58
ACOS = math.acos
59
SIN = math.sin
60
ASIN = math.asin
61
ABS = math.abs
62
MRANDOM = math.random
63
FLOOR = math.floor
64
65
--//=================================\\
66
--|| 	      USEFUL VALUES
67
--\\=================================//
68
69
Animation_Speed = 3
70
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
71
local Speed = 20
72
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
73
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
74
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
75
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
76
local DAMAGEMULTIPLIER = 1
77
local ANIM = "Idle"
78
local ATTACK = false
79
local EQUIPPED = false
80
local HOLD = false
81
local COMBO = 1
82
local Rooted = false
83
local SINE = 0
84
local KEYHOLD = false
85
local CHANGE = 2 / Animation_Speed
86
local WALKINGANIM = false
87
local VALUE1 = false
88
local VALUE2 = false
89
local ROBLOXIDLEANIMATION = IT("Animation")
90
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
91
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
92
--ROBLOXIDLEANIMATION.Parent = Humanoid
93
local WEAPONGUI = IT("ScreenGui", PlayerGui)
94
WEAPONGUI.Name = "Weapon GUI"
95
local ANIMATOR = Humanoid.Animator
96
local ANIMATE = Character.Animate
97
local UNANCHOR = true
98
local GHOSTS = {}
99
ANIMATE:remove()
100
Character.Archivable = true
101
script.Parent = WEAPONGUI
102
local GHOSTBASE = Character:Clone()
103
GHOSTBASE.Parent = nil
104
GHOSTBASE.Name = "Ghost"
105
for _, c in pairs(GHOSTBASE:GetChildren()) do
106
	if c.ClassName == "Part" and c.Transparency < 1 then
107
		c.Color = C3(0,0,0)
108
		if c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
109
			c:remove()
110
		end
111
	end
112
end
113
local sick = Instance.new("Sound",Torso)
114
sick.SoundId = "rbxassetid://1472374501"
115
sick.Looped = true
116
sick.Pitch = 0.7
117
sick.Volume = 3
118
sick:Play()
119
local Effects = IT("Folder", Character)
120
Effects.Name = "Effects"
121
Character.Archivable = false
122
123
--//=================================\\
124
--\\=================================//
125
126
127
--//=================================\\
128
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
129
--\\=================================//
130
131
ArtificialHB = Instance.new("BindableEvent", script)
132
ArtificialHB.Name = "ArtificialHB"
133
134
script:WaitForChild("ArtificialHB")
135
136
frame = Frame_Speed
137
tf = 0
138
allowframeloss = false
139
tossremainder = false
140
lastframe = tick()
141
script.ArtificialHB:Fire()
142
143
game:GetService("RunService").Heartbeat:connect(function(s, p)
144
	tf = tf + s
145
	if tf >= frame then
146
		if allowframeloss then
147
			script.ArtificialHB:Fire()
148
			lastframe = tick()
149
		else
150
			for i = 1, math.floor(tf / frame) do
151
				script.ArtificialHB:Fire()
152
			end
153
		lastframe = tick()
154
		end
155
		if tossremainder then
156
			tf = 0
157
		else
158
			tf = tf - frame * math.floor(tf / frame)
159
		end
160
	end
161
end)
162
163
--//=================================\\
164
--\\=================================//
165
166
--//=================================\\
167
--|| 	      SOME FUNCTIONS
168
--\\=================================//
169
170
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
171
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
172
end
173
174
function PositiveAngle(NUMBER)
175
	if NUMBER >= 0 then
176
		NUMBER = 0
177
	end
178
	return NUMBER
179
end
180
181
function NegativeAngle(NUMBER)
182
	if NUMBER <= 0 then
183
		NUMBER = 0
184
	end
185
	return NUMBER
186
end
187
188
function Swait(NUMBER)
189
	if NUMBER == 0 or NUMBER == nil then
190
		ArtificialHB.Event:wait()
191
	else
192
		for i = 1, NUMBER do
193
			ArtificialHB.Event:wait()
194
		end
195
	end
196
end
197
198
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
199
	local NEWMESH = IT(MESH)
200
	if MESH == "SpecialMesh" then
201
		NEWMESH.MeshType = MESHTYPE
202
		if MESHID ~= "nil" and MESHID ~= "" then
203
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
204
		end
205
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
206
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
207
		end
208
	end
209
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
210
	NEWMESH.Scale = SCALE
211
	NEWMESH.Parent = PARENT
212
	return NEWMESH
213
end
214
215
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
216
	local NEWPART = IT("Part")
217
	NEWPART.formFactor = FORMFACTOR
218
	NEWPART.Reflectance = REFLECTANCE
219
	NEWPART.Transparency = TRANSPARENCY
220
	NEWPART.CanCollide = false
221
	NEWPART.Locked = true
222
	NEWPART.Anchored = true
223
	if ANCHOR == false then
224
		NEWPART.Anchored = false
225
	end
226
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
227
	NEWPART.Name = NAME
228
	NEWPART.Size = SIZE
229
	NEWPART.Position = Torso.Position
230
	NEWPART.Material = MATERIAL
231
	NEWPART:BreakJoints()
232
	NEWPART.Parent = PARENT
233
	return NEWPART
234
end
235
236
	local function weldBetween(a, b)
237
	    local weldd = Instance.new("ManualWeld")
238
	    weldd.Part0 = a
239
	    weldd.Part1 = b
240
	    weldd.C0 = CFrame.new()
241
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
242
	    weldd.Parent = a
243
	    return weldd
244
	end
245
246
247
function QuaternionFromCFrame(cf)
248
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
249
	local trace = m00 + m11 + m22
250
	if trace > 0 then 
251
		local s = math.sqrt(1 + trace)
252
		local recip = 0.5 / s
253
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
254
	else
255
		local i = 0
256
		if m11 > m00 then
257
			i = 1
258
		end
259
		if m22 > (i == 0 and m00 or m11) then
260
			i = 2
261
		end
262
		if i == 0 then
263
			local s = math.sqrt(m00 - m11 - m22 + 1)
264
			local recip = 0.5 / s
265
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
266
		elseif i == 1 then
267
			local s = math.sqrt(m11 - m22 - m00 + 1)
268
			local recip = 0.5 / s
269
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
270
		elseif i == 2 then
271
			local s = math.sqrt(m22 - m00 - m11 + 1)
272
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
273
		end
274
	end
275
end
276
 
277
function QuaternionToCFrame(px, py, pz, x, y, z, w)
278
	local xs, ys, zs = x + x, y + y, z + z
279
	local wx, wy, wz = w * xs, w * ys, w * zs
280
	local xx = x * xs
281
	local xy = x * ys
282
	local xz = x * zs
283
	local yy = y * ys
284
	local yz = y * zs
285
	local zz = z * zs
286
	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))
287
end
288
 
289
function QuaternionSlerp(a, b, t)
290
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
291
	local startInterp, finishInterp;
292
	if cosTheta >= 0.0001 then
293
		if (1 - cosTheta) > 0.0001 then
294
			local theta = ACOS(cosTheta)
295
			local invSinTheta = 1 / SIN(theta)
296
			startInterp = SIN((1 - t) * theta) * invSinTheta
297
			finishInterp = SIN(t * theta) * invSinTheta
298
		else
299
			startInterp = 1 - t
300
			finishInterp = t
301
		end
302
	else
303
		if (1 + cosTheta) > 0.0001 then
304
			local theta = ACOS(-cosTheta)
305
			local invSinTheta = 1 / SIN(theta)
306
			startInterp = SIN((t - 1) * theta) * invSinTheta
307
			finishInterp = SIN(t * theta) * invSinTheta
308
		else
309
			startInterp = t - 1
310
			finishInterp = t
311
		end
312
	end
313
	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
314
end
315
316
function Clerp(a, b, t)
317
	local qa = {QuaternionFromCFrame(a)}
318
	local qb = {QuaternionFromCFrame(b)}
319
	local ax, ay, az = a.x, a.y, a.z
320
	local bx, by, bz = b.x, b.y, b.z
321
	local _t = 1 - t
322
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
323
end
324
325
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
326
	local frame = IT("Frame")
327
	frame.BackgroundTransparency = TRANSPARENCY
328
	frame.BorderSizePixel = BORDERSIZEPIXEL
329
	frame.Position = POSITION
330
	frame.Size = SIZE
331
	frame.BackgroundColor3 = COLOR
332
	frame.BorderColor3 = BORDERCOLOR
333
	frame.Name = NAME
334
	frame.Parent = PARENT
335
	return frame
336
end
337
338
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
339
	local label = IT("TextLabel")
340
	label.BackgroundTransparency = 1
341
	label.Size = UD2(1, 0, 1, 0)
342
	label.Position = UD2(0, 0, 0, 0)
343
	label.TextColor3 = TEXTCOLOR
344
	label.TextStrokeTransparency = STROKETRANSPARENCY
345
	label.TextTransparency = TRANSPARENCY
346
	label.FontSize = TEXTFONTSIZE
347
	label.Font = TEXTFONT
348
	label.BorderSizePixel = BORDERSIZEPIXEL
349
	label.TextScaled = false
350
	label.Text = TEXT
351
	label.Name = NAME
352
	label.Parent = PARENT
353
	return label
354
end
355
356
function NoOutlines(PART)
357
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
358
end
359
360
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
361
	local NEWWELD = IT(TYPE)
362
	NEWWELD.Part0 = PART0
363
	NEWWELD.Part1 = PART1
364
	NEWWELD.C0 = C0
365
	NEWWELD.C1 = C1
366
	NEWWELD.Parent = PARENT
367
	return NEWWELD
368
end
369
370
local S = IT("Sound")
371
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
372
	local NEWSOUND = nil
373
	coroutine.resume(coroutine.create(function()
374
		NEWSOUND = S:Clone()
375
		NEWSOUND.Parent = PARENT
376
		NEWSOUND.Volume = VOLUME
377
		NEWSOUND.Pitch = PITCH
378
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
379
		NEWSOUND:play()
380
		if DOESLOOP == true then
381
			NEWSOUND.Looped = true
382
		else
383
			repeat wait(1) until NEWSOUND.Playing == false
384
			NEWSOUND:remove()
385
		end
386
	end))
387
	return NEWSOUND
388
end
389
390
function CFrameFromTopBack(at, top, back)
391
	local right = top:Cross(back)
392
	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)
393
end
394
395
--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})
396
function WACKYEFFECT(Table)
397
	local TYPE = (Table.EffectType or "Sphere")
398
	local SIZE = (Table.Size or VT(1,1,1))
399
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
400
	local TRANSPARENCY = (Table.Transparency or 0)
401
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
402
	local CFRAME = (Table.CFrame or Torso.CFrame)
403
	local MOVEDIRECTION = (Table.MoveToPos or nil)
404
	local ROTATION1 = (Table.RotationX or 0)
405
	local ROTATION2 = (Table.RotationY or 0)
406
	local ROTATION3 = (Table.RotationZ or 0)
407
	local MATERIAL = (Table.Material or "Neon")
408
	local COLOR = (Table.Color or C3(1,1,1))
409
	local TIME = (Table.Time or 45)
410
	local SOUNDID = (Table.SoundID or nil)
411
	local SOUNDPITCH = (Table.SoundPitch or nil)
412
	local SOUNDVOLUME = (Table.SoundVolume or nil)
413
	coroutine.resume(coroutine.create(function()
414
		local PLAYSSOUND = false
415
		local SOUND = nil
416
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
417
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
418
			PLAYSSOUND = true
419
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
420
		end
421
		EFFECT.Color = COLOR
422
		local MSH = nil
423
		if TYPE == "Sphere" then
424
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
425
		elseif TYPE == "Block" then
426
			MSH = IT("BlockMesh",EFFECT)
427
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
428
		elseif TYPE == "Wave" then
429
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
430
		elseif TYPE == "Ring" then
431
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
432
		elseif TYPE == "Slash" then
433
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
434
		elseif TYPE == "Round Slash" then
435
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
436
		elseif TYPE == "Swirl" then
437
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
438
		elseif TYPE == "Skull" then
439
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
440
		elseif TYPE == "Crystal" then
441
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
442
		end
443
		if MSH ~= nil then
444
			local MOVESPEED = nil
445
			if MOVEDIRECTION ~= nil then
446
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
447
			end
448
			local GROWTH = SIZE - ENDSIZE
449
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
450
			if TYPE == "Block" then
451
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
452
			else
453
				EFFECT.CFrame = CFRAME
454
			end
455
			for LOOP = 1, TIME+1 do
456
				Swait()
457
				MSH.Scale = MSH.Scale - GROWTH/TIME
458
				if TYPE == "Wave" then
459
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
460
				end
461
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
462
				if TYPE == "Block" then
463
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
464
				else
465
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
466
				end
467
				if MOVEDIRECTION ~= nil then
468
					local ORI = EFFECT.Orientation
469
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
470
					EFFECT.Orientation = ORI
471
				end
472
			end
473
			if PLAYSSOUND == false then
474
				EFFECT:remove()
475
			else
476
				SOUND.Stopped:Connect(function()
477
					EFFECT:remove()
478
				end)
479
			end
480
		else
481
			if PLAYSSOUND == false then
482
				EFFECT:remove()
483
			else
484
				repeat Swait() until SOUND.Playing == false
485
				EFFECT:remove()
486
			end
487
		end
488
	end))
489
end
490
491
function MakeForm(PART,TYPE)
492
	if TYPE == "Cyl" then
493
		local MSH = IT("CylinderMesh",PART)
494
	elseif TYPE == "Ball" then
495
		local MSH = IT("SpecialMesh",PART)
496
		MSH.MeshType = "Sphere"
497
	elseif TYPE == "Wedge" then
498
		local MSH = IT("SpecialMesh",PART)
499
		MSH.MeshType = "Wedge"
500
	end
501
end
502
503
Debris = game:GetService("Debris")
504
505
function CastProperRay(StartPos, EndPos, Distance, Ignore)
506
	local DIRECTION = CF(StartPos,EndPos).lookVector
507
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
508
end
509
510
function turnto(position)
511
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
512
end
513
514
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
515
	if FLOOR ~= nil then
516
		coroutine.resume(coroutine.create(function()
517
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
518
			PART.CFrame = CF(POSITION)
519
			for i = 1, 45 do
520
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
521
				RingPiece.Material = FLOOR.Material
522
				RingPiece.Color = FLOOR.Color
523
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
524
				Debris:AddItem(RingPiece,SWAIT)
525
			end
526
			PART:remove()
527
		end))
528
	end
529
end
530
531
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH,DOES360)
532
	if FLOOR ~= nil then
533
		for i = 1, AMOUNT do
534
			local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Peal", "Debree", BLOCKSIZE, false)
535
			DEBREE.Material = FLOOR.Material
536
			DEBREE.Color = FLOOR.Color
537
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
538
			if DOES360 == true then
539
				DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
540
			else
541
				DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
542
			end
543
			coroutine.resume(coroutine.create(function()
544
				Swait(15)
545
				DEBREE.Parent = workspace
546
				DEBREE.CanCollide = true
547
				Debris:AddItem(DEBREE,SWAIT)
548
			end))
549
		end
550
	end
551
end
552
553
function SpawnTrail(FROM,TO)
554
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Pearl", "Arrow", VT(0,0,0))
555
	MakeForm(TRAIL,"Cyl")
556
	local DIST = (FROM - TO).Magnitude
557
	TRAIL.Size = VT(0.1,DIST,0.1)
558
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
559
	coroutine.resume(coroutine.create(function()
560
		for i = 1, 5 do
561
			Swait()
562
			TRAIL.Transparency = TRAIL.Transparency + 0.1
563
		end
564
		TRAIL:remove()
565
	end))
566
end
567
568
local Decal = IT("Decal")
569
function SpawnBulletHole(POSITION)
570
	local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Bullet hole", VT(0.2,0,0.2))
571
	local decal = Decal:Clone()
572
	decal.Parent = O1
573
	decal.Face = "Top"
574
	decal.Texture = "http://www.roblox.com/asset/?id=130624105"
575
	local decal2 = Decal:Clone()
576
	decal2.Parent = O1
577
	decal2.Face = "Bottom"
578
	decal2.Texture = "http://www.roblox.com/asset/?id=130624105"
579
	O1.CFrame = POSITION*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))
580
	Debris:AddItem(O1,5)
581
end
582
583
local asd = Instance.new("ParticleEmitter")
584
asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
585
asd.LightEmission = .1
586
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
587
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 2)})
588
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
589
asd.Transparency = bbb
590
asd.Size = aaa
591
asd.ZOffset = .9
592
asd.Acceleration = Vector3.new(0, -15, 0)
593
asd.LockedToPart = false
594
asd.EmissionDirection = "Back"
595
asd.Lifetime = NumberRange.new(1, 2)
596
asd.Rotation = NumberRange.new(-100, 100)
597
asd.RotSpeed = NumberRange.new(-100, 100)
598
asd.Speed = NumberRange.new(10)
599
asd.Enabled = false
600
asd.VelocitySpread = 999
601
602
function getbloody(victim,amount)
603
	local PART = IT("Part",Effects)
604
	PART.Transparency = 1
605
	PART.Size = victim.Size
606
	PART.Anchored = true
607
	PART.CanCollide = false
608
	PART.CFrame = CF(victim.Position)
609
	local HITPLAYERSOUNDS = {"356551938","264486467"}
610
	Debris:AddItem(PART,5)
611
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
612
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
613
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
614
	local prtcl = asd:Clone()
615
	prtcl.Parent = PART
616
	prtcl:Emit(amount*10)
617
end
618
619
function BulletDetection(FROM,TO)
620
	local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
621
	coroutine.resume(coroutine.create(function()
622
		if AIMHIT ~= nil then
623
			if AIMHIT.Parent ~= Character then
624
				if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
625
					if AIMHIT.Name ~= "Head" and AIMHIT.Parent.ClassName ~= "Accessory" then
626
						ApplyDamage(AIMHIT.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(15,25),AIMHIT)
627
					elseif AIMHIT.Name == "Head" or AIMHIT.Parent.ClassName == "Accessory" then
628
						if AIMHIT.Parent.ClassName == "Accessory" then
629
							if AIMHIT:FindFirstChild("HatAttachment") or AIMHIT:FindFirstChild("FaceFrontAttachment") or AIMHIT:FindFirstChild("HairAttachment") then
630
								AIMHIT.Parent.Parent:BreakJoints()
631
								if AIMHIT.Parent.Parent:FindFirstChild("Head") then
632
									getbloody(AIMHIT.Parent.Parent.Head,15)
633
									AIMHIT.Parent.Parent.Head:remove()
634
									StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(1,0,0))
635
								end
636
							else
637
								ApplyDamage(AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(25,65),AIMHIT)
638
							end
639
						elseif AIMHIT.Name == "Head" then
640
							getbloody(AIMHIT,15)
641
							AIMHIT.Parent:BreakJoints()
642
							AIMHIT:remove()
643
							StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(1,0,0))
644
						end
645
					end
646
				else
647
					CreateFlyingDebree(AIMHIT,CF(AIMPOS),7,VT(0.1,0.1,0.1),5,35,true)
648
					SpawnBulletHole(CF(AIMPOS,AIMPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0)))
649
				end
650
			end
651
		end
652
	end))
653
	return AIMHIT,AIMPOS,NORMAL
654
end
655
656
--//=================================\\
657
--||	     WEAPON CREATION
658
--\\=================================//
659
660
for i = 1, 35 do
661
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(1.01,0.5,1.01),false)
662
	FACE.Color = C3(0,0,0)
663
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
664
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
665
end
666
local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
667
MakeForm(EYE,"Ball")
668
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.26,-0.55), CF(0, 0, 0))
669
local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Really blue", "Eyeball", VT(0.15,0.15,0.15),false)
670
MakeForm(EYE2,"Ball")
671
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
672
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
673
local Gun = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Gun", VT(0, 0, 0),false)
674
local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "468351345", "468351348", VT(0.06,0.06,0.06), VT(0,0, 0))
675
local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0, -1.8, -0.2) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
676
local Gun = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Gun", VT(0, 0, 0),false)
677
local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "468351345", "468351348", VT(0.06,0.06,0.06), VT(0,0, 0))
678
local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, LeftArm, Gun, CF(0, -1.8, -0.2) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
679
680
local DECAL = IT("Decal",HandlePart)
681
DECAL.Texture = "http://www.roblox.com/asset/?id=116830967"
682
683
local BODY = {}
684
685
for _, c in pairs(Character:GetDescendants()) do
686
	if c:IsA("BasePart") and c.Name ~= "Handle" then
687
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
688
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
689
		end
690
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
691
	elseif c:IsA("JointInstance") then
692
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
693
	end
694
end
695
696
for e = 1, #BODY do
697
	if BODY[e] ~= nil then
698
		local STUFF = BODY[e]
699
		local PART = STUFF[1]
700
		local PARENT = STUFF[2]
701
		local MATERIAL = STUFF[3]
702
		local COLOR = STUFF[4]
703
		local TRANSPARENCY = STUFF[5]
704
		if PART.ClassName == "Part" and PART ~= RootPart then
705
			PART.Material = MATERIAL
706
			PART.Color = COLOR
707
			PART.Transparency = TRANSPARENCY
708
		end
709
		PART.AncestryChanged:Connect(function()
710
			PART.Parent = PARENT
711
		end)
712
	end
713
end
714
715
function refit()
716
	Character.Parent = workspace
717
	for e = 1, #BODY do
718
		if BODY[e] ~= nil then
719
			local STUFF = BODY[e]
720
			local PART = STUFF[1]
721
			local PARENT = STUFF[2]
722
			local MATERIAL = STUFF[3]
723
			local COLOR = STUFF[4]
724
			local TRANSPARENCY = STUFF[5]
725
			if PART.ClassName == "Part" and PART ~= RootPart then
726
				PART.Material = MATERIAL
727
				PART.Color = COLOR
728
				PART.Transparency = TRANSPARENCY
729
			end
730
			if PART.Parent ~= PARENT then
731
				Humanoid:remove()
732
				PART.Parent = PARENT
733
				Humanoid = IT("Humanoid",Character)
734
			end
735
		end
736
	end
737
end
738
739
local SKILLTEXTCOLOR = C3(0,0,0)
740
local SKILLFONT = "SciFi"
741
local SKILLTEXTSIZE = 7
742
743
Humanoid.Died:connect(function()
744
	refit()
745
end)
746
747
function Blink()
748
	coroutine.resume(coroutine.create(function()
749
		if EYE ~= nil then
750
			for i = 1, 5 do
751
				Swait()
752
				EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0,0.2,0)
753
				EYE2.Mesh.Scale = EYE.Mesh.Scale
754
			end
755
			for i = 1, 7 do
756
				Swait()
757
				EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0,0.2,0)
758
				EYE2.Mesh.Scale = EYE.Mesh.Scale
759
			end
760
			EYE.Mesh.Scale = VT(1,1,1)
761
			EYE2.Mesh.Scale = EYE.Mesh.Scale
762
		end
763
	end))
764
end
765
766
local AMMO1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 1 Frame")
767
local AMMO2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 2 Frame")
768
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
769
770
local SKILL3TEXT = CreateLabel(SKILL1FRAME, "[Z] Kill", C3(0,0,1), 7, SKILLFONT, 0, 2, 1, "Text 3")
771
772
--//=================================\\
773
--||	     DAMAGE FUNCTIONS
774
--\\=================================//
775
776
function StatLabel(CFRAME, TEXT, COLOR)
777
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
778
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
779
	local BODYGYRO = IT("BodyGyro", STATPART)
780
	game:GetService("Debris"):AddItem(STATPART ,5)
781
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
782
	BILLBOARDGUI.Adornee = STATPART
783
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
784
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
785
	BILLBOARDGUI.AlwaysOnTop = false
786
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
787
	TEXTLABEL.BackgroundTransparency = 1
788
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
789
	TEXTLABEL.Text = TEXT
790
	TEXTLABEL.Font = SKILLFONT
791
	TEXTLABEL.FontSize="Size42"
792
	TEXTLABEL.TextColor3 = COLOR
793
	TEXTLABEL.TextStrokeTransparency = 0
794
	TEXTLABEL.TextScaled = true
795
	TEXTLABEL.TextWrapped = true
796
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
797
		for i = 1, 10 do
798
			Swait()
799
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
800
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/10)
801
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
802
		end
803
		THEPART.Parent = nil
804
	end),STATPART, TEXTLABEL)
805
end
806
807
--//=================================\\
808
--||			DAMAGING
809
--\\=================================//
810
811
function Banish(Foe)
812
    if Foe then
813
        coroutine.resume(coroutine.create(function()
814
            --if game.Players:FindFirstChild(Foe.Name) then
815
                table.insert(TOBANISH,Foe.Name)
816
                printbye(Foe.Name)
817
            --end
818
            Foe.Archivable = true
819
            local CLONE = Foe:Clone()
820
            Foe:Destroy()
821
            CLONE.Parent = Effects
822
            CLONE:BreakJoints()
823
            local MATERIALS = {"Glass","Neon"}
824
            for _, c in pairs(CLONE:GetDescendants()) do
825
                if c:IsA("BasePart") then
826
                    if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
827
                        CreateSound(340722848, c, 10, 1, false)
828
                    end
829
                    c.Anchored = true
830
                    c.Transparency = c.Transparency + 0.2
831
                    c.Material = MATERIALS[MRANDOM(1,2)]
832
                    c.Color = C3(1,0,0)
833
                    if c.ClassName == "MeshPart" then
834
                        c.TextureID = ""
835
                    end
836
                    if c:FindFirstChildOfClass("SpecialMesh") then
837
                        c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
838
                    end
839
                    if c:FindFirstChildOfClass("Decal") then
840
                        c:FindFirstChildOfClass("Decal"):remove()
841
                    end
842
                    c.Name = "Banished"
843
                    c.CanCollide = false
844
                else
845
                    c:remove()
846
                end
847
            end
848
            local A = false
849
            for i = 1, 35 do
850
                if A == false then
851
                    A = true
852
                elseif A == true then
853
                    A = false
854
                end
855
                for _, c in pairs(CLONE:GetDescendants()) do
856
                    if c:IsA("BasePart") then
857
                        c.Anchored = true
858
                        c.Material = MATERIALS[MRANDOM(1,2)]
859
                        c.Transparency = c.Transparency + 0.8/35
860
                        if A == false then
861
                            c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
862
                        elseif A == true then
863
                            c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)                       
864
                        end
865
                    end
866
                end
867
                Swait()
868
            end
869
            CLONE:remove()
870
        end))
871
    end
872
end
873
 
874
function ApplyAoE(POSITION,RANGE,ISBANISH)
875
    local CHILDREN = workspace:GetDescendants()
876
    for index, CHILD in pairs(CHILDREN) do
877
        if CHILD.ClassName == "Model" and CHILD ~= Character then
878
            local HUM = CHILD:FindFirstChildOfClass("Humanoid")
879
            if HUM then
880
                local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
881
                if TORSO then
882
                    if (TORSO.Position - POSITION).Magnitude <= RANGE then
883
                        if ISBANISH == true then
884
                            Banish(CHILD)
885
                        else
886
                            if ISBANISH == "Gravity" then
887
                                HUM.PlatformStand = true
888
                                if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
889
                                    local grav = Instance.new("BodyPosition",TORSO)
890
                                    grav.D = 15
891
                                    grav.P = 20000
892
                                    grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
893
                                    grav.position = TORSO.Position
894
                                    grav.Name = "V3BanishForce"..Player.Name
895
                                else
896
                                    TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
897
                                    TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
898
                                end
899
                            else
900
                                HUM.PlatformStand = false
901
                            end
902
                        end
903
                    elseif ISBANISH == "Gravity" then
904
                        if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
905
                            TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
906
                            HUM.PlatformStand = false
907
                        end
908
                    end
909
                end
910
            end
911
        end
912
    end
913
end
914
915
--//=================================\\
916
--||	ATTACK FUNCTIONS AND STUFF
917
--\\=================================//
918
919
function Banisher_Bullet()
920
    ATTACK = true
921
    Rooted = false
922
    for i=0, 0.4, 0.1 / Animation_Speed do
923
        Swait()
924
        turnto(Mouse.Hit.p)
925
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
926
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
927
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
928
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
929
        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)
930
        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)
931
    end
932
    repeat
933
        for i=0, 0.2, 0.1 / Animation_Speed do
934
            Swait()
935
            turnto(Mouse.Hit.p)
936
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
937
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
938
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
939
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
940
            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)
941
            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)
942
        end
943
        if HIT ~= nil then
944
            if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
945
                Banish(HIT.Parent)
946
            end
947
        end
948-
        WACKYEFFECT({Time = 100, 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(0,5,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
948+
949
        WACKYEFFECT({Time = 100, 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(0,5,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
950
        WACKYEFFECT({Time = 100, 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(0,5,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
951
        for i=0, 0.3, 0.1 / Animation_Speed do
952
            Swait()
953
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
954
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
955
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
956
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
957
            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)
958
            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)
959
        end
960
    until KEYHOLD == false
961
    ATTACK = false
962
    Rooted = false
963
end
964
 
965
function AttackTemplate()
966
    ATTACK = true
967
    Rooted = false
968
    for i=0, 1, 0.1 / Animation_Speed do
969
        Swait()
970
        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)
971
        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)
972
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
973
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
974
        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)
975
        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)
976
    end
977
    ATTACK = false
978
    Rooted = false
979
end
980
981
--//=================================\\
982
--||	  ASSIGN THINGS TO KEYS
983
--\\=================================//
984
985
function MouseDown(Mouse)
986
    if ATTACK == false then
987
    end
988
end
989
 
990
function MouseUp(Mouse)
991
HOLD = false
992
end
993
 
994
function KeyDown(Key)
995
    KEYHOLD = true
996
    if Key == "z" and ATTACK == false then
997
        Banisher_Bullet()
998
    end
999
 
1000
    if Key == "b" and ATTACK == false then
1001
    end
1002
 
1003
    if Key == "c" and ATTACK == false then
1004
    end
1005
 
1006
    if Key == "v" and ATTACK == false then
1007
    end
1008
 
1009
    if Key == "x" and ATTACK == false then
1010
    end
1011
end
1012
 
1013
function KeyUp(Key)
1014
    KEYHOLD = false
1015
end
1016
 
1017
    Mouse.Button1Down:connect(function(NEWKEY)
1018
        MouseDown(NEWKEY)
1019
    end)
1020
    Mouse.Button1Up:connect(function(NEWKEY)
1021
        MouseUp(NEWKEY)
1022
    end)
1023
    Mouse.KeyDown:connect(function(NEWKEY)
1024
        KeyDown(NEWKEY)
1025
    end)
1026
    Mouse.KeyUp:connect(function(NEWKEY)
1027
        KeyUp(NEWKEY)
1028
    end)
1029
1030
--//=================================\\
1031
--\\=================================//
1032
1033
1034
function unanchor()
1035
	if UNANCHOR == true then
1036
		g = Character:GetChildren()
1037
		for i = 1, #g do
1038
			if g[i].ClassName == "Part" then
1039
				g[i].Anchored = false
1040
			end
1041
		end
1042
	end
1043
end
1044
1045
1046
--//=================================\\
1047
--||	WRAP THE WHOLE SCRIPT UP
1048
--\\=================================//
1049
1050
Humanoid.Changed:connect(function(Jump)
1051
	if Jump == "Jump" and (Disable_Jump == true) then
1052
		Humanoid.Jump = false
1053
	end
1054
end)
1055
1056
local BLINKLOOP = 0
1057
1058
while true do
1059
	Swait()
1060
	script.Parent = WEAPONGUI
1061
	ANIMATE.Parent = nil
1062
	Humanoid.Parent = Character
1063
	if Humanoid then
1064
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1065
		IDLEANIMATION:Play()
1066
	end
1067
	SINE = SINE + CHANGE
1068
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1069
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1070
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1071
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1072
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1073
		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)
1074
		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)
1075
		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)
1076
		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)
1077
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1078
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1079
		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)
1080
		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)
1081
		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)
1082
	end
1083
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1084
		ANIM = "Jump"
1085
		if ATTACK == false then
1086
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1087
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1088
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1089
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1090
			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)
1091
			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)
1092
	    end
1093
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1094
		ANIM = "Fall"
1095
		if ATTACK == false then
1096
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1097
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1098
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1099
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1100
			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)
1101
			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)
1102
		end
1103
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1104
		ANIM = "Idle"
1105
		if ATTACK == false then
1106
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1107
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
1108
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1109
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1110
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(45)), 0.15 / Animation_Speed)
1111
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
1112
		end
1113
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1114
		ANIM = "Walk"
1115
		if ATTACK == false then
1116
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2) * ANGLES(RAD(30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1117
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 3 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1118
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(30), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
1119
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(30-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
1120
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(30), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1121
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(30), RAD(-75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1122
		end
1123
	end
1124
	unanchor()
1125
	Humanoid.MaxHealth = "inf"
1126
	Humanoid.Health = "inf"
1127
	if Rooted == false then
1128
		Disable_Jump = false
1129
		Humanoid.WalkSpeed = Speed
1130
	elseif Rooted == true then
1131
		Disable_Jump = true
1132
		Humanoid.WalkSpeed = 0
1133
	end
1134
	sick.SoundId = "rbxassetid://1472374501"
1135
	sick.Looped = true
1136
	sick.Pitch = 0.7
1137
	sick.Volume = 3
1138
	sick.Playing = true
1139
	sick.Parent = Torso
1140
	if Head:FindFirstChild("face") then
1141
		Head.face.Texture = "rbxassetid://403870689"
1142
	end
1143
	BLINKLOOP = BLINKLOOP + 1
1144
	if BLINKLOOP >=650 then
1145
		BLINKLOOP = 0
1146
		Blink()
1147
	end
1148
	if #GHOSTS>0 then
1149
		for e=1,#GHOSTS do
1150
			if GHOSTS[e]~=nil then
1151
				local Thing=GHOSTS[e]
1152
				if Thing~=nil then
1153
					if Thing:FindFirstChild("Head") then
1154
						if Thing:FindFirstChild("Head"):FindFirstChild("face") then
1155
							Thing:FindFirstChild("Head").face.Texture = "rbxassetid://479674570"
1156
						end
1157
						if Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound") then
1158
							Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound"):remove()
1159
						end
1160
					end
1161
					local TORSO = Thing:FindFirstChild("Torso")
1162
					if TORSO then
1163
						TORSO.Anchored = false
1164
						local ROOT = Thing.HumanoidRootPart
1165
						local RootJoint1 = ROOT:FindFirstChild("RootJoint")
1166
						local Neck1 = TORSO:FindFirstChild("Neck")
1167
						local RightShoulder1 = TORSO:FindFirstChild("Right Shoulder")
1168
						local LeftShoulder1 = TORSO:FindFirstChild("Left Shoulder")
1169
						local RightHip1 = TORSO:FindFirstChild("Right Hip")
1170
						local LeftHip1 = TORSO:FindFirstChild("Left Hip")
1171
						if ROOT and RootJoint1 then
1172
							local VELOCITY = (ROOT.Velocity * VT(1, 0, 1)).magnitude
1173
							if VELOCITY < 1 then
1174
								RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
1175
								Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
1176
								RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
1177
								LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
1178
								RightHip1.C0 = CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
1179
								LeftHip1.C0 = CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
1180
							elseif VELOCITY > 1 then
1181
								RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
1182
								Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
1183
								RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
1184
								LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
1185
								RightHip1.C0 = CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0))
1186
								LeftHip1.C0 = CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
1187
							end
1188
						end
1189
						local Human = Thing.Humanoid
1190
						if Human then
1191
							Human.HipHeight = 0.3
1192
							for _, c in pairs(Thing:GetChildren()) do
1193
								if c.ClassName == "Part" and c.Transparency < 1 then
1194
									c.Color = C3(0,0,0)
1195
									c.Transparency = 0.65 + 0.15 * COS(SINE / 25)
1196
								elseif c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
1197
									c:remove()
1198
								end
1199
							end
1200
							if Human then
1201
								local IDLEANIMATION = Human:LoadAnimation(ROBLOXIDLEANIMATION)
1202
								IDLEANIMATION:Play()
1203
							end
1204
							local list = game.Workspace:children()
1205
							local torso = nil
1206
							local dist = 50
1207
							local temp = nil
1208
							local human = nil
1209
							local temp2 = nil
1210
							local OwnerInDanger = false
1211
							for x = 1, #list do
1212
								temp2 = list[x]
1213
								if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
1214
									temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
1215
									human = temp2:findFirstChildOfClass("Humanoid")
1216
									if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
1217
										if (temp.Position - Torso.Position).magnitude < 15 then
1218
											OwnerInDanger = true
1219
											newdist = (temp.Position - TORSO.Position).magnitude
1220
											dist = (Torso.Position - temp.Position).magnitude
1221
											Human:MoveTo(temp.Position)
1222
											torso = temp
1223
											if newdist < 7 then
1224
												torso.CFrame = CF(torso.Position,TORSO.Position)*CF(0,0,5)
1225
												CreateSound(814168787, temp, 1, 2, false)
1226
												ApplyDamage(human,MRANDOM(15,35),temp)
1227
												WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1228
												WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = torso.CFrame*CF(0,-4*torso.Size.Y/2,0), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1229
											end
1230
										end
1231
									end
1232
								end
1233
							end
1234
							if OwnerInDanger == false then
1235
								for x = 1, #list do
1236
									temp2 = list[x]
1237
									if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
1238
										temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
1239
										human = temp2:findFirstChildOfClass("Humanoid")
1240
										if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
1241
											if (temp.Position - Torso.Position).magnitude < dist then
1242
												newdist = (temp.Position - TORSO.Position).magnitude
1243
												Human:MoveTo(temp.Position)
1244
												torso = temp
1245
												if newdist < 15 then
1246
													if MRANDOM(1,35) == 1 then
1247
														CreateSound(438665935, temp, 1, 3, false)
1248
														ApplyDamage(human,MRANDOM(2,20),temp)
1249
														WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1250
													end
1251
												end
1252
											end
1253
										end
1254
									end
1255
								end
1256
							end
1257
							if torso == nil then
1258
								Human.WalkSpeed = Speed -99
1259
								if (Torso.Position - TORSO.Position).magnitude < 12 and (Torso.Position - TORSO.Position).magnitude >= 11 then
1260
									Human:MoveTo(TORSO.Position)
1261
								elseif (Torso.Position - TORSO.Position).magnitude > 15 then
1262
									Human:MoveTo(Torso.Position)
1263
								elseif (Torso.Position - TORSO.Position).magnitude < 11 then
1264
									Human:MoveTo(CF(Torso.Position,TORSO.Position)*CF(0,0,-5).p)
1265
								end
1266
							else
1267
								if OwnerInDanger == false then
1268
									Human.WalkSpeed = Speed*1.2
1269
								else
1270
									Human.WalkSpeed = Speed*5
1271
								end
1272
							end
1273
							if Human.Health == 0 then
1274
								Thing:remove()
1275
								table.remove(GHOSTS,e)
1276
							else
1277
								Human.Health = Human.Health + 0.5
1278
							end
1279
						else
1280
							Thing:remove()
1281
							table.remove(GHOSTS,e)
1282
						end
1283
					else
1284
						Thing:remove()
1285
						table.remove(GHOSTS,e)
1286
					end
1287
				end
1288
			end
1289
		end
1290
	end
1291
	refit()
1292
end
1293
1294
--//=================================\\
1295
--\\=================================//
1296
1297
1298
1299
1300
1301
--//====================================================\\--
1302
--||			  		 END OF SCRIPT
1303
--\\====================================================//--