View difference between Paste ID: vEgTFLvR and a7UMYYt6
SHOW: | | - or go back to the newest paste.
1
-- FE template created by MintyLatios (V3rm) aka Drahazar (ROBLOX)
2
3
	
4
-- FE template created by MintyLatios (V3rm) aka Drahazar (ROBLOX)
5
--Fixed by basstracker1970
6
local ownerval = Instance.new("ObjectValue")
7
ownerval.Name = "Owner"
8
ownerval.Value = owner
9
ownerval.Parent = script
10
11
local username = "basstracker1970"
12
13
if(script:FindFirstChild'Owner')then
14
	repeat wait() until script.Owner.Value
15
end
16
function GetPlr(user)
17
	for _,v in next, game:service'Players':players() do
18
		if(v.Name==user)then
19
			return v
20
		end
21
	end	
22
	return nil
23
end
24
local owner = script:WaitForChild'Owner'.Value
25
repeat wait() until script:WaitForChild'Owner'.Value
26
local Player = script:WaitForChild'Owner'.Value
27
local Mouse,mouse,UserInputService,ContextActionService
28
script.Owner:destroy()
29
local scriptName = "Aprins"
30
do
31
	local GUID = {}
32
	do
33
		GUID.IDs = {};
34
		function GUID:new(len)
35
			local id;
36
			if(not len)then
37
				id = (tostring(function() end))
38
				id = id:gsub("function: ","")
39
			else
40
				local function genID(len)
41
					local newID = ""
42
					for i = 1,len do
43
						newID = newID..string.char(math.random(48,90))
44
					end
45
					return newID
46
				end
47
				repeat id = genID(len) until not GUID.IDs[id]
48
				local oid = id;
49
				id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
50
				GUID.IDs[oid]=true;
51
			end
52
			return id
53
		end
54
	end
55
56
	local AHB = Instance.new("BindableEvent")
57
58
	local FPS = 30
59
60
	local TimeFrame = 0
61
62
	local LastFrame = tick()
63
	local Frame = 1/FPS
64
65
	game:service'RunService'.Heartbeat:connect(function(s,p)
66
		TimeFrame = TimeFrame + s
67
		if(TimeFrame >= Frame)then
68
			for i = 1,math.floor(TimeFrame/Frame) do
69
				AHB:Fire()
70
			end
71
			LastFrame=tick()
72
			TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
73
		end
74
	end)
75
76
77
	function swait(dur)
78
		if(dur == 0 or typeof(dur) ~= 'number')then
79
			AHB.Event:wait()
80
		else
81
			for i = 1, dur*FPS do
82
				AHB.Event:wait()
83
			end
84
		end
85
	end
86
87
	oPlayer = Player
88
	Player = oPlayer
89
90
	local loudnesses={}
91
	script.Parent = Player.Character
92
	CoAS = {Actions={}}
93
	local Event = Instance.new("RemoteEvent")
94
	Event.Name = "UserInputEvent"
95
	Event.Parent = Player.Character
96
	local Func = Instance.new("RemoteFunction")
97
	Func.Name = "GetClientProperty"
98
	Func.Parent = Player.Character
99
	local fakeEvent = function()
100
		local t = {_fakeEvent=true,Waited={},Connected={}}
101
		t.Connect = function(self,f)
102
			local ft={}
103
			ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
104
			ft.Disconnect=ft.disconnect
105
106
			ft.Func=function(...)
107
				for id,_ in next, t.Waited do 
108
					t.Waited[id] = true 
109
				end 
110
				return f(...)
111
			end; 
112
113
			table.insert(self.Connected,ft)
114
			return ft;
115
		end
116
		t.connect = t.Connect
117
		t.Wait = function() 
118
			local guid = GUID:new(25)
119
			local waitingId = guid:Get()
120
			t.Waited[waitingId]=false
121
			repeat swait() until t.Waited[waitingId]==true  
122
			t.Waited[waitingId]=nil;
123
			guid:Trash()
124
		end
125
		t.wait = t.Wait
126
		return t
127
	end
128
	m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
129
	UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
130
	Run = {RenderStepped=fakeEvent()}
131
132
	function CoAS:BindAction(name,fun,touch,...)
133
		CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
134
	end
135
	function CoAS:UnbindAction(name)
136
		CoAS.Actions[name] = nil
137
	end
138
	local function te(self,ev,...)
139
		local t = self[ev]
140
		if t and t._fakeEvent and t.Connected then
141
			for i,v in next, t.Connected do
142
				if(v.Func and not v.Disconnected)then
143
					v.Func(...)
144
				else
145
					t.Connected[i]=nil
146
				end
147
			end
148
		end
149
	end
150
	m.TrigEvent = te
151
	UsIS.TrigEvent = te
152
	Run.TrigEvent = te
153
	Event.OnServerEvent:Connect(function(plr,io,...)
154
		if io.Mouse then
155
			m.Target = io.Target
156
			m.Hit = io.Hit
157
		elseif io.KeyEvent then
158
			m:TrigEvent('Key'..io.KeyEvent,io.Key)
159
		elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
160
			if io.UserInputState == Enum.UserInputState.Begin then
161
				m:TrigEvent("Button1Down")
162
			else
163
				m:TrigEvent("Button1Up")
164
			end
165
		end
166
		if(not io.KeyEvent and not io.Mouse)then
167
168
			for n,t in pairs(CoAS.Actions) do
169
				for _,k in pairs(t.Keys) do
170
					if k==io.KeyCode then
171
						t.Function(t.Name,io.UserInputState,io)
172
					end
173
				end
174
			end
175
			if io.UserInputState == Enum.UserInputState.Begin then
176
				UsIS:TrigEvent("InputBegan",io,false)
177
			else
178
				UsIS:TrigEvent("InputEnded",io,false)
179
			end
180
		end
181
		local varargs={...}
182
		--remote:FireServer("MouseEventCall",event,...)
183
		if(type=='MouseEventCall')then
184
			local event = table.remove(varargs,1)
185
			if(m[event])then
186
				Event:FireAllClients(event,unpack(varargs))
187
				m:TrigEvent(event,unpack(varargs))
188
			end
189
190
		elseif(type=='MouseUpdate')then
191
			m.Target = varargs[1].Target
192-
		
192+
193
			Event:FireAllClients("UpdatePos",m.Target,m.Hit)
194
		end
195
196
197
	end)
198
199
	Func.OnServerInvoke = function(plr,inst,play)
200
		if plr~=Player then return end
201
		if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
202
			loudnesses[inst]=play	
203
		end
204
	end
205
206
	function GetClientProperty(inst,prop)
207
		if(prop == 'PlaybackLoudness' and loudnesses[inst])then 
208
			return loudnesses[inst] 
209
		elseif(prop == 'PlaybackLoudness')then
210
			return Func:InvokeClient(Player,'RegSound',inst)
211
		end
212
		return Func:InvokeClient(Player,inst,prop)
213
	end
