View difference between Paste ID: fB9mau51 and kxFukLXj
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||         GOOD COP BAD COP BY SHACKLUSTER
3
--\\====================================================//--
4
5
wait(0.2)
6
7
Player = game:GetService("Players").LocalPlayer
8
PlayerGui = Player.PlayerGui
9
Cam = workspace.CurrentCamera
10
Backpack = Player.Backpack
11
Character = Player.Character
12
Humanoid = Character.Humanoid
13
Mouse = Player:GetMouse()
14
RootPart = Character["HumanoidRootPart"]
15
Torso = Character["Torso"]
16
Head = Character["Head"]
17
RightArm = Character["Right Arm"]
18
LeftArm = Character["Left Arm"]
19
RightLeg = Character["Right Leg"]
20
LeftLeg = Character["Left Leg"]
21
RootJoint = RootPart["RootJoint"]
22
Neck = Torso["Neck"]
23
RightShoulder = Torso["Right Shoulder"]
24
LeftShoulder = Torso["Left Shoulder"]
25
RightHip = Torso["Right Hip"]
26
LeftHip = Torso["Left Hip"]
27
Head.face.Texture = "rbxassetid://900134257"
28
local sick = Instance.new("Sound",RootPart)
29
30
IT = Instance.new
31
CF = CFrame.new
32
VT = Vector3.new
33
RAD = math.rad
34
C3 = Color3.new
35
UD2 = UDim2.new
36
BRICKC = BrickColor.new
37
ANGLES = CFrame.Angles
38
EULER = CFrame.fromEulerAnglesXYZ
39
COS = math.cos
40
ACOS = math.acos
41
SIN = math.sin
42
ASIN = math.asin
43
ABS = math.abs
44
MRANDOM = math.random
45
FLOOR = math.floor
46
47
--//=================================\\
48
--|| 	      USEFUL VALUES
49
--\\=================================//
50
51
Animation_Speed = 3
52
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
53
local Speed = 20
54
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
55
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
56
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
57
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
58
local DAMAGEMULTIPLIER = 1
59
local ANIM = "Idle"
60
local ATTACK = false
61
local EQUIPPED = false
62
local HOLD = false
63
local COMBO = 1
64
local Rooted = false
65
local SINE = 0
66
local KEYHOLD = false
67
local CHANGE = 2 / Animation_Speed
68
local WALKINGANIM = false
69
local VALUE1 = false
70
local VALUE2 = false
71
local ROBLOXIDLEANIMATION = IT("Animation")
72
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
73
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
74
--ROBLOXIDLEANIMATION.Parent = Humanoid
75
local WEAPONGUI = IT("ScreenGui", PlayerGui)
76
WEAPONGUI.Name = "Weapon GUI"
77
local Weapon = IT("Model")
78
Weapon.Name = "Adds"
79
local Effects = IT("Folder", Weapon)
80
Effects.Name = "Effects"
81
local ANIMATOR = Humanoid.Animator
82
local ANIMATE = Character.Animate
83
local UNANCHOR = true
84
local MODE = "GoodCop"
85
86
--//=================================\\
87
--\\=================================//
88
89
90
--//=================================\\
91
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
92
--\\=================================//
93
94
ArtificialHB = Instance.new("BindableEvent", script)
95
ArtificialHB.Name = "ArtificialHB"
96
97
script:WaitForChild("ArtificialHB")
98
99
frame = Frame_Speed
100
tf = 0
101
allowframeloss = false
102
tossremainder = false
103
lastframe = tick()
104
script.ArtificialHB:Fire()
105
106
game:GetService("RunService").Heartbeat:connect(function(s, p)
107
	tf = tf + s
108
	if tf >= frame then
109
		if allowframeloss then
110
			script.ArtificialHB:Fire()
111
			lastframe = tick()
112
		else
113
			for i = 1, math.floor(tf / frame) do
114
				script.ArtificialHB:Fire()
115
			end
116
		lastframe = tick()
117
		end
118
		if tossremainder then
119
			tf = 0
120
		else
121
			tf = tf - frame * math.floor(tf / frame)
122
		end
123
	end
124
end)
125
126
--//=================================\\
127
--\\=================================//
128
129
--//=================================\\
130
--|| 	      SOME FUNCTIONS
131
--\\=================================//
132
133
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
134
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
135
end
136
137
function PositiveAngle(NUMBER)
138
	if NUMBER >= 0 then
139
		NUMBER = 0
140
	end
141
	return NUMBER
142
end
143
144
function NegativeAngle(NUMBER)
145
	if NUMBER <= 0 then
146
		NUMBER = 0
147
	end
148
	return NUMBER
149
end
150
151
function Swait(NUMBER)
152
	if NUMBER == 0 or NUMBER == nil then
153
		ArtificialHB.Event:wait()
154
	else
155
		for i = 1, NUMBER do
156
			ArtificialHB.Event:wait()
157
		end
158
	end
159
end
160
161
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
162
	local NEWMESH = IT(MESH)
163
	if MESH == "SpecialMesh" then
164
		NEWMESH.MeshType = MESHTYPE
165
		if MESHID ~= "nil" and MESHID ~= "" then
166
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
167
		end
168
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
169
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
170
		end
171
	end
172
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
173
	NEWMESH.Scale = SCALE
174
	NEWMESH.Parent = PARENT
175
	return NEWMESH
176
end
177
178
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
179
	local NEWPART = IT("Part")
180
	NEWPART.formFactor = FORMFACTOR
181
	NEWPART.Reflectance = REFLECTANCE
182
	NEWPART.Transparency = TRANSPARENCY
183
	NEWPART.CanCollide = false
184
	NEWPART.Locked = true
185
	NEWPART.Anchored = true
186
	if ANCHOR == false then
187
		NEWPART.Anchored = false
188
	end
189
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
190
	NEWPART.Name = NAME
191
	NEWPART.Size = SIZE
192
	NEWPART.Position = Torso.Position
193
	NEWPART.Material = MATERIAL
194
	NEWPART:BreakJoints()
195
	NEWPART.Parent = PARENT
196
	return NEWPART
197
end
198
199
	local function weldBetween(a, b)
200
	    local weldd = Instance.new("ManualWeld")
201
	    weldd.Part0 = a
202
	    weldd.Part1 = b
203
	    weldd.C0 = CFrame.new()
204
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
205
	    weldd.Parent = a
206
	    return weldd
