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