214
	NLS ([=[
215
 
216
 
217
local me = game:service'Players'.localPlayer;
218
local mouse = me:GetMouse();
219
local UIS = game:service'UserInputService'
220
local ch = me.Character;
221
 
222
local UserEvent = ch:WaitForChild('UserInputEvent',30)
223
 
224
UIS.InputChanged:connect(function(io,gpe)
225
	if(io.UserInputType == Enum.UserInputType.MouseMovement)then
226
		UserEvent:FireServer{Mouse=true,Target=mouse.Target,Hit=mouse.Hit}
227
	end
228
end)
229
 
230
mouse.Changed:connect(function(o)
231
	if(o == 'Target' or o == 'Hit')then
232
		UserEvent:FireServer{Mouse=true,Target=mouse.Target,Hit=mouse.Hit}
233
	end
234
end)
235
 
236
UIS.InputBegan:connect(function(io,gpe)
237
	if(gpe)then return end
238
	UserEvent:FireServer{InputObject=true,KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}
239
end)
240
 
241
UIS.InputEnded:connect(function(io,gpe)
242
	if(gpe)then return end
243
	UserEvent:FireServer{InputObject=true,KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}
244
end)
245
 
246
mouse.KeyDown:connect(function(k)
247
	UserEvent:FireServer{KeyEvent='Down',Key=k}
248
end)
249
 
250
mouse.KeyUp:connect(function(k)
251
	UserEvent:FireServer{KeyEvent='Up',Key=k}
252
end)
253
 
254
local ClientProp = ch:WaitForChild('GetClientProperty',30)
255
 
256
local sounds = {}
257
 
258-
		
258+
 
259
function regSound(o)
260
	if(o:IsA'Sound')then
261
 
262
		local lastLoudness = o.PlaybackLoudness
263
		ClientProp:InvokeServer(o,lastLoudness)
264
		table.insert(sounds,{o,lastLoudness})
265
		--ClientProp:InvokeServer(o,o.PlaybackLoudness)
266
	end
267
end
268
 
269
ClientProp.OnClientInvoke = function(inst,prop)
270
	if(inst == 'RegSound')then
271
		regSound(prop)
272
		for i = 1, #sounds do
273
			 if(sounds[i][1] == prop)then 
274
				return sounds[i][2]
275
			end 
276
		end 
277
	else
278
		return inst[prop]
279
	end
280
end
281
 
282
for _,v in next, workspace:GetDescendants() do regSound(v) end
283
workspace.DescendantAdded:connect(regSound)
284
me.Character.DescendantAdded:connect(regSound)
285
 
286
game:service'RunService'.RenderStepped:connect(function()
287
	for i = 1, #sounds do
288
		local tab = sounds[i]
289
		local object,last=unpack(tab)
290
		if(object.PlaybackLoudness ~= last)then
291
			sounds[i][2]=object.PlaybackLoudness
292
			ClientProp:InvokeServer(object,sounds[i][2])
293
		end
294
	end
295
end)
296
]=], owner.PlayerGui);
297
	----Sandboxed game object that allows the usage of client-side methods and services
298
	--Real game object
299
	local RealGame = game
300
301
	--Metatable for fake service
302
	local FakeService_Metatable = {
303
		__index = function(self,k)
304
			local s = rawget(self,"_RealService")
305
			if s then
306
				return typeof(s[k])=="function"
307
					and function(_,...)return s[k](s,...)end or s[k]
308
			end
309
		end,
310
		__newindex = function(self,k,v)
311
			local s = rawget(self,"_RealService")
312
			if s then s[k]=v end
313
		end
314
	}
315
	local function FakeService(t,RealService)
316
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
317
		return setmetatable(t,FakeService_Metatable)
318
	end
319
320
	--Fake game object
321
	local FakeGame = {
322
		GetService = function(self,s)
323
			return rawget(self,s) or RealGame:GetService(s)
324
		end,
325
		Players = FakeService({
326
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
327
		},"Players"),
328
		UserInputService = FakeService(UsIS,"UserInputService"),
329
		ContextActionService = FakeService(CoAS,"ContextActionService"),
330
		RunService = FakeService({
331
			_btrs = {},
332
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
333
			BindToRenderStep = function(self,name,_,fun)
334
				self._btrs[name] = self.Heartbeat:Connect(fun)
335
			end,
336
			UnbindFromRenderStep = function(self,name)
337
				self._btrs[name]:Disconnect()
338
			end,
339
		},"RunService")
340
	}
341
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
342
	FakeGame.service = FakeGame.GetService
343
	FakeService(FakeGame,game)
344
	--Changing owner to fake player object to support owner:GetMouse()
345
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
346
end
347
348
LoadLibrary=function(lib)
349
	if(lib:lower()=="rbxutility")then
350
		return setmetatable({
351
			Create = function(ty)
352
				return function(data)
353
					local obj = Instance.new(ty)
354
					for k, v in pairs(data) do
355
						if type(k) == 'number' then
356
							v.Parent = obj
357
						else
358
							obj[k] = v
359
						end
360
					end
361
					return obj
362
				end
363
			end
364
		},{__index=function(_,v) return ({})[v] end})
365
	else
366-
-----PASTE SCRIPTS BELOW THIS LINE DO NOT TOUCH ANY OF THE CODE ABOVE THIS LINE
366+
367
	end
368
end
369
-----PASTE SCRIPTS BELOW THIS LINE DO NOT TOUCH ANY OF THE CODE ABOVE THIS LINE
370
371
--//====================================================\\--
372
--||         GOOD COP BAD COP BY SHACKLUSTER
373
--\\====================================================//--
374
375
wait(0.2)
376
377
Player = game:GetService("Players").LocalPlayer
378
PlayerGui = Player.PlayerGui
379
Cam = workspace.CurrentCamera
380
Backpack = Player.Backpack
381
Character = Player.Character
382
Humanoid = Character.Humanoid
383
Mouse = Player:GetMouse()
384
RootPart = Character["HumanoidRootPart"]
385
Torso = Character["Torso"]
386
Head = Character["Head"]
387
RightArm = Character["Right Arm"]
388
LeftArm = Character["Left Arm"]
389
RightLeg = Character["Right Leg"]
390
LeftLeg = Character["Left Leg"]
391
RootJoint = RootPart["RootJoint"]
392
Neck = Torso["Neck"]
393
RightShoulder = Torso["Right Shoulder"]
394
LeftShoulder = Torso["Left Shoulder"]
395
RightHip = Torso["Right Hip"]
396
LeftHip = Torso["Left Hip"]
397
local sick = Instance.new("Sound",RootPart)
398
399
IT = Instance.new
400
CF = CFrame.new
401
VT = Vector3.new
402
RAD = math.rad
403
C3 = Color3.new
404
UD2 = UDim2.new
405
BRICKC = BrickColor.new
406
ANGLES = CFrame.Angles
407
EULER = CFrame.fromEulerAnglesXYZ
408
COS = math.cos
409
ACOS = math.acos
410
SIN = math.sin
411
ASIN = math.asin
412
ABS = math.abs
413
MRANDOM = math.random
414
FLOOR = math.floor
415
416
--//=================================\\
417
--|| 	      USEFUL VALUES
418
--\\=================================//
419
420
Animation_Speed = 3
421
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
422
local Speed = 20
423
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
424
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
425
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
426
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
427
local DAMAGEMULTIPLIER = 1
428
local ANIM = "Idle"
429
local ATTACK = false
430
local EQUIPPED = false
431
local HOLD = false
432
local COMBO = 1
433
local Rooted = false
434
local SINE = 0
435
local KEYHOLD = false
436
local CHANGE = 2 / Animation_Speed
437
local WALKINGANIM = false
438
local VALUE1 = false
439
local VALUE2 = false
440
local ROBLOXIDLEANIMATION = IT("Animation")
441
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
442
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
443
--ROBLOXIDLEANIMATION.Parent = Humanoid
444
local WEAPONGUI = IT("ScreenGui", PlayerGui)
445
WEAPONGUI.Name = "Weapon GUI"
446
local Weapon = IT("Model")
447
Weapon.Name = "Adds"
448
local Effects = IT("Folder", Weapon)
449
Effects.Name = "Effects"
450
local ANIMATOR = Humanoid.Animator
451
local ANIMATE = Character.Animate
452
local UNANCHOR = true
453
local MODE = "GoodCop"
454
455
--//=================================\\
456
--\\=================================//
457
458
459
--//=================================\\
460
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
461
--\\=================================//
462
463
ArtificialHB = Instance.new("BindableEvent", script)
464
ArtificialHB.Name = "ArtificialHB"
465
466
script:WaitForChild("ArtificialHB")
467
468
frame = Frame_Speed
469
tf = 0
470
allowframeloss = false
471
tossremainder = false
472
lastframe = tick()
473
script.ArtificialHB:Fire()
474
475
game:GetService("RunService").Heartbeat:connect(function(s, p)
476
	tf = tf + s
477
	if tf >= frame then
478
		if allowframeloss then
479
			script.ArtificialHB:Fire()
480
			lastframe = tick()
481
		else
482
			for i = 1, math.floor(tf / frame) do
483
				script.ArtificialHB:Fire()
484
			end
485
		lastframe = tick()
486
		end
487
		if tossremainder then
488
			tf = 0
489
		else
490
			tf = tf - frame * math.floor(tf / frame)
491
		end
492
	end
493
end)
494
495
--//=================================\\
496
--\\=================================//
497
498
--//=================================\\
499
--|| 	      SOME FUNCTIONS
500
--\\=================================//
501
502
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
503
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
504
end
505
506
function PositiveAngle(NUMBER)
507
	if NUMBER >= 0 then