207
	end
208
209
210
function QuaternionFromCFrame(cf)
211
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
212
	local trace = m00 + m11 + m22
213
	if trace > 0 then 
214
		local s = math.sqrt(1 + trace)
215
		local recip = 0.5 / s
216
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
217
	else
218
		local i = 0
219
		if m11 > m00 then
220
			i = 1
221
		end
222
		if m22 > (i == 0 and m00 or m11) then
223
			i = 2
224
		end
225
		if i == 0 then
226
			local s = math.sqrt(m00 - m11 - m22 + 1)
227
			local recip = 0.5 / s
228
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
229
		elseif i == 1 then
230
			local s = math.sqrt(m11 - m22 - m00 + 1)
231
			local recip = 0.5 / s
232
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
233
		elseif i == 2 then
234
			local s = math.sqrt(m22 - m00 - m11 + 1)
235
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
236
		end
237
	end
238
end
239
 
240
function QuaternionToCFrame(px, py, pz, x, y, z, w)
241
	local xs, ys, zs = x + x, y + y, z + z
242
	local wx, wy, wz = w * xs, w * ys, w * zs
243
	local xx = x * xs
244
	local xy = x * ys
245
	local xz = x * zs
246
	local yy = y * ys
247
	local yz = y * zs
248
	local zz = z * zs
249
	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))
250
end
251
 
252
function QuaternionSlerp(a, b, t)
253
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
254
	local startInterp, finishInterp;
255
	if cosTheta >= 0.0001 then
256
		if (1 - cosTheta) > 0.0001 then
257
			local theta = ACOS(cosTheta)
258
			local invSinTheta = 1 / SIN(theta)
259
			startInterp = SIN((1 - t) * theta) * invSinTheta
260
			finishInterp = SIN(t * theta) * invSinTheta
261
		else
262
			startInterp = 1 - t
263
			finishInterp = t
264
		end
265
	else
266
		if (1 + cosTheta) > 0.0001 then
267
			local theta = ACOS(-cosTheta)
268
			local invSinTheta = 1 / SIN(theta)
269
			startInterp = SIN((t - 1) * theta) * invSinTheta
270
			finishInterp = SIN(t * theta) * invSinTheta
271
		else
272
			startInterp = t - 1
273
			finishInterp = t
274
		end
275
	end
276
	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
277
end
278
279
function Clerp(a, b, t)
280
	local qa = {QuaternionFromCFrame(a)}
281
	local qb = {QuaternionFromCFrame(b)}
282
	local ax, ay, az = a.x, a.y, a.z
283
	local bx, by, bz = b.x, b.y, b.z
284
	local _t = 1 - t
285
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
286
end
287
288
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
289
	local frame = IT("Frame")
290
	frame.BackgroundTransparency = TRANSPARENCY
291
	frame.BorderSizePixel = BORDERSIZEPIXEL
292
	frame.Position = POSITION
293
	frame.Size = SIZE
294
	frame.BackgroundColor3 = COLOR
295
	frame.BorderColor3 = BORDERCOLOR
296
	frame.Name = NAME
297
	frame.Parent = PARENT
298
	return frame
299
end
300
301
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
302
	local label = IT("TextLabel")
303
	label.BackgroundTransparency = 1
304
	label.Size = UD2(1, 0, 1, 0)
305
	label.Position = UD2(0, 0, 0, 0)
306
	label.TextColor3 = TEXTCOLOR
307
	label.TextStrokeTransparency = STROKETRANSPARENCY
308
	label.TextTransparency = TRANSPARENCY
309
	label.FontSize = TEXTFONTSIZE
310
	label.Font = TEXTFONT
311
	label.BorderSizePixel = BORDERSIZEPIXEL
312
	label.TextScaled = false
313
	label.Text = TEXT
314
	label.Name = NAME
315
	label.Parent = PARENT
316
	return label
317
end
318
319
function NoOutlines(PART)
320
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
321
end
322
323
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
324
	local NEWWELD = IT(TYPE)
325
	NEWWELD.Part0 = PART0
326
	NEWWELD.Part1 = PART1
327
	NEWWELD.C0 = C0
328
	NEWWELD.C1 = C1
329
	NEWWELD.Parent = PARENT
330
	return NEWWELD
331
end
332
333
local S = IT("Sound")
334
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
335
	local NEWSOUND = nil
336
	coroutine.resume(coroutine.create(function()
337
		NEWSOUND = S:Clone()
338
		NEWSOUND.Parent = PARENT
339
		NEWSOUND.Volume = VOLUME
340
		NEWSOUND.Pitch = PITCH
341
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
342
		NEWSOUND:play()
343
		if DOESLOOP == true then
344
			NEWSOUND.Looped = true
345
		else
346
			repeat wait(1) until NEWSOUND.Playing == false
347
			NEWSOUND:remove()
348
		end
349
	end))
350
	return NEWSOUND
351
end
352
353
function CFrameFromTopBack(at, top, back)
354
	local right = top:Cross(back)
355
	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)
356
end
357
358
--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})
359
function WACKYEFFECT(Table)
360
	local TYPE = (Table.EffectType or "Sphere")
361
	local SIZE = (Table.Size or VT(1,1,1))
362
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
363
	local TRANSPARENCY = (Table.Transparency or 0)
364
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
365
	local CFRAME = (Table.CFrame or Torso.CFrame)
366
	local MOVEDIRECTION = (Table.MoveToPos or nil)
367
	local ROTATION1 = (Table.RotationX or 0)
368
	local ROTATION2 = (Table.RotationY or 0)
369
	local ROTATION3 = (Table.RotationZ or 0)
370
	local MATERIAL = (Table.Material or "Neon")
371
	local COLOR = (Table.Color or C3(1,1,1))
372
	local TIME = (Table.Time or 45)
373
	local SOUNDID = (Table.SoundID or nil)
374
	local SOUNDPITCH = (Table.SoundPitch or nil)
375
	local SOUNDVOLUME = (Table.SoundVolume or nil)