508
		NUMBER = 0
509
	end
510
	return NUMBER
511
end
512
513
function NegativeAngle(NUMBER)
514
	if NUMBER <= 0 then
515
		NUMBER = 0
516
	end
517
	return NUMBER
518
end
519
520
function Swait(NUMBER)
521
	if NUMBER == 0 or NUMBER == nil then
522
		ArtificialHB.Event:wait()
523
	else
524
		for i = 1, NUMBER do
525
			ArtificialHB.Event:wait()
526
		end
527
	end
528
end
529
530
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
531
	local NEWMESH = IT(MESH)
532
	if MESH == "SpecialMesh" then
533
		NEWMESH.MeshType = MESHTYPE
534
		if MESHID ~= "nil" and MESHID ~= "" then
535
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
536
		end
537
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
538
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
539
		end
540
	end
541
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
542
	NEWMESH.Scale = SCALE
543
	NEWMESH.Parent = PARENT
544
	return NEWMESH
545
end
546
547
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
548
	local NEWPART = IT("Part")
549
	NEWPART.formFactor = FORMFACTOR
550
	NEWPART.Reflectance = REFLECTANCE
551
	NEWPART.Transparency = TRANSPARENCY
552
	NEWPART.CanCollide = false
553
	NEWPART.Locked = true
554
	NEWPART.Anchored = true
555
	if ANCHOR == false then
556
		NEWPART.Anchored = false
557
	end
558
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
559
	NEWPART.Name = NAME
560
	NEWPART.Size = SIZE
561
	NEWPART.Position = Torso.Position
562
	NEWPART.Material = MATERIAL
563
	NEWPART:BreakJoints()
564
	NEWPART.Parent = PARENT
565
	return NEWPART
566
end
567
568
	local function weldBetween(a, b)
569
	    local weldd = Instance.new("ManualWeld")
570
	    weldd.Part0 = a
571
	    weldd.Part1 = b
572
	    weldd.C0 = CFrame.new()
573
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
574
	    weldd.Parent = a
575
	    return weldd
576
	end
577
578
579
function QuaternionFromCFrame(cf)
580
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
581
	local trace = m00 + m11 + m22
582
	if trace > 0 then 
583
		local s = math.sqrt(1 + trace)
584
		local recip = 0.5 / s
585
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
586
	else
587
		local i = 0
588
		if m11 > m00 then
589
			i = 1
590
		end
591
		if m22 > (i == 0 and m00 or m11) then
592
			i = 2
593
		end
594
		if i == 0 then
595
			local s = math.sqrt(m00 - m11 - m22 + 1)
596
			local recip = 0.5 / s
597
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
598
		elseif i == 1 then
599
			local s = math.sqrt(m11 - m22 - m00 + 1)
600
			local recip = 0.5 / s
601
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
602
		elseif i == 2 then
603
			local s = math.sqrt(m22 - m00 - m11 + 1)
604
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
605
		end
606
	end
607
end
608
 
609
function QuaternionToCFrame(px, py, pz, x, y, z, w)
610
	local xs, ys, zs = x + x, y + y, z + z
611
	local wx, wy, wz = w * xs, w * ys, w * zs
612
	local xx = x * xs
613
	local xy = x * ys
614
	local xz = x * zs
615
	local yy = y * ys
616
	local yz = y * zs
617
	local zz = z * zs
618
	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))
619
end
620
 
621
function QuaternionSlerp(a, b, t)
622
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
623
	local startInterp, finishInterp;
624
	if cosTheta >= 0.0001 then
625
		if (1 - cosTheta) > 0.0001 then
626
			local theta = ACOS(cosTheta)
627
			local invSinTheta = 1 / SIN(theta)
628
			startInterp = SIN((1 - t) * theta) * invSinTheta
629
			finishInterp = SIN(t * theta) * invSinTheta
630
		else
631
			startInterp = 1 - t
632
			finishInterp = t
633
		end
634
	else
635
		if (1 + cosTheta) > 0.0001 then
636
			local theta = ACOS(-cosTheta)
637
			local invSinTheta = 1 / SIN(theta)
638
			startInterp = SIN((t - 1) * theta) * invSinTheta
639
			finishInterp = SIN(t * theta) * invSinTheta
640
		else
641
			startInterp = t - 1
642
			finishInterp = t
643
		end
644
	end
645
	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
646
end
647
648
function Clerp(a, b, t)
649
	local qa = {QuaternionFromCFrame(a)}
650
	local qb = {QuaternionFromCFrame(b)}
651
	local ax, ay, az = a.x, a.y, a.z
652
	local bx, by, bz = b.x, b.y, b.z
653
	local _t = 1 - t
654
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
655
end
656
657
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
658
	local frame = IT("Frame")
659
	frame.BackgroundTransparency = TRANSPARENCY
660
	frame.BorderSizePixel = BORDERSIZEPIXEL
661
	frame.Position = POSITION
662
	frame.Size = SIZE
663
	frame.BackgroundColor3 = COLOR
664
	frame.BorderColor3 = BORDERCOLOR
665
	frame.Name = NAME
666
	frame.Parent = PARENT
667
	return frame
668
end
669
670
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
671
	local label = IT("TextLabel")
672
	label.BackgroundTransparency = 1
673
	label.Size = UD2(1, 0, 1, 0)
674
	label.Position = UD2(0, 0, 0, 0)
675
	label.TextColor3 = TEXTCOLOR
676
	label.TextStrokeTransparency = STROKETRANSPARENCY
677
	label.TextTransparency = TRANSPARENCY
678
	label.FontSize = TEXTFONTSIZE
679
	label.Font = TEXTFONT
680
	label.BorderSizePixel = BORDERSIZEPIXEL
681
	label.TextScaled = false
682
	label.Text = TEXT
683
	label.Name = NAME
684
	label.Parent = PARENT
685
	return label
686
end
687
688
function NoOutlines(PART)
689
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
690
end
691
692
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
693
	local NEWWELD = IT(TYPE)
694
	NEWWELD.Part0 = PART0
695
	NEWWELD.Part1 = PART1
696
	NEWWELD.C0 = C0
697
	NEWWELD.C1 = C1
698
	NEWWELD.Parent = PARENT
699
	return NEWWELD
700
end
701
702
local S = IT("Sound")
703
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
704
	local NEWSOUND = nil
705
	coroutine.resume(coroutine.create(function()
706
		NEWSOUND = S:Clone()
707
		NEWSOUND.Parent = PARENT
708
		NEWSOUND.Volume = VOLUME
709
		NEWSOUND.Pitch = PITCH
710
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
711
		NEWSOUND:play()
712
		if DOESLOOP == true then
713
			NEWSOUND.Looped = true
714
		else
715
			repeat wait(1) until NEWSOUND.Playing == false
716
			NEWSOUND:remove()
717
		end
718
	end))
719
	return NEWSOUND
720
end
721
722
function CFrameFromTopBack(at, top, back)
723
	local right = top:Cross(back)
724
	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)
725
end
726
727
--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})
728
function WACKYEFFECT(Table)
729
	local TYPE = (Table.EffectType or "Sphere")
730
	local SIZE = (Table.Size or VT(1,1,1))
731
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
732
	local TRANSPARENCY = (Table.Transparency or 0)
733
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
734
	local CFRAME = (Table.CFrame or Torso.CFrame)
735
	local MOVEDIRECTION = (Table.MoveToPos or nil)
736
	local ROTATION1 = (Table.RotationX or 0)
737
	local ROTATION2 = (Table.RotationY or 0)
738
	local ROTATION3 = (Table.RotationZ or 0)
739
	local MATERIAL = (Table.Material or "Neon")
740
	local COLOR = (Table.Color or C3(1,1,1))
741
	local TIME = (Table.Time or 45)
742
	local SOUNDID = (Table.SoundID or nil)
743
	local SOUNDPITCH = (Table.SoundPitch or nil)
744
	local SOUNDVOLUME = (Table.SoundVolume or nil)
745
	coroutine.resume(coroutine.create(function()
746
		local PLAYSSOUND = false
747
		local SOUND = nil
748
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
749
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
750
			PLAYSSOUND = true
751
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
752
		end
753
		EFFECT.Color = COLOR
754
		local MSH = nil
755
		if TYPE == "Sphere" then
756
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
757
		elseif TYPE == "Block" or TYPE == "Box" then
758
			MSH = IT("BlockMesh",EFFECT)
759
			MSH.Scale = SIZE
760
		elseif TYPE == "Wave" then
761
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
762
		elseif TYPE == "Ring" then
763
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
764
		elseif TYPE == "Slash" then
765
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
766
		elseif TYPE == "Round Slash" then
767
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
768
		elseif TYPE == "Swirl" then
769
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
770
		elseif TYPE == "Skull" then
771
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
772
		elseif TYPE == "Crystal" then
773
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
774
		end
775
		if MSH ~= nil then
776
			local MOVESPEED = nil
777
			if MOVEDIRECTION ~= nil then
778
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
779
			end
780
			local GROWTH = SIZE - ENDSIZE
781
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
782
			if TYPE == "Block" then
783
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
784
			else
785
				EFFECT.CFrame = CFRAME
786
			end
787
			for LOOP = 1, TIME+1 do
788
				Swait()
789
				MSH.Scale = MSH.Scale - GROWTH/TIME
790
				if TYPE == "Wave" then
791
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
792
				end
793
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
794
				if TYPE == "Block" then
795
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
796
				else
797
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
798
				end
799
				if MOVEDIRECTION ~= nil then
800
					local ORI = EFFECT.Orientation
801
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
802
					EFFECT.Orientation = ORI
803
				end
804
			end
805
			if PLAYSSOUND == false then
806
				EFFECT:remove()
807
			else
808
				repeat Swait() until SOUND.Playing == false
809
				EFFECT:remove()
810
			end
811
		else
812
			if PLAYSSOUND == false then
813
				EFFECT:remove()
814
			else
815
				repeat Swait() until SOUND.Playing == false
816
				EFFECT:remove()
817
			end
818
		end
819
	end))
820
end
821
822
function MakeForm(PART,TYPE)
823
	if TYPE == "Cyl" then
824
		local MSH = IT("CylinderMesh",PART)
825
	elseif TYPE == "Ball" then
826
		local MSH = IT("SpecialMesh",PART)
827
		MSH.MeshType = "Sphere"
828
	elseif TYPE == "Wedge" then
829
		local MSH = IT("SpecialMesh",PART)
830
		MSH.MeshType = "Wedge"
831
	elseif TYPE == "Head" then
832
		local MSH = IT("SpecialMesh",PART)
833
		MSH.Scale = VT(1.25,1.25,1.25)
834
	end
835
end
836
837
Debris = game:GetService("Debris")
838
839
function CastProperRay(StartPos, EndPos, Distance, Ignore)
840
	local DIRECTION = CF(StartPos,EndPos).lookVector
841
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
842
end
843
844
function CharacterFade(COLOR,TIMER)
845
	coroutine.resume(coroutine.create(function()
846
		local FADE = IT("Model",Effects)
847
		FADE.Name = "FadingEffect"
848
		for _, c in pairs(Character:GetChildren()) do
849
			if c.ClassName == "Part" and c ~= RootPart then
850
				local FADER = c:Clone()
851
				FADER.Color = COLOR
852
				FADER.CFrame = c.CFrame
853
				FADER.Parent = FADE
854
				FADER.Anchored = true
855
				FADER.Transparency = 0.25+c.Transparency
856
				FADER:BreakJoints()
857
				FADER.Material = "Neon"
858
				if FADER.Name == "Head" then
859
					FADER:ClearAllChildren()
860
					FADER.Size = VT(1,1,1)
861
				end
862
				FADER.CanCollide = false
863
			end
864
		end
865
		local TRANS = 0.75/TIMER
866
		for i = 1, TIMER do
867
			Swait()
868
			for _, c in pairs(FADE:GetChildren()) do
869
				if c.ClassName == "Part" then
870
					c.Transparency = c.Transparency + TRANS
871
				end
872
			end
873
		end
874
		FADE:remove()
875
	end))
876
end
877
878
function Chatter(Text,Timer)
879
	local chat = coroutine.wrap(function()
880
		if Character:FindFirstChild("SpeechBoard")~= nil then
881
			Character:FindFirstChild("SpeechBoard"):destroy()
882
		end
883
		local naeeym2 = IT("BillboardGui",Character)
884
		naeeym2.Size = UD2(0,100,0,40)
885
		naeeym2.StudsOffset = Vector3.new(0,2,0)
886
		naeeym2.Adornee = Character.Head
887
		naeeym2.Name = "SpeechBoard"
888
		naeeym2.AlwaysOnTop = true
889
		local tecks2 = IT("TextLabel",naeeym2)
890
		tecks2.BackgroundTransparency = 1
891
		tecks2.BorderSizePixel = 0
892
		tecks2.Text = ""
893
		tecks2.Font = "Legacy"
894
		tecks2.TextSize = 15
895
		tecks2.TextStrokeTransparency = 0
896
		tecks2.TextColor3 = Color3.new(1,1,1)
897
		tecks2.TextStrokeColor3 = Color3.new(0,0,0)
898
		tecks2.Size = UDim2.new(1,0,0.5,0)
899
		for i = 1,string.len(Text),1 do
900
			CreateSound(418252437, Head, 3, MRANDOM(8,12)/15, false)
901
			tecks2.Text = string.sub(Text,1,i)
902
			wait(Timer)
903
		end
904
		wait(1)
905
		naeeym2:Destroy()
906
	end)
907
	chat()