376
	coroutine.resume(coroutine.create(function()
377
		local PLAYSSOUND = false
378
		local SOUND = nil
379
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
380
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
381
			PLAYSSOUND = true
382
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
383
		end
384
		EFFECT.Color = COLOR
385
		local MSH = nil
386
		if TYPE == "Sphere" then
387
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
388
		elseif TYPE == "Block" or TYPE == "Box" then
389
			MSH = IT("BlockMesh",EFFECT)
390
			MSH.Scale = SIZE
391
		elseif TYPE == "Wave" then
392
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
393
		elseif TYPE == "Ring" then
394
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
395
		elseif TYPE == "Slash" then
396
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
397
		elseif TYPE == "Round Slash" then
398
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
399
		elseif TYPE == "Swirl" then
400
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
401
		elseif TYPE == "Skull" then
402
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
403
		elseif TYPE == "Crystal" then
404
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
405
		end
406
		if MSH ~= nil then
407
			local MOVESPEED = nil
408
			if MOVEDIRECTION ~= nil then
409
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
410
			end
411
			local GROWTH = SIZE - ENDSIZE
412
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
413
			if TYPE == "Block" then
414
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
415
			else
416
				EFFECT.CFrame = CFRAME
417
			end
418
			for LOOP = 1, TIME+1 do
419
				Swait()
420
				MSH.Scale = MSH.Scale - GROWTH/TIME
421
				if TYPE == "Wave" then
422
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
423
				end
424
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
425
				if TYPE == "Block" then
426
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
427
				else
428
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
429
				end
430
				if MOVEDIRECTION ~= nil then
431
					local ORI = EFFECT.Orientation
432
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
433
					EFFECT.Orientation = ORI
434
				end
435
			end
436
			if PLAYSSOUND == false then
437
				EFFECT:remove()
438
			else
439
				repeat Swait() until SOUND.Playing == false
440
				EFFECT:remove()
441
			end
442
		else
443
			if PLAYSSOUND == false then
444
				EFFECT:remove()
445
			else
446
				repeat Swait() until SOUND.Playing == false
447
				EFFECT:remove()
448
			end
449
		end
450
	end))
451
end
452
453
function MakeForm(PART,TYPE)
454
	if TYPE == "Cyl" then
455
		local MSH = IT("CylinderMesh",PART)
456
	elseif TYPE == "Ball" then
457
		local MSH = IT("SpecialMesh",PART)
458
		MSH.MeshType = "Sphere"
459
	elseif TYPE == "Wedge" then
460
		local MSH = IT("SpecialMesh",PART)
461
		MSH.MeshType = "Wedge"
462
	elseif TYPE == "Head" then
463
		local MSH = IT("SpecialMesh",PART)
464
		MSH.Scale = VT(1.25,1.25,1.25)
465
	end
466
end
467
468
Debris = game:GetService("Debris")
469
470
function CastProperRay(StartPos, EndPos, Distance, Ignore)
471
	local DIRECTION = CF(StartPos,EndPos).lookVector
472
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
473
end
474
475
function CharacterFade(COLOR,TIMER)
476
	coroutine.resume(coroutine.create(function()
477
		local FADE = IT("Model",Effects)
478
		FADE.Name = "FadingEffect"
479
		for _, c in pairs(Character:GetChildren()) do
480
			if c.ClassName == "Part" and c ~= RootPart then
481
				local FADER = c:Clone()
482
				FADER.Color = COLOR
483
				FADER.CFrame = c.CFrame
484
				FADER.Parent = FADE
485
				FADER.Anchored = true
486
				FADER.Transparency = 0.25+c.Transparency
487
				FADER:BreakJoints()
488
				FADER.Material = "Neon"
489
				if FADER.Name == "Head" then
490
					FADER:ClearAllChildren()
491
					FADER.Size = VT(1,1,1)
492
				end
493
				FADER.CanCollide = false
494
			end
495
		end
496
		local TRANS = 0.75/TIMER
497
		for i = 1, TIMER do
498
			Swait()
499
			for _, c in pairs(FADE:GetChildren()) do
500
				if c.ClassName == "Part" then
501
					c.Transparency = c.Transparency + TRANS
502
				end
503
			end
504
		end
505
		FADE:remove()
506
	end))
507
end
508
509
function Chatter(Text,Timer)
510
	local chat = coroutine.wrap(function()
511
		if Character:FindFirstChild("SpeechBoard")~= nil then
512
			Character:FindFirstChild("SpeechBoard"):destroy()
513
		end
514
		local naeeym2 = IT("BillboardGui",Character)
515
		naeeym2.Size = UD2(0,100,0,40)
516
		naeeym2.StudsOffset = Vector3.new(0,2,0)
517
		naeeym2.Adornee = Character.Head
518
		naeeym2.Name = "SpeechBoard"
519
		naeeym2.AlwaysOnTop = true
520
		local tecks2 = IT("TextLabel",naeeym2)
521
		tecks2.BackgroundTransparency = 1
522
		tecks2.BorderSizePixel = 0
523
		tecks2.Text = ""
524
		tecks2.Font = "Legacy"
525
		tecks2.TextSize = 15
526
		tecks2.TextStrokeTransparency = 0
527
		tecks2.TextColor3 = Color3.new(1,1,1)
528
		tecks2.TextStrokeColor3 = Color3.new(0,0,0)
529
		tecks2.Size = UDim2.new(1,0,0.5,0)
530
		for i = 1,string.len(Text),1 do
531
			CreateSound(418252437, Head, 3, MRANDOM(8,12)/15, false)
532
			tecks2.Text = string.sub(Text,1,i)
533
			wait(Timer)
534
		end
535
		wait(1)
536
		naeeym2:Destroy()
537
	end)
538
	chat()