908
end
909
910
--//=================================\\
911
--||	     WEAPON CREATION
912
--\\=================================//
913
914
local FACE = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Face mask", VT(1.001,1.001,1.001),false)
915
CreateWeldOrSnapOrMotor("Weld", FACE, Head, FACE, CF(0.02,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
916
MakeForm(FACE,"Head")
917
local EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.1,0.25,0.2),false)
918
CreateWeldOrSnapOrMotor("Weld", EYE, Head, EYE, CF(0.15,0.25,-0.53) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
919
MakeForm(EYE,"Ball")
920
local top = Instance.new("Shirt")
921
top.ShirtTemplate = "rbxassetid://269003887"
922
top.Parent = Character
923
top.Name = "Cloth"
924
local bottom = Instance.new("Pants")
925
bottom.PantsTemplate = "rbxassetid://268832352"
926
bottom.Parent = Character
927
bottom.Name = "Cloth"
928
local BATON = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Baton", VT(1, 0.8, 3),false)
929
CreateMesh("SpecialMesh", BATON, "FileMesh", "11820238", "", VT(1,1,1), VT(0,0,0))
930
local BATONWELD = CreateWeldOrSnapOrMotor("Weld", BATON, Torso, BATON, CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
931
local A = IT("Attachment",BATON)
932
local B = IT("Attachment",BATON)
933
B.Position = VT(0,0,-0.4)
934
A.Position = VT(0,0,1)
935
local Trail = IT("Trail",BATON)
936
Trail.Attachment0 = A
937
Trail.Attachment1 = B
938
Trail.Lifetime = 0.1
939
Trail.Color = ColorSequence.new(C3(0,0,0))
940
Trail.Transparency = NumberSequence.new(0, 1)
941
Trail.Enabled = false
942
Trail.Texture = "http://www.roblox.com/asset/?id=1831500579"
943
local GUN = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun", VT(1, 0.8, 3),false)
944
CreateMesh("SpecialMesh", GUN, "FileMesh", "623102664", "623102879", VT(0.01, 0.01, 0.01), VT(0,0,0))
945
local GUNWELD = CreateWeldOrSnapOrMotor("Weld", GUN, Torso, GUN, CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
946
947
for _, c in pairs(Weapon:GetChildren()) do
948
	if c.ClassName == "Part" then
949
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
950
	end
951
end
952
953
Weapon.Parent = Character
954
955
local SKILLTEXTCOLOR = C3(1,1,1)
956
local SKILLFONT = "Legacy"
957
local SKILLTEXTSIZE = 4
958
959
local ATTACKSGOODCOP = {"Mouse - Advertencia","Q - Baton de Aturdir","E - Cuffs"}
960
local ATTACKSBADCOP = {"Mouse - Silencio","Q - Baton Automático","E - El derecho a hacer silencio"}
961
local GOODUI = {}
962
local BADUI = {}
963
964
for i = 1, #ATTACKSGOODCOP do
965
	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")
966
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSGOODCOP[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
967
	SKILLTEXT.TextXAlignment = "Right"
968
	table.insert(GOODUI,SKILLTEXT)
969
end
970
971
for i = 1, #ATTACKSBADCOP do
972
	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")
973
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSBADCOP[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Skill text")
974
	SKILLTEXT.TextXAlignment = "Left"
975
	table.insert(BADUI,SKILLTEXT)
976
end
977
978
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")
979
local SKILLTEXT = CreateLabel(SKILLFRAME, "[F - Switch]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
980
981
--//=================================\\
982
--||			DAMAGING
983
--\\=================================//
984
985
function ApplyDamage(Humanoid,Damage)
986
	Damage = Damage * DAMAGEMULTIPLIER
987
	local DEAD = false
988
	if Humanoid.Health < 2000 then
989
		if Humanoid.Health - Damage > 0 then
990
			Humanoid.Health = Humanoid.Health - Damage
991
		else
992
			DEAD = true
993
			Humanoid.Parent:BreakJoints()
994
		end
995
	else
996
		DEAD = true
997
		Humanoid.Parent:BreakJoints()
998
	end
999
	if DEAD == true then
1000
		if MODE == "GoodCop" then
1001
			local TEXTS = {"Simplemente estoy estableciendo la ley.","Deberías haber tenido en cuenta la ley.","Otro criminal caído."}
1002
			Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
1003
		elseif MODE == "BadCop" then
1004
			local TEXTS = {"¡Los criminales deberían dejar este mundo!","¡Deberías haber tenido en cuenta la ley!","¡Y quédate abajo!"}
1005
			Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
1006
		end
1007
	end
1008
end
1009
1010
--//=================================\\
1011
--||	    TRANSFORMATIONS
1012
--\\=================================//
1013
1014
function Switch()
1015
	ATTACK = true
1016
	Rooted = true
1017
	if MODE == "GoodCop" then
1018
		for i=0, 0.3, 0.1 / Animation_Speed do
1019
			Swait()
1020
			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)
1021
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1022
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1023
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1024
			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)
1025
			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)
1026
		end
1027
		for i=0, 1, 0.1 / Animation_Speed do
1028
			Swait()
1029
			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)
1030
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1031
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1032
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1033
			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)
1034
			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)
1035
		end
1036
		CreateSound(363808674, Torso, 6, 1, false)
1037
		for i=0, 0.6, 0.1 / Animation_Speed do
1038
			Swait()
1039
			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)
1040
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
1041
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1042
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1043
			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)
1044
			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)
1045
		end
1046
		CreateSound(363808674, Torso, 6, 1, false)
1047
		for i=0, 0.6, 0.1 / Animation_Speed do
1048
			Swait()
1049
			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)
1050
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
1051
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1052
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1053
			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)
1054
			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)
1055
		end
1056
		MODE = "BadCop"
1057
	elseif MODE == "BadCop" then
1058
		CreateSound(147722227, Torso, 4, 1.3, false)
1059
		for i=0, 0.3, 0.1 / Animation_Speed do
1060
			Swait()
1061
			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)
1062
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1063
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1064
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1065
			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)
1066
			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)
1067
		end
1068
		MODE = "GoodCop"
1069
	end
1070
	ATTACK = false
1071
	Rooted = false
1072
end
1073
1074
--//=================================\\
1075
--||	   ATTACK GOOD COP
1076
--\\=================================//
1077
1078
function Warning()
1079
	local TARGET = Mouse.Target
1080
	if TARGET ~= nil then
1081
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1082
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1083
			local LEG = TARGET.Parent:FindFirstChild("Right Leg") or TARGET.Parent:FindFirstChild("RightLowerLeg")
1084
			if LEG and HUM.Health > 0 then
1085
				Speed = 6
1086
				ATTACK = true
1087
				Rooted = false
1088
				local GYRO = IT("BodyGyro",RootPart)
1089
				GYRO.D = 2
1090
				GYRO.P = 2000
1091
				GYRO.MaxTorque = VT(0,4000000,0)
1092
				coroutine.resume(coroutine.create(function()
1093
					repeat
1094
						Swait()
1095
						GYRO.CFrame = CF(RootPart.Position,LEG.Position)
1096
					until ATTACK == false
1097
					GYRO:Remove()
1098
				end))
1099
				local HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
1100
				local PASS = true
1101
				for i=0, 0.2, 0.1 / Animation_Speed do
1102
					Swait()
1103
					HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
1104
					if HIT == nil then
1105
						PASS = false
1106
						break
1107
					else
1108
						if HIT.Parent ~= TARGET.Parent then
1109
							PASS = false
1110
							break
1111
						end
1112
					end
1113
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1114
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1115
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1116
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1117
					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)
1118
					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)
1119
				end
1120
				CreateSound(147722227, GUN, 6, 1.3, false)
1121
				GUNWELD.Part0 = LeftArm
1122
				GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1123
				for i=0, 0.4, 0.1 / Animation_Speed do
1124
					Swait()
1125
					HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
1126
					if HIT == nil then
1127
						PASS = false
1128
						break
1129
					else
1130
						if HIT.Parent ~= TARGET.Parent then
1131
							PASS = false
1132
							break
1133
						end
1134
					end
1135
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1136
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1137
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1138
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1139
					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)
1140
					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)
1141
				end
1142
				if PASS == true then
1143
					local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1144
					local DISTANCE = (LEG.Position - GUNPOS).Magnitude
1145
					CreateSound(160432334, LEG, 10, 1, false)
1146
					local HEAD = HUM.Parent:FindFirstChild("Head")
1147
					if HEAD then
1148
						CreateSound(535690488, HEAD, 7, 1, false)
1149
					end
1150
					ApplyDamage(HUM,15)
1151
					HUM.WalkSpeed = HUM.WalkSpeed - 3
1152
					HUM.PlatformStand = true
1153
					coroutine.resume(coroutine.create(function()
1154
						wait(0.1)
1155
						if HUM.WalkSpeed > 0 then
1156
							HUM.PlatformStand = false
1157
						end
1158
					end))
1159
					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})
1160
					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})
1161
					for i=0, 1, 0.1 / Animation_Speed do
1162
						Swait()
1163
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1164
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 1 / Animation_Speed)
1165
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1166
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1167
						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)