539
end
540
541
--//=================================\\
542
--||	     WEAPON CREATION
543
--\\=================================//
544
545
local face = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Face mask", VT(1.001,1.001,1.001),false)
546
local weld = CreateWeldOrSnapOrMotor("Weld", face, Head, face, CF(0.02,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
547
MakeForm(face,"Head")
548
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.4,0.25,0.2),false)
549
local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(0.15,0.19,-0.53) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
550
MakeForm(part,"Ball")
551-
local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Eye", VT(0.1,0.1,0.15),false)
551+
552-
local PupilWeld = CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0.13,0.24,-0.58) * ANGLES(RAD(0), RAD(0), RAD(20)), CF(0, 0, 0))
552+
553-
MakeForm(Eye,"Ball")
553+
554
top.Name = "Cloth"
555
local bottom = Instance.new("Pants")
556
bottom.PantsTemplate = "rbxassetid://268832352"
557
bottom.Parent = Character
558
bottom.Name = "Cloth"
559
local BATON = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Baton", VT(1, 0.8, 3),false)
560
CreateMesh("SpecialMesh", BATON, "FileMesh", "11820238", "", VT(1,1,1), VT(0,0,0))
561
local BATONWELD = CreateWeldOrSnapOrMotor("Weld", BATON, Torso, BATON, CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
562
local A = IT("Attachment",BATON)
563
local B = IT("Attachment",BATON)
564
B.Position = VT(0,0,-0.4)
565
A.Position = VT(0,0,1)
566
local Trail = IT("Trail",BATON)
567
Trail.Attachment0 = A
568
Trail.Attachment1 = B
569
Trail.Lifetime = 0.1
570
Trail.Color = ColorSequence.new(C3(0,0,0))
571
Trail.Transparency = NumberSequence.new(0, 1)
572
Trail.Enabled = false
573
Trail.Texture = "http://www.roblox.com/asset/?id=1831500579"
574
local GUN = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun", VT(1, 0.8, 3),false)
575
CreateMesh("SpecialMesh", GUN, "FileMesh", "623102664", "623102879", VT(0.01, 0.01, 0.01), VT(0,0,0))
576
local GUNWELD = CreateWeldOrSnapOrMotor("Weld", GUN, Torso, GUN, CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
577
578
for _, c in pairs(Weapon:GetChildren()) do
579
	if c.ClassName == "Part" then
580
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
581
	end
582
end
583
584
Weapon.Parent = Character
585
586
local SKILLTEXTCOLOR = C3(1,1,1)
587
local SKILLFONT = "Legacy"
588
local SKILLTEXTSIZE = 4
589
590
local ATTACKSGOODCOP = {"Mouse - Warning","Q - Baton Stun","E - Cuffs"}
591
local ATTACKSBADCOP = {"Mouse - Silence","Q - Baton Breaker","E - The Right to remain silent"}
592
local GOODUI = {}
593
local BADUI = {}
594
595
for i = 1, #ATTACKSGOODCOP do
596
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.73, 0, 0.7-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
597
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSGOODCOP[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
598
	SKILLTEXT.TextXAlignment = "Right"
599
	table.insert(GOODUI,SKILLTEXT)
600
end
601
602
for i = 1, #ATTACKSBADCOP do
603
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.01, 0, 0.7-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
604
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSBADCOP[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Skill text")
605
	SKILLTEXT.TextXAlignment = "Left"
606
	table.insert(BADUI,SKILLTEXT)
607
end
608
609
local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
610
local SKILLTEXT = CreateLabel(SKILLFRAME, "[F - Switch]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
611
612
--//=================================\\
613
--||			DAMAGING
614
--\\=================================//
615
616
function ApplyDamage(Humanoid,Damage)
617
	Damage = Damage * DAMAGEMULTIPLIER
618
	local DEAD = false
619
	if Humanoid.Health < 2000 then
620
		if Humanoid.Health - Damage > 0 then
621
			Humanoid.Health = Humanoid.Health - Damage
622
		else
623
			DEAD = true
624
			Humanoid.Parent:BreakJoints()
625
		end
626
	else
627
		DEAD = true
628
		Humanoid.Parent:BreakJoints()
629
	end
630
	if DEAD == true then
631
		if MODE == "GoodCop" then
632
			local TEXTS = {"I'm simply laying down the law.","You should've taken account of the law.","Another criminal down."}
633
			Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
634
		elseif MODE == "BadCop" then
635
			local TEXTS = {"Criminals should leave this world!","You should've taken account of the law!","And stay down!"}
636
			Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
637
		end
638
	end
639
end
640
641
--//=================================\\
642
--||	    TRANSFORMATIONS
643
--\\=================================//
644
645
function Switch()
646
	ATTACK = true
647
	Rooted = true
648
	if MODE == "GoodCop" then
649
		for i=0, 0.3, 0.1 / Animation_Speed do
650
			Swait()
651
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
652
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
653
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
654
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
655
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
656
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
657
		end
658
		for i=0, 1, 0.1 / Animation_Speed do
659
			Swait()
660
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
661
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
662
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
663
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
664
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
665
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
666
		end
667
		CreateSound(363808674, Torso, 6, 1, false)
668
		for i=0, 0.6, 0.1 / Animation_Speed do
669
			Swait()
670
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
671
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
672
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
673
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
674
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
675
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
676
		end
677
		CreateSound(363808674, Torso, 6, 1, false)
678
		for i=0, 0.6, 0.1 / Animation_Speed do
679
			Swait()
680
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
681
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
682
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
683
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
684
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
685
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
686
		end
687
		MODE = "BadCop"
688
	elseif MODE == "BadCop" then
689
		CreateSound(147722227, Torso, 4, 1.3, false)
690
		for i=0, 0.3, 0.1 / Animation_Speed do
691
			Swait()
692
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
693
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
694
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
695
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
696
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
697
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
698
		end
699
		MODE = "GoodCop"
700
	end
701
	ATTACK = false
702
	Rooted = false
703
end
704
705
--//=================================\\
706
--||	   ATTACK GOOD COP
707
--\\=================================//
708
709
function Warning()
710
	local TARGET = Mouse.Target
711
	if TARGET ~= nil then
712
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
713
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
714
			local LEG = TARGET.Parent:FindFirstChild("Right Leg") or TARGET.Parent:FindFirstChild("RightLowerLeg")
715
			if LEG and HUM.Health > 0 then
716
				Speed = 6
717
				ATTACK = true
718
				Rooted = false
719
				local GYRO = IT("BodyGyro",RootPart)
720
				GYRO.D = 2
721
				GYRO.P = 2000
722
				GYRO.MaxTorque = VT(0,4000000,0)
723
				coroutine.resume(coroutine.create(function()
724
					repeat
725
						Swait()
726
						GYRO.CFrame = CF(RootPart.Position,LEG.Position)
727
					until ATTACK == false
728
					GYRO:Remove()
729
				end))
730
				local HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
731
				local PASS = true
732
				for i=0, 0.2, 0.1 / Animation_Speed do
733
					Swait()
734
					HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
735
					if HIT == nil then
736
						PASS = false
737
						break
738
					else
739
						if HIT.Parent ~= TARGET.Parent then
740
							PASS = false
741
							break
742
						end
743
					end
744
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
745
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
746
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
747
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
748
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
749
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
750
				end
751
				CreateSound(147722227, GUN, 6, 1.3, false)
752
				GUNWELD.Part0 = LeftArm
753
				GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
754
				for i=0, 0.4, 0.1 / Animation_Speed do
755
					Swait()
756
					HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
757
					if HIT == nil then
758
						PASS = false
759
						break
760
					else
761
						if HIT.Parent ~= TARGET.Parent then
762
							PASS = false
763
							break
764
						end
765
					end
766
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
767
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
768
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
769
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
770
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
771
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
772
				end
773
				if PASS == true then
774
					local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
775
					local DISTANCE = (LEG.Position - GUNPOS).Magnitude
776
					CreateSound(160432334, LEG, 10, 1, false)
777
					local HEAD = HUM.Parent:FindFirstChild("Head")
778
					if HEAD then
779
						CreateSound(535690488, HEAD, 7, 1, false)
780
					end
781
					ApplyDamage(HUM,15)
782
					HUM.WalkSpeed = HUM.WalkSpeed - 3
783
					HUM.PlatformStand = true
784
					coroutine.resume(coroutine.create(function()
785
						wait(0.1)
786
						if HUM.WalkSpeed > 0 then
787
							HUM.PlatformStand = false
788
						end
789
					end))
790
					WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
791
					WACKYEFFECT({Time = 6, EffectType = "Box", Size = VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS,LEG.Position)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
792
					for i=0, 1, 0.1 / Animation_Speed do
793
						Swait()
794
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
795
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 1 / Animation_Speed)
796
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
797
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
798
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
799
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
800
					end
801
				end
802
				for i=0, 0.3, 0.1 / Animation_Speed do
803
					Swait()
804
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
805
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
806
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
807
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
808
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
809
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
810
				end
811
				GUNWELD.Part0 = Torso
812
				GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
813
				ATTACK = false
814
				Rooted = false
815
				Speed = 20
816
			end
817
		end
818
	end
819
end
820
function BatonStun()
821
	ATTACK = true
822
	Rooted = false
823
	Speed = 4
824
	for i=0, 0.2, 0.1 / Animation_Speed do
825
		Swait()
826
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
827
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
828
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
829
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
830
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
831
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
832
	end
833
	BATONWELD.Part0 = RightArm
834
	BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
835
	for i=0, 0.2, 0.1 / Animation_Speed do
836
		Swait()
837
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
838
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
839
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
840
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
841
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
842
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
843
	end
844
	Speed = 25
845
	CreateSound(147722227, BATON, 6, 1.2, false)
846
	Trail.Enabled = true
847
	BATON.CanCollide = true
848
	local SPEAKING = false
849
	local HITS = {}
850
	local TOUCH = BATON.Touched:Connect(function(hit)
851
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
852
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
853
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
854
			if TORSO and HUM.Health > 0 then
855
				local PASS = true
856
				for i = 1, #HITS do
857
					if HITS[i] == hit.Parent then
858
						PASS = false
859
					end
860
				end
861
				table.insert(HITS,hit.Parent)
862
				if PASS == true then
863
					HUM.PlatformStand = true
864
					ApplyDamage(HUM,20)
865
					local bv = Instance.new("BodyVelocity",TORSO) 
866
					bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
867
					bv.velocity = CF(Torso.Position-VT(0,5,0),TORSO.Position).lookVector*70
868
					Debris:AddItem(bv,0.05)
869
					CreateSound(260430079, BATON, 6, 1, false)
870
					WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,BATON.Position)*CF(0,0,-0.5), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Glass = C3(1,1,1), SoundID = nil, SoundPitch = 1, SoundVolume = 4})
871
					coroutine.resume(coroutine.create(function()
872
						wait(1)
873
						if HUM.WalkSpeed > 0 then
874
							HUM.PlatformStand = false
875
						end
876
					end))
877
					if SPEAKING == false and MRANDOM(1,5) == 1 then
878
						SPEAKING = true
879
						Chatter("Let that be a warning.",0)
880
					end
881
				end
882
			end
883
		end
884
	end)
885
	for i=0, 0.35, 0.1 / Animation_Speed do
886
		Swait()
887
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0), RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
888
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
889
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
890
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) * ANGLES(RAD(140), RAD(0), RAD(-31)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
891
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
892
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
893
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
894
	end
895
	TOUCH:Disconnect()
896
	BATON.CanCollide = false
897
	Speed = 20
898
	Trail.Enabled = false
899
	for i=0, 0.2, 0.1 / Animation_Speed do
900
		Swait()
901
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
902
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
903
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
904
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
905
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
906
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
907
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
908
	end
909
	BATONWELD.Part0 = Torso
910
	BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
911
	ATTACK = false
912
	Rooted = false
913
end
914
function Cuffs()
915
	local TARGET = Mouse.Target
916
	if TARGET ~= nil then
917
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
918
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
919
			local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
920
			if ROOT and HUM.Health > 0 then
921
				local FOE = Mouse.Target.Parent
922
				ATTACK = true
923
				Rooted = true
924
				CharacterFade(C3(1,1,1),70)
925
				RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
926
				ROOT.Anchored = true
927
				CreateSound(289556450, RootPart, 5, 1.4, false)
928
				Chatter("You have the right to remain silent.",0)
929
				for i=0, 2, 0.1 / Animation_Speed do
930
					Swait()
931
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
932
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
933
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
934
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
935
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
936
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
937
				end
938
				local RIGHTCUFF = nil
939
				local LEFTCUFF = nil
940
				local ChainLink = nil
941
				CreateSound(1279090548, ROOT, 10, 1.4, false)
942
				for _, c in pairs(FOE:GetChildren()) do
943
					if c.Name == "Left Arm" or c.Name == "LeftLowerArm" then
944
						LEFTCUFF = CreatePart(3, FOE, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
945
						LEFTCUFF.CFrame = c.CFrame
946
						weldBetween(c,LEFTCUFF)
947
					end
948
				end
949
				for _, c in pairs(FOE:GetChildren()) do
950
					if c.Name == "Right Arm" or c.Name == "RightLowerArm" then
951
						RIGHTCUFF = CreatePart(3, FOE, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
952
						RIGHTCUFF.CFrame = c.CFrame
953
						weldBetween(c,RIGHTCUFF)
954
					end
955
				end
956
				if RIGHTCUFF and LEFTCUFF then
957
					local A = IT("Attachment",RIGHTCUFF)
958
					local B = IT("Attachment",LEFTCUFF)
959
					ChainLink = IT("Beam",FOE)
960
					ChainLink.Texture = "rbxassetid://73042633"
961
					ChainLink.Color = ColorSequence.new(C3(0.8,0.8,0.8))
962
					ChainLink.TextureSpeed = 0
963
					ChainLink.Width0 = 1
964
					ChainLink.Width1 = 1
965
					ChainLink.Segments = 25
966
					ChainLink.TextureLength = 3
967
					ChainLink.Attachment0 = B
968
					ChainLink.Attachment1 = A
969
					ChainLink.FaceCamera = true
970
					ChainLink.Transparency = NumberSequence.new(0)
971
				end
972
				coroutine.resume(coroutine.create(function()
973
					wait(4)
974
					if RIGHTCUFF and LEFTCUFF then
975
						RIGHTCUFF:remove()
976
						LEFTCUFF:remove()
977
						ChainLink:remove()
978
						local bv = Instance.new("BodyVelocity",ROOT) 
979
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
980
						bv.velocity = CF(ROOT.Position-VT(0,5,0),ROOT.Position).lookVector*70
981
						Debris:AddItem(bv,0.05)
982
						ApplyDamage(HUM,70)
983
						HUM.PlatformStand = false
984
						WACKYEFFECT({Time = 50, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame = CF(RIGHTCUFF.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Glass = C3(1,1,1), SoundID = 174580476, SoundPitch = 1, SoundVolume = 7})
985
						WACKYEFFECT({Time = 50, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame = CF(LEFTCUFF.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Glass = C3(1,1,1), SoundID = 174580476, SoundPitch = 1, SoundVolume = 7})
986
					end
987
				end))
988
				for i=0, 1.5, 0.1 / Animation_Speed do
989
					Swait()
990
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
991
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(5), RAD(0)), 1 / Animation_Speed)
992
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
993
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
994
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
995
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
996
				end
997
				HUM.PlatformStand = true
998
				ROOT.CFrame = ROOT.CFrame * ANGLES(RAD(15), RAD(0), RAD(0))
999
				ROOT.Anchored = false
1000
				Chatter("Anything you say can and WILL be used against you.",0)
1001
				for i=0, 3, 0.1 / Animation_Speed do
1002
					Swait()
1003
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(-35)), 1 / Animation_Speed)
1004
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
1005
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(3)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1006
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1007
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-12), RAD(80), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1008
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1009
				end
1010
				ATTACK = false
1011
				Rooted = false
1012
			end
1013
		end
1014
	end
1015
end
1016
1017
--//=================================\\
1018
--||	    ATTACK BAD COP
1019
--\\=================================//
1020
1021
function Silence()
1022
	Speed = 6
1023
	ATTACK = true
1024
	Rooted = false
1025
	local GYRO = IT("BodyGyro",RootPart)
1026
	GYRO.D = 2
1027
	GYRO.P = 20000
1028
	GYRO.MaxTorque = VT(0,4000000,0)
1029
	coroutine.resume(coroutine.create(function()
1030
		repeat
1031
			Swait()
1032
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1033
		until ATTACK == false
1034
		GYRO:Remove()
1035
	end))
1036
	for i=0, 0.2, 0.1 / Animation_Speed do
1037
		Swait()
1038
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1039
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1040
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1041
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1042
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1043
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1044
	end
1045
	local AMMO = 6
1046
	local FIRING = true
1047
	local SHOOTING = false
1048
	local TIMER = 70
1049
	CreateSound(147722227, GUN, 6, 1.3, false)
1050
	GUNWELD.Part0 = LeftArm
1051
	GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1052
	local MOUSE = Mouse.Button1Down:connect(function(NEWKEY)
1053
		if SHOOTING == false and AMMO > 0 then
1054
			SHOOTING = true
1055
			AMMO = AMMO - 1
1056
			local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1057
			local HIT,POS = CastProperRay(GUNPOS,Mouse.Hit.p,1000,Character)
1058
			local DISTANCE = (POS - GUNPOS).Magnitude
1059
			if HIT then
1060
				if HIT.Parent:FindFirstChildOfClass("Humanoid") then
1061
					if HIT.Parent:FindFirstChildOfClass("Humanoid").Health > 0 then
1062
						CreateSound(160432334, HIT, 10, 1, false)
1063
						ApplyDamage(HIT.Parent:FindFirstChildOfClass("Humanoid"),35)
1064
					end
1065
				end
1066
			end
1067
			TIMER = 55
1068
			WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
1069
			WACKYEFFECT({Time = 6, EffectType = "Box", Size = VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS,POS)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1070
			for i=0, 0.3, 0.1 / Animation_Speed do
1071
				Swait()
1072
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1073
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1074
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1075
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1076
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1077
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1078
			end
1079
			if AMMO <= 0 then
1080
				FIRING = false
1081
			end
1082
			SHOOTING = false
1083
		end
1084
	end)
1085
	repeat
1086
		Swait()
1087
		if SHOOTING == false then
1088
			TIMER = TIMER - 1
1089
			if TIMER <= 0 then
1090
				FIRING = false
1091
			end
1092
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1093
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1094
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1095
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1096
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1097
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1098
		end
1099
	until FIRING == false and SHOOTING == false
1100
	MOUSE:Disconnect()
1101
	for i=0, 0.3, 0.1 / Animation_Speed do
1102
		Swait()
1103
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1104
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1105
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1106
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1107
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1108
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1109
	end
1110
	GUNWELD.Part0 = Torso
1111
	GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1112
	Speed = 20
1113
	ATTACK = false
1114
	Rooted = false
1115
end
1116
function BatonBreaker()
1117
	ATTACK = true
1118
	Rooted = false
1119
	Speed = 4
1120
	Chatter("I'll break you!",0)
1121
	for i=0, 0.2, 0.1 / Animation_Speed do
1122
		Swait()
1123
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1124
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1125
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1126
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1127
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1128
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1129
	end
1130
	BATONWELD.Part0 = RightArm
1131
	BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
1132
	for i=0, 0.5, 0.1 / Animation_Speed do
1133
		Swait()
1134
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1135
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
1136
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) * ANGLES(RAD(-20), RAD(-40), RAD(25)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1137
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1138
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1139
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1140
	end
1141
	Speed = 30
1142
	CreateSound(147722227, BATON, 6, 1, false)
1143
	Trail.Enabled = true
1144
	BATON.CanCollide = true
1145
	local SPEAKING = false
1146
	local HITS = {}
1147
	local TOUCH = BATON.Touched:Connect(function(hit)
1148
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
1149
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
1150
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1151
			if TORSO and HUM.Health > 0 then
1152
				local PASS = true
1153
				for i = 1, #HITS do
1154
					if HITS[i] == hit.Parent then
1155
						PASS = false
1156
					end
1157
				end
1158
				table.insert(HITS,hit.Parent)
1159
				if PASS == true then
1160
					CreateSound(260430079, BATON, 6, 0.8, false)
1161
					WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,BATON.Position)*CF(0,0,-0.5), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Glass = C3(1,1,1), SoundID = nil, SoundPitch = 1, SoundVolume = 4})