1168
						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)
1169
					end
1170
				end
1171
				for i=0, 0.3, 0.1 / Animation_Speed do
1172
					Swait()
1173
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1174
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1175
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1176
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1177
					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)
1178
					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)
1179
				end
1180
				GUNWELD.Part0 = Torso
1181
				GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1182
				ATTACK = false
1183
				Rooted = false
1184
				Speed = 20
1185
			end
1186
		end
1187
	end
1188
end
1189
function BatonStun()
1190
	ATTACK = true
1191
	Rooted = false
1192
	Speed = 4
1193
	for i=0, 0.2, 0.1 / Animation_Speed do
1194
		Swait()
1195
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1196
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1197
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1198
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1199
		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)
1200
		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)
1201
	end
1202
	BATONWELD.Part0 = RightArm
1203
	BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
1204
	for i=0, 0.2, 0.1 / Animation_Speed do
1205
		Swait()
1206
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1207
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
1208
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) * ANGLES(RAD(0), RAD(0), RAD(25)) * 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
	Speed = 25
1214
	CreateSound(147722227, BATON, 6, 1.2, false)
1215
	Trail.Enabled = true
1216
	BATON.CanCollide = true
1217
	local SPEAKING = false
1218
	local HITS = {}
1219
	local TOUCH = BATON.Touched:Connect(function(hit)
1220
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
1221
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
1222
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1223
			if TORSO and HUM.Health > 0 then
1224
				local PASS = true
1225
				for i = 1, #HITS do
1226
					if HITS[i] == hit.Parent then
1227
						PASS = false
1228
					end
1229
				end
1230
				table.insert(HITS,hit.Parent)
1231
				if PASS == true then
1232
					HUM.PlatformStand = true
1233
					ApplyDamage(HUM,20)
1234
					local bv = Instance.new("BodyVelocity",TORSO) 
1235
					bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1236
					bv.velocity = CF(Torso.Position-VT(0,5,0),TORSO.Position).lookVector*70
1237
					Debris:AddItem(bv,0.05)
1238
					CreateSound(260430079, BATON, 6, 1, false)
1239
					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})
1240
					coroutine.resume(coroutine.create(function()
1241
						wait(1)
1242
						if HUM.WalkSpeed > 0 then
1243
							HUM.PlatformStand = false
1244
						end
1245
					end))
1246
					if SPEAKING == false and MRANDOM(1,5) == 1 then
1247
						SPEAKING = true
1248
						Chatter("Que eso sea una advertencia.",0)
1249
					end
1250
				end
1251
			end
1252
		end
1253
	end)
1254
	for i=0, 0.35, 0.1 / Animation_Speed do
1255
		Swait()
1256
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0), RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
1257
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
1258
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1259
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) * ANGLES(RAD(140), RAD(0), RAD(-31)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1260
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1261
		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)
1262
		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)
1263
	end
1264
	TOUCH:Disconnect()
1265
	BATON.CanCollide = false
1266
	Speed = 20
1267
	Trail.Enabled = false
1268
	for i=0, 0.2, 0.1 / Animation_Speed do
1269
		Swait()
1270
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
1271
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1272
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1273
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1274
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1275
		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)
1276
		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)
1277
	end
1278
	BATONWELD.Part0 = Torso
1279
	BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
1280
	ATTACK = false
1281
	Rooted = false
1282
end
1283
function Cuffs()
1284
	local TARGET = Mouse.Target
1285
	if TARGET ~= nil then
1286
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1287
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1288
			local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
1289
			if ROOT and HUM.Health > 0 then
1290
				local FOE = Mouse.Target.Parent
1291
				ATTACK = true
1292
				Rooted = true
1293
				CharacterFade(C3(1,1,1),70)
1294
				RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
1295
				ROOT.Anchored = true
1296
				CreateSound(289556450, RootPart, 5, 1.4, false)
1297
				Chatter("Tu tienes el derecho de guardar silencio.",0)
1298
				for i=0, 2, 0.1 / Animation_Speed do
1299
					Swait()
1300
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1301
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1302
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1303
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1304
					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)
1305
					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)
1306
				end
1307
				local RIGHTCUFF = nil
1308
				local LEFTCUFF = nil
1309
				local ChainLink = nil
1310
				CreateSound(1279090548, ROOT, 10, 1.4, false)
1311
				for _, c in pairs(FOE:GetChildren()) do
1312
					if c.Name == "Left Arm" or c.Name == "LeftLowerArm" then
1313
						LEFTCUFF = CreatePart(3, FOE, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
1314
						LEFTCUFF.CFrame = c.CFrame
1315
						weldBetween(c,LEFTCUFF)
1316
					end
1317
				end
1318
				for _, c in pairs(FOE:GetChildren()) do
1319
					if c.Name == "Right Arm" or c.Name == "RightLowerArm" then
1320
						RIGHTCUFF = CreatePart(3, FOE, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
1321
						RIGHTCUFF.CFrame = c.CFrame
1322
						weldBetween(c,RIGHTCUFF)
1323
					end
1324
				end
1325
				if RIGHTCUFF and LEFTCUFF then
1326
					local A = IT("Attachment",RIGHTCUFF)
1327
					local B = IT("Attachment",LEFTCUFF)
1328
					ChainLink = IT("Beam",FOE)
1329
					ChainLink.Texture = "rbxassetid://73042633"
1330
					ChainLink.Color = ColorSequence.new(C3(0.8,0.8,0.8))
1331
					ChainLink.TextureSpeed = 0
1332
					ChainLink.Width0 = 1
1333
					ChainLink.Width1 = 1
1334
					ChainLink.Segments = 25
1335
					ChainLink.TextureLength = 3
1336
					ChainLink.Attachment0 = B
1337
					ChainLink.Attachment1 = A
1338
					ChainLink.FaceCamera = true
1339
					ChainLink.Transparency = NumberSequence.new(0)
1340
				end
1341
				coroutine.resume(coroutine.create(function()
1342
					wait(4)
1343
					if RIGHTCUFF and LEFTCUFF then
1344
						RIGHTCUFF:remove()
1345
						LEFTCUFF:remove()
1346
						ChainLink:remove()
1347
						local bv = Instance.new("BodyVelocity",ROOT) 
1348
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1349
						bv.velocity = CF(ROOT.Position-VT(0,5,0),ROOT.Position).lookVector*70
1350
						Debris:AddItem(bv,0.05)
1351
						ApplyDamage(HUM,70)
1352
						HUM.PlatformStand = false
1353
						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})
1354
						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})
1355
					end
1356
				end))
1357
				for i=0, 1.5, 0.1 / Animation_Speed do
1358
					Swait()
1359
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1360
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(5), RAD(0)), 1 / Animation_Speed)
1361
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1362
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1363
					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)
1364
					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)
1365
				end
1366
				HUM.PlatformStand = true
1367
				ROOT.CFrame = ROOT.CFrame * ANGLES(RAD(15), RAD(0), RAD(0))
1368
				ROOT.Anchored = false
1369
				Chatter("Cualquier cosa que digas puede y VA a ser usada en tu contra.",0)
1370
				for i=0, 3, 0.1 / Animation_Speed do
1371
					Swait()
1372
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(-35)), 1 / Animation_Speed)
1373
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
1374
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(3)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1375
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1376
					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)
1377
					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)
1378
				end
1379
				ATTACK = false
1380
				Rooted = false
1381
			end
1382
		end
1383
	end
1384
end
1385
1386
--//=================================\\
1387
--||	    ATTACK BAD COP
1388
--\\=================================//
1389
1390
function Silence()
1391
	Speed = 6
1392
	ATTACK = true
1393
	Rooted = false
1394
	local GYRO = IT("BodyGyro",RootPart)
1395
	GYRO.D = 2
1396
	GYRO.P = 20000
1397
	GYRO.MaxTorque = VT(0,4000000,0)