1162
					TORSO.Anchored = true
1163
					local POS = TORSO.CFrame
1164
					coroutine.resume(coroutine.create(function()
1165
						for i = 1, 15 do
1166
							Swait()
1167
							TORSO.CFrame = POS*CF(MRANDOM(-2,2)/10,MRANDOM(-2,2)/10,MRANDOM(-2,2)/10)
1168
						end
1169
						local HEAD = HUM.Parent:FindFirstChild("Head")
1170
						HUM.Parent:BreakJoints()
1171
						if HEAD then
1172
							CreateSound(363808674, HEAD, 10, 0.8, false)
1173
							local bv = Instance.new("BodyVelocity",TORSO) 
1174
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1175
							bv.velocity = CF(Torso.Position-VT(0,5,0),HEAD.Position).lookVector*70
1176
							Debris:AddItem(bv,0.05)
1177
							local TEXTS = {"Criminals should leave this world!","And stay down!"}
1178
							Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
1179
						end
1180
						TORSO.Anchored = false
1181
					end))
1182
				end
1183
			end
1184
		end
1185
	end)
1186
	for i=0, 0.45, 0.1 / Animation_Speed do
1187
		Swait()
1188
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.15)
1189
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0), RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
1190
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(15)), 1 / Animation_Speed)
1191
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1192
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) * ANGLES(RAD(140), RAD(-25), RAD(-41)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1193
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1194
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(15), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1195
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1196
	end
1197
	TOUCH:Disconnect()
1198
	BATON.CanCollide = false
1199
	Speed = 20
1200
	Trail.Enabled = false
1201
	for i=0, 0.2, 0.1 / Animation_Speed do
1202
		Swait()
1203
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
1204
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1205
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1206
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1207
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1208
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1209
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1210
	end
1211
	BATONWELD.Part0 = Torso
1212
	BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
1213
	ATTACK = false
1214
	Rooted = false
1215
end
1216
function TheRightToRemainSilent()
1217
	local TARGET = Mouse.Target
1218
	if TARGET ~= nil then
1219
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1220
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1221
			local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
1222
			if ROOT and HUM.Health > 0 then
1223
				local FOE = Mouse.Target.Parent
1224
				ATTACK = true
1225
				Rooted = true
1226
				CharacterFade(C3(1,1,1),70)
1227
				RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
1228
				ROOT.Anchored = true
1229
				CreateSound(289556450, RootPart, 5, 1.4, false)
1230
				Chatter("You are to remain silent and DEAD!",0)
1231
				for i=0, 0.4, 0.1 / Animation_Speed do
1232
					Swait()
1233
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1234
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1235
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1236
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1237
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1238
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1239
				end
1240
				HUM.PlatformStand = true
1241
				ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) * ANGLES(RAD(-90), RAD(0), RAD(0))
1242
				CreateSound(260430117, ROOT, 6, 1.3, false)
1243
				coroutine.resume(coroutine.create(function()
1244
					Swait()
1245
					ROOT.Anchored = true
1246
				end))
1247
				RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
1248
				for i=0, 0.2, 0.1 / Animation_Speed do
1249
					Swait()
1250
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
1251
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1252
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1253
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1254
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1255
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1256
				end
1257
				local OOFS = {1106908323,1080610827,1080614222,565424701,565424177,1080611063}
1258
				CreateSound(OOFS[MRANDOM(1,#OOFS)], ROOT, 6, 1, false)
1259
				for i=0, 0.2, 0.1 / Animation_Speed do
1260
					Swait()
1261
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1262
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1263
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1264
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1265
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1266
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1267
				end
1268
				local AMMO = 6
1269
				local FIRING = true
1270
				local SHOOTING = false
1271
				local TIMER = 70
1272
				CreateSound(147722227, GUN, 6, 1.3, false)
1273
				GUNWELD.Part0 = LeftArm
1274
				GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1275
				for i=0, 0.2, 0.1 / Animation_Speed do
1276
					Swait()
1277
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1278
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1279
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1280
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.4) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1281
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1282
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1283
				end
1284
				for i = 1, 6 do
1285
					local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1286
					local DISTANCE = (FOE.Head.Position - GUNPOS).Magnitude
1287
					WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
1288
					WACKYEFFECT({Time = 6, EffectType = "Box", Size = VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS,FOE.Head.Position)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1289
					HUM.Health = HUM.Health/1.5
1290
					for i=0, 0.2, 0.1 / Animation_Speed do
1291
						Swait()
1292
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1293
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1294
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1295
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(130), RAD(0), RAD(20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1296
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1297
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1298
					end
1299
					for i=0, 0.2, 0.1 / Animation_Speed do
1300
						Swait()
1301
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1302
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1303
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1304
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1305
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1306
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1307
					end
1308
				end
1309
				FOE:BreakJoints()
1310
				ROOT.Anchored = false
1311
				for i=0, 0.3, 0.1 / Animation_Speed do
1312
					Swait()
1313
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1314
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1315
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1316
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1317
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1318
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1319
				end
1320
				GUNWELD.Part0 = Torso
1321
				GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1322
				ATTACK = false
1323
				Rooted = false
1324
			end
1325
		end
1326
	end
1327
end
1328
1329
--//=================================\\
1330
--||	  ASSIGN THINGS TO KEYS
1331
--\\=================================//
1332
1333
function MouseDown(Mouse)
1334
	if ATTACK == false then
1335
		if MODE == "GoodCop" then
1336
			Warning()
1337
		elseif MODE == "BadCop" then
1338
			Silence()
1339
		end
1340
	end
1341
end
1342
1343
function MouseUp(Mouse)
1344
HOLD = false
1345
end
1346
1347
function KeyDown(Key)
1348
	KEYHOLD = true
1349
	if Key == "q" and ATTACK == false then
1350
		if MODE == "GoodCop" then
1351
			BatonStun()
1352
		elseif MODE == "BadCop" then
1353
			BatonBreaker()
1354
		end
1355
	end
1356
1357
	if Key == "e" and ATTACK == false then
1358
		if MODE == "GoodCop" then
1359
			Cuffs()
1360
		elseif MODE == "BadCop" then
1361
			TheRightToRemainSilent()
1362
		end
1363
	end
1364
1365
	if Key == "t" and ATTACK == false then
1366
		if MODE == "GoodCop" then
1367
			Chatter("You should obey the law.",0.01)
1368
		elseif MODE == "BadCop" then
1369
			Chatter("I don't think so, Criminal!",0.01)
1370
		end
1371
	end
1372
1373
	if Key == "f" and ATTACK == false then
1374
		Switch()
1375
	end
1376
1377
	if Key == "0" and ATTACK == false then
1378
		if sick.Parent ~= RootPart then
1379
			sick = IT("Sound",RootPart)
1380
		end
1381
	end
1382
end
1383
1384
function KeyUp(Key)
1385
	KEYHOLD = false
1386
end
1387
1388
	Mouse.Button1Down:connect(function(NEWKEY)
1389
		MouseDown(NEWKEY)
1390
	end)
1391
	Mouse.Button1Up:connect(function(NEWKEY)
1392
		MouseUp(NEWKEY)
1393
	end)
1394
	Mouse.KeyDown:connect(function(NEWKEY)
1395
		KeyDown(NEWKEY)
1396
	end)
1397
	Mouse.KeyUp:connect(function(NEWKEY)
1398
		KeyUp(NEWKEY)
1399
	end)
1400
1401
--//=================================\\
1402
--\\=================================//
1403
1404
function unanchor()
1405
	for _, c in pairs(Character:GetChildren()) do
1406
		if c:IsA("BasePart") and c ~= RootPart then
1407
			c.Anchored = false
1408
		end
1409
	end
1410
	for _, c in pairs(Weapon:GetChildren()) do
1411
		if c:IsA("BasePart") and c ~= RootPart then
1412
			c.Anchored = false
1413
		end
1414
	end
1415
	if UNANCHOR == true then
1416
		RootPart.Anchored = false
1417
	else
1418
		RootPart.Anchored = true
1419
	end
1420
end
1421
1422
--//=================================\\
1423
--||	WRAP THE WHOLE SCRIPT UP
1424
--\\=================================//
1425
1426
Humanoid.Changed:connect(function(Jump)
1427
	if Jump == "Jump" and (Disable_Jump == true) then
1428
		Humanoid.Jump = false
1429
	end
1430
end)
1431
1432
while true do
1433
	Swait()
1434
	script.Parent = WEAPONGUI
1435
	ANIMATE.Parent = nil
1436
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1437
	    v:Stop();
1438
	end
1439
	SINE = SINE + CHANGE
1440
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1441
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1442
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1443
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1444
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1445
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.05 * COS(SINE / (WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1446
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1447
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
1448
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
1449
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1450
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1451
		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)
1452
		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.7 / Animation_Speed)
1453
		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.7 / Animation_Speed)
1454
	end
1455
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1456
		ANIM = "Jump"
1457
		if ATTACK == false then
1458
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1459
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1460
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1461
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1462
			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)
1463
			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)
1464
	    end
1465
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1466
		ANIM = "Fall"
1467
		if ATTACK == false then
1468
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1469
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1470
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1471
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1472
			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)