1398
	coroutine.resume(coroutine.create(function()
1399
		repeat
1400
			Swait()
1401
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1402
		until ATTACK == false
1403
		GYRO:Remove()
1404
	end))
1405
	for i=0, 0.2, 0.1 / Animation_Speed do
1406
		Swait()
1407
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1408
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1409
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1410
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1411
		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)
1412
		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)
1413
	end
1414
	local AMMO = 6
1415
	local FIRING = true
1416
	local SHOOTING = false
1417
	local TIMER = 70
1418
	CreateSound(147722227, GUN, 6, 1.3, false)
1419
	GUNWELD.Part0 = LeftArm
1420
	GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1421
	local MOUSE = Mouse.Button1Down:connect(function(NEWKEY)
1422
		if SHOOTING == false and AMMO > 0 then
1423
			SHOOTING = true
1424
			AMMO = AMMO - 1
1425
			local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1426
			local HIT,POS = CastProperRay(GUNPOS,Mouse.Hit.p,1000,Character)
1427
			local DISTANCE = (POS - GUNPOS).Magnitude
1428
			if HIT then
1429
				if HIT.Parent:FindFirstChildOfClass("Humanoid") then
1430
					if HIT.Parent:FindFirstChildOfClass("Humanoid").Health > 0 then
1431
						CreateSound(160432334, HIT, 10, 1, false)
1432
						ApplyDamage(HIT.Parent:FindFirstChildOfClass("Humanoid"),35)
1433
					end
1434
				end
1435
			end
1436
			TIMER = 55
1437
			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})
1438
			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})
1439
			for i=0, 0.3, 0.1 / Animation_Speed do
1440
				Swait()
1441
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1442
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1443
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1444
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1445
				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)
1446
				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)
1447
			end
1448
			if AMMO <= 0 then
1449
				FIRING = false
1450
			end
1451
			SHOOTING = false
1452
		end
1453
	end)
1454
	repeat
1455
		Swait()
1456
		if SHOOTING == false then
1457
			TIMER = TIMER - 1
1458
			if TIMER <= 0 then
1459
				FIRING = false
1460
			end
1461
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1462
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1463
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1464
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1465
			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)
1466
			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)
1467
		end
1468
	until FIRING == false and SHOOTING == false
1469
	MOUSE:Disconnect()
1470
	for i=0, 0.3, 0.1 / Animation_Speed do
1471
		Swait()
1472
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1473
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1474
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1475
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1476
		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)
1477
		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)
1478
	end
1479
	GUNWELD.Part0 = Torso
1480
	GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1481
	Speed = 20
1482
	ATTACK = false
1483
	Rooted = false
1484
end
1485
function BatonBreaker()
1486
	ATTACK = true
1487
	Rooted = false
1488
	Speed = 4
1489
	Chatter("I'll break you!",0)
1490
	for i=0, 0.2, 0.1 / Animation_Speed do
1491
		Swait()
1492
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1493
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1494
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1495
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1496
		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)
1497
		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)
1498
	end
1499
	BATONWELD.Part0 = RightArm
1500
	BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
1501
	for i=0, 0.5, 0.1 / Animation_Speed do
1502
		Swait()
1503
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1504
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
1505
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) * ANGLES(RAD(-20), RAD(-40), RAD(25)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1506
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1507
		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)
1508
		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)
1509
	end
1510
	Speed = 30
1511
	CreateSound(147722227, BATON, 6, 1, false)
1512
	Trail.Enabled = true
1513
	BATON.CanCollide = true
1514
	local SPEAKING = false
1515
	local HITS = {}
1516
	local TOUCH = BATON.Touched:Connect(function(hit)
1517
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
1518
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
1519
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1520
			if TORSO and HUM.Health > 0 then
1521
				local PASS = true
1522
				for i = 1, #HITS do
1523
					if HITS[i] == hit.Parent then
1524
						PASS = false
1525
					end
1526
				end
1527
				table.insert(HITS,hit.Parent)
1528
				if PASS == true then
1529
					CreateSound(260430079, BATON, 6, 0.8, false)
1530
					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})
1531
					TORSO.Anchored = true
1532
					local POS = TORSO.CFrame
1533
					coroutine.resume(coroutine.create(function()
1534
						for i = 1, 15 do
1535
							Swait()
1536
							TORSO.CFrame = POS*CF(MRANDOM(-2,2)/10,MRANDOM(-2,2)/10,MRANDOM(-2,2)/10)
1537
						end
1538
						local HEAD = HUM.Parent:FindFirstChild("Head")
1539
						HUM.Parent:BreakJoints()
1540
						if HEAD then
1541
							CreateSound(363808674, HEAD, 10, 0.8, false)
1542
							local bv = Instance.new("BodyVelocity",TORSO) 
1543
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1544
							bv.velocity = CF(Torso.Position-VT(0,5,0),HEAD.Position).lookVector*70
1545
							Debris:AddItem(bv,0.05)
1546
							local TEXTS = {"Criminals should leave this world!","And stay down!"}
1547
							Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
1548
						end
1549
						TORSO.Anchored = false
1550
					end))
1551
				end
1552
			end
1553
		end
1554
	end)
1555
	for i=0, 0.45, 0.1 / Animation_Speed do
1556
		Swait()
1557
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.15)
1558
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0), RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
1559
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(15)), 1 / Animation_Speed)
1560
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1561
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) * ANGLES(RAD(140), RAD(-25), RAD(-41)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1562
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1563
		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)
1564
		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)
1565
	end
1566
	TOUCH:Disconnect()
1567
	BATON.CanCollide = false
1568
	Speed = 20
1569
	Trail.Enabled = false
1570
	for i=0, 0.2, 0.1 / Animation_Speed do
1571
		Swait()
1572
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
1573
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1574
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1575
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1576
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1577
		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)
1578
		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)
1579
	end
1580
	BATONWELD.Part0 = Torso
1581
	BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
1582
	ATTACK = false
1583
	Rooted = false
1584
end
1585
function TheRightToRemainSilent()
1586
	local TARGET = Mouse.Target
1587
	if TARGET ~= nil then
1588
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1589
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1590
			local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
1591
			if ROOT and HUM.Health > 0 then
1592
				local FOE = Mouse.Target.Parent
1593
				ATTACK = true
1594
				Rooted = true
1595
				CharacterFade(C3(1,1,1),70)
1596
				RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
1597
				ROOT.Anchored = true
1598
				CreateSound(289556450, RootPart, 5, 1.4, false)
1599
				Chatter("¡Debes permanecer en silencio y MORIR!",0)
1600
				for i=0, 0.4, 0.1 / Animation_Speed do
1601
					Swait()
1602
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1603
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1604
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1605
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1606
					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)
1607
					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)
1608
				end
1609
				HUM.PlatformStand = true
1610
				ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) * ANGLES(RAD(-90), RAD(0), RAD(0))
1611
				CreateSound(260430117, ROOT, 6, 1.3, false)
1612
				coroutine.resume(coroutine.create(function()
1613
					Swait()
1614
					ROOT.Anchored = true
1615
				end))
1616
				RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
1617
				for i=0, 0.2, 0.1 / Animation_Speed do
1618
					Swait()
1619
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
1620
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1621
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1622
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1623
					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)
1624
					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)
1625
				end
1626
				local OOFS = {1106908323,1080610827,1080614222,565424701,565424177,1080611063}
1627
				CreateSound(OOFS[MRANDOM(1,#OOFS)], ROOT, 6, 1, false)
1628
				for i=0, 0.2, 0.1 / Animation_Speed do
1629
					Swait()
1630
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1631
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1632
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1633
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1634
					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)
1635
					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)
1636
				end
1637
				local AMMO = 6
1638
				local FIRING = true
1639
				local SHOOTING = false
1640
				local TIMER = 70
1641
				CreateSound(147722227, GUN, 6, 1.3, false)
1642
				GUNWELD.Part0 = LeftArm
1643
				GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1644
				for i=0, 0.2, 0.1 / Animation_Speed do
1645
					Swait()
1646
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1647
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1648
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1649
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.4) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1650
					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)