1473
			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)
1474
		end
1475
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1476
		ANIM = "Idle"
1477
		if ATTACK == false then
1478
			if MODE == "GoodCop" then
1479
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0.05 * COS(SINE / 12), 0, 0 + 0.05 * SIN(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1480
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
1481
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1482
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1483
				RightHip.C0 = Clerp(RightHip.C0, CF(1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1484
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1485
			elseif MODE == "BadCop" then
1486
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1487
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 2.5 * COS(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
1488
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1489
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 + 0.05 * SIN(SINE / 12), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1490
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1491
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1492
			end
1493
		end
1494
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1495
		ANIM = "Walk"
1496
		if ATTACK == false then
1497
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1498
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1499
			if MODE == "GoodCop" then
1500
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), 0.3) * ANGLES(RAD(-45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1501
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1502
			elseif MODE == "BadCop" then
1503
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1504
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1505
			end
1506
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-5)), 2 / Animation_Speed)
1507
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 2 / Animation_Speed)
1508
		end
1509
	end
1510
	unanchor()
1511
	Humanoid.MaxHealth = 3e3
1512
	Humanoid.Health = 3e3
1513
	if Rooted == false then
1514
		Disable_Jump = false
1515
		Humanoid.WalkSpeed = Speed
1516
	elseif Rooted == true then
1517
		Disable_Jump = true
1518
		Humanoid.WalkSpeed = 0
1519
	end
1520
	for _, c in pairs(Character:GetChildren()) do
1521
		if (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1522
			c:remove()
1523
		end
1524
	end
1525
	sick.SoundId = "rbxassetid://259554386"
1526
	sick.Looped = true
1527
	sick.Pitch = 1
1528
	sick.Volume = 4
1529
	sick.Playing = true
1530
	if MODE == "GoodCop" then
1531
		for E = 1, #GOODUI do
1532
			GOODUI[E].TextStrokeTransparency = 0
1533
			GOODUI[E].TextTransparency = 0
1534
		end
1535
		for E = 1, #BADUI do
1536
			BADUI[E].TextStrokeTransparency = 1
1537
			BADUI[E].TextTransparency = 0.5
1538
		end
1539
	elseif MODE == "BadCop" then
1540
		for E = 1, #GOODUI do
1541
			GOODUI[E].TextStrokeTransparency = 1
1542
			GOODUI[E].TextTransparency = 0.5
1543
		end
1544
		for E = 1, #BADUI do
1545
			BADUI[E].TextStrokeTransparency = 0
1546
			BADUI[E].TextTransparency = 0
1547
		end
1548
	end
1549
end
1550
1551
--//=================================\\
1552
--\\=================================//
1553
1554
1555
1556
1557
1558
--//====================================================\\--
1559
--||			  		 END OF SCRIPT
1560
--\\====================================================//--