1651
					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)
1652
				end
1653
				for i = 1, 6 do
1654
					local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1655
					local DISTANCE = (FOE.Head.Position - GUNPOS).Magnitude
1656
					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})
1657
					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})
1658
					HUM.Health = HUM.Health/1.5
1659
					for i=0, 0.2, 0.1 / Animation_Speed do
1660
						Swait()
1661
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1662
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1663
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1664
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(130), RAD(0), RAD(20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1665
						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)
1666
						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)
1667
					end
1668
					for i=0, 0.2, 0.1 / Animation_Speed do
1669
						Swait()
1670
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1671
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1672
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1673
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1674
						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)
1675
						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)
1676
					end
1677
				end
1678
				FOE:BreakJoints()
1679
				ROOT.Anchored = false
1680
				for i=0, 0.3, 0.1 / Animation_Speed do
1681
					Swait()
1682
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1683
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1684
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1685
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1686
					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)
1687
					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)
1688
				end
1689
				GUNWELD.Part0 = Torso
1690
				GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1691
				ATTACK = false
1692
				Rooted = false
1693
			end
1694
		end
1695
	end
1696
end
1697
1698
--//=================================\\
1699
--||	  ASSIGN THINGS TO KEYS
1700
--\\=================================//
1701
1702
function MouseDown(Mouse)
1703
	if ATTACK == false then
1704
		if MODE == "GoodCop" then
1705
			Warning()
1706
		elseif MODE == "BadCop" then
1707
			Silence()
1708
		end
1709
	end
1710
end
1711
1712
function MouseUp(Mouse)
1713
HOLD = false
1714
end
1715
1716
function KeyDown(Key)
1717
	KEYHOLD = true
1718
	if Key == "q" and ATTACK == false then
1719
		if MODE == "GoodCop" then
1720
			BatonStun()
1721
		elseif MODE == "BadCop" then
1722
			BatonBreaker()
1723
		end
1724
	end
1725
1726
	if Key == "e" and ATTACK == false then
1727
		if MODE == "GoodCop" then
1728
			Cuffs()
1729
		elseif MODE == "BadCop" then
1730
			TheRightToRemainSilent()
1731
		end
1732
	end
1733
1734
	if Key == "t" and ATTACK == false then
1735
		if MODE == "GoodCop" then
1736
			Chatter("Deberías haber obedecido la ley.",0.01)
1737
		elseif MODE == "BadCop" then
1738
			Chatter("¡No lo creo, criminal!",0.01)
1739
		end
1740
	end
1741
1742
	if Key == "f" and ATTACK == false then
1743
		Switch()
1744
	end
1745
1746
	if Key == "0" and ATTACK == false then
1747
		if sick.Parent ~= RootPart then
1748
			sick = IT("Sound",RootPart)
1749
		end
1750
	end
1751
end
1752
1753
function KeyUp(Key)
1754
	KEYHOLD = false
1755
end
1756
1757
	Mouse.Button1Down:connect(function(NEWKEY)
1758
		MouseDown(NEWKEY)
1759
	end)
1760
	Mouse.Button1Up:connect(function(NEWKEY)
1761
		MouseUp(NEWKEY)
1762
	end)
1763
	Mouse.KeyDown:connect(function(NEWKEY)
1764
		KeyDown(NEWKEY)
1765
	end)
1766
	Mouse.KeyUp:connect(function(NEWKEY)
1767
		KeyUp(NEWKEY)
1768
	end)
1769
1770
--//=================================\\
1771
--\\=================================//
1772
1773
function unanchor()
1774
	for _, c in pairs(Character:GetChildren()) do
1775
		if c:IsA("BasePart") and c ~= RootPart then
1776
			c.Anchored = false
1777
		end
1778
	end
1779
	for _, c in pairs(Weapon:GetChildren()) do
1780
		if c:IsA("BasePart") and c ~= RootPart then
1781
			c.Anchored = false
1782
		end
1783
	end
1784
	if UNANCHOR == true then
1785
		RootPart.Anchored = false
1786
	else
1787
		RootPart.Anchored = true
1788
	end
1789
end
1790
1791
--//=================================\\
1792
--||	WRAP THE WHOLE SCRIPT UP
1793
--\\=================================//
1794
1795
Humanoid.Changed:connect(function(Jump)
1796
	if Jump == "Jump" and (Disable_Jump == true) then
1797
		Humanoid.Jump = false
1798
	end
1799
end)
1800
1801
while true do
1802
	Swait()
1803
	script.Parent = WEAPONGUI
1804
	ANIMATE.Parent = nil
1805
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1806
	    v:Stop();
1807
	end
1808
	SINE = SINE + CHANGE
1809
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1810
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1811
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1812
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1813
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1814
		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)
1815
		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)
1816
		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)
1817
		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)
1818
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1819
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1820
		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)
1821
		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)
1822
		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)
1823
	end
1824
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1825
		ANIM = "Jump"
1826
		if ATTACK == false then
1827
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1828
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1829
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1830
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1831
			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)
1832
			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)
1833
	    end
1834
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1835
		ANIM = "Fall"
1836
		if ATTACK == false then
1837
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1838
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1839
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1840
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1841
			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)
1842
			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)
1843
		end
1844
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1845
		ANIM = "Idle"
1846
		if ATTACK == false then
1847
			if MODE == "GoodCop" then
1848
				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)
1849
				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)
1850
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1851
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1852
				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)
1853
				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)
1854
			elseif MODE == "BadCop" then
1855
				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)
1856
				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)
1857
				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)
1858
				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)
1859
				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)
1860
				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)
1861
			end
1862
		end
1863
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1864
		ANIM = "Walk"
1865
		if ATTACK == false then
1866
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1867
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1868
			if MODE == "GoodCop" then
1869
				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)
1870
				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)
1871
			elseif MODE == "BadCop" then
1872
				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)
1873
				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)
1874
			end
1875
			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)
1876
			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)
1877
		end
1878
	end
1879
	unanchor()
1880
	Humanoid.MaxHealth = 3e3
1881
	Humanoid.Health = 3e3
1882
	if Rooted == false then
1883
		Disable_Jump = false
1884
		Humanoid.WalkSpeed = Speed
1885
	elseif Rooted == true then
1886
		Disable_Jump = true
1887
		Humanoid.WalkSpeed = 0
1888
	end
1889
	for _, c in pairs(Character:GetChildren()) do
1890
		if (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1891
			c:remove()
1892
		end
1893
	end
1894
	sick.SoundId = "rbxassetid://259554386"
1895
	sick.Looped = true
1896
	sick.Pitch = 1
1897
	sick.Volume = 4
1898
	sick.Playing = true
1899
	if MODE == "GoodCop" then
1900
		for E = 1, #GOODUI do
1901
			GOODUI[E].TextStrokeTransparency = 0
1902
			GOODUI[E].TextTransparency = 0
1903
		end
1904
		for E = 1, #BADUI do
1905
			BADUI[E].TextStrokeTransparency = 1
1906
			BADUI[E].TextTransparency = 0.5
1907
		end
1908
	elseif MODE == "BadCop" then
1909
		for E = 1, #GOODUI do
1910
			GOODUI[E].TextStrokeTransparency = 1
1911
			GOODUI[E].TextTransparency = 0.5
1912
		end
1913
		for E = 1, #BADUI do
1914
			BADUI[E].TextStrokeTransparency = 0
1915
			BADUI[E].TextTransparency = 0
1916
		end
1917
	end
1918
end
1919
1920
--//=================================\\
1921
--\\=================================//
1922
1923
1924
1925
1926
1927
--//====================================================\\--
1928
--||			  		 END OF SCRIPT
1929
--\\====================================================//--